Freight Invoice Audit: Where the 5-10% Billing Errors Hide (2026)

A freight invoice audit finds duplicate bills, phantom accessorials, and fuel-surcharge errors carriers rarely fix. The manual method, then when to scale it.

Chen Cui

Chen Cui· Co-Founder of GingerControl

Connect with me on LinkedIn! I want to help you :)
Reviewed by: Michael Weick, LCB / CCS

Customs compliance manager with 42 years of experience (ex Subaru of America, Merck, and Motorola).

TL;DR

Run a four-way match (contract, shipment, invoice, PO) on every carrier invoice to catch the 5-10% that carry errors, most favoring the carrier, and remember freight overcharges quietly inflate your customs value and landed cost too.

What is a freight invoice audit, and what does it catch?

A freight invoice audit is the line-by-line check of each carrier bill against the contracted rate, the actual shipment, and the purchase order, to find charges that are duplicated, miscalculated, or never earned. It is not the same as AP confirming the total looks about right before cutting a check. AP verifies the invoice is arithmetically correct and has a PO attached; a freight audit verifies every line matches what your contract says you owe.

A freight invoice audit reconciles each carrier invoice against your negotiated rates, the shipment that actually happened, and the PO behind it, to recover charges you never owed. The most common findings are duplicate invoices, phantom accessorials, fuel surcharges run off the wrong index, reweigh and dimensional-weight upcharges, and demurrage past free time. For importers there is a second reason to care: freight charges feed your customs value, so a freight overcharge can quietly inflate the duty you pay CBP too, not just the bill you pay the carrier.

Primary source: Tompkins Ventures, "Why Freight and Parcel Shipping Require Post-Auditing", which establishes the working benchmark that 5 to 10 percent of freight and parcel invoices carry some kind of error.

One disambiguation first, because two very different "audits" get confused. A freight invoice audit is about the money you pay the carrier or forwarder. A duty audit is about the money you pay CBP. This guide is about the first. If you are reconciling what your broker filed against your own records for a CF-28 or reasonable care, that is the separate exercise of reconciling ACE entry data against your own records. The two lanes touch at one point, which we will get to: freight feeds customs value.

What percentage of freight invoices actually have errors?

Freight-audit advisory firm Tompkins Ventures estimates that 5 to 10 percent of freight and parcel invoices carry some kind of error, with cases running as high as 40 percent (Jim Tompkins, Tompkins Ventures, July 2026). That is the most credible named, dated, freight-specific figure available, and it is worth being precise about what it is: an experience-based estimate from a firm that audits freight for a living, not a measured study.

Here is a frame worth internalizing before you cite anything in a CFO deck: the freight-audit stat everyone repeats does not exist. You have seen "up to 20 percent of freight invoices contain errors," or "10 percent per NASSTRAC," or "15 percent per the Journal of Business Logistics." Chase any of them to a primary source and the trail goes cold. NASSTRAC's site does not publish the 10 percent figure; no dated original backs the 15 percent or the "80 percent of carrier invoices" numbers. They are orphan attributions that vendor blogs quote from each other. Budget against the defensible 5 to 10 percent. For a measured adjacent benchmark, Ardent Partners' State of ePayables 2025 reports an average invoice exception rate of about 14 percent across all accounts-payable invoices (Ardent Partners, 2025) - broader than freight, but a real number.

The percentage is not even the useful part. The directionality is. Because the carrier builds the invoice, the errors do not distribute randomly around zero; they lean toward the carrier. You will occasionally find a charge in your favor, but most of what an audit surfaces is money owed back to you. That is why "self-correcting" almost never happens.

Why do carriers not just correct their own billing errors?

Carriers do not self-correct because the incentive runs the other way and the complexity hides the error. This is structural, not a conspiracy claim. The invoice is generated by the carrier's rating engine, priced against a contract with hundreds of lanes, dozens of accessorials, a fuel formula, and free-time terms few people on either side have memorized. When that engine gets a fuel index wrong or applies an accessorial that was not performed, nothing flags it, because from the carrier's side the invoice is "correct." The error only surfaces when someone on your side matches it back to what actually happened and what you agreed to pay.

And most shippers never do that match, because it is hard at volume. A mid-market importer running $6M across LTL, parcel, and ocean can see 800 to 1,500 invoices a month, arriving as unstructured PDFs and EDI in a dozen formats, priced against rate sheets scattered across inboxes and shared drives. AP cannot reconcile a 40-line ocean invoice against a contract nobody can find, so it rubber-stamps it. That gap is where the recoverable spend hides, commonly a few percent of freight spend and, at your volume, real money.

What are the most common freight invoice errors, and who do they favor?

The common errors fall into a taxonomy, and the useful move is to tag each by who it favors and how catchable it is, so you know where to spend your limited hours. Here is the overcharge taxonomy with directionality, the frame I use to triage a stack of invoices.

Error typeWho it favorsHow you catch itCatchability
Duplicate invoiceCarrierDedupe on carrier + pro/BOL + amount vs. paid recordsAuto-catchable
Wrong rate or classCarrierInvoice vs. contracted rate for that lane and freight classNeeds the rate sheet
Accessorial never performedCarrierAccessorial vs. a matching shipment eventNeeds shipment proof
Fuel surcharge miscalculationCarrierRecompute off the contract's named index, peg, escalatorNeeds the fuel formula
Reweigh / dimensional-weight upchargeCarrierBilled weight/dims vs. your original declarationNeeds original declaration
Demurrage / detention past free timeCarrierCharged days vs. free-time allowance + gate datesNeeds free-time terms
Currency / conversion errorEitherBilled currency and FX vs. contract currencyNeeds contract terms

Read down the "catchability" column and a strategy falls out. Duplicates are free wins you can automate today. Everything below them needs a reference you may not have handy - the rate, the shipment record, the fuel formula, the free-time allowance - which is why manual auditing stalls: not because the errors are subtle, but because the evidence to prove them is scattered. Accessorials deserve special attention: they are both the most common invented charge and, unchecked, one of the largest, because they stack line by line on top of the base rate.

How do you actually audit a freight invoice, step by step?

You audit a freight invoice by running it up a ladder of four matches, each one harder than the last and each catching a different class of error. I call it the four-way match ladder, the spine of the whole method. Most guides tell you to "check the rate" and stop; the rate is only the first rung.

  • Rung 1 - Invoice vs. rate. Match every line to your contracted rate for that lane, mode, and freight class. Catches rate misapplication, lost volume discounts, and wrong-class charges. This is the rung AP thinks is the job.
  • Rung 2 - Invoice vs. shipment. Match the invoice to what physically happened: the weight and dimensions you declared, the accessorials the shipment actually required, the transit that occurred. Catches reweigh and dim-weight upcharges and phantom accessorials. Requires a shipment record, which is why teams without a TMS stall here.
  • Rung 3 - Invoice vs. contract terms. Match the time-and-formula charges to the fine print: the fuel index and escalator, the free-time allowance, the disputability of a demurrage bill. Catches fuel-surcharge errors and demurrage past free time. This is where the money hides on ocean.
  • Rung 4 - Invoice vs. PO. Match the paid invoice back to the purchase order and the GL: right amount, right cost center, not already paid. Catches duplicate payments and miscoding. This is the rung Finance cares about most, where freight audit meets PO-to-invoice reconciliation.

Work the rungs in order. Most single-invoice audits die around rung 2 because the shipment evidence is not at hand, and almost nobody reaches rung 4 by hand across thousands of invoices. That is a data problem, not a discipline problem: contracts, shipment records, and POs live in different systems that do not talk to each other - the same trade-data fragmentation that makes duty numbers refuse to reconcile makes freight invoices impossible to audit at scale.

How do you audit an ocean freight invoice for imports?

You audit an ocean invoice in three passes, because it is really three invoices stapled together. Pass one is the base ocean freight against your service-contract rate. Pass two is the surcharge stack - BAF or bunker adjustment, terminal handling (THC), the bill-of-lading fee, delivery order, and chassis - each checked against your contract's terms rather than accepted as "just how ocean works." Pass three is the time-based charges: demurrage and detention, matched against your free-time allowance and the actual gate dates.

The ocean invoice is where rung 3 earns its keep, because the surcharge stack and the demurrage lines are exactly the charges no rate sheet in AP's hands can verify. It is also where the import angle becomes concrete, and this is the frame most freight-audit content ignores: freight overcharges compound into duty errors. For U.S. imports, freight and related charges feed the transaction value that determines your landed cost and, in many cases, the customs value you declare to CBP. An inflated ocean-freight line or a phantom surcharge does not just overpay the carrier - it can inflate the duty you owe, making an ocean-invoice error a compliance issue, not only a cost issue. For how freight rolls into duty, MPF, and HMF, see how to estimate landed cost for U.S. imports; for how those freight and assist figures should be governed inside declared value, see customs valuation governance for manufacturers.

Is a demurrage or detention bill disputable, and how do you contest it?

A demurrage or detention bill may be disputable on procedure alone, and the test is not just whether the charge feels unfair. This is the disputable-demurrage test, the least-commodity lever in freight auditing because most content skips it. Under the Federal Maritime Commission's demurrage and detention billing rule, an invoice must be issued to the correct party within a defined window and must contain specific required information; where a bill fails those requirements, the billed party has grounds to challenge the obligation to pay.

So before you argue the merits, check the paperwork:

  • Right party. Were you the correct party to be billed under the rule?
  • Timely issuance. Was the invoice issued within the required window?
  • Sufficient information. Does it contain the detail the rule requires to be enforceable?

Verify the exact current requirements against the live FMC rule text before you dispute, because the specifics have moved through rulemaking and litigation. The frame is durable even as the details shift: a demurrage bill can be defeated on how it was billed, not only on why.

Should you audit freight in-house, buy software, or outsource it?

Audit in-house until volume and dispute tracking break you, then buy software or outsource - and be honest about which pain you actually have, including when you should not buy anything.

  • In-house, by hand. Free, and genuinely the right call below roughly $500K in annual freight spend, or when your errors concentrate in a handful of lanes you can watch closely. If a disciplined checklist on your top 20 lanes captures most of the recoverable dollars, do not pay anyone a percentage to do it. For many smaller importers this is the correct path.
  • Software. You license a rate engine, load your contracts once, and it matches every invoice and routes exceptions to your team. Payback typically lands in 6-9 months above about $2M in spend. Best when you want to keep the data and pay function in-house, especially when freight ties into customs value.
  • Outsourced freight audit and payment (FAP). A provider audits and pays carriers for you, often priced as a percentage of recovered savings. The incentive aligns, but the honest catch: a savings-share provider optimizes for the recoveries it can capture, not necessarily all of yours, and some hold your payment file. If your real need is outsourcing the entire pay function - or you are parcel-heavy and a pure-play parcel auditor would win on late-delivery and GSR refunds - use them.

There is a fourth honest case: if a capable 3PL or broker already audits your freight as part of their service, you may not need a separate solution at all. Check what you already pay for before buying again.

For most mid-market importers the deciding factor is not cost recovery in isolation - it is whether the tool also reconciles to POs and to customs value, because freight, duty, and PO data are the same fragmented problem wearing three hats. Look for the matching-and-reconciliation layer that turns a manual checklist into a repeatable at-volume process. If your pain is pure outsourced payment, an FAP fits better.

How do you actually recover a freight overcharge once you have found it?

You recover a freight overcharge by moving it through a tracked pipeline from flag to confirmed credit, because finding the error is the easy part and recovering it is where most in-house audits quietly fail. This is the dispute-to-credit gap, the frame that separates an audit that saves money from one that just generates findings nobody collects. Before you open a single dispute, size the prize: our free freight invoice overcharge estimator turns your annual freight spend and error assumptions into a recoverable-dollar range, so you chase the claims worth chasing.

The pipeline has five states, and every disputed charge should sit in exactly one with a named owner:

  1. Flagged - the audit surfaced the discrepancy, with evidence attached.
  2. Disputed - a formal claim is filed with the carrier, not a "this looks off" email.
  3. Credit promised - the carrier agrees; capture the amount and the date.
  4. Credit applied - the credit actually appears, on an invoice or a check.
  5. Validated - you confirmed the credit landed and the "corrected" invoice did not reintroduce a different error.

Be this formal because disputes die in email. A claim raised in a thread with no status gets lost, and a carrier's re-issued invoice often carries a fresh error in a different line, so a credit you never validate is a credit you never got. Percentage-of-savings providers are disciplined about states 1 through 4 for the recoveries they can capture; whether they chase all of yours is worth asking. However you audit, the recovery pipeline is where the money is made. For recovery on the duty side, the trade-offs between scanning past entries and drawback are in tariff audit software vs duty drawback, and building freight audit into a standing program follows the same logic as a standing CBP audit-readiness program.

The takeaway: freight accuracy is a margin lever and a compliance lever

Treat freight invoice auditing as recurring hygiene, not a one-time hunt, because the errors regenerate every billing cycle and the carrier's incentive never changes. Run the four-way match ladder on every invoice you can, automate the duplicates and rate checks, reserve human hours for the ocean surcharge stack and the demurrage disputes, and never let a found overcharge stall in email. The few percent an audit recovers is real money, but the quieter win is that clean freight numbers give you clean landed-cost and customs-value numbers, so the discipline that protects your freight budget also protects your duty.

If your pain is thousands of unstructured invoices, contracts nobody can find, and disputes that die in inboxes, that is the at-volume matching and reconciliation problem GingerControl works on. If a dedicated FAP or a parcel-only auditor fits your need better, that is the honest answer instead.

Freight overcharges are one of the seven leakage places importers lose money without noticing; The Duty Leakage Recovery Program maps all seven to the documents where each is visible.

Chen Cui

Written by

Chen Cui

Co-Founder of GingerControl

Building scalable AI and automated workflows for trade compliance teams.

LinkedIn Profile

Frequently Asked Questions

What exactly is a freight invoice audit, and what does it catch that our AP review misses?
A freight invoice audit checks each carrier bill against the contracted rate, the actual shipment, and the PO, instead of just confirming the total looks reasonable before payment. AP catches math errors and missing POs; it does not catch a fuel surcharge run off the wrong index, a liftgate that was never used, or a reweigh you never agreed to. On $6M of spend, that gap is where the leakage lives, because the errors sit inside line items AP has no rate sheet to check against.
What percentage of our freight invoices are probably wrong, and which way do the errors go?
Freight-audit advisory firm Tompkins Ventures estimates 5 to 10 percent of freight and parcel invoices carry some kind of error (Jim Tompkins, July 2026), with cases as high as 40 percent. It is an experience-based estimate, not a measured study. The widely repeated 'up to 20 percent' figure has no locatable primary source, so do not budget against it. The direction matters more than the exact number: because carriers build the invoice, the errors overwhelmingly favor the carrier, so most of what you find is money owed back to you.
We spend ~$6M/yr on freight - how do I check invoices against contracted rates without doing it by hand?
You cannot at your volume, and that is the honest answer. A human can audit one 40-line ocean invoice against a rate sheet; nobody reconciles 1,000 a month that way. The scalable version is a rate engine: load your contracts and amendments once, then match every incoming invoice against the applicable rate, fuel formula, and free-time terms automatically, and route only the exceptions to a person. Until you have that, prioritize by dollar exposure: audit your top 20 lanes and your ocean invoices by hand, and spot-check the rest.
Our ocean invoices have 30+ lines (BAF, THC, BL fee, demurrage, chassis) - how do I audit an import freight invoice line by line?
Audit an ocean invoice in three passes: base ocean freight against the contracted rate, surcharges (BAF, THC, BL fee, delivery order, chassis) against the terms of your service contract, and time-based charges (demurrage, detention) against your free-time allowance and the actual gate-in and gate-out dates. The trap for importers: these same freight and surcharge figures feed your customs value, so an inflated freight line can quietly raise the duty you pay CBP, not just the money you pay the carrier.
How do I tell a legitimate accessorial from one that was never performed or is over-contract?
Match every accessorial to a shipment fact, not to the invoice itself. A liftgate charge needs a delivery with no dock; a residential fee needs a residential address; detention needs the driver's actual wait time. If the shipment record does not support it, it is a phantom accessorial. Accessorials are the most common invented charge and, stacked up, can add materially to a base rate, so build a rule that flags any accessorial with no matching shipment event before AP ever sees the bill.
How do I catch duplicate freight invoices and fuel-surcharge miscalculations before AP pays them twice?
Duplicates are the easiest error to automate away: dedupe on carrier plus pro/BOL number plus amount, and hold any invoice that matches an already-paid record. Fuel-surcharge errors are harder because you need the contract formula. Confirm which published index your contract names (most reference the DOE weekly diesel average), the peg, and the escalator, then recompute the surcharge yourself. A surcharge run off the wrong week or the wrong index is one of the most common quiet overcharges, and AP has no way to see it.
For our freight spend, how much can a freight audit realistically recover - and is it worth it?
Recoveries commonly land at 2-8 percent of audited freight spend, so on $6M that is roughly $120K-$480K a year if you can check every invoice against contract. Professional audit tends to pay for itself above about $500K in annual spend, and software payback lands in 6-9 months above roughly $2M. Below those thresholds, a disciplined in-house checklist on your top lanes may capture most of the recoverable dollars without paying anyone a cut.
Should we audit freight in-house, buy software, or outsource to an FAP provider - and how is each priced?
In-house is free but caps out fast on volume and dispute tracking. Software licenses a rate engine you run yourself, usually a flat or per-invoice fee. Outsourced freight audit and payment (FAP) providers often price on a percentage of savings recovered, which aligns incentives but means they optimize for the recoveries they can capture, not all of yours, and some hold your payment file. Match the model to your pain: pure outsourced payment favors an FAP; audit that reconciles to POs and customs value favors software or a compliance-adjacent partner.
What is the difference between AI freight-audit software and a traditional freight-audit-and-payment provider?
AI freight-audit software parses unstructured invoices, matches them to contracts, and flags exceptions for your team; a traditional FAP provider does the audit and also pays the carriers on your behalf as an outsourced back office. If your core need is outsourcing the whole pay function, an FAP or a parcel-only auditor may simply fit better, and you should use them. If your need is auditing and reconciling spend you still control, especially where freight ties into customs value, software or a hybrid keeps you closer to the data.
This demurrage bill looks wrong - is it disputable under the FMC's billing rules, and how do I contest it?
Possibly, and the test is procedural, not just the dollar amount. Under the Federal Maritime Commission's demurrage and detention billing rule, an invoice must be issued to the correct party within a set window and contain specific required information, or the billed party's obligation to pay can be challenged. So before you argue the charge is unfair, check whether the bill is compliant: right party, timely issuance, required detail present. Verify the exact current requirements against the FMC rule text before you dispute.
I found an overcharge weeks ago and my dispute is stuck in email - how do I recover it and track the claim to a credit?
Finding the overcharge is the easy 20 percent; recovering it is the work most in-house audits never finish. Move each claim through a tracked pipeline: flagged, disputed with the carrier, credit promised, credit applied, and validated on the next invoice. Email threads lose claims and let a 'corrected' invoice reintroduce a different error. Assign every disputed charge an owner and a status, and reconcile promised credits against what actually lands, because a credit you never confirm is a credit you never got.
Does a freight overcharge affect the duty we pay CBP, or only the money we pay the carrier?
It can affect both, and this is the part logistics teams miss. For imports, freight and related charges feed the transaction value and landed cost, so an inflated ocean-freight or surcharge line does not just overpay the carrier, it can inflate the customs value you declare and the duty you owe. That makes freight-invoice accuracy a compliance issue, not only a cost issue. If your freight numbers are wrong, your landed-cost and duty numbers inherit the error.

You may also like these

Related Post

We use cookies to understand how visitors interact with our site. No personal data is shared with advertisers.