Logistics & Supply Chain

Thirty-eight minutes to clear an exception, down to four

A freight operator's exception desk stopped being four people reading four screens.

This is an illustrative composite. It is drawn from delivery patterns across our work rather than published as a named client reference, and the figures describe the pattern rather than one audited engagement. We would rather label it than imply a reference we cannot put you in touch with.

Size
150 staff
Platforms
AtlasConnect

Context

A 150-staff freight operator running around 1,200 consignments a week across road and rail. Exceptions — a missed collection, a refused delivery, a damaged pallet — were handled by a four-person desk working across the TMS, the carrier portals, email and a WhatsApp group with the drivers.

The problem

Clearing one exception took a median of 38 minutes, most of it gathering context across four systems before any decision could be made. The desk cleared what it could and the rest aged; anything older than two days usually became a credit note.

What we did

  1. 01Instrumented the desk for a month to find where the 38 minutes went. Twenty-nine of them were gathering, not deciding.
  2. 02Pulled consignment state, carrier status, driver messages and the customer's own SLA into one view per exception.
  3. 03Ranked the queue by what it would cost to leave — value at risk and SLA clock, not arrival order.
  4. 04Drafted the resolution with the evidence attached, leaving the decision and any credit to the desk operator.
  5. 05Wrote every resolution back to the TMS and the customer in one step, so the desk stopped re-keying its own outcome.

Architecture

Nothing here is a black box. You can read the architecture before you sign, and you own it after.

  1. 01AggregationConsignment, carrier, driver and SLA state pulled into one exception record, refreshed on event.
  2. 02ChannelsJJ Tech Connect threads the driver WhatsApp group and customer email onto the consignment they concern.
  3. 03RankingQueue ordered by value at risk against SLA clock, so what ages is genuinely what was cheapest to leave.
  4. 04RetrievalJJ Atlas drafts a resolution over contract terms and past similar exceptions, citing both.
  5. 05Write-backOne action writes the TMS, notifies the customer and closes the thread. No re-keying.

Results

The numbers the work closed against.

target median time to clear an exception, against 38 observed
4 mintarget median time to clear an exception, against 38 observed

Basis: 38 minutes is measured across a month and four desk staff. Four minutes is the deciding portion that remains once the 29 minutes of context-gathering are removed by aggregation.

of the observed cycle spent gathering context, not deciding
29 of 38 minof the observed cycle spent gathering context, not deciding

Basis: A measurement, not a target. The ratio held across all four desk staff and is the reason the desk is a data problem rather than a headcount one.

target reduction in exceptions aging past two days
61%target reduction in exceptions aging past two days

Basis: Assumes ranking by value at risk against the SLA clock changes which exceptions age, not how many arrive. Derived from the observed share whose value exceeded the ageing threshold.

consignments the desk is designed to cover without added headcount
1,200/weekconsignments the desk is designed to cover without added headcount

Basis: The operator's observed weekly volume. A capacity target, not a growth claim.

Stack

  • Next.js
  • Supabase Postgres
  • pgvector
  • WhatsApp Business API
  • Edge Functions
  • Vercel

Does this look like your business?

Tell us what is slow and what it is costing. We will point you at the closest precedent we have and say plainly where yours would differ.

Scope it with us