Logistics platforms, built for the exception rather than the parcel.
Consignments, custody and settlement engineered around the deliveries that go wrong, because the happy path automates itself and everything expensive in this sector happens after something fails. Three logistics platforms already in production, and a custom engineering team for everything beyond them.
Custom build - 2 to 8 weeks, scoped
Ready-made platform - 6 working days
Six working days is the launch timeline for a ready-made platform as it ships - branded, deployed and live on infrastructure you own. Sector work beyond that, and the custom track above, is scoped and quoted in writing before anything starts. Both tracks are the same engineering team. Every figure on this page is defined on our facts page.
What a logistics build actually contains
The sequence below is where logistics platforms are won or lost. Every phase names what it requires and, where one exists, the shipped platform that removes it.
Logistics software has an unusual economics. The successful delivery needs almost no software: it is scanned, moved and handed over. The failed one needs a great deal - a reason code, a retry decision, a customer notification, a claim, a credit and an invoice line that now disagrees with the carrier's. Platforms designed around the happy path put ninety percent of their engineering into the ten percent of volume that costs nothing, and leave the operations team running the rest on spreadsheets.
Three of the seven phases have no shortcut. What a shipped platform removes is the middle: custody and tracking, routing, and the rating engine.
Network model: nodes, lanes and service levels
What your network physically is, before any software describes it. Origin and destination points, the hubs between them, which lanes you operate yourself and which you buy, and the service levels you sell against each. A platform that models a delivery as a straight line from sender to receiver cannot express a hub, a consolidation or a subcontracted leg.
Service levels are commitments with money attached. Same-day, next-day and economy are different promises with different costs and different consequences when missed, and if your contracts carry service credits then the platform is measuring your own liability.
The output is a network model that expresses legs, handovers and the party responsible at each point.
Consignment, custody and the handover record
Every movement of goods is a chain of custody, and every handover is a transfer of liability. Who held the consignment, from when, in what condition, and who accepted it next are the facts that decide a damage claim months later. Software that records location without recording custody answers the interesting question and misses the expensive one.
The consignment model itself needs care. A shipment can be one parcel or a pallet of many, can be split across vehicles, consolidated with others, and partially delivered. Modelling it as a single trackable object breaks the first time a pallet is broken down.
Proof of delivery is the end of the chain and it is evidence rather than a status. A signature, a photograph, a name, a time and a place, retained for as long as a claim can be raised.
Routing, capacity and dispatch
Routing in logistics is a constrained optimization rather than a shortest-path lookup. Vehicle capacity by weight and volume, driver hours, time windows agreed with receivers, loading sequence so the first drop is not at the back, and vehicle restrictions on certain roads all constrain the answer simultaneously.
Address quality is the constraint nobody budgets for and it dominates real-world performance. Incomplete addresses, informal addressing in many markets, and delivery points that differ from the postal address are the leading cause of failed first attempts, and geocoding alone does not solve it. Captured delivery points, learned from successful deliveries, do far more.
Dispatch has to survive the day changing: a vehicle breaks down, a receiver closes early, a driver calls in sick, and the plan made at six is wrong by ten.
Exceptions, and why they are the product
This is the phase that decides whether your operations team scales with volume or with headcount. Every exception needs a reason code that is specific enough to act on, a decision about what happens next, a notification to whoever is waiting, and a record that survives into a claim or a credit.
Generic reason codes are the common failure. "Delivery failed" tells nobody anything. "Receiver absent, second attempt", "address not found", "refused on condition" and "access denied at site" lead to four different actions, and a platform that cannot distinguish them cannot automate any of them.
Exception handling is also where customer experience is actually decided. Nobody remembers a parcel that arrived; everybody remembers how the failure was handled.
Rating, billing and carrier invoice reconciliation
Rating is deceptively hard. A price depends on weight, dimensional weight, zone, service level, fuel surcharge, residential or commercial delivery, and a contract that may differ per customer. Getting it wrong at quote time means either losing money on every consignment or losing the customer.
If you buy capacity from carriers, their invoices will disagree with your expectation, routinely and in their favour. Reweighs, reclassified surcharges and accessorial charges you did not anticipate are normal. Automated invoice reconciliation against expected cost per consignment is where operators recover margin they did not know they were losing.
Service credits close the loop: if a missed commitment triggers a credit, the platform must know it happened without a customer having to claim it.
Documentation, customs and cross-border
Crossing a border turns a delivery into a documentation exercise. Commercial invoices, classification codes, declared values, restricted goods and duty treatment all attach to the consignment, and an error holds goods rather than producing an error message.
Duty and tax treatment is a commercial decision with a customer-experience consequence: charged at checkout or collected on delivery. The second is cheaper to build and produces refused deliveries from customers surprised by a bill at the door.
Launch and day two
One lane or one depot, running real consignments alongside whatever you use today, because logistics failures are physical and a parallel period is the only way to find them without goods going missing.
Day two is the first billing cycle and the first claims, both of which arrive weeks after the first deliveries and test parts of the platform that launch does not. Sixty days of dedicated support, six months of priority bug resolution, twelve months of updates.
Want any of these phases costed against your network and lanes?
Book a technical callWhere custody actually changes hands
Every logistics platform is this chain with different names on the boxes. Tracking tells you where a consignment is. Custody tells you who was responsible when it was damaged, and only one of those settles a claim.
The subcontractor gap is the handover most systems fail to record. A leg bought from another carrier often returns a status and nothing about condition, which means a damage claim cannot be attributed and the cost lands with whoever cannot prove otherwise.
Why a generic reason code costs you the automation
Most systems record a failed delivery with a short list of statuses, and "delivery failed" is usually the most common one. It satisfies the tracking page and it removes every possibility of doing anything useful automatically, because four completely different situations arrive under one label.
A receiver who was absent needs a second attempt and a notification. An address that could not be found needs a correction from the sender before any retry is worth making. A refusal on condition needs a claim opened immediately while evidence is fresh. Access denied at a site needs a booking, not a retry. Each of those is automatable individually and none of them is automatable collectively, which is why reason-code design is worth more engineering attention than the tracking page it feeds.
Want your exception model reviewed against your actual failure mix?
Talk to an engineerEight operators, eight different builds
"Logistics" is not one buyer. The unit of movement, the custody model and the settlement problem change completely between them.
Parcel and courier networks
High volume, many small consignments, hub-and-spoke movement. Exception handling and address quality decide cost per parcel more than routing sophistication does.
2 shipped platforms
Same-day and hyperlocal
Point to point within a city, matched in near real time. Closer to mobility than to freight, and the platform is judged on pickup speed rather than network efficiency.
2 shipped platforms
Freight brokerage
You sell capacity you do not own. Rating, carrier selection and invoice reconciliation are the business, and margin lives in the gap between quoted and bought.
Custom build
Third-party logistics and warehousing
Storage plus movement, billed on space, handling and throughput. Inventory ownership stays with the client, which makes the accounting closer to custody than to stock.
Custom build
Fleet and line haul
Owned vehicles between fixed points, where utilization, driver hours and maintenance decide unit cost and there is no marketplace at all.
2 shipped platforms
Cross-border and forwarding
Documentation as the core workflow. Classification, declared value and duty treatment attach to every consignment, and an error holds goods rather than raising an alert.
1 shipped platform
Cold chain
Temperature as a condition that must be evidenced continuously, where a gap in the record is treated as a failure regardless of whether the goods were affected.
Custom build
Middle mile and distribution
Bulk between depots and retail, with scheduled windows agreed by receivers and penalties for missing them. Predictability matters more than speed.
2 shipped platforms
Five of the eight can start from something already running. Three are custom builds because nothing off the shelf carries the domain properly, and we would rather say that than sell you an adaptation that fights you for two years.
Not sure which of these you are, or you sit across two of them?
Book a scoping callHow the work actually runs
Six stages, the same on both tracks. What changes between a custom build and a platform adaptation is how long stage three takes, not whether the other five happen.
Scoping against your network and your contracts
We start from the lanes you run, which legs you own versus buy, and what your customer contracts commit you to, because service credits turn a missed window into a measurable liability. Those three decide the architecture before any preference does.
Architecture, custody and reason codes
Custody transfer and exception taxonomy are designed before features, because both are cross-cutting and both are painful to introduce later. Reason codes are drawn from your own failure mix rather than a generic list, since each specific code is what makes an automated response possible at all.
Build against exception-shaped data
Logistics platforms fail on the cases that fill an operations day: an incomplete address, a pallet broken down mid-network, a subcontractor returning a status with no condition, a receiver refusing on damage, and a reweigh that changes the price after delivery. Test data carries all of it, because a clean consignment proves nothing.
Length varies by trackRating, settlement and security validation
The rating engine is proved against your own contracts and a sample of historical invoices, which is where operators usually discover they have been absorbing surcharges. Our platforms arrive with a VAPT and compliance document, so external review starts from a documented baseline.
Carrier integration and depot onboarding
Carrier connections certified, scanning hardware proven in a real depot, and drivers using the application in conditions that include poor signal and one free hand. This stage depends on third parties and on physical environments, and is where optimistic assumptions surface.
Launch and the first billing cycle
One lane or one depot in parallel with the incumbent, then cutover, with the first billing cycle and the first claims watched closely because both arrive weeks later and test what launch does not. Sixty days of dedicated support, six months of priority bug resolution, twelve months of updates.
Want this sequence mapped against your lanes and carrier mix?
Book a technical callThree logistics platforms already in production
Every one ships with full source-code ownership, deployed on your infrastructure under your brand. Adapt one, or use it as the reference architecture for a custom build.
This is a smaller shipped catalogue than most sectors on this site, and it is worth being direct about why. Parcel and same-day movement are well covered by what we have built. Freight brokerage, third-party warehousing and cold chain are not, and three of the eight operator types above are marked as custom builds for that reason. If you are in one of those three, the honest route is a custom engagement using these platforms as reference architecture rather than as a starting point.
What this sector requires
Custody, not just tracking
Who held the consignment, from when, in what condition, and who accepted it next. Location answers the customer's question; custody answers the claim, and only one of those costs money.
Specific reason codes
Drawn from your own failure mix rather than a generic list. Four different situations under one label makes every one of them unautomatable and pushes the work onto people.
Address quality as a system
Delivery points learned from successful deliveries rather than trusted from postal data. Failed first attempts are dominated by addressing, and geocoding alone does not solve it.
Rating that matches contracts
Dimensional weight, zones, surcharges and per-customer terms computed the way your agreements actually read, because a quote that is wrong is either lost margin or a lost customer.
Invoice reconciliation
Carrier invoices matched automatically against expected cost per consignment. Reweighs and unexpected accessorials are normal, and unmatched they are simply margin you never notice leaving.
Evidence that outlives the delivery
Proof of delivery, condition records and handover signatures retained for as long as a claim can be raised, which is usually far longer than an operational retention default.
Want to open any of these platforms and look inside before deciding?
See the live demosCarrier invoices disagree with you, and usually in their favour
If you buy capacity, the difference between what you expected to pay and what you were billed is not an accounting nuisance. For most operators it is the largest recoverable margin in the business, and almost nobody is measuring it.
Manual invoice checking samples a few lines and passes the rest, which is a rational response to volume and the reason the gap persists. Matching every consignment against its expected cost is the only version that finds systematic drift rather than individual errors.
Want your carrier invoices reconciled against a sample of historical consignments?
Talk to an engineerBuilt custom when nothing off the shelf fits
The same team, working from zero. These are the capabilities we build into logistics platforms that no shipped product carries, because they are specific to how you operate.
Warehouse management
Receiving, put-away, picking and cycle counting, with inventory owned by clients rather than by you, which makes the accounting closer to custody than to stock.
Custom software developmentFreight rating and procurement
Multi-carrier rating against negotiated tariffs, carrier selection by cost and reliability, and the margin management that makes brokerage work.
Backend engineeringRoute optimization at scale
Capacity, driver hours, time windows and loading sequence solved together, with mid-day replanning when the plan meets a broken vehicle.
Data engineeringCold chain monitoring
Continuous temperature evidence with excursion alerting, where a gap in the record is treated as a failure regardless of whether goods were affected.
IoT engineeringCustoms and documentation
Classification, declared values and restricted-goods rules per destination, generated as documents rather than assembled by an operations team under time pressure.
API developmentInvoice audit automation
Every carrier line matched against expected cost, with queries raised automatically and drift in surcharges surfaced before a quarter of it has been absorbed.
Data engineeringNeed something this list does not cover?
Ask about custom workWhat we built, and what it delivered
Three deployments in this sector, described by what was actually built rather than by a metric we cannot show you the working for.
Parcel
Courier network with custody records
Liability recorded at each handover including subcontracted legs, specific reason codes driving automated retry and notification, and proof of delivery retained to the claims window.
Same-day
Hyperlocal delivery with learned addresses
Delivery points captured from successful drops rather than trusted from postal data, which addressed the dominant cause of failed first attempts.
Cross-border
Forwarding with generated documentation
Classification and declared values attached to consignments, with duty treatment decided at booking rather than surprising a receiver at the door.
We describe these by scope rather than by outcome metrics, because the numbers that matter to you are your own and we would rather model them with you than quote someone else's.
Want to speak to a reference running a network like yours?
Request a referenceWritten on this sector
Longer pieces on the problems above, written by the engineers who build these platforms.
Tracking answers the customer, custody settles the claim
ExceptionsWhy "delivery failed" costs you the automation
SettlementMatching every carrier invoice line, not a sample
AddressingLearning delivery points instead of trusting postcodes
If a question here is not covered, the fastest route to an answer is a call with the engineer who would run your build.
Want these as a briefing pack for your board or engineering team?
Request the packWe knew our carrier bills were high. We did not know that a third of the difference was reweighs we had never queried, because nobody was checking more than a sample.
The failure pattern this page is built around
That gap is the whole reason this page exists. Forty client testimonials sit on the site with names, titles and companies attached, and none of them are invented.
Questions logistics buyers actually ask
The ones that come up in the first call, answered as we would answer them there.
Can we really launch in six working days?
Yes, for a shipped platform as it comes. Freight brokerage, warehousing and cold chain are custom builds in our catalogue, and we say so above rather than implying a fit that is not there.
Do we own the source code?
Yes, in full, deployed on your infrastructure. No per-consignment licence, no per-vehicle fee, no runtime dependency on us.
How is proof of delivery handled?
As evidence rather than a status: signature or photograph, name, time and place, retained for as long as a claim can be raised, which is usually longer than an operational retention default.
Can you integrate with carriers we already use?
Yes, through an integration layer so one carrier's format does not become an architectural constraint. Which ones are certified first is decided in scoping.
What happens on a subcontracted leg?
Custody is recorded at the handover even when the leg is bought, because a status returned without condition is exactly how a damage claim becomes unattributable and lands with you.
Does the platform handle failed deliveries automatically?
To the extent your reason codes allow. Specific codes make retry, notification and claims automatable; a single generic failure code makes all three manual, which is why the taxonomy is designed rather than inherited.
Will it reconcile our carrier invoices?
Yes, line by line against expected cost per consignment. This is usually where operators find margin they did not know they were losing, particularly on reweighs and surcharge drift.
How do you handle bad addresses?
By learning delivery points from successful deliveries rather than trusting postal data alone. Addressing dominates failed first attempts, and geocoding on its own does not fix it.
Can drivers work offline?
Yes, and they have to. Depots, basements and rural lanes all lose signal, so scanning and proof capture queue locally and reconcile when connectivity returns.
Do you support cross-border shipments?
Yes, with classification, declared values and duty treatment attached at booking. Deciding duty treatment early is what prevents a receiver refusing a parcel over an unexpected bill.
What does support look like after launch?
Sixty days of dedicated support, six months of priority bug resolution and twelve months of updates. The first billing cycle and the first claims both land inside that window.
What if we are not ready to build yet?
We will say so. If your reason codes and service commitments are not defined, the platform will encode whatever ambiguity exists today, and that is worth resolving before rather than after.
Question not answered here?
Ask us directlyTell us what you are building.
Bring the network and the contracts. We will tell you honestly which track is right - including when the answer is that you do not need us yet.
A first call takes about thirty minutes and covers four things
What moves
Parcels, pallets or full loads, and between which points.
Owned or bought
Which legs you run yourself and which you subcontract.
What you commit to
Service levels, and whether missing them costs you credits.
Existing systems
The carrier, warehouse and finance stack a platform must fit into.
Those four answers are usually enough for us to tell you which track fits, roughly what it costs, and whether your carrier settlement is quietly consuming margin the operation is earning. If the honest answer is that your service definitions need settling first, we will say that instead of scoping work you are not ready to use.