Checking freight invoices against your own shipments
You set every line on your carrier’s or courier’s invoice against the shipments that actually left your building and against your rate agreement. First as a one-off over the past year, then as a fixed step for every new invoice.
Checking freight invoices means comparing, line by line, what your carrier or courier charges with what your own systems and agreements say was shipped. It is invoice checking for your transport costs, also known as a freight audit. In most warehouses it happens differently: someone in accounts payable checks whether the total is close to last month’s, and the invoice goes through. With a few hundred parcels a day and three or four carriers, nobody keeps track of whether every line is right.
I look at those invoices from the other side. I run my own transport company and I know how a freight invoice is put together. There is no bad intent behind it. It is a pile of automatic lines, and each line can go wrong in its own way.
Why are carrier invoices not always right?
Carrier invoices are not always right because they come out of the carrier’s billing system, with its own measurements and its own rules, and not out of your WMS. The carrier scans your shipment at the depot, weighs and measures it again and looks up a price in its rate system. Then its system adds the surcharges that apply under its rules.
Plenty can shift on the way. If your contract price is not in its system yet, the shipment is billed at the standard rate. At the sorting centre a parcel is measured differently than at your packing station, for example because the depot scanner measures the outside of a bulging box while your WMS takes the size from the item master. A business address on an industrial estate gets a residential delivery surcharge. And a correction invoice sometimes repeats a line that has already been paid.
What you are checking is the output of its system. And sometimes the difference turns out to be on your side, for example a box size that has been wrong in your WMS for years. You want to know that as well.
Which lines on a freight invoice do you compare with your own data?
You compare the rate, the weight, the surcharges and the tracking number of every line with your own data. The shipments come from your WMS, your TMS or your shipping software. The prices come from your rate agreement, the file that may simply be called ‘carrier rates 2026’ on your drive.
Rate and service
For each shipment you look at the zone or country, the weight band and the service. A parcel booked as standard should not appear on the invoice as a before ten delivery. Around a rate change, check that the new price only applies from the date in your agreement. For pallet transport you count pallet places and look at separate items such as a tail lift or waiting time, which you set against the trip in your TMS.
Weight and dimensions
A courier usually charges on the higher of two numbers: the actual weight or the volumetric weight. The volumetric weight is length times width times height, divided by a divisor that differs per carrier and per contract. Your WMS knows which box was used and what went into it. If the weight on the invoice is far off what you booked, you want to see that line.
Duplicate and unknown lines
The same tracking number sometimes appears twice on one invoice, or on two invoices. A label that was created but never collected sometimes turns up anyway. A return can be billed as an outbound shipment. And now and then there is a shipment on the invoice that does not exist in your systems at all.
How do you check surcharges such as the fuel surcharge and tolls?
You check surcharges by taking the rule for each surcharge from your agreement and recalculating it yourself on the same shipment. Surcharges are where most of the differences are, because they are often added automatically and each carrier names them differently.
Fuel surcharge
The fuel surcharge usually moves with a diesel price, through a table or a percentage in your agreement. Check which reference price it uses and over which period. Statistics Netherlands (CBS), for example, publishes weighted average daily diesel prices every week, including VAT and excise duty. If the carrier follows a different index, that index should be in your agreement. Then check whether the percentage on the invoice matches that month’s price, and whether it is calculated over the right amount.
Tolls and the Dutch truck toll
In the Netherlands, a lorry with a maximum mass over 3,500 kilos (vehicle category N2 and N3) pays the truck toll (vrachtwagenheffing) per kilometre driven. From 1 September 2026 to 1 January 2027 a temporary discount of 22.3 percent applies. If your carrier passes the toll on to you, check how your agreement handles it: per kilometre, per shipment or as a percentage. Check as well whether the discount shows up in that surcharge.
Remote area and residential address
A remote area surcharge depends on a postcode list from the carrier. A residential delivery surcharge depends on the type of address. You can set both against the delivery address in your WMS. A business customer on an industrial estate should not get a residential surcharge.
How do you start checking freight invoices?
You start with a one-off check over the freight invoices of the past twelve months, carrier by carrier. Over a year you see the peak around the holidays and the months in which the diesel price moved sharply. Going further back rarely pays. Under Dutch law, a legal claim under a contract of carriage is as a rule time-barred after one year (article 8:1711 of the Dutch Civil Code). If you ship abroad or agreed your own terms, a different period may apply. That is a question for your lawyer.
You need the invoices as PDF, CSV or Excel, the export of your shipments from your WMS, TMS or shipping software over the same period, and your rate agreements. Every carrier lays out its invoice differently, and one names a surcharge differently from the next. That is where AI does the work: it reads each invoice and pulls out the lines, also from a PDF. How that reading works is in document processing in logistics. The recalculation itself is plain code with your rates in it, so every result can be traced.
You take that list to your account manager at the carrier. Some of the differences turn out to have a reason, for example an arrangement that was never entered in its system. Put that arrangement on paper, or it will be on your list again next year.
From a one-off check to a fixed step before payment
The check becomes a fixed step when you put it in front of payment, so every new freight invoice goes through it first. Lines that match go through. A line with a difference waits until someone looks at it, with the shipment and the agreement next to it.
The system pays nothing and rejects nothing on its own. Your accounts payable team or your transport planner decides, as they do now. The lines that need attention are just at the top, with the reason next to them. It is the same pattern as checking staffing agency invoices. Both come down to whether what you pay matches what happened.
We build it into what you already have: the WMS, TMS or shipping software that holds the shipments, your accounting or ERP system and the mailbox where the invoices arrive. How those systems exchange data is in connecting WMS, TMS and ERP. Checking transport costs is one process, and as our way of working says, the next one comes only once this one works and has been measured against a baseline. The same question the other way round, work you never invoiced yourself, is in unbilled work.
Checklist for the first check
- Pick the carrier with the most surcharge lines on its invoices. It need not be the biggest one.
- Collect its invoices from the past twelve months as PDF, CSV or Excel.
- Export your shipments over the same period from your WMS, TMS or shipping software.
- Find the rate agreement, with the fuel index and the volumetric divisor.
- Write down the arrangements that are not on paper yet.
One month of those invoices with the shipment export next to it is enough for a first look. We can set them side by side with you in an introductory call.
Further reading
- Checking staffing agency invoices against your own clock dataFirst a one-off check over twelve months of invoices, then a fixed step for every new invoice. Plus what the Wtta asks of you as a hirer.
- Unbilled work: extra handling that never reaches an invoiceWork that was done but never billed does not show in your revenue, and nobody on the floor sees it either. This is how you match the work carried out against your invoices and rates every day, and what to do with the gap.
- Document processing in logistics: reading CMRs and packing slips automaticallyHow a system reads consignment notes, packing slips and proof of delivery, sets them against the order in your WMS and shows a person only the exceptions. Plus what goes wrong and how you measure whether it works.
Does this sound familiar?
In a 45 minute first call we look at your own process and tell you honestly whether AI pays off there.