See how Freehand recovers margin you're already losing

Map your commercial agreements to real-world execution - recovering 2-5% in lost margins and ensuring 100% audit coverage.

What to expect in the call

We identify exactly where you’re leaking margins

See how our AI Teams cross-check contracts, and resolve overcharges

Get a savings estimate based on your current spend and systems.

Trusted & Recognized by

KEARNEY
pwc
Gartner

We'll find $500,000 in 30 days

All Articles

How to Run the Freight Audit Process, Stage by Stage

A practical, stage-by-stage guide to running the freight audit process at enterprise volume: centralize and normalize invoices, integrate TMS/ERP and contracts, match shipments, verify every charge, classify exceptions by type, set tolerance thresholds, and release clean invoices to payment.

Craig Edwards

Head of Solutions Consulting (US GTM Team)

9

mins

To run the freight audit process, centralize your carrier invoices, match each to its shipment record, verify every charge against the contract, and classify exceptions by type before you resolve them.

Treating every mismatch as one generic exception is why manual review queues never shrink at enterprise volume.

TL;DR: Running the Freight Audit Process

  • The freight audit process is the systematic review of carrier invoices against contracted rates and shipment data before payment, run in stages that each catch a different error type.
  • Centralize every carrier invoice into one feed instead of scattered portals and inboxes.
  • Connect your TMS and ERP, and digitize your contracts, so the audit has a reliable baseline.
  • Match each invoice to its shipment record before you check a single rate.
  • Verify linehaul, fuel, and class charges against the contract.
  • Classify exceptions by type, rate mismatch, duplicate, unverified accessorial, or reclassification, since each needs a different fix.
  • Set a tolerance threshold, route real exceptions to resolution, and release clean invoices to payment.

What is the freight audit process?

The freight audit process is the sequence a carrier invoice moves through, from arrival to payment, that confirms every charge matches what was contracted and what actually shipped. The concept behind it, why audit and payment run as one workflow rather than two, is covered in our guide to freight audit and payment.

This piece stays at the practical level: what you need before you start, and what to do at each stage.

What do you need before you run the freight audit process?

You need three things in place before you can audit a single invoice: a centralized data feed, integrated systems, and digitized contracts. Skipping any one of them leaves the audit with nothing reliable to check against.

Foundation pieceWhat it doesWhere it commonly breaks
Centralized invoice feedPulls EDI, PDF, and portal invoices into one placeManual downloads from carrier portals delay everything downstream
Integrated TMS and ERPSupplies the shipment record: weight, service level, quoted rateShipment data lags behind what actually moved
Digitized contractsGives the audit something to check invoices againstRate matrices go stale, and invoices pass validation against the wrong number

Most enterprises already have two of the three in place. The contract data is usually the gap, since rate matrices tend to live with whoever negotiated them last, not in a system the audit can query.

How do you run the freight audit process step by step?

You run it by centralizing data, matching invoices to shipments, verifying every charge, classifying exceptions by type, and releasing payment only after each one clears. Each step depends on the one before it holding up.

Step 1: Centralize and normalize your invoice data

Carriers send invoices as EDI 210 feeds, PDF attachments, portal downloads, or plain email. EDI arrives structured and ready to check. A PDF doesn't.

Pulling a rate or a weight off a scanned PDF by hand is where data quietly gets lost, a transposed digit, a missed line item, before the audit even starts. Every invoice needs to land in the same normalized feed first.

Step 2: Connect your TMS and ERP, and digitize your contracts

Your TMS and ERP supply the shipment record: origin, destination, weight, service level, and quoted rate. Load your rate matrices, accessorial schedules, and discount tiers into a system the audit can query directly, not a shared drive full of PDFs.

Step 3: Match every invoice to its shipment record

Before you check a single rate, confirm the invoice corresponds to a real, authorized movement. Verify the tracking number, origin, destination, and service level against the TMS record.

An invoice with no matching shipment is a duplicate or a billing error, not a pricing dispute.

Step 4: Verify rates and service charges

Every charge gets checked against three things: the contracted linehaul rate, the fuel surcharge formula, and the freight class or service level on the shipment.

Here's what that catches in practice. A shipment's contracted linehaul rate is $950. The fuel surcharge should run $180 that week, calculated off the EIA diesel index.

The invoice bills $950 linehaul, correct, but $210 fuel, a $30 overcharge on one line of one invoice. At a few hundred shipments a week, that exact pattern compounds fast.

Step 5: Detect and classify exceptions by type

Not every exception is the same problem, and that's where most audit workflows break down. Four types account for most of what fails Step 4, and each one resolves differently.

Exception typeWhat triggers itHow you resolve it
Rate mismatchLinehaul, fuel, or class charge doesn't match the contractRecompute the correct charge and dispute the delta
Duplicate billingSame shipment billed under two invoice numbers or two datesVoid the duplicate. No dispute needed, just non-payment
Accessorial without a valid triggerA fee like detention or liftgate billed with no confirmed service eventRequest the carrier's proof of the event; dispute if none exists
Post-delivery reclassificationFreight class or weight changed after delivery, no new evidenceVerify against the original BOL; dispute if the change isn't supported

A workflow that routes all four to one generic exception queue treats a five-minute void the same as a dispute that needs a carrier's proof-of-service record. That's how queues back up.

Step 6: Set tolerance thresholds and route exceptions to resolution

Decide what counts as clean enough to approve automatically: an exact match, or a variance under a fixed dollar or percentage limit.

Set the threshold too loose and carriers learn where it sits. Set it too tight and every cent of variance becomes manual work, which is its own failure mode. Everything outside the threshold goes to resolution with the supporting evidence, the signed BOL, the contract clause, attached.

Step 7: Release payment, allocate costs, and feed findings into negotiations

Clean and corrected invoices move to accounts payable once every exception clears, coded to the right GL account, cost center, and business unit. At enterprise scale, this runs across multiple ERPs with different allocation rules per legal entity, commonly SAP, Oracle, NetSuite, Infor, Dynamics, and JD Edwards.

A Fortune 100 healthcare and consumer goods company ran freight audit through a single outsourced provider for 20 years with no self-service visibility into its own numbers.

After moving to a platform that applied GL rules across all 15 of its global ERP instances, it normalized that data into one spend intelligence layer and redeployed its logistics finance team from reconciling discrepancies to managing carriers strategically.

Don't stop at payment. Track error frequency, recovery amounts, and billing accuracy by carrier and lane, and bring that data into your next contract negotiation. It's leverage a carrier can't argue with, since it's their own billing pattern.

Does the freight audit process differ by mode?

Yes. The contract terms Step 4 checks against change by mode, even though the seven steps stay the same. Parcel audits validate against dimensional weight, since a light package billed at a heavy carton's DIM weight is the single most common parcel overcharge. LTL audits center on freight class, since a shipment reclassified after pickup changes the rate without changing what actually moved. Ocean audits carry demurrage and detention charges that don't exist in domestic freight at all.

Dedicated fleet, ocean, and parcel spend are also the modes most likely to run on separate systems and end up with no audit coverage at all. A program built around one mode's contract logic will misread another mode's charges as clean when they aren't, or miss them entirely.

What's the difference between pre-audit and post-audit?

Pre-audit checks the invoice before payment; post-audit checks it after. The difference shows up in what happens to an error once one's found, not just in timing.

Pre-auditPost-audit
When it checksBefore payment releasesAfter payment has already gone out
What happens to an errorNever gets paidHas to be recovered as a dispute
Carrier's incentive to cooperateHigh, no funds have moved yetLow, the carrier already has your money
Recovery speedImmediate, blocked before it clearsSlower, subject to dispute windows and carrier response time
Best fitEnterprises with the audit infrastructure to hold invoicesPrograms where audit capacity can't keep pace with volume

Our guide to freight audit and payment covers why pre-payment is the structural argument for running audit and payment as one workflow instead of two.

Why doesn't flagging an exception actually resolve it?

Flagging tells you something is wrong. It doesn't tell you which of the four exception types you're looking at, or run the fix each one needs. A rules engine that flags a duplicate the same way it flags an unverified accessorial hands your team the same undifferentiated queue Step 5 was supposed to prevent.

Detection stops at "this doesn't match." Resolution requires knowing which of four different problems you're holding, and running that problem's specific fix without a person doing it by hand.

{{blue-cta}}

How do you run all seven steps without the queue outgrowing your team?

You run it by resolving each exception type with its own logic instead of one generic dispute path, at 100% of invoices instead of a sample. Most programs don't fail because Step 4's logic is wrong. They fail because Step 5 treats every mismatch the same way, and a process built to scale with headcount hits a wall the moment invoice volume outgrows the team.

Freehand's AI Teams run all seven steps continuously: normalizing invoice data, matching shipments, verifying rates, classifying each exception by type, and resolving rate mismatches, duplicates, unverified accessorials, and reclassifications with the logic specific to each. Clean charges post to your ERP. Genuine judgment calls are what reach a person.

For a side-by-side look at providers running this at scale, our roundup of the best freight audit and payment software breaks down how the leading options handle each step.

{{brown-cta}}

Frequently Asked Questions

What's the difference between a rate mismatch and a reclassification error?

A rate mismatch means the linehaul, fuel, or class charge doesn't match the original contract terms. A reclassification error means the freight class or weight itself was changed after delivery, which changes the correct rate entirely rather than just misapplying it.

Does freight audit work the same way for parcel and LTL shipments?

No. Parcel audits validate against dimensional weight, catching light packages billed at a heavier carton's DIM weight. LTL audits validate against freight class, catching shipments reclassified after pickup with no change to what actually moved.

What documents does each step of the freight audit process need?

Step 1 needs the raw invoice, EDI or PDF. Step 3 needs the TMS shipment record. Step 4 needs the carrier contract and rate card. Step 5 needs the bill of lading, proof of delivery, and any service-event records like detention timestamps.

How is a duplicate invoice different from a legitimate resubmission?

A duplicate bills the same shipment twice under two invoice numbers or dates, with no new information. A legitimate resubmission corrects a prior invoice, a fixed weight or an added accessorial, and should reference the original invoice number it's replacing.

How long does it take to set up the freight audit process?

It depends on how centralized your data already is. Enterprises with a TMS and digitized contracts in place can go live in weeks. Starting from scattered carrier portals and PDF rate sheets makes Step 1 the longest part of setup.

Does running this process change based on shipment volume?

The steps stay the same, but the tolerance-threshold decision in Step 6 gets more important as volume grows. At low volume, manual review can keep up. Past a few hundred invoices a month, an automatic threshold is what keeps the exception queue from outpacing your team.

Should a 3PL or broker run your freight audit, or should it stay independent?

Keep it independent where possible. A 3PL or broker auditing its own invoices has no structural incentive to find its own billing errors, which is why that arrangement most often leaves your highest-spend lanes with the least scrutiny.

Do you need software to run this, or can spreadsheets work?

Spreadsheets can work at low invoice volume with a handful of carriers. Past that, matching invoices to shipments and contracts by hand doesn't scale, and it's usually the point where sampling quietly replaces full coverage.

How do you decide the tolerance threshold in Step 6?

Set it based on what a manual review team can actually clear, not an arbitrary round number. A threshold that routes too much to resolution creates a backlog; one that's too loose lets real overcharges auto-approve.

What KPIs should you track once the process is running?

Error frequency by carrier and lane, total recovery amount, and first-pass match rate. Those three numbers show whether the process is catching errors and give you the input for your next carrier negotiation.

Which exception type is most likely to go undetected?

Post-delivery reclassification, since the shipment already moved and the original weight or class record is the only evidence the change wasn't warranted. Programs that don't retain shipment-level BOL data lose the ability to dispute this type entirely.

Your AP Runs. You Review the Exceptions Worth Your Time.

Freehand's AI Teams match, validate, and resolve invoices end to end, then escalate only the calls that need a human. Your backlog stops being yours.

Flagging an Exception Isn't Resolving It.

Rules-based tools stop at "this looks wrong" and hand the work back to your team. The queue keeps growing.

Try Freehand
Gartner Research

Every warehouse. Every provider. Every mile.

Gartner's 2026 outlook on logistics outsourcing, and how AI Teams hold every contract to the terms you agreed.

  • Where outsourced logistics quietly loses margin
  • Why billed charges drift from the contract
  • How AI Teams close the gap
download now

More related blogs

How to File a Freight Claim: A Step-by-Step Guide

Industry

7 Best CTSI-Global Alternatives for Freight Audit 2026

Industry

6 Best Shipsta Alternatives for Freight Procurement 2026

Industry