Freight invoice audit before payment: when the charge and the contracted rate disagree
A freight invoice bundles many shipments, and any line can disagree on weight, accessorials or status. How to audit the charges before paying.
Mauricio Zaffari
Consider a hypothetical scene. The carrier's invoice lands on Thursday with a list of shipments finance has to release before close. Three lines stall. One bills toll on a lane with no toll road. Another bills a weight above what the warehouse recorded. The third is an invoice the carrier voided and reissued, while the original payment is still scheduled. None of the three is fraud. All three rest on a decision nobody has written down: who checks what, against which document, and where a person signs.
This post follows that invoice to payment: what it actually adds up to, where the audit stalls, why the invoice changes after it is issued, and where human approval sits.
What a freight invoice actually bundles
Carriers bill per shipment or per load, and the invoice finance receives groups many of them into one amount. Each line points back to its own references: a rate confirmation, a bill of lading, a delivery receipt. One amount hides several independent charges, each with its own chance of diverging.
That changes the work. A bad line in the middle of a fifty-line invoice is not solved by rejecting the invoice, because the other lines are correct. Consolidated billing makes it harder still: one payable can cover shipments priced under different contracts, with different accessorials allowed.
Where the audit stalls
Weight. Carriers bill the greater of actual and dimensional weight, and the divisor that turns volume into weight is a carrier rule, not a law. The correct weight is what the contract fixes and what a reweigh shows. When the two disagree the argument is commercial, and the audit needs the measurement, not the invoice.
Accessorials outside the contract. Detention, redelivery, a lumper, inside delivery, an appointment fee. Any of them can appear on a line the rate confirmation never authorized. A line-by-line comparison settles it, provided the contracted terms are readable by the system.
Fuel surcharge. Usually an index applied to a base rate. What goes wrong is the index date and the base it is applied to, and neither shows on a total.
Toll. Where the shipper pays toll, it is normally a pass-through that has to be supported by the route actually taken, not by a flat allowance per shipment.
Detention and free time. The clock starts at arrival, and the free window comes from the contract. The evidence is the timestamp on the arrival or gate record. Without it, the charge becomes a conversation between two memories.
Deductions and chargebacks. A deduction applied against a carrier invoice needs an agreed basis and a document trail. Without both, it is a dispute waiting for the next rate negotiation.
Shipment without a record. The carrier issues the invoice on its side. A valid invoice can exist for a load your TMS never recorded, and the reverse happens too: a load delivered with no invoice received yet.
| Divergence | What to compare | Who decides |
|---|---|---|
| Weight | actual and dimensional weight against the contracted rule | operations, with the reweigh |
| Accessorial | charge against the rate confirmation in force | finance, with the rate version |
| Fuel surcharge | index date and base against the contract | finance |
| Toll | pass-through against the route actually taken | finance |
| Detention | gate or arrival timestamp against the free window | operations and carrier |
| Invoice status | reference against void, supplement or reissue | accounts payable |
| Shipment | invoice against the TMS record, in both directions | operations |
The invoice changes, the payable does not
A carrier invoice is not final. It can be voided and reissued, supplemented when the original was billed below the correct amount, or replaced when the amount was wrong. A credit memo can arrive after a payment was scheduled. Each of these moves the reference, not the payment run.
Watch the effect on finance. A void removes the invoice. A supplement adds a second document with its own value. A reissue swaps the number. None of the three touches the payable already in the queue. An audit that matches invoice number to amount sees a voided invoice still scheduled, or a supplement with no shipment behind it. What survives is matching on the shipment reference, the rate confirmation and the chain between original, supplement and replacement.
Where your ERP creates the financial obligation
That point decides the shape of the audit, and it varies more than projects assume. Two patterns.
In the first, the obligation starts at the freight document. In SAP transportation management, the freight settlement document posts the charges and creates a purchase order and a service entry sheet, with an accrual. The liability to the carrier appears at invoice verification, and after verification the invoice is locked: charges can be added, not removed. A late divergence becomes an adjustment, a credit memo or a dispute, not a block.
In the second, nothing is payable before approval. The ERP's freight module imports the carrier's electronic invoice, builds a pre-invoice, and only after invoice checking does it post to payables. Blocking is cheap, and the risk moves: the exposure becomes the invoice that never reaches the queue, a load delivered with no invoice, a late payment and an ageing carrier claim.
Where approval sits follows from that pattern. In the first pattern the check happens before verification, or inside it as a tolerance. In the second, approval is already the gate, and the work is keeping the queue complete and the comparison automatic.
An audit that survives these events
flowchart TD
A[Invoice received] --> B[Identify by shipment reference and chain]
B --> C{Voided, supplemented or reissued?}
C -- yes --> D[Hold or adjust the scheduled payment]
C -- no --> E[Compare charges against the rate confirmation]
E --> F{Within the written tolerance?}
F -- yes --> G[Proceeds to payment]
F -- no --> H[Review queue with the business criterion]
H --> I{Human approval}
I -- approves --> G
I -- rejects --> J[Return to the carrier with the reason]
Four rules hold the design up. Identify by shipment reference and chain, never by invoice number and amount. Compare charge by charge against a dated version of the contracted rate, because a rate without a version is not evidence. Write the tolerance before running, since tolerance is a business decision. And keep the queue complete in both directions, with the invoice that has no shipment and the shipment that has no invoice.
None of this requires replacing the ERP. The reading happens where the invoice arrives, and the decision goes back to the system that already records the obligation, as in any integration of AI with the systems a company already runs. The comparison is the same one described in checking invoices and operational documents, with one difference: here the invoice changes after it is issued.
Go back to Thursday's invoice. The toll is a pass-through, decided by finance against the route. The weight is a commercial argument, settled with the reweigh. The voided invoice never reaches the payment run: the reference and the chain release it first. The three lines end the day with a written answer.
In summary
- The invoice groups many shipments. Each line diverges on its own, and rejecting the whole invoice punishes the correct ones.
- Weight is a contractual argument, not a regulatory one. Fuel and toll depend on the basis written in the contract.
- A void, a supplement or a reissue changes the invoice and leaves the scheduled payment intact. Identify by reference and chain.
- Where the ERP creates the obligation sets where human approval sits. Before verification or at invoice approval, not both by accident.
- The review queue only works when it is complete: invoice with no shipment, and shipment with no invoice.
Want to see how this applies to your operation? Request a diagnostic