Case studies / Logistics
Case studyFreight invoice matching that explains every difference
A contract logistics firm automated the matching of carrier invoices to shipments, approved clean matches automatically and showed reviewers the reason behind every difference.
Overview
A contract logistics and road freight business operating across Spain and Portugal, running warehouses for retail and industrial clients and subcontracting most line-haul and last-mile work to independent carriers.
Scale. Around 9,000 carrier invoices a month from about 180 carriers, covering more than 60,000 shipments, with tariffs that vary by lane, weight band, fuel index and accessorial charges.
The challenge
A team of nine freight auditors checked carrier invoices by hand. For each line they found the shipment in the transport system, looked up the agreed tariff, recalculated the charge with the current fuel surcharge and compared. A single invoice from a large carrier could run to hundreds of lines.
There was never enough time to check everything properly. Auditors sampled the large invoices and waved through the small ones, so overcharges went unnoticed while minor rounding differences on big invoices consumed hours. Carriers were paid late because checks backed up, which strained relationships with the smaller hauliers who relied on prompt payment.
When auditors did query a charge, the dispute went by email with little structure. Carriers often could not tell which shipment or charge was in question, so disputes dragged on for weeks and many were eventually written off.
The finance director had no reliable view of carrier cost by lane or customer, which made it hard to price new contracts with confidence.
The solution
Carrier invoices arrive by email, portal and electronic file and are read into one queue. Each line is matched to a shipment in the transport system using references, dates, origins and destinations, with fuzzy matching for the carriers whose references are inconsistent.
For every matched line the system recalculates what the charge should have been and compares it with what was billed. Differences are labelled with their cause in plain language: weight billed 1,200 kg, recorded 980 kg; fuel surcharge applied at last month's rate; waiting time not recorded on the delivery note; possible duplicate of invoice 4471. Reviewers see the evidence side by side and decide in seconds rather than minutes.
Disputes are raised from the workbench with the specific lines and reasons attached, sent to the carrier and tracked to resolution. Approved invoices flow to the finance system for payment, and reporting shows cost by carrier, lane and customer, along with dispute rates and recovery.
The engagement
- Five months
- Five specialists
- Invoice and shipment data analysis, matching rules, difference detection, reviewer workbench, dispute tracking, finance integration and reporting.
Integrations
- Transport management system
- Carrier invoices by email, portal and EDI
- Finance system
- Data platform
How we delivered it
- 01
Analyse invoice and shipment data
Four weeks
We studied a year of carrier invoices against shipment records and tariffs to understand how charges were built and where differences came from: fuel surcharge timing, weight discrepancies, waiting time, extra drops and simple duplicates. That analysis shaped every rule that followed.
- 02
Build matching rules
Six weeks
Matching rules link each invoice line to its shipment, recalculate the expected charge from the tariff and the fuel index on the date of travel, and classify any difference by cause. Tolerances agreed with finance decide what counts as a clean match.
- 03
Run with reviewers
Six weeks
For six weeks auditors worked every invoice in a new workbench that showed the system's match and its explanation. They confirmed or corrected each one, and those decisions refined the rules.
- 04
Automate clear matches
Four weeks
Once accuracy held, invoices within tolerance were approved and passed to finance automatically. Auditors now see only invoices with differences, sorted by value and cause.
Results
- Quicker and complete invoice checks
- Fewer, faster-resolved disputes with carriers
- Better visibility of carrier cost by lane and customer
- On-time payment to carriers
Invoice checks are quicker and more complete. Most clean invoices now pass straight through, and auditors review every invoice with a difference rather than a sample. The time spent per invoice has fallen sharply.
Disputes fell because they became clearer. Carriers receive a precise list of lines and reasons, and most respond within days. Several carriers corrected their own billing processes once they could see where differences arose.
Finance now has dependable visibility of carrier cost by lane and customer, which has already informed tariff renegotiations with two large carriers and the pricing of a major retail contract. Carriers are paid on time, which has improved relations with the smaller hauliers.
Before, a query meant an afternoon of digging. Now the screen tells you what is different and why, and you decide.
What made the difference
Showing the reason for each difference sped up review. Auditors stopped recalculating and started deciding, and carriers stopped arguing about which charge was in question.


