Why Logistics & Distribution Margins Live or Die by Dispatch Software
For courier networks, wholesale FMCG distributors, fuel/gas transporters, construction material suppliers, and field-service fleets, two operational leaks quietly drain up to 22% of net profit: unoptimized route dispatch (and unauthorized vehicle detours/fuel siphonage) and disputed paper delivery notes (PODs) that delay customer invoice settlement by weeks.
When fleets try to rent off-the-shelf Western delivery SaaS tools, they get hit with $25 to $55 per driver per month—which quickly exceeds $30,000/year for an 80-vehicle fleet—while the software still fails to support local cash-on-delivery (COD) M-Pesa STK Push collection, multi-drop wholesale manifest splitting, or offline 3G rural checkpoints. At devManue Systems Engineering, we build custom, zero-per-driver-fee logistics and fleet management platforms tailored to your exact physical operations.
1. Custom Logistics Platform Modules & Fixed-Price Build Breakdown
A production fleet and last-mile delivery platform combines a central web command center for dispatchers with an offline-first mobile Progressive Web App (PWA) or Android app for drivers:
| System Module | Core Engineering Deliverables | Timeline | Estimated Cost (USD / KES) |
|---|---|---|---|
| 1. Dispatch & Route Manifest Engine | Order-to-vehicle load balancing (weight/volume capacity), multi-stop route sequencing, warehouse loading sheets. | 2 Weeks | $2,200 / KES 285,000 |
| 2. Offline-First Driver App & Digital POD | Customer SMS/WhatsApp OTP verification, glass signature capture, geo-stamped photo of offloaded goods, instant M-Pesa COD prompt. | 2 Weeks | $2,500 / KES 325,000 |
| 3. Live GPS Telemetry & Geofence Alerts | Real-time WebSocket map, hardware GPS tracker (Teltonika/Concox) & mobile ingestion, route deviation & fuel-anomaly alerts. | 2 Weeks | $2,500 / KES 325,000 |
| 4. Fleet Maintenance & Fuel Ledger | Odometer-based service reminders, tire/battery serial tracking, fuel card/receipt vs. kilometers-driven reconciliation. | 1.5 Weeks | $1,800 / KES 235,000 |
2. Eliminating Fraudulent "Completed Deliveries" & Cash-on-Delivery Leakage
In manual or basic delivery setups, drivers sometimes mark a package as "Delivered" while still 3 kilometers away, or collect cash from a wholesale buyer and delay remitting it for days. We eliminate both problems deterministically in software:
- PostGIS Geofence Enforcement: The driver's app will not unlock the "Complete Drop" button unless the device's GPS coordinates are within 150 meters of the customer's pinned delivery coordinates (or a supervisor issues an audited override code).
- Zero-Cash M-Pesa STK Push on the Doorstep: For Cash-on-Delivery orders, the driver taps "Request Payment" on their screen, triggering an M-Pesa STK Push directly to the recipient's phone. The digital Proof-of-Delivery OTP only unlocks once the payment webhook settles in your database—eliminating physical cash handling completely.
# Geofence-Verified & OTP-Locked Proof of Delivery (POD) Handler in Django + PostGIS
import math
from django.db import transaction
from django.core.exceptions import PermissionDenied
from django.utils import timezone
from .models import DeliveryStop, Invoice
def haversine_meters(lat1: float, lon1: float, lat2: float, lon2: float) -> float:
R = 6371000.0
phi1, phi2 = math.radians(lat1), math.radians(lat2)
dphi = math.radians(lat2 - lat1)
dlambda = math.radians(lon2 - lon1)
a = math.sin(dphi / 2) ** 2 + math.cos(phi1) * math.cos(phi2) * math.sin(dlambda / 2) ** 2
return 2 * R * math.atan2(math.sqrt(a), math.sqrt(1 - a))
@transaction.atomic
def complete_delivery_stop(stop_id: int, driver_lat: float, driver_lon: float, customer_otp: str) -> DeliveryStop:
stop = DeliveryStop.objects.select_for_update().select_related("order__invoice").get(id=stop_id)
distance_m = haversine_meters(driver_lat, driver_lon, stop.destination_lat, stop.destination_lon)
if distance_m > 200.0 and not stop.supervisor_geofence_override:
raise PermissionDenied(f"GPS check failed: Driver is {distance_m:.0f}m away from delivery point (max 200m).")
if stop.recipient_otp_code != customer_otp.strip():
raise PermissionDenied("Invalid recipient OTP code.")
if stop.order.is_cod and stop.order.invoice.status != "PAID":
raise PermissionDenied("Cash-on-Delivery invoice must be settled via M-Pesa before releasing goods.")
stop.status = "DELIVERED"
stop.delivered_at = timezone.now()
stop.verified_lat = driver_lat
stop.verified_lon = driver_lon
stop.save(update_fields=["status", "delivered_at", "verified_lat", "verified_lon"])
return stop
Managing a growing vehicle fleet or distribution network? Calculate your infrastructure savings with our Cloud & SaaS ROI Calculator or book a Logistics Architecture Discovery Session.
3. Frequently Asked Questions (FAQ)
What happens when a truck enters a rural area or basement with zero mobile network?
Our driver PWA caches the entire route manifest locally on the device using encrypted IndexedDB storage. Drivers can capture signatures, photos, and barcode scans completely offline; the app syncs everything automatically the second 3G/4G signal returns.
Can you integrate directly with hardware GPS trackers already installed in our trucks?
Yes. We ingest TCP/UDP telemetry packets directly from Teltonika, Concox, Queclink, and Ruptela GPS hardware trackers—including CAN-bus fuel level sensors and ignition state—into your live dispatch map.
For related production architectures and system implementations, explore these companion guides:
- Replacing Mission-Critical Excel Spreadsheets with a Custom Web App — Migrate manual fleet and fuel tracking sheets into a real-time PostgreSQL dispatch platform.
- KRA eTIMS, Tax Compliance & Custom ERP Integration — Issue signed fiscal invoices automatically upon verified doorstep Proof-of-Delivery.
- How to Build a Multi-Tenant White-Label AI Voice & Call Center SaaS — Automate recipient delivery confirmation calls 30 minutes before truck arrival.
- Architecture Reviews, Audits & Custom Software Delivery — Explore our production engineering deliverables, or benchmark your stack with the interactive Cloud ROI: AWS vs. Bare-Metal Calculator.