How to Audit Carrier Invoices

A carrier invoice is rarely wrong as a whole. It is right except for two or three lines: a rate from last quarter, a fuel surcharge read for the wrong week, an accessorial nobody ordered, a load billed twice. This is the method to find those lines before you pay, and to handle each one until it is credited or explained.

Published
Sources checked
Reading time
18 min
Written by
Mirage Metrics team

Scope: US domestic truckload and LTL, shipper and 3PL side, under federal law. Ocean container detention and demurrage, parcel, air and customs are out of scope; France and European road freight are covered in a labelled section with a link to the French guide. This is a working method, not legal advice.

Decision snapshot

Best suited to
Shippers, 3PLs and freight forwarders paying truckload and LTL carriers in the US, with rate confirmations or a pricing agreement on file.
Inputs needed
The contract or rate confirmation in force on the ship date, its accessorial schedule and fuel surcharge table, the BOL, the POD with arrival and release times, the freight bill and your payment history.
What can be automated
Reading bills and documents, matching each line to a shipment, rebuilding the expected charge, catching duplicates, computing variances against your tolerance.
What requires human approval
Approving, short-paying or holding a bill; any line that depends on a document the carrier may hold; the wording of a dispute.
When this approach is insufficient
Spot loads agreed by phone with no written rate, missing PODs, or contract terms nobody has turned into numbers. The audit then checks arithmetic and duplicates, nothing more.

The short answer

Auditing a carrier invoice means reconciling four things: what was ordered (the load tender), what it should cost (the contract or rate confirmation in force on the ship date), what actually happened (the bill of lading, the proof of delivery and their times), and what is billed (the freight bill). A line is payable when the four agree.

At each step this guide separates what the law says, what your contract says and what is only good practice. Mixing the three is where billing disputes go wrong: a tolerance or a short-pay habit is an internal rule, a fuel table is a contract term, and a deadline to contest a bill can be a statute.

Check in three levels, from the cheapest to the most expensive:

The three levels of a carrier invoice audit and the data each needs
LevelQuestionData needed
ExistenceDoes this shipment exist in my records, and has it not been billed already?Freight bill, shipment records (TMS or ERP), invoices already received and paid
RatingIs the linehaul or LTL charge the one the rate in force on the ship date gives, applied to the right shipment facts?Rate confirmation or pricing agreement, lane, weight, class, mileage
Supported chargesDoes every accessorial and surcharge match a service that was ordered or recorded, at the contracted price?Load tender, accessorial schedule, fuel surcharge table, BOL, POD with times, receipts
The three levels of a carrier invoice audit and the data each needs

Decision rule. A bill is approved when every line passes the three levels and what is left is within the tolerance you set yourself, an internal rule, not a legal one. It goes on hold as soon as one line fails a level, or a piece of data needed to decide is missing.

The rule not to reverse

A missing document is not proof of an overcharge. It is a reason to look. The carrier may hold the lumper receipt, the signed delivery receipt or the email from your own dock asking for a liftgate. Treating a missing document as a confirmed error produces disputes you will lose, on small amounts, with a carrier you still need next week.

What to gather before you audit

The audit is impossible unless these sources share at least one key. Before anything else, choose the matching key of your flow: usually the carrier's PRO number for LTL, your load or shipment ID for truckload, sometimes the BOL number. A freight bill that does not carry the key you match on is the first thing to fix with the carrier, before any rate question.

The sources to gather to audit a carrier invoice, the fields that matter and who holds them
SourceFields that matterWho holds it
Load tender or orderShipment ID, ship date, shipper and consignee, origin and destination, mode (truckload or LTL), equipment, services requested (liftgate, appointment, inside delivery), stopsTransportation or shipping team, TMS
Contract, pricing agreement or rate confirmationVersion and effective dates; lane rates or the LTL tariff, discount and minimum charge; accessorial schedule with prices; fuel surcharge table, the index it reads, the week it uses and the base it applies to; detention free time and rate; payment terms and dispute procedureProcurement, or the broker's rate confirmation for a brokered load
Bill of ladingShipper and consignee, origin and destination, number of packages, description, weight or volume where it rates the freight (the contents 49 CFR 373.101 requires), plus the BOL number and, for LTL, the PRO numberShipping dock, carrier
Proof of delivery and delivery receiptSignature, date, arrival and release times, exceptions noted (shortage, damage, refused), lumper or driver-assist notes; for LTL, any inspection or reweigh reportCarrier, receiving site
Freight bill (the invoice)Invoice and PRO numbers, shipment date, origin and destination, packages, weight, the exact rates assessed and the total including each special service charge (49 CFR 373.103), remittance addressAccounts payable
Payment historyBills already paid, short-paid or on hold, credits received and what each credit was forAccounts payable
The sources to gather to audit a carrier invoice, the fields that matter and who holds them

Two federal rules help here. A freight bill from a for-hire, non-exempt motor carrier must show, among other things, the exact rates assessed and the total charges, including the nature and amount of special service charges (49 CFR 373.103): a bill with one lump sum is a bill to send back for detail. And a motor carrier of property must provide, on the shipper's request, a written or electronic copy of the rate, classification, rules and practices on which the rate applied to its shipment is based (49 U.S.C. 13710(a)(1)). When a charge cites a rules tariff you do not have, ask for it.

Missing key or conflicting data

  • No shipment reference on the bill: try a fuzzy match (carrier, pickup date within a day or two, destination ZIP, weight within a tolerance). If more than one shipment matches, do not pick one: ask the carrier for the reference. A fuzzy match approved without confirmation is the surest way to pay a duplicate.
  • Weights that disagree between your order, your TMS and the bill: the weight that counts is the one your contract or the carrier's tariff says counts, usually the weight on the signed BOL or a documented reweigh. Use the signed document, not the weight on your original order.
  • Dates that disagree: the rate version is usually set by the ship date, not the invoice date, unless your contract says otherwise. A load picked up the week before a rate change and billed after it stays at the old rate.
  • Two internal sources that contradict each other (TMS and receiving log): settle it with the document both parties signed, then correct the wrong internal record. An internal data error is not a carrier dispute.

The checks, one at a time

Each check reads the same way: the data it needs, the method, and the false positives it produces. The last part is not decoration: a check without documented false positives sends your team to dispute lines the carrier can defend.

Duplicates

Data. Carrier, invoice number, PRO or BOL number, load ID, charge, amount, date.

Method. Look for the same carrier and invoice number entered twice, and for the same shipment and charge billed again under another invoice number, within the bill and across the last six to twelve months of bills. Cross-invoice duplicates are the ones a line-by-line review of one bill never sees.

False positives. Two real loads on the same day, same lane, same weight; a redelivery after a failed attempt, billed legitimately; a corrected bill sent without a formal cancellation of the first; a balance-due bill for a reweigh. Conclude only when the shipment reference and the proof of delivery are the same.

Billed shipment exists and matches

Data. Your shipment records for the period.

Method. Every billed line must find its shipment; and every shipment delivered should end up billed. The reverse check protects you from late balance-due bills you have not provisioned for.

False positives. Loads brokered or subcontracted and billed under another party's reference; returns and supplier pickups that never entered your outbound flow.

Rate version and linehaul

Data. Dated history of rate confirmations and pricing agreements, ship date, lane, equipment.

Method. Rebuild the linehaul with the rate in force on the ship date. For truckload, that is usually a flat rate per load or a rate per mile on the confirmation; check the mileage basis the contract names before arguing about miles.

False positives. A rate change agreed with retroactive effect; an amendment signed but never sent to the team that audits. The check then fails on your own records, not on the bill.

LTL rating: weight, class, discount, minimum

Data. Weight on the BOL, the NMFC class or the freight-all-kinds provision of your agreement, the base rate tariff named in the agreement, the discount, the minimum charge.

Method. Rebuild the charge: base rate for the weight break and class, less your discount, never below the minimum charge. When the bill shows a different weight or class than your BOL, ask for the inspection or reweigh report before accepting it.

Classes come from the National Motor Freight Classification, published by the National Motor Freight Traffic Association: 18 classes from 50 to 500, set from density, handling, stowability and liability (NMFTA). This guide reproduces no class or density table: read the item that applies to your commodity in the current NMFC, and the class your agreement fixes, if it fixes one.

False positives. A reweigh or reclass that is documented and correct; a class that changed with your packaging; a provision in the carrier's rules tariff your agreement incorporates.

Fuel surcharge

Data. The fuel surcharge clause and table: the index it reads, which week's value it uses (the pickup week, the delivery week or another date), the percentage or rate per mile per price band, and the base it applies to.

Method. Find the index value for the week your clause names, read the band in your table, apply the percentage or the rate per mile to the base the clause names, and compare.

When your clause names the U.S. on-highway diesel price, it is the weekly series the Energy Information Administration publishes, as a national average and by region (EIA, Gasoline and Diesel Fuel Update). Each release states the date its prices refer to. Your clause decides whether the national or a regional series applies. This guide quotes no price: take the value published for the week in question.

False positives. A carrier reading the index for the delivery or invoice week while your clause says pickup week is a drafting question first, then a variance; a carrier applying its own published table when your agreement fixes a negotiated one is a contract question, not fraud.

Detention, layover and other accessorials

Data. The tender (was the service requested?), the POD or delivery receipt with arrival and release times, ELD or appointment records, the free time and rate in the accessorial schedule, receipts for anything reimbursed at cost.

Method. For detention, subtract the contractual free time from the documented time at the stop, then apply the billing increment the schedule names. For a liftgate, residential, inside delivery or limited-access charge, check that the tender asked for it or that the POD records it. For a lumper fee, ask for the receipt when the agreement reimburses at cost.

Ocean container detention and demurrage follow other rules and other documents: see how to audit and dispute detention and demurrage charges.

False positives. Detention caused by your own dock; an appointment your site missed; a liftgate not ordered but needed on arrival and accepted by your receiver.

Arithmetic, prior payments and credits

Data. Line detail, totals, payment history, credits already received.

Method. Re-add the lines and check the total; then check that a credit already received does not cover the line you are about to dispute again, and that a short-paid amount is not paid a second time when the carrier resends the bill.

False positives. A credit for another load of the same carrier with the same amount. Match credits to lines by reference, never by amount.

Worked example: one weekly invoice

Illustrative example, invented figures: a shipper's weekly truckload bill

Example Freight Lines is invented, and so are the lanes, rates, fuel table values and times. Every total below was recomputed. The same lines load in the carrier invoice audit calculator with its "Load the guide's example" button.

The agreement

  • Linehaul per load: Dallas TX to Atlanta GA 2,150.00; Dallas TX to Memphis TN 1,180.00; Dallas TX to Houston TX 640.00.
  • Fuel surcharge: a percentage of linehaul only, read from the agreement's table with the EIA U.S. on-highway diesel price for the week the load was picked up. In this example the table gives 19% for week 1 and 20% for week 2 (invented values).
  • Detention: two hours free at the consignee, then 60.00 an hour, billed in 15-minute increments, on the POD times.
  • Lumper: reimbursed at cost against the lumper receipt.

The five loads and what they should cost

Invented example: the five loads, their documents and the expected charge
LoadLanePicked upPODLinehaulFuel %FuelAccessorialsExpected
L-1001Dallas TX to Atlanta GATuesday, week 1Signed, no exception2,150.0019%408.502,558.50
L-1002Dallas TX to Memphis TNWednesday, week 1In 08:00, out 11:151,180.0019%224.20Detention 75.001,479.20
L-1003Dallas TX to Atlanta GAFriday, week 1 (delivered Monday, week 2)Signed, no exception2,150.0019%408.502,558.50
L-1004Dallas TX to Memphis TNTuesday, week 2Signed, no lumper note1,180.0020%236.001,416.00
L-1005Dallas TX to Houston TXWednesday, week 2Signed, no exception640.0020%128.00768.00
Total expected8,780.20
Invented example: the five loads, their documents and the expected charge

L-1002 detention: the truck was at the consignee from 08:00 to 11:15, 3 hours 15 minutes; less 2 hours free, 1 hour 15 minutes, five increments of 15 minutes at 15.00: 75.00. L-1003 was picked up on Friday of week 1 and delivered on Monday of week 2: the pickup week sets the fuel percentage, 19%.

The bill received and the variances

Invoice EFL-2207, seven lines, total 10,465.90.

Invented example: each invoice line compared with the expected charge, with the decision and the reason
LineLoadExpectedBilledVarianceDecisionReason
1L-10012,558.502,558.500.00ApproveMatches the agreement
2L-10021,479.201,479.200.00ApproveDetention supported by the POD times
3L-10032,558.502,580.00+21.50Short-pay, to disputeFuel at 20% (delivery week) instead of 19% (pickup week): 430.00 billed, 408.50 due
4L-10041,416.001,416.000.00ApproveMatches the agreement
5L-1004 lumper0.00185.00+185.00Hold, to verifyNo lumper receipt with the bill, no note on the POD; payable at cost if the receipt comes
6L-1005768.00768.000.00ApproveMatches the agreement
7L-1002On line 21,479.20+1,479.20Do not pay, to verifySame load, same BOL and POD as line 2: possible duplicate
Total8,780.2010,465.90+1,685.70Pay 8,780.20 now; 1,685.70 in question
Invented example: each invoice line compared with the expected charge, with the decision and the reason

Checks. Sum of the variances: 21.50 + 185.00 + 1,479.20 = 1,685.70. Billed minus expected: 10,465.90 − 8,780.20 = 1,685.70. The two agree. The bill's own arithmetic is right: its seven lines add up to its total. A bill can be arithmetically right and still wrong on three lines.

What happens next. 8,780.20 is paid on time. The fuel variance on L-1003 is disputed in writing, with the clause, the pickup date and the week's EIA value attached: the data alone settles it. The lumper line is held and the receipt requested: if Example Freight Lines produces it, 185.00 becomes payable, which is a normal outcome of the process, not a failure of the audit. Line 7 is not paid and the carrier is asked to confirm it repeats line 2 and to void it. Until each is settled, the 1,685.70 is an amount in question, not money saved.

Approve, short-pay, hold or dispute: the US clocks

A line ends in one of four states. Approved: paid as billed. Short-paid: the amount you do not question is paid, and the rest is disputed in writing with the reason. On hold: nothing on that line is paid until a document arrives. Disputed: the carrier has been told why the line is wrong and what you expect, a credit or a corrected bill.

The seven steps of handling a billing variance and who owns each
StepWhat happensOwner
1. DetectThe checks run, by hand, in a spreadsheet or in software; the date the variance was found is recordedFreight audit or accounts payable
2. QualifyClassify the reason, compute the variance, apply your own toleranceFreight audit
3. Look inside firstSearch your own records for the missing piece (POD, tender, an email from your dock asking for the service) before asking the carrierTransportation
4. Ask in writingOne message per bill: invoice and PRO numbers, the line, the amount questioned, the reason, the document you ask for or attachFreight audit, procurement copied
5. DecideApprove (the explanation holds) or dispute formally (it does not)Transportation and procurement
6. Follow the creditWait for the credit or the corrected bill, match it to the original line, close the holdAccounts payable
7. CloseFinal status and reason kept for the recurrence analysisFreight audit
The seven steps of handling a billing variance and who owns each

Three registers not to confuse

  • The investigation status ("to verify") describes an internal analysis. It has no legal effect and stops no clock.
  • The payment decision runs on your payment terms. For a for-hire, non-exempt motor carrier that extends credit, 49 CFR 377.203 sets a 15-day credit period starting the day after the freight bill is presented, unless the carrier's tariff sets another, which may not exceed 30 calendar days (49 CFR 377.203). Your contract may set its own terms: a written contract can expressly waive rights and remedies (49 U.S.C. 14101(b)). Either way, the audit has to fit inside the payment window, not after it. Short-paying with a written reason is a practice, not a statutory procedure: have counsel confirm it once, then write it into your procedure.
  • The right to contest is limited in time. A shipper must contest the original bill, or a later bill, within 180 days of receiving it to keep the right to contest those charges; and a carrier must issue any bill for charges beyond those originally billed within 180 days of the receipt of the original bill, household goods and noncontiguous domestic trade excepted (49 U.S.C. 13710(a)(3)). A civil action to recover overcharges must start within 18 months after the claim accrues, on delivery or tender of delivery (49 U.S.C. 14705). A variance file left open for five months is close to its limit.

Billing disputes are not cargo claims

Loss and damage are claimed under the Carmack provisions, where a carrier may not set less than 9 months to file a claim or less than 2 years to sue (49 U.S.C. 14706(e)). Keep a damage claim and a freight bill dispute in separate files, and check your contract and the carrier's tariff before offsetting one against the other.

These provisions are written for carriers under federal jurisdiction. A brokered load, an exempt commodity or a contract with waivers can change who owes what, to whom and by when. Have counsel confirm once how they apply to your contracts.

Where the audit sits in pre-payment control

The audit belongs between the bill's arrival and the payment run, as a freight version of the three-way match accounts payable already knows: the rate confirmation plays the purchase order, the POD plays the receipt, the freight bill is the invoice. A bill whose three documents agree within tolerance goes to payment; any other bill goes to a person, with the reason.

  • Every bill gets the matching key on arrival, or is sent back for it.
  • The tolerance is written down, set by your team, and the same for everyone. There is no standard tolerance; a variance under it but recurring is still reported, because recurrence, not size, reveals a setting error.
  • A line that cannot be checked is marked not checkable, with what is missing, never approved by default.
  • The undisputed part of a bill is paid on time; the rest is held or short-paid with a written reason.
  • Every variance carries its reason code, its document and its owner until it is closed.
  • Credits are matched to the original line by reference before the hold is released.

Who owns what. Transportation holds the facts, what happened at the dock. Procurement holds the terms (rates, schedules, amendments) and takes recurring reasons to the carrier. Accounts payable holds the payment and the credits. A variance handled by only one of the three stalls: transportation gets no credit, procurement finds out at the annual review, and payables pays to keep the carrier moving.

Indicators that tell you the audit works

Seven indicators for a carrier invoice audit, how each is computed and what it decides
IndicatorFormulaWhat it decides
CoverageBills audited ÷ bills receivedWhether you are auditing or sampling
Flag rateLines flagged ÷ lines auditedHow much noise the rules produce
Confirmation rateVariances confirmed ÷ lines flaggedHow precise the rules are: a low rate means false positives, not an honest carrier
Confirmed varianceSum of the variances confirmed in the periodThe real size of the problem
CreditedCredits and corrected bills received ÷ confirmed varianceWhether a confirmed variance turns into money
Cycle timeAverage of closing date minus detection dateWhether the audit fits inside your payment terms and the 180-day window
Recurrence by reasonConfirmed variances per reason ÷ all confirmed variancesWhat to renegotiate: a dominant reason is a contract problem, not an invoice problem
Seven indicators for a carrier invoice audit, how each is computed and what it decides

The mistake to avoid

Adding flagged lines, confirmed variances and credits as if they were separate gains. They are three states of the same dollar. A flag is not a gain; a confirmed variance is a claim; only a credit received, or an amount not paid because a line was held before payment and never justified, is money kept. Separate the one-off (a credit) from the lasting (a clause fixed so the reason disappears): track both, never add them.

Outside the US: France and European road freight

The method does not change across borders; the rules do. Do not carry the US clocks above into a European contract, or the reverse.

  • In France, road freight bills have a specific payment term, the diesel indexation follows a legal mechanism and published references, and actions arising from the contract of carriage have their own limitation period. All of it, with the articles, is in the French guide: contrôler les factures de transport (in French).
  • International road carriage in Europe under the CMR Convention has a one-year limitation period for actions arising out of carriage under it, three years for wilful misconduct, with starting points that depend on the case (CMR, Article 32). Read the article for your case, and the contract for anything it adds.
  • Canada, Mexico and cross-border loads are not covered here.

Spreadsheet, calculator or software

A spreadsheet is the right place to start: it proves on three months of past bills what an audit finds before anyone buys anything. The free carrier invoice audit template rebuilds linehaul, fuel and detention per invoice from a rates sheet, flags possible duplicates and says when a row cannot be checked. The carrier invoice audit calculator checks one invoice line by line, or imports a CSV of invoice lines, finds duplicates across them, applies your tolerance and exports the result.

Where a spreadsheet stops. One rate table per carrier and per version means one lookup per combination, and a wrong formula does not show. LTL classes, weight breaks and lane-specific accessorials break a flat sheet. Matching to POD times means retyping them. There is no audit trail, no version history and no reliable simultaneous work. Past a few hundred lines a month, the audit quietly becomes a sample that is still called an audit.

Software splits into four parts worth judging separately: reading the documents (bills, rate confirmations, PODs, often as PDFs), turning the rates and clauses into rules dated by effective date, matching each line to a shipment and its documents, and the review screen where a person decides with the billed amount, the expected amount and the source side by side. Three things make projects fail: rate tables without effective dates (the engine compares with the wrong version and produces large, false variances), missing data defaulted to "approved" instead of "not checkable", and exceptions (spot loads, one-off waivers) forced through the rules instead of routed to a person with the reason.

Where Mirage fits

Mirage deploys AI agents that read the carrier invoice, the rate confirmation and the proof of delivery, rebuild the expected charges and flag each difference before payment, with the billed amount, the expected amount and the source, for your team to decide on: see freight invoice audit software. Approving, short-paying or disputing stays with your team, and nothing can be checked without the rate and the documents behind it.

Mirage has published no case study on freight invoice audit. The closest published work is document reading at Transwin, a Moroccan logistics operator, whose case study reports 70% less manual data entry on freight documents; that figure describes that deployment only. Connecting to your TMS or ERP is possible, to be configured and validated on your systems.

Questions readers ask

Sources and scope

Checked on . Scope: US domestic truckload and LTL, shipper and 3PL side, under federal law, plus a labelled note on France and the CMR. The method, tables and example are Mirage's own, with invented figures. No index value, rate, class table or savings percentage is reproduced: read them in the current publication and in your contract.

This guide describes a working method and general rules for information. It does not replace a review of your contracts, bills or a live dispute by a transportation lawyer.

Related on this site

Send us a month of carrier bills

Send a month of freight bills with the rate confirmations and PODs behind them. We return each line matched to its shipment, the expected charge with its source, and every variance marked to dispute, to verify or not checkable, so you can compare it with what was paid.

Prefer to talk it through? Book a call

We use your email to reply to you and, now and then, to tell you about Mirage. You can opt out at any time. Privacy policy