TMSProduct tourSign in

The fleet, without the phone calls.

Today a truck's day is a paper slip at the yard gate, a call to the driver, and a morning report rebuilt by hand. Diesel is allotted on trust and reconciled when the slips come in. TMS reads the gate pass once and keeps every truck, trip, litre and rupee from it, live.

Trucks moving
61
Trucks idle
58
In maintenance
7
Open trips
61
Legs closed today
143
Cost today, INR
1,06,218

On the road

61 trucks
GJ 12 AU 0081
to Adani Port T2
INACSNilesh Dave
ZWJU2392804 (20 ft)
09:41
GJ 12 LV 2709
to Ashtavinayak Yard
INAVJignesh Makwana
HHNU1036814 (20 ft)
09:38
GJ 12 MQ 4360
to Adani Port T4
INSNPVijay Singh
empty
09:36
GJ 12 GE 3467
to Newport Depot Yard
SVLSanjay Bhatt
KYSU8319469 (40 ft)
09:30

Every truck, on the real roads.

Trucks drive the port roads between the three yards and the five terminals, and the map moves with them. Each company's trucks wear its own colour; a parked truck is grey, one in the workshop is red. Click a truck for its plate and trip.

Ashutosh CFSAshtavinayak EnterprisesShubham NewportPromotersSiddhivinayak LogisticsIdleIn maintenance

One pass at the gate. Everything follows.

A gate pass is entered once, typed at the yard office or imported from the yard software's CSV. It already names the truck, container, company, terminal and direction, so the trip, the fuel, the cost and the incentive are derived from it, never typed again.

Save

Three ways in

Typed at the yard office, as here. Imported from the yard software's CSV, a bad row rejected with its reason. Issued by the simulator while Live is on.

AtPassIssuerDirectionTruckContainerLoad
6 Nov 2026, 09:41INACS-20917INACSOutGJ 12 AU 0081ZWJU2392804 20 ftloaded

A pass opens a leg. The next one closes it.

OUT at a yard opens a leg; IN at the terminal closes it with the kilometres, the fuel, the port entry and the incentive, each with the norm or rate it came from. A pass with no partner stays unmatched until the other gate reports. A pass dated before the truck's latest one is kept as late and changes nothing.

Trip of GJ 12 AU 0081 OpenClosed

Owner Ashutosh CFS, driver Nilesh Dave. Started 6 Nov 2026, 09:41. Every figure shows the norm or rate it came from.

LegFrom and toContainerKmExpected fuel, LFuel costIncentivePEP costBilled toInter-company
1
Ashutosh CFS Yard (YARD) at 6 Nov 2026, 09:41
Adani Port T2 (TERMINAL) at 6 Nov 2026, 10:07
passes: INACS-20917 OUT by INACS, T2-558201 IN by INSNP
ZWJU2392804, 20 ft, owner INSNP
loaded
8.8
road Ashutosh to T2
5.3
norm empty 4.1 L, loaded 5.3 L; used loaded
488
5.3 L x Rs 92
100
rate 20 ft loaded YARD to TERMINAL = 100
300
one port entry
INSNP
container owner
900
INACS truck, 20 ft rate 900
2
Adani Port T2 (TERMINAL) at 6 Nov 2026, 10:19
in transitNewport Depot Yard (YARD) at 6 Nov 2026, 10:52
passes: T2-558214 OUT by INSNPT2-558214 OUT by INSNP, INSNP-30442 IN by INSNP
KYSU8319469, 40 ft, owner INSNP
loaded
12.9
road Adani to Yard
open7.2
norm empty 5.5 L, loaded 7.2 L; used loaded
open662
7.2 L x Rs 92
open150
rate 40 ft loaded TERMINAL to YARD = 150
0
no entry on this leg
INSNP
container owner
open900
INACS truck, 20 ft rate 900

A pass whose partner has not arrived yet leaves its leg unmatched; a pass dated before the truck's latest one is stored as Late and changes no trip.

Diesel in, against what the legs burned.

Every route has a norm in litres, loaded and empty. Each closed leg takes its norm off the truck's tank balance; an allotment adds to it. The list sorts by balance, so the trucks that need diesel are at the top before anyone phones a driver.

Fuel

10 of 126 trucks below 15 L. Balance is approved allotments minus the expected fuel of closed legs; red below 15 L, amber below 40 L.

Allot fuel

Allot

Type the first letters of the plate and pick it from the list. An allotment counts in the balance at once.

Allotted 60.0 L for GJ 12 AU 0081, balance now 71.3 L.

TruckOwnerDriverAllotted, LExpected used, LBalance, L
GJ 12 AU 0081INACSNilesh Dave120.0180.0108.711.371.3
GJ 12 BT 4490INACSSuresh Chaudhary90.061.428.6
GJ 12 LV 2709INAVJignesh Makwana150.097.952.1
GJ 12 MQ 4360INSNPVijay Singh100.044.255.8
GJ 12 GE 3467SVLSanjay Bhatt80.020.559.5

Who owes whom, ready on the first.

A truck of one company moving another company's container is an inter-company charge at the stored rate. Fuel, port entry and incentive are at actuals per leg. The month's matrix, the statement behind every cell, lease charges, and a CSV for accounts.

Billing

612 legs ended in November 2026, Asia/Kolkata. Inter-company 3,51,000 INR across 4 owner-to-billed pairs and 18 leased trucks.

Export CSV
Show
Inter-company
2,07,000
Lease charges
1,44,000
Fuel
2,41,980
PEP
1,28,100
Incentive
46,320

Inter-company matrix

Truck owner, billed toAshutosh CFSAshtavinayak EnterprisesShubham NewportOwner total
Ashutosh CFS038,7001,24,2001,62,900
Ashtavinayak Enterprises27,900016,20044,100
Billed total27,90038,7001,40,4002,07,000

Rows are the truck owner, columns the billed entity. An entity working its own trucks owes itself nothing, so those cells read 0. Open a figure to see its legs.

Statement by pair

Truck ownerBilled toLegsInter-companyFuelPEPIncentive
Ashutosh CFSShubham Newport1261,24,20061,34037,80013,150
Ashutosh CFSAshtavinayak Enterprises4138,70019,99012,3004,250
Ashtavinayak EnterprisesAshutosh CFS2927,90014,2808,7003,050
Ashtavinayak EnterprisesShubham Newport1716,2008,5205,1001,800
Total6122,07,0001,04,13063,90022,250

One statement per driver, every month.

Each driver's month on one page: salary share for the days present, incentive per leg from the gate passes, advances and penalties from the ledger, net pay. Days are marked on a grid; the whole month exports as CSV.

Nilesh Dave

Ashutosh CFS, truck GJ 12 AU 0081, November 2026. Phone 98250 41187.

Salary share, 22 of 30 days
13,200
Incentive, 41 legs
4,350
Advances
-2,000
Penalties
-500
Net pay
15,050

Attendance, 22 of 30 days present

123456789101112131415161718192021222324252627282930

Ledger

AtKindAmountNote
3 Nov 2026, 18:02Advance2,000Diwali advance
5 Nov 2026, 08:15Penalty500Late at gate, T3

Which truck goes where next, and why.

An empty truck at a terminal is pointed at the nearest waiting container, with the empty kilometres it saves. When a manager sends it elsewhere by phone, the reason is recorded, and the week's empty running is counted.

Recommendations

Last 7 days: 85% of 212 empty runs followed the recommendation, 1,418 km run empty.

TruckStatusLocationNext move
GJ 12 AU 0081Movingon the roadDeliver KYSU8319469 to Newport Depot Yard
GJ 12 BT 4490IdleAdani Port T3Nearest waiting container HHNU1036814 at Adani Port T3 (0.0 km empty, saves 13.7 km vs farthest option)
GJ 12 LV 2709IdleAshtavinayak YardNearest waiting container PBOU0824602 at Adani Port T2 (14.0 km empty, saves 2.4 km vs farthest option)
GJ 12 GE 3467MaintenanceFuel Pump and Workshopin maintenance

Deviations this week

DateTruckRecommendedActualReason
5 Nov 2026, 14:20GJ 12 MQ 4360Adani Port T1Adani Port T4Manager phoned a different pickup

The week in numbers, and what to do about it.

One report for today, this week, this month or any two dates, every figure beside the same figure from the period before: legs, kilometres, containers, cost by company and terminal, fuel allotted against the norms, idle and workshop days, drivers, repairs, orders. Above it, what needs attention: plain-words recommendations ranked from the same numbers, each with its reason and the page that fixes it. The top of that list is also on the dashboard.

Reports

week of 2 Nov 2026, Asia/Kolkata. 608 legs closed over 4,216 km, cost 5,42,860 INR; the previous week had 456 legs and 3,48,441 INR. 6 things need attention.

Export CSV
Show
Legs closed
608
up 33% vs previous
Km run
4,216
up 48% vs previous
Containers moved
606
up 117% vs previous
Cost, INR
5,42,860
up 56% vs previous
Fuel gap, L
3,191.6
down 67% vs previous
Unmatched and late
0
same as before

What needs attention

Ranked by how much it costs or how long it has waited.
OwnerGJ 12 AA 5097 took 194% more diesel than the fleet does for the same norms
Allotted 180.0 L against 34.6 L expected over 6 legs, mostly Ashutosh CFS Yard to Adani Port T1; the fleet runs at 1.8 L allotted per litre expected. Raise that route's norm, or have the truck inspected.
StaffTyre 10.00 R20 is short (6 of 12) while 4 jobs needing it are open
GJ 12 ZW 5898: Tyre puncture; GJ 12 AA 5097: Tyre replacement; GJ 12 NO 5191: Tyre puncture; GJ 12 EW 3838: Tyre puncture. Order the shortfall now so the trucks are not held for a part.
Staff47 containers have waited 3+ days at a terminal
Longest: ZXBU5114301, 6 days at Adani Port T4; ZZZU8516819, 6 days at Adani Port T4; OMXU5150809, 4 days at Adani Port T5. Send empty trucks for them; Recommendations names the nearest.
Staff8 trucks have a tank balance far from zero
Largest gaps: GJ 12 EQ 3244 has burned 53.0 L more than it was allotted; GJ 12 JD 7758, 52.8 L; GJ 12 KP 5967, 51.0 L. Check their allotments against the legs.
OwnerGJ 12 YM 3304 has been parked 9 days at Ashutosh CFS Yard
A standing truck still costs its lease and driver. Put it on a route with waiting containers, or lease it out.
StaffAjay Patel owes 8,000 in advances and penalties against a salary of 14,300
The ledger takes more than half the salary, so the month's net pay will be small. Settle the ledger before another advance.

Legs closed per day

851702026-11-02: 159 legs, cost 1,41,900022026-11-03: 152 legs, cost 1,35,600032026-11-04: 161 legs, cost 1,43,400161042026-11-05: 136 legs, cost 1,21,960052026-11-06: 0 legs, cost 006

Each column is one calendar day; the same report runs for a day, a month or any two dates, and exports as CSV.

A puncture is a record, not a phone call.

A job holds the truck off the road until it is closed; a closed job dates the repair and books its cost. Stock lists every part with its minimum, and marks what has fallen below it.

TruckKindCostOpenedClosed
GJ 12 GE 3467Tyre puncture OpenClosed1,8006 Nov 2026, 09:12open6 Nov 2026, 11:40
GJ 12 ZG 7785Brake liner Closed4,2004 Nov 2026, 16:055 Nov 2026, 10:30

Stock

SKUNameQtyMin qtyUnit
TYR-1020Tyre 10.00 R20612pcsLow
FLT-FULFuel filter38pcsLow
OIL-ENGEngine oil 15W40120100l

Minimums are set here; what is short shows on the procurement page with what is already on order.

Short on parts before the truck is.

Everything below its minimum, with what is already on order and what sits in drafts. One click starts a draft for the shortfall, an admin approves it, and receiving it adds the lines to stock. Every open order shows how many days it has waited.

Procurement

4 items below minimum, 2 drafts, 0 on order worth 0.1 draft, 1 on order worth 54,000. Receiving an order adds its lines to stock.

StockNew purchase order
Below minimum
4
Drafts to approve
21
On order
01
On order, Rs
054,000

Below minimum

SKUNameQtyMin qtyShort byOn orderIn draftsUnit
TYR-1020Tyre 10.00 R2061266060pcs
FLT-FULFuel filter38505pcs
GRS-MP3Grease MP3410600kgOrder
BRK-PADBrake pad set58300setOrder

Amber: the shortfall is already on order. Red: still short even after what is on order; Order starts a draft for the difference.

Purchase orders

CreatedEntityVendorKindForTotalStatusWaiting
6 Nov 2026, 11:02Ashutosh CFSKutch Tyre HousePO
Tyre 10.00 R20 TYR-1020, 6 x 9,000
54,000DraftApproved0 days
4 Nov 2026, 15:40Ashutosh CFSMundra FiltersPO
Fuel filter FLT-FUL, 5 x 650
3,250Draft2 days
3 Nov 2026, 09:15Ashtavinayak EnterprisesShree Auto WorksWork order
Brake liner BRK-LIN, 4 x 1,200
4,800Received

A new order starts as a draft; an admin or the entity manager approves it; receiving it adds the lines to stock. Waiting counts the days an order has sat.

Your rates, your norms, your people.

Rates, fuel norms, trucks, drivers, locations, containers and settings are tables the admin edits; every derived number comes from them. An entity manager sees one company's rows and nothing else. Ops and accounts see the group. The admin sees everything.

ScreenAdminEntity managerOpsAccounts
Dashboard and mapAll trucksOwn trucksAll trucksAll trucks
Gate passesAllOwn issuedAllAll
Trips, fuel, driversAllOwn entityAllAll
BillingAll pairsOwn pairsAll pairsAll pairs
Reports and insightsWhole fleetOwn entityWhole fleetWhole fleet
Live simulatorRuns itnot shownRuns itnot shown
Masters and settingsEditsnot shownnot shownnot shown
DashboardMapTripsGate passesFuelBillingDriversRecommendationsReportsMaintenanceProcurementMasters
admin@demo.local
Admin
DashboardMapTripsGate passesFuelBillingDriversRecommendationsReportsMaintenanceProcurement
manager.inacs@demo.local
Entity manager, INACS
DashboardMapTripsGate passesFuelBillingDriversRecommendationsReportsMaintenanceProcurement
ops@demo.local
Ops
DashboardMapTripsGate passesFuelBillingDriversRecommendationsReportsMaintenanceProcurement
accounts@demo.local
Accounts

Built so far, and what comes next.

Everything on this page runs today on the demo, with a simulator standing in for the yard systems and the GPS feed. The next step is connecting the real ones.

Open the demo.

Pick an account and sign in; the password for every demo account is demo1234. Turn Live on in the header and the fleet starts moving.

TMSTransport Management System

Sign in

  • Group admin sees everything, plus Masters and Settings.
  • Entity manager sees Ashutosh CFS only.
  • Entity manager sees Shubham Newport only.
  • Transport ops sees all entities, runs Live, requests fuel.
  • Accounts sees all entities, billing and ledger.