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 Starting from a shipped platform

Custom build - 2 to 8 weeks, scoped

Network model
Custody and tracking
Routing
Rating and settlement
Documentation
Launch

Ready-made platform - 6 working days

Rebrand, deploy, live

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.

01Weeks 1-2

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.

Nodes and lanesOwn vs boughtService levelsCredit exposure
No shortcut here. Network shape is the same problem on both tracks, and a straight-line model cannot be extended into a real network later.
02Weeks 2-3

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.

Custody transferSplit and consolidateCondition recordsProof of delivery
Already builtConsignment tracking with custody transfer, split handling and evidenced proof of delivery.
03Weeks 3-5

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.

Capacity constraintsTime windowsAddress qualityReplanning
Already builtRouting with capacity and window constraints, learned delivery points and mid-day replanning.
04Weeks 4-6

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.

Specific reason codesRetry policyProactive notificationClaim linkage
No shortcut. Shipped platforms carry exception machinery, but your reason codes and retry policies come from your own operation and are worth designing rather than inheriting.
05Weeks 5-7

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.

Dimensional weightSurchargesInvoice matchingService credits
No shortcut. Rating and settlement follow your own contracts, and no shipped platform arrives knowing what you negotiated.
06Weeks 7-8

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.

ClassificationDeclared valuesRestricted goodsDuty treatment
Already builtCross-border documentation with classification, declared values and duty treatment.
07Weeks 7-8

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.

One laneParallel runningFirst billing cycleDay two support
No shortcut. Same on both tracks. A shorter build does not shorten a billing cycle or a claims window.

Want any of these phases costed against your network and lanes?

Book a technical call

Where 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.

Chain of custody, collection to deliveryEvery handover, and what has to be recorded at it
CollectOrigin hubLine haulDelivery depotReceiver AcceptedCondition recorded here SortedSplit or consolidated In transitOften a subcontractor Out for deliveryLast chance to fail well DeliveredEvidence, not a status Exception, and the work begins Reason code, retry decision, notification, claim. This is the product. Failure modes Address not foundDamaged in sortSubcontractor gapReceiver absentNo proof captured
Standard pathWhere the work actually is

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 engineer

Eight 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 call

How 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.

01
Stage

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.

Ends withWritten scope: network model, owned and bought legs, service levels with credit exposure, and carriers to integrate first.
02
Stage

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.

Ends withA custody model with liability at each handover, and a reason-code taxonomy drawn from your real failures.
03
Stage

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 track
Ends withTest data carrying bad addresses, split consignments, subcontractor gaps, refusals and post-delivery reweighs.
04
Stage

Rating, 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.

Ends withA rating engine reconciled against historical carrier invoices, and a VAPT and compliance document.
05
Stage

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.

Ends withCertified carrier connections, scanning proven in a live depot, and driver workflows tested offline.
06
Stage

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.

Ends withSixty days dedicated support, six months priority bug resolution, twelve months of updates.

Want this sequence mapped against your lanes and carrier mix?

Book a technical call

Three 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 demos

Carrier 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.

Expected cost against carrier invoiceWhere the difference comes from, and how it is recovered
Expected costFrom your contract, at booking Invoiced amountFrom the carrier, weeks later Matched or queriedPer line, automatically Where the difference comes from Reweigh - the carrier measured it differently, and their measurement wins by contract Dimensional weight - a light bulky item priced on volume rather than mass Accessorials - residential delivery, waiting time, redelivery, address correction Surcharge drift - fuel and peak surcharges that changed without anyone updating the model Each is legitimate individually. Unmatched collectively, they are margin leaving quietly.
What you expectedWhat arrived

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 engineer

Built 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 development

Freight rating and procurement

Multi-carrier rating against negotiated tariffs, carrier selection by cost and reliability, and the margin management that makes brokerage work.

Backend engineering

Route 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 engineering

Cold 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 engineering

Customs 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 development

Invoice 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 engineering

Need something this list does not cover?

Ask about custom work

What 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 reference

Written on this sector

Longer pieces on the problems above, written by the engineers who build these platforms.

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 pack

We 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 directly

Tell 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

01

What moves

Parcels, pallets or full loads, and between which points.

02

Owned or bought

Which legs you run yourself and which you subcontract.

03

What you commit to

Service levels, and whether missing them costs you credits.

04

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.