Layman Operator Guide

How to use Transport Management System

Follow this sequence for daily transport operations, from sign in to reports and audit review.

1. Login

  • Open the application link.
  • Enter your username or email.
  • Enter your password and sign in.
  • If a menu item is hidden, your role does not have permission for it.
Example: Ramesh is a Staff user. He opens the TMS link, enters ramesh.staff, enters his password, and signs in. He can see Dashboard, Vehicles, Drivers, Fuel Entries, Trip Logs, Stock Transactions, and Reports. He cannot see Users or Roles because those are administrator functions.

2. Dashboard

  • Open the dashboard first every day.
  • Review active vehicles and active drivers.
  • Check fuel consumed and total KM run.
  • Review low stock, license expiry, tyre status, and maintenance due alerts.
Example: At 9:00 AM, the manager checks Dashboard. It shows 6 active vehicles, 6 active drivers, 1 low-stock item, and 2 licenses expiring soon. The manager clicks the low stock report before approving any new stock issue.

2A. Alert Center

  • Open Alert Center when a dashboard count needs investigation.
  • Alerts are grouped by work area: Operations, Commercial, Maintenance, Documents, Inventory, and Tyres.
  • Use alert links to open the matching report or source screen.
  • Pending bookings, unassigned bookings, overdue deliveries, missing receipts, unpaid invoices, maintenance due, document expiry, low stock, negative stock, and tyre review alerts are shown here.
  • Fix the source transaction first. The alert count should reduce naturally after the source data is corrected.
Example: Manager opens Alert Center and sees Negative stock. She opens the Stock Balance report, finds the item that went below zero, checks whether a purchase bill is pending, and asks store staff to enter the missing purchase before issuing more material.

3. Master Data

  • Create vehicles before fuel, trip, maintenance, or tyre entries.
  • Open a vehicle profile to review driver assignment, fuel, trips, maintenance, tyres, and vehicle-linked stock history in one place.
  • Create drivers before assignments and driver-based reports.
  • Open a driver profile to review assignments, fuel/trips, license expiry status, and missing license/Aadhaar documents.
  • Use Setup / Masters -> Customers to create, edit, search, or deactivate customer/party records.
  • Create or select customers before normal trip booking. Customer information is reused in trip booking, dispatch sheet, reports, and billing workflows.
  • For billing control, maintain customer billing address, shipping address, GST/tax number, credit limit, and payment terms days.
  • The Trip Booking screen also has Add Customer for quick entry, but the full Customers grid is the best place for correction and maintenance.
  • Use Setup / Masters -> Parties -> Vendors to create workshops, fuel stations, tyre vendors, parts suppliers, toll/parking vendors, and general suppliers.
  • Vendor Type is lookup-based. Select the correct type so purchase order and vendor spend reports group costs correctly.
  • Create inventory items before stock transactions.
  • Create maintenance types before maintenance logs.
  • Keep vehicle numbers, driver mobile numbers, and license expiry dates accurate.
Example: A new Tata vehicle arrives. Staff creates vehicle MH12-TMS-1001, company Tata Motors, model Prima 5530.S, registration MH12AB1001, and current odometer 125430. Then staff creates driver Rajesh Sharma with mobile 9876543210, license MH1220200045123, expiry 31-Aug-2028, and Aadhaar 4567-8912-3456. For a new party named ABC Logistics, staff opens Setup / Masters -> Customers and saves contact person, mobile, email, GST number, billing address, shipping address, credit limit 100000, and payment terms 15 days. Future bookings then select the same customer instead of typing a new spelling.

4. Vehicle Profile

  • Open Fleet Management -> Vehicles and click View on a vehicle.
  • The vehicle profile shows Fuel, Trips, Maintenance, Tyres, and Stock tabs.
  • Each tab has a Grid View and a Detailed View.
  • Grid View is best for quick checking, searching, sorting, printing, and export.
  • Grid View records are sorted newest first by date/time.
  • Detailed View is best for reading the full timeline story.
  • Detailed View has its own text search box to filter timeline cards.
  • Fuel Grid shows Date, Fuel, Quantity, and Station.
  • Trips Grid shows Date, From, To, and Total KM.
  • Maintenance Grid shows Date, Item/Type, Cost, and Workshop.
  • Tyres Grid shows Status, Position, Tyre, Brand, and Size.
  • Stock Grid shows Date, Type, Item, Quantity, and Total.
  • The Tyres tab shows both currently installed tyres and removed tyre history.
  • Use Fleet Management -> Vehicle Documents to upload registration, insurance, permit, fitness, road tax, pollution certificate, and other vehicle files.
  • Vehicle document type is lookup-based through Vehicle Document Types, and expiry dates feed dashboard/report alerts.
  • Preview opens PDF/images in the browser; Download saves a copy. Replacing or deleting a document keeps upload/delete metadata for audit review.
Example: Manager opens vehicle MH12-TMS-1001. In Fuel -> Grid View, the newest fuel entry appears first and shows Diesel, 240 litres, and Indian Oil - Pune. In Fuel -> Detailed View, the manager types Pune in the search box and only matching timeline cards remain visible. In Tyres, the manager can see currently installed tyres plus old removed tyres with installation KM, removal KM, and usage KM in Detailed View.
Document example: Staff opens Fleet Management -> Vehicle Documents, selects vehicle MH12-TMS-1001, document type Insurance, document number INS-2026-7741, issue date 01-Apr-2026, expiry date 31-Mar-2027, and uploads insurance-mh12-tms-1001.pdf. Thirty days before expiry, the dashboard and Vehicle Document Expiry report include this document.

5. Lookup Setup

  • Use Setup Lookups to maintain dropdown lists.
  • The Setup / Masters sidebar is divided by module: Parties, Fleet Setup, Driver Setup, Route Setup, Booking Setup, Billing Setup, Inventory Setup, Fuel Setup, Trip Expense Setup, Maintenance Setup, Tyre Setup, Approval Setup, and Procurement Setup.
  • Maintain vehicle companies, vehicle models, item types, units, and transaction types.
  • Maintain fuel stations, locations, workshops, tyre brands, tyre sizes, tyre statuses, and tyre positions.
  • Maintain trip expense types, payment modes, statuses, and vendors for clean trip expense entry.
  • Maintain trip booking statuses, goods types, load types, freight payment terms, booking sources, and cancellation reasons for the booking workflow.
  • Maintain Booking Document Types and Vehicle Document Types so document uploads are associated by lookup ID.
  • Mark the Proof of Delivery booking document type with the POD flag. Closing rules use this flag to identify POD documents.
  • Maintain customer invoice statuses, customer payment modes, and customer adjustment types for billing, receipt, and ledger correction entry.
  • Maintain approval exception types, approval statuses, and approval reason codes. Approval flows store these by ID, not by matching typed text.
  • Maintain vendor types and purchase order statuses for procurement control.
  • Operators should select from these lists instead of typing different spellings.
Example: Before vehicle entry, Admin opens Setup Lookups -> Vehicle Companies and confirms Tata Motors exists. Then Admin opens Vehicle Models and adds Prima 5530.S. Now operators select these values consistently instead of typing TATA, Tata motors, or Prima in different ways.

5A. Route Master And Expected Cost

  • Open Operations -> Routes to create standard routes using From Location ID and To Location ID from the Locations lookup.
  • Enter expected KM, expected duration hours, estimated toll, expected fuel quantity, estimated fuel cost, and estimated other expense.
  • When a route is selected in Trip Booking, the system copies route defaults into the booking and sets the matching from/to locations.
  • Dispatch pre-fills New KM as current old KM plus expected route KM when expected KM is available.
  • Route estimates stay copied on the booking, so later changes to the master route do not rewrite old commercial controls.
  • Use Route Expense Variance, Fuel Variance, and Route Profitability reports for route control review.
Route example: Admin creates route Pune to Mumbai Expressway, from Pune, to Mumbai, expected KM 155, duration 4.5 hours, toll 3200, expected fuel 42 litres, fuel estimate 3900, and other expense 500. Booking staff selects this route on a new booking; the route locations and expected costs are copied automatically. After trip completion, Route Expense Variance shows whether actual toll/permit/other trip expenses crossed the estimate.

6. Assign Drivers

  • Go to Fleet Management -> Assignments.
  • Select a vehicle and driver.
  • Set the assignment start date.
  • Mark the assignment current when the driver is currently attached to the vehicle.
  • Saving a new current assignment closes the previous current assignment for that vehicle.
Example: Rajesh Sharma is assigned to vehicle MH12-TMS-1001 from 01-Feb-2026. If the same vehicle later gets driver Suresh Yadav from 10-Feb-2026, the system marks Rajesh's previous assignment as not current and closes it with an end date.

7. Driver Attendance

  • Go to Operations -> Driver Attendance and click Mark Driver Attendance.
  • Select the attendance date and driver.
  • When the driver has a current vehicle assignment for that date, the Vehicle field is selected automatically.
  • Do not use the attendance screen to casually change driver-vehicle assignments. Change the vehicle only when the selected vehicle should become the driver's current assignment.
  • If the selected vehicle is different from the driver's current assignment, the screen shows an option to create a driver assignment from this attendance.
  • Tick Create driver assignment from this attendance only when the change is intentional, then enter a clear reason.
  • The assignment created from attendance follows the same backend assignment record flow as the Driver Assignment screen.
  • Attendance time is bias-resistant: the system never fills check-in or check-out with the current clock automatically.
  • For Present, enter check-in manually. Check-out can be added later.
  • For Half Day, enter both check-in and check-out manually.
  • For Absent, Leave, and Off Duty, keep check-in and check-out blank.
Example: Staff opens Mark Driver Attendance for 15-May-2026 and selects driver Imran Khan. The system automatically selects vehicle GJ05-TMS-3188 because that is Imran's current assignment for the date. Staff selects Present and enters check-in 12:35 PM manually. If staff changes the vehicle to another vehicle, the screen asks whether to create a new driver assignment from this attendance and requires a reason such as Driver moved to backup vehicle for today's route.

8. Driver Documents

  • Open Fleet Management -> Drivers.
  • Open the driver profile using View.
  • Use Documents to upload license front, license back, Aadhaar front, and Aadhaar back files.
  • Allowed formats are JPG, PNG, WebP, and PDF.
  • Maximum file size is 5 MB.
Example: On Rajesh Sharma's profile, staff uploads license-front-rajesh.jpg as License Front, license-back-rajesh.jpg as License Back, aadhaar-front-rajesh.pdf as Aadhaar Front, and aadhaar-back-rajesh.pdf as Aadhaar Back. Later, an auditor can open the same profile and download each file.

9. Daily Entries

  • Use Fuel Entries for diesel/fuel purchases and odometer readings.
  • Create Trip Bookings before normal Trip Logs. Trip Logs should be created by dispatching a booking.
  • Use internal Trip Logs only for non-revenue or exceptional movements, and only when the user has internal trip permission.
  • Use Trip Expenses after a trip is created to record toll, parking, food, loading, unloading, permits, repairs, or other trip costs.
  • Use Billing after a trip booking is closed to create the customer invoice and record customer payment.
  • Use Maintenance Logs for workshop/service activity.
  • If Maintenance Type is Tyre Replacement, the tyre installation section appears automatically.
  • In tyre replacement, add one tyre installation row, review it in the grid, then click Save Installation.
  • Click a tyre installation row to edit it; the Add button changes to Update.
  • Use the delete icon in the tyre installation grid to remove the draft row before saving.
  • Odometer and KM values are checked before saving.
Example: Vehicle MH12-TMS-1001 takes diesel at Indian Oil Pune. Staff enters Fuel Entry date 05-Feb-2026, fuel type Diesel, quantity 240 litres, rate 92.50, odometer 125430, driver Rajesh, and station Indian Oil Pune. The system updates the vehicle odometer if the new reading is higher.

9A. Odometer Override

  • ODOMETER_OVERRIDE is a controlled permission for exceptional odometer corrections.
  • Normal users should enter odometer readings in forward sequence. If a vehicle's current known odometer is 125430, the next fuel, trip, maintenance, or tyre KM reading should normally be equal to or higher than 125430.
  • When a lower or conflicting reading is entered, the system should block the save for users who do not have ODOMETER_OVERRIDE.
  • Users with ODOMETER_OVERRIDE can save a genuine exception when the business reason is valid.
  • Use override for cases such as wrong previous odometer entry, meter replacement, historical back-entry, or a missed record being entered later.
  • Do not use override for routine fuel, trip, maintenance, or tyre entries. Correct the reading first whenever possible.
  • Odometer override affects screens that validate vehicle KM continuity, including Fuel Entries, Trip Logs, booking dispatch trip logs, Maintenance Logs, and tyre installation/removal KM checks where applicable.
  • If a higher reading is saved, the vehicle's current odometer can move forward. A lower override entry should not casually reduce the vehicle's current odometer because that would damage later validation.
  • Override permission should normally stay with Super Admin/Admin or a very small trusted operations manager group.
  • Whenever override is used, enter a clear reason in remarks, such as meter replaced at 126000 KM or back-entering missed fuel slip dated 05-Feb-2026.
  • Managers should review override activity from Audit Logs or exception reports when available.
Correction example: Vehicle MH12-TMS-1001 currently shows odometer 126000, but staff finds a missed fuel bill from last week with odometer 125500. A normal user is blocked because the value is lower than current vehicle KM. Admin reviews the bill date, confirms it is historical back-entry, uses ODOMETER_OVERRIDE, enters remark Back-entry of missed fuel slip before latest trip, and saves. The record is kept for reporting, but the vehicle current odometer should remain at the later higher value.
Meter replacement example: A vehicle meter is replaced at 180000 KM and the new meter starts at 150 KM. Admin should not treat 150 like a normal lower reading. Admin records a clear remark such as Odometer meter replaced; old reading 180000 KM, new meter 150 KM and uses override only on the relevant entry. Future entries should continue from the new meter reading with proper operational notes.
Wrong usage example: Driver says the fuel slip has 124800 but the vehicle already has 126000. Staff should not ask for override immediately. First check whether the vehicle, date, or slip belongs to another vehicle, or whether a digit was typed incorrectly. Override is the last option after verification.

10. Trip Bookings

  • Go to Operations -> Trip Bookings.
  • Create a booking with customer, route, pickup date, expected delivery date, vehicle type, goods/passenger notes, freight, advance, and payment terms.
  • Select an existing Customer/Party from the searchable dropdown. If the customer is missing, choose Add Customer, enter the customer details in the modal, save it, and the new customer is selected automatically.
  • Booking numbers are generated from booking number settings. The default format is monthly: TB-202605-0001, TB-202605-0002, and so on.
  • Admin can change the number settings in the database table TripBookingNumberSettings. Supported reset periods are Monthly, Yearly, and Never.
  • All booking lookups such as status, goods type, load type, payment term, source, cancellation reason, and locations are linked by lookup Id.
  • Workflow is Draft -> Confirmed -> Assigned -> Dispatched -> Delivered -> Closed.
  • Assign a vehicle and driver before dispatch.
  • When a vehicle is selected, the booking screen selects that vehicle's current fleet-assigned driver automatically.
  • If the vehicle has no current fleet driver assignment, create the assignment first from Fleet Management -> Assignments before using that vehicle in a booking.
  • Trip Booking assignment is saved on the booking itself. Fleet Management -> Assignments is a separate current driver-vehicle mapping screen and is not updated automatically from bookings.
  • If the selected vehicle and driver should also become a long-term or current fleet assignment, create that record separately from Fleet Management -> Assignments.
  • The system blocks assignment if the selected vehicle is already used on another active booking with overlapping dates.
  • The system blocks assignment if the selected driver is already used on another active booking with overlapping dates.
  • The system blocks assignment if the selected driver is marked Absent, Leave, or Off Duty in Driver Attendance for the booking date range.
  • Closed and Cancelled bookings do not block vehicle or driver availability because they are no longer active dispatch work.
  • Dispatch creates the linked Trip Log and copies the booking route, vehicle, and driver into that Trip Log.
  • Use Print Sheet to print a dispatch/trip sheet with booking, customer, route, vehicle, driver, goods/passenger notes, freight, advance, balance, and signature areas.
  • Use Booking Documents on the booking details page to upload LR/GR, Customer PO, Delivery Challan, Proof of Delivery, or Other documents.
  • Booking document type is a lookup. Proof of Delivery is identified by the lookup's POD flag, not by typing document text.
  • Before closing, the system checks that a trip log exists, actual delivery date is entered, expenses are reviewed, receipts are uploaded for active expenses, freight is confirmed, and invoice readiness is valid.
  • If the customer or booking requires POD, the booking cannot be closed until an active Proof of Delivery document is uploaded.
  • Closed, invoiced, or paid bookings are locked from normal edit to prevent accidental operational changes after settlement starts.
  • Use Overdue Delivery and Missing POD dashboard widgets/reports to find blocked or late bookings.
  • The booking details page shows a Status Timeline. It records each status change such as Created, Confirmed, Assigned, Dispatched, Delivered, Closed, or Cancelled.
  • Cancel only Draft, Confirmed, or Assigned bookings. Dispatched bookings should be delivered/closed through the workflow.
  • Use dashboard widgets and booking reports to track pending bookings, dispatch queue, in-transit bookings, freight, and open balance.
Example: Staff creates booking TB-202605-0001 for customer ABC Logistics, route Pune to Mumbai, freight 25000, and advance 5000. Manager confirms it, assigns vehicle MH12-TMS-1001 and driver Rajesh, then dispatches it. The system creates the Trip Log from the booking and adds timeline rows for Draft, Confirmed, Assigned, and Dispatched.
Availability example: Booking TB-202605-0001 uses vehicle MH12-TMS-1001 from 20-May-2026 to 22-May-2026. If staff tries to assign the same vehicle to booking TB-202605-0002 for 21-May-2026, the system blocks the save because the dates overlap. If booking TB-202605-0001 is later Closed or Cancelled, the vehicle becomes available for another booking.
Driver attendance example: Driver Rajesh is marked Leave on 21-May-2026. If staff creates a booking from 20-May-2026 to 22-May-2026 and selects Rajesh, the system blocks assignment because the booking date range includes a leave day. Staff should select another available driver or update attendance only if the leave entry was incorrect.
Print sheet example: After assignment, dispatcher opens booking TB-202605-0001 and clicks Print Sheet. The printed sheet shows customer ABC Logistics, route Pune to Mumbai, vehicle MH12-TMS-1001, driver Rajesh, freight 25000, advance 5000, balance 20000, and signature lines for Prepared By, Driver, and Authorized By.
Close checklist example: Booking TB-202605-0001 is delivered on 22-May-2026. Staff uploads LR/GR, delivery challan, and POD. The toll and unloading expenses each have receipt files. Manager opens the booking, enters Actual Delivery Date 22-May-2026, ticks Expenses Reviewed and Freight Confirmed, and closes the booking. If POD is required but missing, the system keeps the booking open and shows the missing POD message.

10A. Booking Dispatch Controls

  • Dispatch starts from a Trip Booking, not from a manual trip log, for normal customer revenue trips.
  • The booking workflow is Draft -> Confirmed -> Assigned -> Dispatched -> Delivered -> Closed.
  • Vehicle and driver must be assigned before dispatch.
  • When a vehicle is selected, the booking screen selects the vehicle's current fleet-assigned driver automatically.
  • If the selected vehicle has no current fleet assignment, create that assignment first from Fleet Management -> Assignments.
  • The system checks overlapping active bookings before saving assignment. Closed and Cancelled bookings do not block availability.
  • The system checks driver attendance for the booking date range. Absent, Leave, and Off Duty block booking assignment.
  • Dispatch creates the Trip Log automatically with booking route, vehicle, driver, trip date, old KM, new KM, and purpose.
  • Status Timeline stores every workflow change, including who changed status and when.
  • Print Sheet creates a dispatch/trip sheet for operational handover.
Dispatch example: Booking TB-202605-0007 is confirmed for route Lahore to Multan. Dispatcher selects vehicle LES-2045. The driver dropdown selects the current assigned driver automatically. If that driver is on Leave during the route dates, the save is blocked. After assignment, dispatcher clicks Dispatch, enters old KM 45210, new KM 45590, and the system creates the linked Trip Log.

10B. Booking Close Discipline

  • Close is allowed only after the booking is Delivered.
  • The close checklist protects billing and profitability records from incomplete operations data.
  • Before close, a linked Trip Log must exist.
  • Actual Delivery Date must be entered.
  • Expenses Reviewed must be ticked after checking trip expenses.
  • Freight Confirmed must be ticked after checking freight, advance, and balance.
  • If active trip expenses exist, each active expense should have a receipt/bill uploaded.
  • Invoice readiness requires a valid customer on the booking.
  • If POD is required by customer or booking, active Proof of Delivery must be uploaded before close.
  • After close, normal booking edit is locked. If the booking is invoiced or paid, edit stays locked to protect settlement records.
Close example: Booking TB-202605-0010 is Delivered. Manager checks the linked Trip Log exists, confirms toll and unloading receipts are attached, enters Actual Delivery Date 20-May-2026, ticks Expenses Reviewed and Freight Confirmed, and clicks Close Booking. If the POD is required but missing, the system refuses close until the POD file is uploaded.

10C. Booking Documents And POD

  • Booking documents are uploaded from the Trip Booking details page.
  • Supported document types include LR/GR, Customer PO, Delivery Challan, Proof of Delivery, and Other.
  • Document type is selected by lookup ID from Booking Document Types.
  • Proof of Delivery is identified by the IsProofOfDelivery flag on the lookup, not by typed file name.
  • Allowed file types are PDF, JPG, PNG, and WebP with maximum size 5 MB.
  • Preview opens PDF/image files in browser. Download saves a copy.
  • Uploading a new document for the same booking and type replaces the previous active document while preserving replacement/deletion metadata.
  • Deleting a document makes it inactive instead of removing its business history from reports/audit.
  • Customer master can require POD for all bookings of that customer. A specific booking can also be marked POD required.
  • Missing POD dashboard/report helps find bookings that cannot be closed cleanly.
POD example: Customer ABC Logistics requires proof of delivery. Staff uploads pod-tb-202605-0010.pdf with document type Proof of Delivery. The close checklist now passes the POD rule. If staff uploads the POD as Other, the system does not treat it as POD because the lookup type is wrong.

10D. Commercial Control

  • Customer master supports billing address, shipping address, GST/tax number, credit limit, payment terms days, active/inactive, and POD requirement.
  • Customer credit limit is checked by customer ID using active outstanding invoice balance plus new booking/invoice impact.
  • Invoice can be created from a closed, customer-linked booking that has no active invoice.
  • Invoice creation is available from Billing -> Create Invoice and from the closed booking details page.
  • Invoices start as Draft so billing can review customer, booking, route, freight, advance, tax, total, and balance.
  • Issuing invoice changes status to Issued, Part Paid, or Paid depending on balance.
  • Payments are recorded against invoices using Customer Payment Mode lookup IDs.
  • Payment cannot exceed invoice balance.
  • Customer Ledger shows invoice, payment, adjustment, advance, and running outstanding.
  • AR Ageing splits unpaid balance into Current, 0-30, 31-60, 61-90, and 90+ buckets.
  • Invoice and payment detail screens support Print so users can save PDF copies from the browser print dialog.
Billing example: Booking TB-202605-0010 is closed for customer ABC Logistics, freight 25000, advance 5000. Billing opens Create Invoice, selects the booking, creates Draft invoice, reviews total 20000, and issues it. ABC pays 12000 by Bank Transfer, so the invoice becomes Part Paid with balance 8000.

10E. Vehicle Document Management

  • Open Fleet Management -> Vehicle Documents to manage vehicle compliance files.
  • Supported lookup types include Registration, Insurance, Permit, Fitness, Road Tax, Pollution Certificate, and Other.
  • Each document stores vehicle ID, document type ID, document number, issue date, expiry date, file name, content type, size, uploaded by, and uploaded date.
  • Allowed file types are PDF, JPG, PNG, and WebP with maximum size 5 MB.
  • Preview opens PDF/images in browser. Download saves a copy.
  • Uploading the same vehicle/document type again replaces the previous active row and keeps replacement metadata.
  • Deleting makes the document inactive and stores deleted by/deleted date.
  • Vehicle Document Expiry report lists expired and next-30-day documents.
  • Dashboard Vehicle Docs widget shows expiring vehicle document count and links to the filtered document screen.
Vehicle document example: Staff uploads insurance for vehicle LES-2045, document type Insurance, document no INS-2026-5590, issue date 01-May-2026, expiry date 30-Apr-2027. On 01-Apr-2027, the document appears in Vehicle Document Expiry because it is within 30 days of expiry.

10F. Dashboard And Report Alerts

  • Dashboard widgets are shortcuts to action, not only numbers.
  • Alert Center is the single in-app place for pending bookings, unassigned bookings, overdue deliveries, missing receipts, unpaid invoices, maintenance due, document expiry, low/negative stock, and tyre review alerts.
  • Overdue Delivery shows active bookings where expected delivery date has passed and status is not Delivered, Closed, or Cancelled.
  • Missing POD shows bookings where customer/booking rules require POD but no active POD document is attached.
  • Vehicle Docs shows active vehicle documents already expired or expiring within 30 days.
  • Route Expense Variance compares actual trip expenses against the copied route estimate.
  • Fuel Variance compares expected route fuel quantity/cost against fuel entries for the assigned vehicle in the booking date window.
  • Route Profitability groups freight minus actual trip cost by route.
  • Trip Profitability compares booking freight with approved/reimbursed trip expenses and invoice settlement where available.
  • Customer billing widgets show invoice month total, open balance, draft invoices, overdue invoices, payments, AR ageing, and credit limit exceptions.
  • Use Reports -> Overdue Deliveries, Bookings Missing POD, Vehicle Document Expiry, Trip Profitability, Route Expense Variance, Fuel Variance, Route Profitability, Customer Ledger, AR Ageing, and Invoice Outstanding for detailed review.
Alert example: Manager opens the dashboard and sees 2 Overdue Delivery, 1 Missing POD, and 3 Vehicle Docs. She opens Overdue Deliveries first to chase dispatch/delivery, opens Missing POD to upload proof before close, then opens Vehicle Docs to renew insurance and permit before expiry.

11. Trip Expenses

  • Go to Operations -> Trip Expenses.
  • Create a trip log first, then select that trip in the trip expense entry.
  • The selected trip decides the vehicle and driver for the expense.
  • Select expense type such as Toll, Parking, Food, Loading, Unloading, Border Tax, Permit, Weighbridge, Repair, or Miscellaneous.
  • Select payment mode such as Cash, UPI, Card, Bank Transfer, Fuel Card, Company Account, or Driver Advance.
  • Select a vendor from Trip Expense Vendors when available, or type the vendor name manually.
  • Enter bill/receipt number, amount, status, and remarks where needed.
  • Upload receipt or bill files against each expense entry. Allowed formats are JPG, PNG, WebP, and PDF. Maximum file size is 5 MB.
  • Managers/Admins with approval permission can approve submitted trip expenses and reject only draft/submitted expenses.
  • Approved expenses cannot be rejected directly. They can be cancelled before reimbursement, or marked reimbursed when paid.
  • Use Missing Receipts report to find expenses where no receipt or bill was uploaded.
Example: Staff creates a trip from Pune to Mumbai. During the route, the driver pays 850 at NHAI Toll Plaza. Staff opens Operations -> Trip Expenses, selects the trip, expense type Toll, payment mode Cash, vendor NHAI Toll Plaza, amount 850, status Submitted, and uploads the toll receipt image. Manager later opens the expense and clicks Approve.

12. Billing

  • Use Billing -> Customer Invoices to review customer invoices by customer, date, status, total, paid, and balance.
  • Use Billing -> Create Invoice to create a draft invoice from a closed trip booking.
  • The Create Invoice screen only lists closed trip bookings that have a customer and do not already have an active invoice.
  • You can also open a closed trip booking and use the Billing panel to create the invoice from that booking.
  • Creating an invoice does not issue it immediately. It creates a Draft invoice so the billing user can review freight, advance applied, total, and balance.
  • Customer payment terms days control the invoice due date. If payment terms are not set, the invoice uses the default due date.
  • Customer credit limit is checked using the customer ID and active invoice outstanding. A booking or invoice that would exceed the limit is blocked.
  • Issue the invoice only after checking customer, trip booking number, route, freight, advance applied, and invoice balance.
  • If the advance fully covers the invoice, issuing the invoice marks it Paid. Otherwise it becomes Issued and waits for payment.
  • Use Billing -> Customer Payments to review received payments and their invoice allocations.
  • Use Billing -> Receive Payment to select an issued or part-paid invoice, choose a customer payment mode, enter payment amount, reference number, and notes.
  • Payment modes are lookup-based through Customer Payment Modes. Do not type payment mode text manually.
  • The system blocks payment greater than the invoice balance.
  • After payment, invoice status becomes Part Paid or Paid based on remaining balance.
  • Use Billing -> Adjustments for controlled customer ledger adjustments such as opening balance, credit note, debit note, write off, or other corrections.
  • Adjustment type is lookup-based through Customer Adjustment Types. Use Is Debit for charges that increase outstanding and Is Debit = No for credits that reduce outstanding.
  • Use Print on invoice and payment details to print or save PDF copies for customers.
  • Do not use Trip Expense bills as customer invoices. Trip Expense receipts are cost proof; Customer Invoices and Customer Payments are customer settlement records.
Invoice example: Booking TB-202605-0001 for ABC Logistics is closed with freight 25000 and advance 5000. Billing user opens Billing -> Create Invoice, selects the closed booking, and saves. The system creates a Draft invoice with subtotal 25000, advance applied 5000, total/balance 20000. After review, the user opens the invoice and clicks Issue Invoice.
Payment example: ABC Logistics pays 12000 by Bank Transfer against invoice INV-202605-0001. Billing user opens Billing -> Receive Payment, selects the invoice, payment mode Bank Transfer, amount 12000, reference UTR-HDFC-88421, and saves. The invoice becomes Part Paid with balance 8000. When the remaining 8000 is received, the next payment marks the invoice Paid.
Credit limit example: ABC Logistics has credit limit 100000. If open invoice balance is 90000 and a new booking creates another 25000 balance, the system blocks the booking or invoice because projected outstanding becomes 115000.
Adjustment example: ABC Logistics has an old opening balance of 15000. Billing user opens Billing -> Adjustments, selects ABC Logistics, adjustment type Opening Balance, Is Debit Yes, amount 15000, and saves. The Customer Ledger adds this to running outstanding. If management approves a 2000 write off, create another adjustment with type Write Off, Is Debit No, amount 2000.

13. Inventory

  • Add inventory items with unit and reorder level.
  • Use the Stock Transaction Desk buttons for Opening Stock, Purchase Stock, Issue to Vehicle, Return Stock, and Adjustment.
  • Use Inventory -> Purchase Orders for planned procurement of tyres, spare parts, inventory material, and maintenance services.
  • Use PO Lines to break a purchase order into item/service rows with quantity, rate, and amount.
  • Use Purchase when stock is received from vendor/store.
  • Use Issue to Vehicle when stock is consumed by a vehicle.
  • Use Return Stock when unused material comes back from vehicle or workshop.
  • Use Adjustment only for approved physical stock corrections.
  • Issue entries require a vehicle and cannot create negative stock unless the user has STOCK_OVERRIDE permission and enters a clear override reason in Remarks.
Example: Store receives HP AdBlue 20L Can. Staff records a Purchase transaction for 200 litres at unit cost 70. When vehicle MH12-TMS-1001 consumes 20 litres, staff records an Issue transaction with the same item, selected vehicle, quantity 20, and remarks AdBlue filled during Pune dispatch. If only 5 litres are available and user tries to issue 20, the save is blocked. A Super Admin with STOCK_OVERRIDE can save only with a reason such as Emergency issue; purchase bill pending entry.

14. Tyres

  • Create tyre records with serial number, brand, size, and purchase cost.
  • Install only tyres that are in stock.
  • Select the correct tyre position during installation.
  • Use the Remove button on Tyre Installations when a tyre comes off a vehicle.
  • Enter removal date and removed KM during removal.
  • Use Scrap only when a tyre should never be installed again.
  • Reports use installed KM and removed KM to calculate tyre usage.
  • Vehicle profile -> Tyres shows currently installed tyres and complete removed tyre history.
Example: Staff creates tyre MRF-MH12-001, brand MRF, size 10.00R20, cost 21500, status InStock. Then staff installs it on vehicle MH12-TMS-1001 at position Horse Front Left 1 with installed KM 125430. When removed at 165430, the tyre usage report shows 40000 KM.

15. Reports

  • Open Reports for fuel, KM, stock, maintenance, trip bookings, trips, trip expenses, driver assignments, and tyre usage.
  • The Reports Dashboard is divided into module tabs. Use the tab first, then open the specific report card.
  • Fleet tab contains Vehicle KM Summary and Vehicle Document Expiry.
  • Fuel tab contains Vehicle Fuel Summary, Fuel Consumption, and Fuel Variance.
  • Routes / Trips tab contains Trips, Route Expense Variance, and Route Profitability.
  • Bookings tab contains Trip Booking Register, Pending Trip Bookings, Overdue Deliveries, Bookings Missing POD, Booking Freight Summary, and Trip Profitability.
  • Billing tab contains Customer Invoice Register, Invoice Outstanding, Customer Ledger, AR Ageing, and Customer Payments.
  • Trip Expenses tab contains Trip Expenses, Trip Expense Summary, Pending Trip Expenses, and Missing Receipts.
  • Maintenance / Tyres tab contains Maintenance, Maintenance Due, and Tyre Usage.
  • Approvals / Vendors tab contains Operational Exceptions and Vendor Spend.
  • Use Customer Invoice Register to review invoices with booking, status, total, paid, balance, and due date.
  • Use Invoice Outstanding to review open customer receivables and overdue days.
  • Use Customer Ledger to review invoice, advance, payment, adjustment, and running balance by customer.
  • Use AR Ageing to review outstanding split into Current, 0-30, 31-60, 61-90, and 90+ day buckets.
  • Use Customer Payments to review receipts with mode, reference, invoice allocation, and amount.
  • Use Trip Booking Register to review customer, route, assignment, freight, balance, and booking status.
  • Use Pending Trip Bookings to find bookings waiting for confirmation, assignment, or dispatch.
  • Use Booking Freight Summary to review customer-wise freight, advance, and balance totals.
  • Use Trip Expense Detail to review each trip expense with payment mode, status, vendor, bill number, and receipt count.
  • Use Trip Expense Summary to total expenses by vehicle, driver, type, and status.
  • Use Pending Trip Expenses to review expenses waiting for approval or settlement.
  • Use Missing Receipts to find trip expenses where no receipt or bill file is attached.
  • Use alert reports for low stock, license expiry, and maintenance due.
  • Use the report filter panel to select date range, vehicle, or driver where applicable.
  • Use the summary card to confirm row count and report generation time.
  • Export to Excel/PDF or print when required.
Example: Manager opens Reports -> Customer Ledger, selects ABC Logistics, and reviews invoice INV-202605-0001, advance applied, receipt RCPT-202605-0001, write-off adjustment, and final running balance. Then the manager opens AR Ageing to see whether any customer balance is older than 90 days.

16. Administration

  • Administrators create users, roles, and permissions.
  • Standard roles are Super Admin, Admin, Manager, Staff, and Viewer.
  • Use the role assignment screen to give roles to users.
  • Use the role permission matrix to tick module permissions. Standard modules have View, Create, Edit, and Delete; workflow modules also show actions such as Assign, Dispatch, Issue, Cancel, Approve, Upload, and Download.
  • Trip Booking has workflow permissions for Assign, Dispatch, Deliver, Close, and Cancel in addition to View, Create, Edit, and Delete.
  • Trip Booking document upload/preview/download is controlled by Trip Booking Upload and Trip Booking Download permissions.
  • Vehicle Documents use separate View, Upload, Download, and Delete permissions.
  • Trip Expense has extra permissions for Approve, Upload, and Download in addition to View, Create, Edit, and Delete.
  • Customer Invoice has View, Create, Issue, and Cancel permissions. Customer Payment has View and Create permissions.
  • Customer Adjustment has View, Create, Edit, and Delete permissions. Grant Delete carefully because adjustment rows affect customer ledger balances.
  • Vendor master uses Vendor permissions. Purchase Orders and PO Lines use Purchase Order permissions.
  • Operational Exception Approvals use Approval permissions. Managers need approval access only when they are allowed to approve or reject exceptions.
  • Billing reports such as Customer Ledger and AR Ageing use Report View permission.
  • Only trusted users should receive override permissions such as STOCK_OVERRIDE and ODOMETER_OVERRIDE.
Example: Admin creates user meena.manager, assigns the Manager role, and confirms Manager has Report View, Vehicle View, Driver View, Assignment View, Fuel View, Trip View, Maintenance View, Stock View, Tyre View, Lookup View/Edit, and Audit View. Meena can review operations but cannot change Super Admin permissions. Super Admin keeps STOCK_OVERRIDE and ODOMETER_OVERRIDE for exceptional corrections only.

17. Audit Logs

  • Install the audit migration to enable database audit logs.
  • Audit Logs record create, edit, deactivate, delete, upload, and other important actions.
  • Trip Bookings are audited for create, edit, deactivate, confirm, assign, dispatch, deliver, close, and cancel actions.
  • Trip Booking Documents are audited for upload and delete actions; replacement metadata is stored on the old document row.
  • Vehicle Documents are audited for upload and delete actions; expiry reports use only active document rows.
  • Trip Booking Status Timeline is also saved in TripBookingStatusHistories, so users can read the workflow history directly from the booking details page.
  • Trip Expenses are audited for create, edit, deactivate, approve, reject, cancel, reimburse, receipt upload, and receipt delete actions.
  • Customer Invoices are audited for create, issue, and cancel actions. Customer Payments and payment allocations are audited when payments are received.
  • Customer Adjustments are audited for create, edit, and deactivate/delete actions because they affect customer ledger balance.
  • Operational Exception Approvals should be reviewed for override, negative stock, booking reopen, cancellation after dispatch, payment reversal, and post-billing change activity.
  • Vendor and Purchase Order changes should be reviewed when supplier spend or purchase approval questions arise.
  • Search by table, action, record ID, user, date, IP address, or keyword.
  • Use Audit Logs for review and accountability.
Example: If booking TB-202605-0001 is confirmed, assigned, and dispatched, the booking details page shows those status changes in the Status Timeline. Audit Logs can also show table TripBookings, action DISPATCH, record ID, user ID, date/time, IP address, and notes. Admin filters by table and date to review who performed the dispatch.

Complete Flow Examples

Use these scenario tabs as practical training flows. Each one starts with data entry and ends with the report or review screen.

Vehicle Maintenance and Consumable Flow

1. Basic master feeding

  • Create vehicle records from Fleet Management -> Vehicles.
  • Enter vehicle number, company, model, registration number, odometer, and active status.
  • After saving, open the vehicle profile to use quick actions for assignment, fuel, trip, maintenance, and stock issue.
  • Create driver records from Fleet Management -> Drivers.
  • Enter driver name, mobile, license number, license expiry date, and Aadhaar number.
  • Open the driver profile and upload license front/back and Aadhaar front/back files until all document tiles show available.
Detailed example: Operator creates vehicle MH12-TMS-1001, company Tata Motors, model Prima 5530.S, registration MH12AB1001, odometer 125430. Then operator creates driver Rajesh Sharma, mobile 9876543210, license MH1220200045123, expiry 31-Aug-2028, Aadhaar 4567-8912-3456, and uploads all four document sides.

2. Driver to vehicle assignment

  • Open Fleet Management -> Assignments.
  • Select vehicle, driver, and assignment start date.
  • Mark the assignment as current.
  • The app closes previous current assignments for the same vehicle.
Detailed example: Vehicle MH12-TMS-1001 is assigned to Rajesh Sharma from 01-Feb-2026. If Amit Patel is assigned from 15-Feb-2026, Rajesh's assignment becomes historical and Amit becomes current.

3. Tyre flow

  • Create tyre master records in Tyre Management -> Tyres.
  • Install tyres from Tyre Management -> Installations.
  • Select vehicle, tyre, position, installation date, and installed KM.
  • Enter removal date and removed KM to calculate usage.
Detailed example: Tyre MRF-MH12-001 is installed on Horse Front Left 1 at 125430 KM and removed at 165430 KM. The report calculates 40000 KM usage.

4. Oil and hub grease flow

  • Create Engine Oil, Differential Oil, Hub Grease Horse, and Hub Grease Body as Inventory Items.
  • Enter purchases using Stock Transactions -> Purchase.
  • Issue consumed oil/grease using Stock Transactions -> Issue and select the vehicle.
  • Record workshop service using the guided Maintenance Logs screen.
  • Enter service date, odometer, cost, workshop, next due date, and next due KM.
Detailed example: Vehicle MH12-TMS-1001 receives engine oil at 126000 KM. Store issues 15 litres of oil, maintenance logs cost 8500, next due date 12-May-2026, and next due KM 136000.

5. AdBlue flow

  • Create AdBlue as an inventory item.
  • Enter purchased quantity from Stock Transactions -> Purchase.
  • Enter used quantity from Stock Transactions -> Issue with vehicle selected.
  • If material is returned, use Stock Transactions -> Return to record it clearly.
  • Review balance in Stock Balance report.
Detailed example: Store purchases 200 litres of HP AdBlue. Vehicle MH12-TMS-1001 consumes 20 litres. Stock Balance shows 180 litres remaining.

6. Results and reports

  • Open the vehicle profile after entries are saved.
  • Use Grid View for quick column review and export.
  • Use Detailed View for timeline reading and text search.
  • Use date range filters where available.
  • Review fuel, trip, stock, tyre, driver assignment, license expiry, and maintenance due reports.
  • Export Excel/PDF or print for filing.
Detailed example: Manager opens vehicle MH12-TMS-1001. Fuel Grid View shows newest fuel first with Date, Fuel, Quantity, and Station. Trips Grid View shows Date, From, To, and Total KM. In Detailed View, manager searches Mumbai to filter the timeline. Then manager filters reports from 01-Feb-2026 to 28-Feb-2026 and exports Excel/PDF for filing.

Scenario 1: Create Booking, Assign Vehicle and Driver, Dispatch Trip, View Reports

  1. Create vehicle: Go to Vehicles and add MH12-TMS-1001, Tata Motors, Prima 5530.S, registration MH12AB1001, odometer 125430.
  2. Create driver: Go to Drivers and add Rajesh Sharma, mobile 9876543210, license MH1220200045123, expiry 31-Aug-2028.
  3. Create or select customer: Go to Operations -> Trip Bookings. In Customer/Party, select ABC Logistics. If it is missing, click Add Customer, enter customer name, contact person, mobile, email, GST number, and address, then save. The new customer is selected automatically.
  4. Create booking: Enter booking date 19-May-2026, route Pune to Mumbai, pickup date 20-May-2026, expected delivery 21-May-2026, vehicle type Truck, goods type General Cargo, freight 25000, advance 5000, and payment term Advance. The booking number is generated like TB-202605-0001.
  5. Confirm booking: Open the saved booking and click Confirm. The Status Timeline records the move from Draft to Confirmed.
  6. Assign vehicle and driver: Edit the confirmed booking and select vehicle MH12-TMS-1001. The driver dropdown selects Rajesh Sharma automatically from the current fleet assignment. Then save and click Mark Assigned. The system checks overlapping active bookings and driver attendance before allowing assignment.
  7. Fleet assignment note: This booking assignment does not create a row in Fleet Management -> Assignments. If Rajesh should become the current long-term driver for MH12-TMS-1001, create that separately from Fleet Management -> Assignments.
  8. Print trip sheet: Click Print Sheet to print the dispatch document with booking, customer, route, vehicle, driver, goods/passenger notes, freight, advance, balance, and signature lines.
  9. Dispatch: Click Dispatch, enter trip date 20-May-2026, old KM 125430, new KM 125610, and remarks. Dispatch creates the linked Trip Log and changes the booking status to Dispatched.
  10. Deliver and close: After delivery, click Mark Delivered, then Close when the booking is complete. The Status Timeline should show Draft, Confirmed, Assigned, Dispatched, Delivered, and Closed.
  11. Check vehicle profile: Open Vehicles -> View -> Trips. Grid View shows Date, From, To, and Total KM in newest-first order. Detailed View shows the trip timeline and allows searching Mumbai.
  12. Check reports: Open Reports -> Trip Bookings to review the booking register, Pending Bookings to check remaining work, Booking Freight to review freight/advance/balance, KM Summary to review distance, and Trip Report to review the generated trip log.

Scenario 2: Record Trip Expenses, Upload Receipt, Approve, View Reports

  1. Confirm lookups: Go to Setup Lookups and confirm Trip Expense Types, Trip Payment Modes, Trip Expense Statuses, and Trip Expense Vendors are available.
  2. Create trip first: Go to Trip Logs and save a trip such as vehicle MH12-TMS-1001, driver Rajesh Sharma, From Pune, To Mumbai, Old KM 125430, New KM 125610.
  3. Add expense: Go to Operations -> Trip Expenses and click Add Expense. Select the Pune to Mumbai trip.
  4. Enter cost: Select expense type Toll, payment mode Cash, vendor NHAI Toll Plaza, amount 850, status Submitted, and bill number if printed on the receipt.
  5. Upload receipt: Attach the toll receipt image or PDF. Allowed formats are JPG, PNG, WebP, and PDF with maximum file size 5 MB.
  6. Approve: A Manager/Admin with TRIP_EXPENSE_APPROVE opens the submitted expense details and clicks Approve. If the bill is incorrect before approval, the same user can reject it.
  7. Reimburse or cancel: After approval, the expense can be marked reimbursed when paid. If approval was a mistake and payment has not happened, use Cancel instead of Reject.
  8. Check reports: Open Reports -> Trip Expenses to review detail, Trip Expense Summary to check totals, Pending Expenses to find unapproved entries, and Missing Receipts to find entries without uploaded bills.
  9. Audit review: Open Administration -> Audit Logs and filter table TripExpenses or TripExpenseDocuments to review create, edit, approve, reject, cancel, reimburse, upload, and delete actions.

Scenario 3: Create Customer Invoice, Issue It, Receive Payment, Settle Balance

  1. Confirm billing setup: Run the billing SQL script first. Confirm Setup / Masters has Customer Invoice Statuses such as Draft, Issued, Part Paid, Paid, and Cancelled. Confirm Customer Payment Modes such as Cash, Bank Transfer, Cheque, Card, UPI, and Online. Confirm Customer Adjustment Types such as Opening Balance, Credit Note, Debit Note, and Write Off.
  2. Set customer billing controls: Open Setup / Masters -> Customers and set ABC Logistics billing address, shipping address, GST/tax number, credit limit 100000, and payment terms 15 days.
  3. Finish the trip booking: Create and process booking TB-202605-0001 for ABC Logistics, route Pune to Mumbai, freight 25000, advance 5000. Confirm, assign, dispatch, deliver, and close the booking. Invoice creation is available only after the booking is closed.
  4. Credit check: If ABC Logistics already has open invoices of 90000, a new booking or invoice balance of 25000 is blocked because projected outstanding would exceed the 100000 credit limit.
  5. Create invoice from sidebar: Open Billing -> Create Invoice. Select the closed unbilled booking TB-202605-0001. The screen lists only bookings that are closed, linked to a customer, and not already invoiced. Click Create Draft Invoice.
  6. Create invoice from booking alternative: Open Operations -> Trip Bookings, view the closed booking, and use the Billing panel -> Create Invoice. This creates the same draft invoice and prevents duplicate invoices for the same booking.
  7. Review draft invoice: On the invoice details page, check invoice number such as INV-202605-0001, customer ABC Logistics, booking number, route line, subtotal 25000, advance applied 5000, total/balance 20000, and status Draft.
  8. Issue invoice: If the invoice is correct, click Issue Invoice. If balance remains, the invoice becomes Issued. If the advance fully covers the invoice, the invoice becomes Paid immediately.
  9. Receive partial payment: Open Billing -> Receive Payment. Select invoice INV-202605-0001, payment mode Bank Transfer, amount 12000, reference UTR-HDFC-88421, and notes First customer payment. Save the payment.
  10. Check allocation: The payment is allocated to the selected invoice. The invoice paid amount becomes 12000, balance becomes 8000, and status becomes Part Paid.
  11. Receive final payment: When ABC Logistics pays the remaining 8000, open Billing -> Receive Payment again, select the same invoice, enter amount 8000, and save. The invoice status becomes Paid.
  12. Print documents: Open the invoice details page and click Print to print or save the invoice PDF. Open the payment details page and click Print to print or save the payment receipt.
  13. Create adjustment when approved: If management approves a 2000 write off, open Billing -> Adjustments, select ABC Logistics, adjustment type Write Off, Is Debit No, amount 2000, and save. This reduces ledger outstanding.
  14. Review lists and reports: Open Billing -> Customer Invoices and Customer Payments for transaction lists. Open Reports -> Customer Ledger to see invoice, advance, payment, adjustment, and running balance. Open Reports -> AR Ageing to see overdue buckets.
  15. Audit review: Open Administration -> Audit Logs and search CustomerInvoices, CustomerPayments, CustomerPaymentAllocations, and CustomerAdjustments to confirm who created the invoice, issued it, received payment, and posted any adjustment.

Scenario 4: Purchase AdBlue, Issue to Vehicle, View Stock Balance

  1. Create item: Go to Inventory Items and add HP AdBlue 20L Can, type AdBlue, unit Litre, reorder level 100.
  2. Purchase stock: Go to Stock Transactions and click Purchase. Enter date 07-Feb-2026, item HP AdBlue, quantity 200, unit cost 70, no vehicle selected.
  3. Issue stock: Click Issue. Enter date 08-Feb-2026, item HP AdBlue, vehicle MH12-TMS-1001, quantity 20, remarks Filled during Mumbai dispatch.
  4. Validation: If stock balance is less than issue quantity, the system blocks the issue to avoid negative stock. Only a user with STOCK_OVERRIDE can continue, and that user must enter an override reason in Remarks.
  5. Check vehicle profile: Open the vehicle profile -> Stock. Grid View shows Date, Type, Item, Quantity, and Total. Detailed View shows the full stock timeline and can be searched by AdBlue.
  6. Check report: Open Reports -> Stock Balance. The balance should reflect purchase quantity minus issued quantity, so 180 litres remains.

Scenario 5: Buy Tyre, Install It, Remove It, View Usage

  1. Create tyre: Go to Tyres and add serial MRF-MH12-001, brand MRF, size 10.00R20, purchase date 10-Feb-2026, cost 21500, status InStock.
  2. Install tyre: Go to Tyre Installations, select tyre MRF-MH12-001, vehicle MH12-TMS-1001, installation date 11-Feb-2026, installed KM 125610, position Horse Front Left 1.
  3. Remove tyre later: Open Tyre Installations and click the remove button for that tyre. Enter removal date 11-Jun-2026, removed KM 165610, remarks Removed after wear inspection.
  4. Check vehicle profile: Open vehicle profile -> Tyres. Grid View shows Status, Position, Tyre, Brand, and Size. Detailed View shows currently installed tyres and removed tyre history with usage KM.
  5. Check report: Open Tyre Report. The usage should show 40000 KM for that tyre.
  6. Decision: If the tyre is reusable, keep status Removed. If it is no longer usable, open Tyres and click Scrap. Scrapped tyres cannot be installed again.

Scenario 6: Record Service, Set Next Due, Track Alert

  1. Create maintenance type: Go to Maintenance Types and add Engine Oil Service. For tyre workflow, ensure Tyre Replacement also exists.
  2. Record service: Go to Maintenance Logs and click New Maintenance. Select vehicle MH12-TMS-1001, type Engine Oil Service, date 12-Feb-2026, odometer 126000, cost 8500, workshop Tata Authorized Workshop Pune.
  3. Odometer rule: If the vehicle latest known odometer is 126000 and user enters 125500, the system blocks the save unless the user has ODOMETER_OVERRIDE.
  4. Set next due: Enter next due date 12-May-2026 and next due KM 136000.
  5. Tyre replacement option: If the type is Tyre Replacement, fill Tyre, Installation Date, Installed KM, and Position. Click Add, review the row, then click Save Installation.
  6. Edit draft row: Click the row in the tyre installation grid to load it back into the fields, update values, then click Update.
  7. Check dashboard: When the due date is near or the vehicle odometer approaches next due KM, the dashboard maintenance alert count increases.
  8. Check vehicle profile/report: Open vehicle profile -> Maintenance to see Grid View and Detailed View. Then open Maintenance Due Report to identify which vehicle, service type, due date, and due KM need attention.

Scenario 7: Start the Day, Check Dashboard, Decide Work Priority

  1. Login: Open the TMS link, enter username/email and password, then sign in. If a menu is missing, check the user's role permissions instead of assuming the page is broken.
  2. Open dashboard: Use Dashboard as the first screen for the day. Review active vehicles, active drivers, fuel consumed, total KM, low stock, license expiry, tyre status, and maintenance due cards.
  3. Check alerts first: If Low Stock shows 2, open Reports -> Low Stock before issuing stock to vehicles. If License Expiry shows 1, open Reports -> License Expiry before assigning that driver to a long route.
  4. Prioritize operations: If Pending Bookings shows work waiting for assignment or dispatch, open Operations -> Trip Bookings and process those bookings before creating manual trip logs.
  5. Use report drill-down: Open the matching report for any dashboard count that looks unusual, then filter by date range, vehicle, driver, status, or item where available.
  6. Practical example: Manager Meena logs in at 09:00. Dashboard shows 1 low-stock item, 2 maintenance due vehicles, and 3 pending trip bookings. She first opens Low Stock, then Maintenance Due, and finally Trip Bookings to assign vehicles and drivers for dispatch.

Scenario 8: Prepare Master Data Before Daily Entry

  1. Create lookup values: Open Setup / Masters and confirm required dropdown values exist: vehicle companies, vehicle models, vehicle types, locations, fuel stations, workshops, item types, units, tyre brands, tyre sizes, tyre positions, trip booking statuses, goods types, load types, payment terms, booking sources, cancellation reasons, trip expense types, payment modes, statuses, trip expense vendors, customer invoice statuses, customer payment modes, customer adjustment types, approval types, approval statuses, approval reasons, vendor types, and PO statuses.
  2. Create vehicle: Open Fleet Management -> Vehicles and add vehicle MH12-TMS-1001 with company Tata Motors, model Prima 5530.S, registration MH12AB1001, current odometer 125430, and active status.
  3. Create driver: Open Fleet Management -> Drivers and add Rajesh Sharma, mobile 9876543210, license MH1220200045123, license expiry 31-Aug-2028, and Aadhaar 4567-8912-3456.
  4. Create customer: Open Setup / Masters -> Customers and save ABC Logistics with contact person, mobile, email, GST number, billing address, shipping address, credit limit, payment terms days, and active status. This avoids typing different customer spellings in bookings and gives billing the correct commercial controls.
  5. Create inventory item: Open Inventory -> Items and add Engine Oil 15W40, type Oil, unit Litre, reorder level 50, and active status.
  6. Review result: Search each grid after saving. The row action View button should show the final record, and Edit should be used only for correction.
  7. Practical example: Before the first Pune to Mumbai booking, Admin creates Pune and Mumbai locations, ABC Logistics customer, MH12-TMS-1001 vehicle, Rajesh Sharma driver, and General Cargo goods type. The booking operator can then complete the booking by selecting dropdown values instead of typing free text.

Scenario 9: Mark Driver Attendance and Handle Vehicle Assignment Carefully

  1. Open attendance: Go to Operations -> Driver Attendance and click Mark Attendance.
  2. Select date and driver: Choose 19-May-2026 and driver Rajesh Sharma. If Rajesh has a current assignment for that date, the Vehicle field is selected automatically.
  3. Mark Present: Select Present and manually enter check-in time, for example 08:45. The system does not auto-fill the current clock time.
  4. Add checkout later: Edit the attendance row at the end of the day and enter checkout time, for example 18:20.
  5. Half day rule: For Half Day, enter both check-in and check-out manually. For Absent, Leave, and Off Duty, keep check-in and check-out blank.
  6. Vehicle change warning: If the selected vehicle is different from the driver's current assignment, tick Create driver assignment from this attendance only when it is a real assignment change. Enter a reason such as Driver moved to backup vehicle for today's route.
  7. Booking impact: If Rajesh is marked Leave on 20-May-2026, the Trip Booking assignment check blocks Rajesh for any active booking date range that includes that date.
  8. Review: Use the Driver Attendance grid filters by date, driver, vehicle, and status. Use Reports -> Driver Attendance for management review.

Scenario 10: Upload Driver License and Aadhaar Documents

  1. Open driver profile: Go to Fleet Management -> Drivers and click View on Rajesh Sharma.
  2. Open documents: In the driver profile, use the document upload area for license front, license back, Aadhaar front, and Aadhaar back.
  3. Upload license: Upload license-front-rajesh.jpg as License Front and license-back-rajesh.jpg as License Back.
  4. Upload Aadhaar: Upload aadhaar-front-rajesh.pdf as Aadhaar Front and aadhaar-back-rajesh.pdf as Aadhaar Back.
  5. File rules: Use JPG, PNG, WebP, or PDF. Keep each file below 5 MB.
  6. Review missing documents: Open the driver profile again and confirm the document tiles are available. If a document is missing, upload only the missing side instead of replacing all files.
  7. Report connection: Use Reports -> License Expiry to check drivers whose license expiry date needs renewal follow-up. Use the profile document download during audit or roadside compliance checks.

Scenario 11: Enter Fuel Purchase and Update Vehicle Odometer

  1. Confirm setup: Make sure the vehicle, driver, fuel type, and fuel station exist. Example values are vehicle MH12-TMS-1001, driver Rajesh Sharma, fuel type Diesel, and station Indian Oil Pune.
  2. Open fuel entry: Go to Operations -> Fuel Entries and click New Workflow Entry.
  3. Enter purchase: Enter date 19-May-2026, vehicle MH12-TMS-1001, driver Rajesh, fuel type Diesel, quantity 240, rate 92.50, odometer 125430, station Indian Oil Pune, and remarks Full tank before Mumbai dispatch.
  4. Save and review: Save the entry, then open the vehicle profile -> Fuel. Grid View shows Date, Fuel, Quantity, and Station. Detailed View shows the timeline card.
  5. Odometer behavior: The vehicle odometer is updated when the new reading is higher than the current known reading. If the reading is lower than expected, correct the value before saving.
  6. Report: Open Reports -> Fuel Summary and Fuel Consumption. Filter by vehicle and date range to compare quantity, cost, and KM movement.

Scenario 12: Create an Internal Trip Log When There Is No Customer Booking

  1. Use booking first for normal work: For customer revenue trips, create a Trip Booking and dispatch it. Dispatch creates the Trip Log automatically.
  2. Use internal trip only for exceptions: Open Operations -> Trip Logs only for non-revenue movement such as workshop visit, empty repositioning, test drive, or yard movement, and only when the user has trip permission.
  3. Create internal trip: Click New Workflow Entry and select vehicle MH12-TMS-1001, driver Rajesh Sharma, trip date 19-May-2026, from Yard, to Tata Authorized Workshop Pune, old KM 125430, new KM 125455, and purpose Workshop inspection.
  4. Validate KM: New KM should be greater than or equal to old KM. If the odometer value conflicts with vehicle history, correct it before saving or use the proper override permission only for genuine corrections.
  5. Review: Open vehicle profile -> Trips. The internal trip appears in Grid View and Detailed View, separate from booking status timelines.
  6. Report: Open Reports -> Trips or KM Summary to review the internal movement. This trip will not have customer freight data because it did not come from Trip Booking.

Scenario 13: Create User, Assign Role, and Confirm Permissions

  1. Create role: Open Administration -> Roles and create Transport Manager if it does not already exist.
  2. Assign permissions: On the Roles grid, use Assign Permissions. Tick the permissions the role needs, such as Dashboard View, Vehicle View, Vehicle Document View/Upload/Download/Delete, Driver View, Assignment View, Fuel View, Trip Booking View/Edit/Assign/Dispatch/Deliver/Close/Cancel/Upload/Download, Trip Expense View/Approve/Upload/Download, Customer Invoice View/Create/Issue/Cancel, Customer Payment View/Create, Customer Adjustment View/Create/Edit/Delete, Stock View, Report View, and Audit View.
  3. Create user: Open Administration -> Users and create meena.manager with full name, email, mobile, active status, and password.
  4. Assign role: On the Users grid, use Assign Roles and tick Transport Manager.
  5. Verify login: Sign in as meena.manager and confirm only permitted menus appear. If Trip Bookings appears but Assign or Dispatch buttons are missing, return to role permissions and check the specific workflow permission.
  6. Keep overrides limited: Grant STOCK_OVERRIDE and ODOMETER_OVERRIDE only to trusted users. These are for exceptional corrections, not routine entry.
  7. Practical example: Meena can approve trip expenses and dispatch bookings, but a store operator can only purchase, issue, and return stock. This separation keeps operational mistakes easier to trace.

Scenario 14: Review Audit Logs After a Booking, Expense, Invoice, or Payment Change

  1. Start from the business record: Open booking TB-202605-0001 and check the Status Timeline. It shows user-visible workflow history such as Draft, Confirmed, Assigned, Dispatched, Delivered, and Closed.
  2. Open audit logs: Go to Administration -> Audit Logs.
  3. Filter by table: Search for TripBookings to review booking create, edit, deactivate, confirm, assign, dispatch, deliver, close, and cancel actions.
  4. Filter by action: Search DISPATCH to find who dispatched the booking, when it happened, and what record ID was affected.
  5. Review linked records: For a dispatched booking, also search TripLogs because dispatch creates the trip log. For trip expense receipt activity, search TripExpenseDocuments.
  6. Review billing records: For customer settlement, search CustomerInvoices to review invoice create, issue, and cancel actions. Search CustomerPayments and CustomerPaymentAllocations to review payment receipt and invoice allocation. Search CustomerAdjustments to review opening balance, credit note, debit note, write off, or other ledger corrections.
  7. Use date and user clues: If the issue happened on 20-May-2026, filter or search that date range and the suspected username. Review IP address and notes where shown.
  8. Practical example: A manager asks who received payment for invoice INV-202605-0001. Admin searches Audit Logs for CustomerPayments, confirms the action user, timestamp, record ID, and notes, then checks CustomerPaymentAllocations to confirm the invoice allocation.

Scenario 15: Close a Booking With Required Documents

  1. Confirm rules: Open Customers and confirm whether ABC Logistics requires Proof of Delivery. On the booking, confirm whether POD required before close is ticked.
  2. Upload booking documents: Open booking TB-202605-0001. In Booking Documents, upload LR/GR, Customer PO, Delivery Challan, and Proof of Delivery using the lookup document type. Use Preview to confirm PDF/image files open correctly.
  3. Review expenses: Open Trip Expenses for the linked trip log. Every active expense should have a receipt/bill uploaded. If the Missing Receipts report shows this trip, upload the missing receipt before close.
  4. Deliver booking: From the booking details page, mark the booking Delivered after delivery is completed. The system sets actual delivery date to today if it was blank.
  5. Run close checklist: Enter actual delivery date, tick Expenses Reviewed, tick Freight Confirmed, add close remarks if needed, and click Close Booking.
  6. If close is blocked: Read the message. Common causes are no trip log, missing delivery date, unchecked review/freight boxes, missing expense receipts, missing customer for invoice readiness, or missing POD.
  7. After close: The booking is locked from normal edit. Billing can now create the invoice from the booking or Billing -> Create Invoice.
  8. Review alerts: Use Dashboard -> Overdue Delivery and Missing POD, or Reports -> Overdue Deliveries and Bookings Missing POD, to find bookings that need attention.

Scenario 16: Upload Vehicle Documents and Track Expiry

  1. Confirm lookups: Open Setup / Masters -> Vehicle Document Types and confirm Registration, Insurance, Permit, Fitness, Road Tax, Pollution Certificate, and Other exist.
  2. Upload document: Open Fleet Management -> Vehicle Documents and click Upload Document. Select vehicle MH12-TMS-1001, document type Insurance, document no INS-2026-7741, issue date 01-Apr-2026, expiry date 31-Mar-2027, and upload the PDF/image file.
  3. Replace document: If a renewed insurance file arrives, upload a new Insurance document for the same vehicle. The previous active insurance document becomes inactive and points to the replacement, preserving audit metadata.
  4. Preview and download: Use the eye action to preview PDF/image documents in the browser and the download action when a local copy is required.
  5. Review expiry: Open Dashboard -> Vehicle Docs or Reports -> Vehicle Document Expiry to see expired or next-30-day documents.
  6. Audit review: Open Administration -> Audit Logs and search VehicleDocuments to review upload/delete activity, user, date, and notes.

Scenario 17: Create Vendor, Purchase Order, PO Lines, and Link Cost

  1. Confirm setup: Open Setup / Masters -> Procurement Setup and confirm Vendor Types and PO Statuses exist. Vendor Types should include practical values such as Workshop, Fuel Station, Tyre Vendor, Parts Supplier, Toll/Parking Vendor, and General Supplier.
  2. Create vendor: Open Setup / Masters -> Parties -> Vendors and create ABC Tyre House. Select vendor type Tyre Vendor, enter contact person, mobile, email if available, GST/tax number, address, and active status.
  3. Create purchase order: Open Inventory -> Purchase Orders and create PO-202605-0001, date 20-May-2026, vendor ABC Tyre House, status Draft, and remarks Tyres for MH12-TMS-1001.
  4. Add PO lines: Open Inventory -> PO Lines and add each tyre or service line against the purchase order. Use quantity, rate, and amount so the total can be reviewed clearly.
  5. Link where practical: Select vehicle or trip on the PO only when the purchase is clearly for that vehicle or trip. General stock purchases should stay unlinked and flow through stock transactions.
  6. Receive stock or service: For inventory material, create the matching stock purchase entry when goods are received. For service work, record the labour/service cost in Maintenance Logs.
  7. Review: Open Reports -> Vendor Spend to review spend by vendor and PO status. Open Maintenance or vehicle profitability reports when the cost is vehicle-specific.

Scenario 18: Review Odometer Override or Negative Stock Approval

  1. Exception occurs: Staff enters a missed fuel slip for vehicle MH12-TMS-1001 at odometer 125500, while latest known vehicle reading is 126000.
  2. Validation: Users without ODOMETER_OVERRIDE are blocked. A trusted user with override permission may continue only when the business reason is genuine.
  3. Reason capture: Enter a clear remark such as Historical back-entry of missed fuel slip dated 05-Feb-2026. The approval queue stores the exception type and reason code by ID.
  4. Manager review: Open Approvals from the sidebar. Review Pending, Approved, and Rejected queues, source entity, source record ID, requested by, requested date, reason code, and comments.
  5. Approve or reject: Select the correct approval reason code and add a manager comment. Approve only when supporting documents and dates make sense; reject if the entry looks like a wrong vehicle, wrong date, or typing mistake.
  6. Report: Open Reports -> Operational Exceptions to review approval history for odometer override, negative stock, booking reopen, cancellation after dispatch, payment reversal, or post-billing changes.

Scenario 19: Use Reports Dashboard Module Tabs

  1. Open dashboard: Go to Reports -> Reports Dashboard.
  2. Choose module: Select Fleet, Fuel, Routes / Trips, Bookings, Billing, Trip Expenses, Drivers, Inventory, Maintenance / Tyres, or Approvals / Vendors.
  3. Find maintenance and tyre reports: Open Maintenance / Tyres to access Maintenance, Maintenance Due, and Tyre Usage.
  4. Find approval and vendor reports: Open Approvals / Vendors to access Operational Exceptions and Vendor Spend.
  5. Search: Use the report search box when the module is not obvious. Searching vendor opens the module containing Vendor Spend, and searching tyre opens the module containing Tyre Usage.
  6. Export: Open the report, set filters where available, confirm row count and generation time, then export Excel/PDF or print for filing.

10G. Mobile Driver App And Manager Review

The driver MAUI app submits fuel, trip expenses, receipt files, driver documents, POD files, and pickup/delivery status updates to pending mobile submission tables. Driver API submissions do not post directly into final TMS records.

  • Driver login: Driver signs in through the REST API. JWT contains user ID, role claims, permission claims, and linked driver ID.
  • Token handling: The MAUI app stores access and refresh tokens in platform secure storage, sends the access token only in the bearer header, and requests a new access token from the refresh endpoint when the access token expires.
  • Driver submit flow: Driver selects lookup IDs such as fuel type, fuel station, expense type, payment mode, booking document type, or booking status. Server checks that the driver is linked to the record before saving.
  • Manager review: Manager opens Mobile Review Queue, filters by driver, truck, submission type, status, date range, or booking/trip, and reviews the pending item.
  • Approval: Approve posts the final record into Fuel Entries, Trip Expenses, Booking Documents, Driver Documents, or Booking Status History, then writes audit logs.
  • Reject/correction: Manager must enter a comment. The rejected or correction-requested submission remains visible to the driver with the manager comment.
  • History: Driver can filter own mobile submissions by date, status, and type. The API always derives driver ownership from the authenticated user.
Fuel example: Driver Rajesh submits diesel 80.00 litres for truck MH12-TMS-1001 with fuel station lookup ID and receipt image. The item appears as Pending in Mobile Review Queue. Manager approves it, and the system creates the final Fuel Entry using the selected lookup IDs.
POD example: Driver uploads pod-tb-202605-0010.pdf against booking TB-202605-0010 using a POD document type. Manager approves it, and the file is copied into normal trip booking documents.

Operational Exceptions, Vendors, Purchase Orders, And Maintenance Logs

  • Use approval reason codes for odometer overrides, negative stock, booking reopen, cancellation after dispatch, payment reversal, and post-billing changes.
  • Odometer checks compare vehicle, fuel, trip, maintenance, and tyre install/removal readings. Lower readings require ODOMETER_OVERRIDE and a clear remark.
  • Negative stock issues require STOCK_OVERRIDE and remarks. The exception queue keeps the event available for manager review.
  • Managers open Approvals from the sidebar, review Pending/Approved/Rejected queues, then approve or reject with a reason code and comment.
  • Use Reports -> Operational Exceptions for audit review of exception type, reason code, source entity, requested by, and approval status.
  • Use Vendors as the unified master for workshops, fuel stations, tyre vendors, parts suppliers, toll/parking vendors, and general suppliers.
  • Vendor screen is under Setup / Masters -> Parties -> Vendors and is controlled by Vendor permissions.
  • Use Purchase Orders for tyres, spare parts, inventory material, and maintenance services. Link vehicle/trip only when the cost clearly belongs there.
  • Purchase Order vendor is selected by Vendor ID. Do not type supplier names into purchase orders.
  • Use Maintenance Logs for service work, parts issued, tyre replacement, cost tracking, and next due scheduling.
Approval example: If vehicle MH12-TMS-1001 has latest odometer 126000 and a missed fuel bill is entered at 125500, staff without override is blocked. A manager enters remarks, the approval queue stores reason code Historical Back Entry, and the exception remains visible in reports.
Procurement example: Admin creates vendor ABC Tyre House as Tyre Vendor. Store opens Inventory -> Purchase Orders and creates PO-202605-0001, date 20-May-2026, vendor ABC Tyre House, status Draft, and total 86000. PO Lines hold four tyre rows. When tyres are installed, maintenance records the tyre replacement and vehicle cost.