SystemForgeStudio
Logistics

Transport Management System — North India 3PL Provider

WALKTHROUGH · HYPOTHETICAL
22 STAFF USERS
3PL FREIGHT COMPANY · 45 TRUCKS · 120+ DAILY SHIPMENTS · NORTH INDIA
16 WEEKS BUILD TIME

KEY OUTCOME

Customer tracking calls: 40+/day → near zero. Freight billing TAT: 5 days → same day. ₹12L/month in unbilled freight eliminated.

THE PROBLEM

What was happening before

The company operated 45 trucks across North India — NCR, western UP, Rajasthan, and Punjab. It served 14 corporate clients: FMCG distributors, industrial equipment manufacturers, and a large pharmaceutical company that required temperature-logged proof of delivery. On paper, it was a mature 3PL operation. Inside, it was a coordination system built on seven dispatchers' phone contacts and a rotating roster of WhatsApp group messages that contained no permanent record of what had been agreed, confirmed, or denied.

Order intake was the first point of chaos. Clients sent delivery orders by email, WhatsApp, and phone call — sometimes all three for the same shipment. Dispatchers maintained personal registers where they logged the client name, pick-up address, delivery address, and estimated weight. There was no system that aggregated orders across all dispatchers. The operations manager's view of the day's commitments was assembled from a morning WhatsApp status update from each dispatcher — which was accurate as of the moment it was sent and stale within the hour.

Vehicle assignment was entirely knowledge-based. A senior dispatcher knew which truck was where, which driver was reliable on the Jaipur route, which vehicle had a refrigeration unit for pharma loads, and which one was due for a tyre change. This knowledge lived in one person's head. When that dispatcher was absent — which happened — the replacement had to phone every driver individually to reconstruct the fleet position. There was a six-vehicle idle event in October when a dispatcher went on emergency leave and three trucks completed a delivery and waited at the drop point for instructions that never came, because nobody was tracking them.

Customer visibility was zero — by design of the old process, not by neglect. When a client's procurement team wanted to know whether the Tuesday shipment had been delivered, they called the company's customer service number. Customer service called the dispatcher. The dispatcher called the driver. The driver — who was often mid-route and unable to answer — returned the call when he could. Customer service called the client back. This chain averaged 40 minutes end-to-end, happened 40+ times per day, and consumed three full-time customer service staff who spent their day as a telephone relay between clients and drivers. The pharma client had escalated twice in six months over delayed status updates during critical shipments.

Proof of delivery was the single largest operational bottleneck. Drivers carried paper POD books — carbon-copy forms where the recipient signed, one copy stayed at the delivery point, and the driver brought the second copy back to the office. For multi-city routes, a driver might be away for 3 to 4 days before the PODs returned. The billing team's process was: wait for the driver to return, collect the POD book, manually enter each delivery into the billing Excel, apply the rate card, calculate any applicable detention charges from the driver's verbal account, generate a Word invoice, and email it. Five days was the best case. When POD books were lost — which happened three times in a year — the billing team had to reconstruct deliveries from the driver's memory and the client's receiving records.

Detention charges represented the most direct and avoidable revenue loss. When a truck arrived at a client's loading dock and had to wait — for goods to be ready, for the dock to free up, for the client's team to complete inspection — the company was entitled to a detention charge after the first two hours. In the old process, the driver was supposed to note the arrival time, the loading start time, and calculate the detention manually. Drivers frequently forgot, estimated, or omitted detention notes entirely to avoid a confrontation with the client. The billing team had no independent record to cross-check. The MD's estimate was that 70% of legitimate detention charges were never billed — a monthly revenue loss of ₹3.5L to ₹4L on a fleet of this size.

Fleet utilisation was the question nobody could answer. The MD wanted to know which vehicles were generating profitable revenue per kilometre and which were idle, under-maintained, or consistently assigned to low-margin routes. This information did not exist in any accessible form. Trip records were in the dispatchers' personal registers — not aggregated, not analysed. The MD's best approximation was the fuel reimbursement register: vehicles with high fuel claims must be running a lot. This was not an analytics strategy. It was a proxy for data the company did not have.

Freight billing disputes were the final chronic problem. The company's rate card varied by client, load type, distance band, and vehicle type. A pharmaceutical load had a different rate from an industrial goods load. A full-truck-load had a different structure from a part-load. Seasonal rate revisions applied from specific dates. The billing team maintained a rate card Excel that was updated when rate revisions happened — but the Excel had no version history. Disputes arose when a client questioned an invoice using the rate the company claimed applied versus the rate the client claimed had been agreed. Without a system record of which rate was applied and when the rate was in effect, disputes became negotiation exercises that frequently ended in credit notes.

My best dispatcher manages 12 trucks on WhatsApp. He knows where every truck is because he calls every driver every two hours. When he is sick, nobody knows where anything is. I am running a ₹8 crore logistics business on one man's WhatsApp messages and his memory.

Managing Director · 3PL freight company, Delhi NCR

BEFORE

40+/day

Calls from clients asking where their shipment was — each requiring the dispatcher to call the driver and call the client back

5 days

Average time from delivery to freight invoice — billing team waiting for physical POD document to return to office

₹12L+

Monthly freight revenue stuck in unbilled deliveries at any point — cash flow permanently deferred

~30%

Detention charges actually captured and billed — 70% lost because loading dock wait times were not systematically recorded

PLATFORM WORKFLOW

How the platform works

Click any module to explore what was built

MODULE 01 OF 06

Order Intake

Clients submit delivery orders through a web portal — pick-up, delivery address, load type, weight, and required date. Multi-stop shipments are modelled as a single order with multiple stop records. The operations manager sees all open, in-progress, and completed orders on one screen. Load consolidation suggests groupings for orders going to similar zones on the same day.

  • Client dispatch portal: each client logs in and submits orders with pick-up, delivery, load type, weight, and date — no email or phone call needed
  • Multi-stop shipments: one order record with sequential stop records — pick-up from factory, deliver to 5 distributors, each stop tracked independently
  • Manual order entry available for phone and email orders — same data model, same tracking from creation
  • Load consolidation engine flags orders going to similar zones on the same date as candidates for the same truck
  • Order status visible to operations manager in real time: open, assigned, in transit, delivered, billed
Progress
1 / 6

THE SYSTEM

What I built

I built an end-to-end transport management platform that replaced the WhatsApp-and-phone-call coordination layer with a system every role in the company used as their primary work surface — dispatchers for load planning, drivers for trip execution, billing team for invoice generation, customers for shipment tracking, and the MD for fleet analytics.

**Order management and intake:** Clients submit delivery orders through a dedicated customer dispatch portal — a web interface where each client logs in, enters the pick-up and delivery address, load type, weight, and required delivery date. Orders can also be entered manually by the operations team from email or phone. Every order is assigned a unique shipment ID from creation. Multi-stop shipments — one truck, five delivery points — are modelled as a single order with multiple stop records. The operations manager sees all open, in-progress, and completed orders on a single screen with status, client, and assigned vehicle.

**Load planning and vehicle assignment:** The load planning board shows all unassigned orders and all available vehicles simultaneously. Each vehicle tile displays its current GPS position, load capacity, current cargo weight if partially loaded, and next scheduled stop. Dispatchers drag orders onto vehicle tiles to assign them — the system validates that the assignment does not exceed vehicle capacity or create route conflicts. A load consolidation engine suggests groupings automatically: orders going to similar zones on the same day, flagged as candidates for the same truck. Route optimisation suggests the most efficient stop sequence for multi-stop trips. The map view shows every assigned truck with its route drawn, every unassigned order as a pin, and every vehicle's current position — updating every 30 seconds.

**Driver mobile app:** Each driver logs into a mobile web app with their phone number and OTP. Trip assignments appear as a notification and a trip card — pick-up address, each delivery stop in sequence, contact person name and phone at each stop, and any special instructions for the load (fragile, temperature-sensitive, requires dock appointment). The driver accepts the trip, and navigation opens to the first stop via Google Maps integration — the app passes the address directly. At each delivery stop, the driver marks 'Arrived' — which timestamps the arrival and starts the detention clock automatically. After unloading, the driver captures POD: a photo of the delivered goods at the destination, the recipient's name (typed), and a digital signature drawn on the phone screen. The system geo-stamps and timestamps the POD capture. The driver marks the stop as complete and navigates to the next stop. At trip end, the driver marks the trip complete.

**Real-time GPS tracking and customer portal:** Every truck's position is broadcast via the driver app's background location every 60 seconds and via a dedicated GPS device on the vehicle every 30 seconds. Clients access a customer dispatch portal where they see all their active shipments on a map — live truck position, last-updated timestamp, next stop, and estimated arrival time calculated from current position and Google Maps routing. A shareable tracking link is generated for each shipment and sent to the client's logistics coordinator via email and WhatsApp at the moment of dispatch — they can track without logging in. The 40+ daily 'where is my shipment' calls were replaced by a link in the dispatch notification.

**Digital proof of delivery:** The moment the driver captures POD at a delivery stop, the record is created in the system: delivery timestamp, GPS coordinates, recipient name, delivery photo, and e-signature image. The billing team can see the completed POD in their queue within seconds of capture — from any delivery location in North India, without waiting for the driver to return. For the pharma client, whose compliance requirement includes temperature logging, the driver inputs the temperature at delivery from a handheld logger, and the system records it as a field in the POD record. The pharma POD includes the temperature reading alongside the standard fields, satisfying the client's audit requirement.

**Freight billing engine:** The billing engine is configured with each client's rate card — per-km rates by vehicle type, per-tonne rates for part-loads, flat rates for specific lanes, and detention charge rates after the free waiting window. Rate cards are versioned: when a rate revision is agreed with a client, the new rate is entered with an effective date and the previous rate is archived. Every bill generated references the rate card version that was in effect on the trip date — disputes are resolved by showing the system record, not from memory. When a driver marks a stop as complete, the billing engine reads the trip distance (from GPS track), the load weight (entered at dispatch), the vehicle type, the client rate card, and the detention minutes (arrival timestamp minus departure timestamp minus free window). A draft freight invoice is generated automatically — the billing team reviews and approves, not creates. The invoice is GST-compliant with the company's GSTIN, HSN code for freight services, and CGST + IGST split based on origin and destination states. Approved invoices are emailed to the client and available in their dispatch portal.

**Detention charge capture:** The driver marks 'Arrived' at each stop — timestamp recorded. The driver marks 'Unloading complete' when the client's team signs off — timestamp recorded. The system calculates the gap. If the gap exceeds the contractual free waiting window (typically 2 hours), the excess minutes are automatically flagged as billable detention time in the invoice draft at the configured rate per hour. The driver does not need to remember, estimate, or negotiate. The client cannot dispute the timing because the arrival and departure timestamps are recorded from the driver app with GPS coordinates confirming the vehicle was at the address. Detention billing went from 30% capture to 95%+ within the first month.

**Fleet analytics dashboard:** The MD opens a dashboard showing every vehicle's status in real time: on a trip, at a stop, idle at the depot, or in maintenance. Yesterday's summary shows each vehicle's total kilometres driven, total freight weight hauled, number of trips completed, total revenue generated, and estimated fuel consumed (calculated from the GPS distance track at a configured average consumption rate per vehicle type). Revenue per kilometre is the primary efficiency metric — vehicles consistently below the fleet average are flagged for investigation. Idle time is tracked: a vehicle that has been at the depot for more than 6 hours on a working day without a trip assigned triggers an alert to the operations manager. The MD can now answer the question 'which vehicles are profitable and which are costing us money' from a dashboard, not from a fuel register.

**Driver performance and compliance:** The driver analytics module tracks on-time arrival rate per driver (arrival at first stop vs committed time), POD capture compliance (did the driver complete POD at every stop or skip any), average speed on GPS track (flagged if consistently above 80 km/h on highways), and trip acceptance rate (assignments accepted vs declined). Drivers with low on-time rates or POD gaps are surfaced for the fleet manager's review. For the pharma client's compliance requirement, every temperature-logged delivery generates a compliance certificate PDF — the system compiles the temperature readings, delivery timestamps, and route data into a document the pharma client's quality team can retain.

Live fleet map with load planning board

Every truck's live GPS position is visible on a single map. The load planning board shows vehicle capacity, current load, and next stop — dispatchers assign orders by drag-and-drop. Load consolidation suggestions group orders by route and vehicle type automatically.

Driver mobile app with digital POD capture

Drivers receive trip assignments on their phone, navigate stop-by-stop, and capture proof of delivery with recipient photo, e-signature, and GPS timestamp — all without paper. POD is available to the billing team within seconds of delivery.

Automated freight billing from trip data

The billing engine reads the trip record — distance driven, weight, rate card, detention minutes — and generates a GST-compliant freight invoice the moment POD is captured. No manual billing calculation, no 5-day wait, no lost detention charges.

THE OUTCOME

What changed

The first change that the entire company noticed was the disappearance of the 40+ daily client status calls. On the day the customer portal and tracking links went live, the operations team sent tracking links to all 14 clients with their morning dispatches. By noon, the customer service team had received 3 calls — all regarding new orders, not shipment status. The three customer service staff who had spent their days as a phone relay between clients and drivers were reassigned: one to order processing, one to client account management, and one to billing support. The MD described the first afternoon as 'the first time I heard the customer service phone not ringing for an hour'.

Freight billing TAT collapsed from 5 days to same-day. The billing team's first week with digital POD was disorienting in the best way — PODs appeared in their queue as deliveries happened, not in batches when drivers returned. By end of day, the day's deliveries were invoiced. By end of week one, the ₹12L backlog of unbilled freight that had existed as a permanent feature of the business for years had been eliminated. The operations manager noted that the company's bank balance looked materially different in the second week of the platform being live — not because revenue had increased, but because cash that had been deferred for 5 days was now arriving 4 days earlier.

Detention charge capture went from an estimated 30% to 95%+ in the first month. The change was structural, not behavioral — the driver no longer needed to remember or advocate for detention charges because the system recorded it automatically. In the first month, the company billed ₹3.1L in detention charges that it had previously been unable to substantiate. Two clients questioned the charges; both were resolved by the operations team sharing the timestamp records from the driver app showing arrival, waiting period, and departure with GPS coordinates. Neither dispute resulted in a credit note.

The dispatcher capacity change was the most operationally significant outcome. Before the system, a senior dispatcher managing 12 trucks needed to call each driver every 2 hours to maintain situational awareness. With the live fleet map, the same dispatcher could monitor 28 vehicles simultaneously from the dispatch screen — seeing every position, every stop status, and every ETA without a single phone call. The company's dispatch team of 7 was restructured: 4 dispatchers now manage the same 45-truck fleet that previously required 7, with the other 3 redeployed to business development and key account management.

The six-vehicle idle event that had occurred in October — when a dispatcher went on emergency leave and trucks waited uninstructed at delivery points — became structurally impossible. The idle vehicle alert in the analytics dashboard surfaces any truck that has been stationary at a non-depot location for more than 90 minutes without an assigned next stop. Within the first two months of the system being live, the alert fired four times — each time, the operations manager called the driver, identified the issue (load not ready at the next pick-up, driver waiting for dock clearance, vehicle breakdown), and resolved it within 20 minutes. No truck was lost for a day.

The pharma client, who had escalated twice over delayed status updates, renewed their contract for a second year citing specifically 'the tracking visibility and temperature-logged POD' as the reason. The temperature compliance certificates generated by the system gave the pharma company's quality team documentation they had previously been assembling manually from paper records. The pharma contract, which had been at risk of non-renewal at ₹1.2Cr annual freight value, was retained and the scope was expanded by 15% in the second year.

BEFORE40+ (each requiring dispatcher to call driver)
improved to
AFTERNear zero — self-serve live tracking link shared at dispatch

Client "where is my shipment" calls per day

BEFORE5 days (waiting for physical POD)
improved to
AFTERSame day — invoice generated on POD capture

Freight billing TAT after delivery

BEFORE₹12L+ at any point in time
improved to
AFTERNear zero — billing closes within hours of delivery

Monthly revenue in unbilled freight

BEFORE~30% (manually noted, often forgotten)
improved to
AFTER95%+ — auto-captured from driver app timestamps at each stop

Detention charges captured and billed

BEFORE1 dispatcher : 6 trucks (phone and WhatsApp)
improved to
AFTER1 dispatcher : 14 trucks (system-assisted)

Dispatcher-to-truck management ratio

BEFOREUnknown — no system tracked vehicle utilisation
improved to
AFTERReal-time per-vehicle uptime, load factor, and revenue per km

Fleet idle vehicle visibility

Want a system like this for your logistics organisation?

Get a quote for Transport Management System
Get a Quote