/

Software & apps

Dispatch and proof of delivery app for a regional logistics company

Paper delivery notes go missing, customers call to ask where their goods are, and invoices wait for signed slips to come back. This is how we'd build a dispatch console and a driver app with electronic proof of delivery that works even without signal.

Industry

Logistics

Typical timeline

12–16 weeks

Typical team

5 people

The situation

Picture a regional logistics company in Maharashtra delivering industrial goods and building materials for manufacturers and distributors. It runs four depots, around 60 vehicles and a mix of permanent and contract drivers, and makes 600 to 800 deliveries a day to factories, dealers and construction sites.

Deliveries still run on paper. Dispatchers plan routes from experience and a whiteboard. Drivers carry printed delivery challans, get them signed and bring them back in the evening, if they don't get lost or rained on. Customers call the depot to ask where their goods are, and the depot calls the driver. Billing waits for signed challans to be scanned, so cash collection runs days behind delivery. When a customer disputes a short delivery, there's no photo and often no clear record of who signed.

The company needs a simple dispatch console for the depot, a driver app that works on cheap phones and in places with no signal, and a clean link to its ERP so a confirmed delivery releases the invoice the same day.

Signs this blueprint fits you

  • Signed delivery notes come back hours or days after the delivery.
  • Customers regularly call to ask where their goods are.
  • Invoices wait for paperwork, and delivery disputes take weeks to settle.
  • Route planning depends on one or two experienced dispatchers.

What we'd build

  • A dispatch console (React web app) where depot staff import the day's orders, plan routes with suggested stop order, assign vehicles and track progress live.
  • A driver app (Flutter, Android first) that downloads the route before departure, works fully offline, and captures signatures, photos, OTPs, GPS and exceptions at each stop.
  • A delivery API (Node.js and PostgreSQL) that holds orders, routes and proof of delivery, and syncs with the ERP.
  • Customer notifications: out-for-delivery messages with a live tracking link, and a delivery note with photos after each drop.
  • Exception handling for short, damaged, refused and partial deliveries, with reasons that flow back to the ERP.
Architecture of a dispatch and proof of delivery system: dispatch console and driver app built on a Node.js API with offline sync, connected to the ERP, Google Maps, SMS and WhatsApp, and a customer tracking page

How the pieces fit

Offline first

Drivers deliver to basements, rural plants and highway sites where signal comes and goes. The app stores the full route on the phone before leaving the depot and records every proof of delivery locally, with the device time and GPS. Data syncs in the background whenever signal returns, and conflicts are resolved on the server. A delivery is never lost because the network was down.

Routes that suit your operation

We use Google Maps Platform for geocoding and travel times, and a route optimiser that respects your constraints: vehicle capacity, delivery time windows, customers who only accept goods before noon. Dispatchers always have the final word and can drag stops between routes.

Proof that settles disputes

Each delivery records who received it, when and where, with photos and a signature or OTP. Partial and damaged deliveries are captured at the stop with a reason, so the invoice reflects what was actually delivered and disputes can be answered with evidence.

ERP integration

Orders flow in from the ERP each morning. Delivered quantities, exceptions and POD links flow back as soon as a delivery syncs, so the ERP can raise or release the invoice the same day.

One delivery, end to end

Here is a delivery to a hardware dealer's basement store, where there is no mobile signal.

One delivery end to end: orders imported from the ERP, planned into a route, the driver delivers without signal, captures signature and photo, syncs later, and the invoice is released

What dispatch and drivers would see

Example dispatch console showing today's routes and stop statuses, next to the driver app showing a stop with signature and photo capture

Dispatchers see every route's progress in one place, with stops colour-coded and exceptions at the top. Drivers see one stop at a time with large buttons, simple steps and a clear indication of whether their data has synced. The app is designed for low-cost Android phones, bright sunlight and gloves.

Data and integrations

SystemWhat flowsDirectionHow we connect
ERP (Tally, SAP B1, custom)Orders, customers, invoice numbersERP to delivery APIAPI, database view or scheduled export
ERPDelivered quantities, exceptions, POD linksDelivery API to ERPAPI or staging table
Google Maps PlatformGeocoding, distances, ETAsBoth waysMaps APIs
SMS and WhatsAppOut-for-delivery, OTP, delivery notesOutboundSMS gateway and WhatsApp BSP
Warehouse system (optional)Pick and pack statusWMS to delivery APIAPI or webhook

Delivery plan

Sixteen-week delivery plan for the dispatch and proof of delivery system, from discovery to app build, offline testing, pilot depot and rollout

We start by riding along with drivers for a few days, because the details of how deliveries really happen, such as who signs at a construction site or how cash on delivery is handled, decide whether the app gets used. Field testing covers basements, highway sites and the cheapest phones your drivers use before the pilot depot goes live.

The team

RoleTimeWhat they own
Engagement leadPart timeScope, ride-alongs, weekly demos
UX designerWeeks 1–6Driver app and console flows, field testing
Backend engineerFull timeDelivery API, sync, ERP integration
Flutter engineerFull timeDriver app, offline storage, camera and signature
Frontend engineerWeeks 4–10Dispatch console, maps, tracking page
QA engineerWeeks 8–14Device and field testing, pilot support

What changes the effort

  • Route optimisation. Suggested stop order is included. Full multi-depot optimisation with time windows and capacity is a larger piece.
  • Cash on delivery. Collecting and reconciling cash or UPI at the door adds a payment flow.
  • ERP access. A documented API is quick; older ERPs need exports or a staging database.
  • iOS. Android only is the baseline for drivers. iOS adds testing, though Flutter keeps it to one codebase.
  • Third-party fleets. Contract carriers using their own apps need a separate integration.

Risks and how we'd handle them

RiskWhat we'd do
Drivers don't use the appDesign with drivers, keep each stop to a few taps, support Marathi and Hindi, and train at the depot.
Lost data without signalOffline-first storage, background sync and a clear sync indicator; nothing depends on live connectivity.
Fake deliveriesGPS and time on every POD, photos, and alerts when a delivery is marked far from the customer's location.
Phone battery and data costsLocation tracking tuned to save battery, and photos compressed before upload.
ERP mismatchEvery sync logged, with a daily reconciliation of orders and delivered quantities.

What we'd measure

MetricHow we'd measure itBaseline from
POD turnaroundDelivery time to POD available in the ERPCurrent challan scan dates
Delivery to invoiceTime from delivery to invoice releaseERP invoice dates
On-time deliveriesDeliveries inside the promised windowDispatcher records
Where-is-my-order callsCalls logged at the depot per 100 deliveriesOne-week manual count
Dispute resolution timeDays from dispute to settlementAccounts team records

Build or buy?

Ready-made delivery management apps work well for parcel and e-commerce operations with standard workflows. A custom system makes sense when your deliveries are industrial and messy: partial loads, multiple invoices per stop, site receivers who change daily, ERP integration that has to be exact, and drivers who need the app in their own language on cheap phones. Owning the system also means no per-driver fees as the fleet grows.

Questions we'd ask on the first call

  • How many depots, vehicles and deliveries a day?
  • Which ERP holds orders and invoices, and how can we read from it?
  • What exceptions happen most: short, damaged, refused, rescheduled?
  • Do drivers collect payments at the door?
  • What phones do your drivers use, and which languages do they read?

FAQ

Will it work on cheap Android phones?

Yes. We test on low-end devices from the start, keep the app small, and compress photos before upload.

Can customers track deliveries?

Customers get a link with live ETA when the driver is on the way, and a delivery note with photos afterwards.

Can we use it for contract drivers?

Yes. Contract drivers log in with a phone number and OTP, and only see the routes assigned to them.

:: Typical stack

React web app, Flutter driver app, Node.js, PostgreSQL, Google Maps Platform, offline sync

:: Related service

Custom software development

See the service

Send us your brief. We’ll help turn it into reality

A senior engineer replies within one business day with questions or a first plan: approach, team, timeline and estimate.

Let’s talk

Prefer WhatsApp?

Chat with our team

WhatsApp

or leave us a short brief

No spam, no mailing list. NDA available on request.