Logistics / Shipping Operations

White-Label Logistics Platform — Multi-Carrier Shipping, End to End

A self-hosted, white-label platform that runs an entire shipping business — quoting, booking, tracking, invoicing, and payment across multiple carriers — through client, operations, and admin portals.

Context

A shipping aggregator buys capacity from carriers and resells it to business and individual clients at a margin. Running that business means serving three very different audiences at once: clients who want to quote, book, track, and pay on their own; an operations team that physically moves freight; and administrators who control pricing, carriers, finance, integrations, and access. The goal was a single product any operator could install and brand as their own, without code changes, rebuilds, or mandatory third-party accounts.

The problem

Logistics software lives or dies on correctness because real money and real carriers are involved. A client cannot pay and then discover the carrier refuses the parcel. Payment gateways and webhooks retry, so charges and callbacks must never double-apply. Prices, tax, and exchange rates must stay stable for records that were already issued. On top of that, carrier, payment, accounting, and AI integrations had to be optional and configurable at runtime, and three portals needed independent access rules that hold on both the client and the server.

The approach

The platform was structured as a shared monorepo: a React SPA, an Express REST API, and one shared schema that is the single source of truth for the database, validation, and types. Three portal layouts sit on top of three independent permission models — granular admin RBAC, per-company client user management, and operations roles. Correctness was designed in rather than bolted on. Carrier accept-criteria run at rating and again before checkout. Payments, webhooks, and migrations are idempotent. A schema-drift check compares every table and column the code expects against the live database and refuses to deploy on drift. Carriers plug in through an adapter pattern, so adding one never touches core logic, and every integration is optional so an unconfigured carrier simply offers no rates instead of blocking a sale.

The solution

Clients get a branded portal to request instant marked-up quotes across carriers, create shipments, pay with saved cards, track live status, manage invoices and credit, add team members with scoped permissions, and import orders from connected e-commerce stores. New customers apply for accounts and are approved by admins before activation. The operations console organizes work into queues by lane and stage — door-to-door, express, local, special handling, dangerous goods, returns — with planning, warehouse, billing, shipping, and delivery stages per shipment. Administrators manage clients, shipments, pricing rules per client profile and account type, invoices, payments and refunds, configurable VAT, notification templates and retry settings, roles, and an Apps control center where carrier, payment, accounting, and AI credentials are encrypted at rest and monitored for health. Branding — name, logo, favicon, colour, support email, legal name — is stored in the database and applied at runtime across the interface, emails, and page titles. Docker Compose brings up PostgreSQL and the app, runs migrations, and seeds defaults on first boot.

Important challenges

Validating each carrier's accept-criteria before checkout so a client never pays for a parcel the carrier will refuse.. Keeping payments, gateway webhooks, and database migrations idempotent so retries and re-runs never double-apply.. Running three independent permission models — admin RBAC, client-company users, and operations roles — enforced on both client and server.. Integrating FedEx, DHL, Aramex, and regional couriers through one adapter pattern while keeping every integration optional.. Snapshotting VAT and SAR/USD exchange rates per record so issued quotes, shipments, and invoices never change retroactively.. Making the whole product white-label and installable by anyone, with no branding or API keys required to start.

Verified outcomes

Delivered client, operations, and admin portals on one codebase backed by a ~70-table PostgreSQL schema.. Built a reseller pricing engine with configurable markups per client profile, account type, and freight type.. Implemented end-to-end finance: automatic invoicing, card payments with saved cards, refunds, credit accounts with reminders, multi-currency, and optional Zoho Books sync.. Turned notifications into data: editable templates and retry settings with every send recorded per attempt.. Added a schema-drift check that blocks deployment when the live database does not match the code.. Packaged the product for one-command Docker Compose installation and a nightly self-resetting live demo with automatic HTTPS.

Book a Call