Fleet & Dispatch
Drivers, vehicles, trips, trip expenses, driver advances, settlements and fleet reporting.
Trips are the operational backbone
This chapter covers the trips and drivers that carry cost and revenue. Port and container jobs, which link to trips, are covered in CH 07.
Setup
| Entity | Key fields | Notes |
|---|---|---|
| Driver | Full name, licence number, phone, advance limit, active | The advance limit is cumulative across all unsettled advances, not per trip |
| Vehicle | Plate number (unique), type, make and model, fuel type, owned or rented, active | Deleting a vehicle is a soft delete and does not delete its trips |
| Expense category | Name only — for example Fuel, Tolls, Parking | Groups trip expenses in analytics; creating and editing needs the CEO |
Operations → Drivers → Add DriverOperations → Vehicles → Add VehicleAdministration → Expense CategoriesThe fleet cycles
- F1
Create and dispatch a trip
Enter the trip number (auto-suggested TRIP-YYYYMMDD-XXXX), vehicle, driver, start date, optional end date, origin and destination. Save → Started. The system rejects overlapping assignments: Vehicle is already assigned to trip … during this period, and the same for drivers. No journal is posted by a trip.
Operations → Trips & Dispatch → Create Trip - F2
Record trip expenses
Enter date, amount, currency, exchange rate, category, fuel flag, receipt reference and description. On save the system posts Dr 5000 Operating Expenses / Cr 1000 Cash. Amounts are locked after posting — to correct one, delete and recreate it.
Operations → Trips & Dispatch → [trip] → Expenses → Add Expense - F3
Issue a driver advance
Enter date and amount (driver and trip come from the trip). If the driver has an advance limit, the system sums all their unsettled advances and rejects if the new one exceeds it. On save it posts Dr 1100 Driver Advance Receivable / Cr 1000 Cash. The advance sits as a receivable until settlement.
Operations → Trips & Dispatch → [trip] → Advances → Issue Advance - F4
Create and finalize the settlement
Enter the settlement date and total deductions; the form computes net pay or refund live. The server recomputes total advances from that trip's unsettled advances and ignores the figure on screen. Creating a settlement does not post — finalizing it does, and marks every unsettled advance for the trip as settled so advances can never be paid twice. Only one finalized settlement per trip is allowed.
Operations → Trips & Dispatch → [trip] → Settlement → Create Settlement - F5
Close the trip
After the settlement is finalized, set the trip status to Settled using the pencil icon in the trips table. Trip status is not changed automatically, so you can verify the numbers first.
Operations → Trips & Dispatch
What finalizing a settlement posts
| Condition | Debit | Credit |
|---|---|---|
| Advances cleared | 5000 Operating Expenses | 1100 Driver Advance Receivable |
| Net pay to driver | 5000 Operating Expenses | 1000 Cash |
| Refund from driver | 1000 Cash | 5000 Operating Expenses |
Status reference
| Entity | States |
|---|---|
| Trip | Started, Completed, Settled — all set manually via the pencil icon |
| Advance | Unsettled, Settled — set when a settlement is finalized |
| Settlement | Pending, Finalized — the journal posts on finalize only |
Reports and analytics
| Report | Answers |
|---|---|
| Trip Profitability | Revenue (paid invoices linked to the trip) − expenses, with margin, per trip |
| Fuel Consumption per Vehicle | Fuel spend and average per trip, detected from the expense description |
| Driver Performance Scorecard | Trips, total expenses and average expense per trip, per driver |
| Fleet Utilisation Rate | Active days ÷ period days per vehicle, capped at 100% |
| Driver Settlement Summary | Advances, deductions, net pay, refund and finalized flag per settlement |
Note
Linking revenue to a trip
Trip Profitability shows revenue only when a paid sales invoice is linked to the trip. Without a link the revenue side is zero and the report shows cost only.
Worked example
Trip TRIP-001 (vehicle KCA 123T, driver John), base USD.
- 01
Trip created
Started — no GL.
- 02
Expense
150 fuel → Dr 5000 150 / Cr 1000 150.
- 03
Advance
200 → Dr 1100 200 / Cr 1000 200 (the driver limit must allow it).
- 04
Settlement
Advances 200, deductions 20 → net pay 180 → finalize: Dr 5000 200 / Cr 1100 200 (clear advance), Dr 5000 180 / Cr 1000 180 (net pay).
- 05
Close
Set the trip to Completed, then Settled.
- 06
Check
Trip Profitability shows cost 150 + 180 = 330; check Fleet Utilisation and Driver Performance.
Troubleshooting
| Message | Fix |
|---|---|
| Vehicle is already assigned to trip … during this period | Complete or cancel the other trip, or pick another vehicle |
| Driver is already assigned to trip … during this period | Complete or cancel, or pick another driver |
| Vehicle not found or has been deleted / Driver not found | Recreate or reactivate the master record |
| End date must be on or after start date | Correct the dates |
| Advance exceeds driver's limit of {limit}. Current unsettled: {total} | Settle the trip or raise the driver's limit |
| Trip expense amount cannot be edited after posting; delete and recreate it | Delete and re-add the expense |
| A finalized settlement already exists for this trip | Only one finalize per trip |
| netPayToDriver + netRefundDriver must equal totalAdvances − totalDeductions | Recalculate deductions and net |
| No open accounting period found for date… | Open a period (CH 02) |
Ledger boundary
| Action | Posts? | Journal |
|---|---|---|
| Create, update or delete a trip | No | — |
| Driver and vehicle master data | No | — |
| Trip expense create | Yes | Dr 5000 / Cr 1000 |
| Trip expense delete | Yes (reversal) | Mirrors the original |
| Driver advance create | Yes | Dr 1100 / Cr 1000 |
| Driver advance delete | Yes (reversal) | Mirrors the original |
| Settlement create | No | — |
| Settlement finalize | Yes | Dr 5000 / Cr 1100 plus the cash or refund legs |
Net effect: an advance is a wash — cash out, receivable up — until the settlement clears account 1100 to expense.
Known limitations
Known limitation
Two behaviours worth knowing
Trip status is not set to Settled automatically when a settlement finalizes — set it manually. And a trip expense amount cannot be edited after posting; delete and recreate it instead.
Cheat sheet
- Order
- Drivers + vehicles (+ categories) → Trip → Expenses and advances → Settlement → Finalize → Close trip
- Add a driver
- Operations → Drivers → Add Driver
- Add a vehicle
- Operations → Vehicles → Add Vehicle
- Dispatch a trip
- Operations → Trips & Dispatch → Create Trip
- Add cost
- Trip → Expenses → Add Expense
- Cash to driver
- Trip → Advances → Issue Advance
- Settle the trip
- Trip → Settlement → Create Settlement, then Finalize
- Close
- Trips table → pencil → Settled