Engineering
CargoFlow: White-Label, End-to-End Logistics & Warehouse Management Software
A complete logistics operation in one platform — shipments, warehousing, delivery tracking, proof of delivery, COD and fleet — across a web dashboard and mobile apps you can rebrand and launch as your own.
The fastest way to launch a logistics operation is not to build a logistics management software stack from scratch — it is to start from a complete, end-to-end logistics software you can rebrand as your own.
CargoFlow is a white-label logistics and warehouse management platform: a web back office and offline-first mobile apps, joined by one scan engine, that take a parcel from the pickup scan all the way to whichever proof you decided counts at the door — photo, video, signature or OTP.
This is a logistics ERP software you buy once and run as your own product — shipment management, warehouse management, delivery tracking, proof of delivery, cash-on-delivery reconciliation, reporting and a public tracking portal, all in one system. Below is a feature-by-feature tour, with sample views from our own demo deployment of the web dashboard and the mobile apps, written out here label by label — the parcels, riders and amounts in them are illustrative, not a customer's live traffic.
What's included: one web platform, two mobile apps
A logistics operation has a back office and a field, and this logistics operations software covers both, plus the API that ties them together:
Web dashboard (Laravel + Filament) — the command centre for shipments, bags, hubs, deliveries, COD, roles and reports.
Warehouse & delivery mobile app (Flutter, Android) — one offline-first handset whose face changes with the user's role: pickup, packing, van-loading and doorstep delivery.
Scan engine — the single gate every barcode/QR scan passes through, enforcing legal status transitions across the whole journey.
REST API (Sanctum, device-bound tokens) — the contract between the apps, so a lost handset can be cut off without logging anyone out.
The command dashboard — logistics at a glance
The moment a manager signs in, CargoFlow surfaces the numbers that decide the day: today's pickups and deliveries, what's in transit, what's pending dispatch, and every exception raising its hand. Hub managers get their own warehouse-scoped view.
Sample dashboard: Operations Overview
app.cargoflow.io/admin/dashboard · Operations Overview · ● Mumbai C-1
PICKUPS TODAY — 312 ▲ 8%
DELIVERIES — 1,284 ▲ 12%
IN TRANSIT — 946
EXCEPTIONS — 17
INVENTORY BY STATUS — 3,247 PARCELS
Delivered 46%
In transit 30%
At hub 16%
Exception 8%
SCAN ACTIVITY — LAST 8H
Barcode & QR scanning — one console, every legal move
Every physical scan — pickup, receive, pack, dispatch, arrive, out-for-delivery, deliver, return — passes through a single scan engine that only allows legal status transitions, catches duplicate scans, and cascades a bag's move to the parcels inside it.
Putting that check in exactly one place is the point of it. A parcel's status is never typed in by anyone — it is derived from the scans — so an illegal move accepted anywhere does not merely look wrong on the timeline: it flows into the COD sheet and into every report built from the same history. One gate can be audited; the same rule re-implemented in the web app, the handset and the API is three chances for them to disagree.
Desk staff just plug in a USB or Bluetooth reader: scan, Enter, scan, Enter. Labels print as 4×6″ thermal PDFs with an embedded QR and barcode.
Sample dashboard: scan console
app.cargoflow.io/admin/scan-console · Scan Console · DISPATCH · ● Reader connected · CF-8842-IN
| OK | CF-8842-IN | At hub → Dispatched | 12:38:04 |
| OK | CF-8841-IN | At hub → Dispatched | 12:38:01 |
| DUP | CF-8840-IN | Already dispatched · ignored | 12:37:58 |
| BAG | BG-1190 | Cascaded to → 14 parcels | 12:37:40 |
Warehouse & delivery mobile apps — offline-first
One Android handset shows a warehouse face or a delivery face based on the signed-in user's permissions. Every scan is written to a local queue before any network call and synced later with idempotent de-duplication, so a phone in a basement or a dead zone loses nothing.
The de-duplication is the hard half of that. Once scans are queued, a retry after a timeout can deliver the same scan twice — the handset genuinely cannot know whether the first attempt landed — so each queued scan carries an identity the server recognises and discards on the second arrival. Without it an offline queue trades lost scans for phantom ones, which is the worse trade: a missing scan is visible to the person holding the parcel, a duplicated status change is not.
Riders load the van by scanning each label or by ticking off a server "loadable" list — and parcels auto-group into one delivery task per customer per day.
Sample handset screen: van loading
9:41 · Van V-12 ▾ · Load van · 3 queued ⟳
LOADED — 28
LOADABLE — 34
LOADABLE · ANDHERI ROUTE
✓ CF-8842-IN — COD ₹1,890
✓ CF-8843-IN — Prepaid
○ CF-8851-IN — COD ₹640
○ CF-8852-IN — Prepaid
Scan to load ▸
Sample handset screen: proof of delivery
11:01 · ◍ 12m · Proof of delivery · CF-8842-IN · A. Sharma
Photo — Captured
Signature — REQUIRED
OTP — Verified
Complete delivery
Proof of delivery, OTP verification & GPS gating
At the doorstep the rider captures proof, and each of four methods — photo, short video, on-screen signature and OTP — is independently set to Off, Optional or Required by an admin and enforced on the server, so a "Required" proof is a genuine gate.
A one-time code is generated for the delivery task (auto-sent when the parcel loads onto the van), read back at the door, and is task-scoped, hashed at rest and expires in ten minutes. Getting that code to the customer goes through whichever SMS gateway you configure: the account, the sender id and the per-message cost are yours, and wiring one up is part of deployment rather than something the demo settles for you.
Every completion also records a GPS fix, and deliveries can be gated to a configurable radius of the customer's address — flag-and-record by default, or block.
Sample handset screen: code verification at the door
11:00 · ◍ door · Verify delivery
Enter the code sent to +91 ••••• ••210
419•••
Expires in 07:41 · Resend
Verify & continue
Sample handset screen: GPS-gated completion
11:02 · ◍ GPS on · At the door · address · you · 12m
✓ Within 50m radius — 12m
reason — POSITION_VERIFIED
Capture proof ▸
The hub network — transit corridors & geofencing
CargoFlow models your physical network: transit corridors are planned multi-hop linehaul chains between warehouses (origin → intermediate hubs → destination), while pincode-based delivery areas sort each bag toward the right zone.
Each warehouse also carries GPS coordinates and a geofence radius — scans outside the fence are flagged for audit — and a data fence isolates each hub so managers and riders only see their own warehouse's work.
Sample dashboard: transit corridor
app.cargoflow.io/admin/transit-routes · Mumbai C-1 · Pune hub · Nashik · Panvel
CORRIDOR · TR-07 · Mumbai → Nashik
1 — Mumbai C-1 — origin
2 — Pune hub — sort
3 — Nashik — dest.
2 stops · 168 km · ETA 5h 20m
Data fence: per-hub visibility ●
COD collection & reconciliation
Parcels carry a payment mode, COD amount, shipping charge and declared value. The COD figure follows the parcel to the rider's loadable list and to the doorstep, the collected cash is recorded at close-out, and it rolls up into a reconciliation report — so every rupee is traceable from the shelf to the sheet.
The useful output of that report is not the balanced rows but the short ones. Cash goes missing for ordinary reasons — a customer who paid part of the amount, a rider who settled late, a parcel handed over against the wrong record — and what reconciliation has to give you is the difference attributed to one rider on one day, early enough that the stop is still something somebody remembers.
Sample report: COD reconciliation
app.cargoflow.io/admin/reports/cod · COD reconciliation · Today · ● ₹1,42,380 collected
| RIDER | DELIVERED | EXPECTED | COLLECTED | STATUS |
|---|---|---|---|---|
| R. Khan · V-12 | 38 | ₹48,900 | ₹48,900 | Balanced |
| S. Iyer · V-08 | 31 | ₹39,240 | ₹39,240 | Balanced |
| M. Das · V-05 | 27 | ₹34,600 | ₹33,960 | Short ₹640 |
Export CSV · Export Excel
Reports, roles & the public tracking portal
Twelve pre-built reports cover the whole operation — trip, product, package, warehouse, route, delivery, pickup, employee, GPS (with geofence-breach and mock-location flags), damage, return and productivity — and all export to CSV or Excel.
Access is role-based to the individual scan action, with a full activity trail; and customers get a public, unauthenticated tracking page that shows a privacy-trimmed timeline and lets them raise a coded complaint.
Sample tracking page
cargoflow.io/track/CF-8842-IN · TRACKING · CF-8842-IN · ● Delivered · 11:02
Booked — Mumbai · Jul 21 09:04
In transit — Pune hub · Jul 21 15:10
Out for delivery — Nashik · Jul 22 08:47
Delivered — signed by A. Sharma — Jul 22 11:02
Track another · Raise a complaint
Returns, RTO & fleet
A failed attempt (customer unavailable) puts the parcel on a configurable hold; when the hold expires it auto-returns to origin (RTO), and a dedicated return report tracks the reasons.
Vehicles register with their capacity, type and home hub and map to deliveries. Customer notification is written against one dispatcher rather than scattered through the code, and SMS is the channel the delivery flows are built around; push, email and WhatsApp are provided for in the same place but are not configured out of the box. Treat those as integration work against your own gateway accounts, not as a switch to flip.
Built on a modern, proven stack
Web: Laravel 12 & PHP 8.2 with a Filament admin panel; Sanctum auth with device-bound tokens.
Mobile: Flutter & Dart — one offline-first Android app for warehouse and delivery, with a local scan queue and idempotent sync.
Engine room: a single scan engine enforcing legal transitions, server-side proof policy, task-scoped OTP, and private proof-media storage.
Deploy: Docker-ready — self-host it or run it in the cloud, against a SQL database you point it at during deployment.
White-label and ready to launch
CargoFlow is designed to become your brand. Swap the product name, logo, colours and domain across the web platform and the mobile apps and deploy it under your own identity — ideal for logistics operators and agencies reselling a logistics management solution as their own.
Because it is a one-time purchase, there are no per-parcel SaaS fees and no vendor lock-in.
The complete platform — web dashboard plus the warehouse and delivery mobile apps — is a one-time $299 (₹29,999), with documentation and support to get you to production. If you would like it customised, integrated, or launched for you, that is exactly the kind of work we do.
Talk to our engineers about your logistics platform, or see how we build products.
- #Laravel
- #Flutter
- #White Label
- #Logistics Software
- #Warehouse Management
- #Delivery Management
- #Fleet Management
- #Shipment Tracking
- #Logistics Mobile App
Written by
Aditi
Building software at PRS India.