The honest answer depends on four numbers: your monthly carrier-invoice volume, how many distinct rate structures you carry, how much you currently recover, and how much AP time you can spare. Below roughly a few thousand invoices a month with simple rates, outsourcing or licensing beats building on cost. Above that — especially with several carriers, negotiated accessorial schedules, and recoveries that leave most variances unchallenged — building the audit yourself is the option that compounds. Here is the reasoning, with the economics shown.
This page sits under freight margin, the buyer-side view of transportation profitability. What follows is the decision layer.
What freight audit and payment actually is
Freight audit is a line-by-line comparison of every carrier invoice against what you contracted to pay: base rate for the lane and service, the fuel-surcharge formula in force for the shipment date, and the full accessorial schedule — detention, residential, liftgate, layover, anything the carrier can add. Payment is the second half: paying what is correct, disputing what is not, and knowing the difference by carrier, by month, by aging bucket.
Two properties make this problem unlike most software decisions. First, the data arrives dirty: PDFs from some carriers, EDI 210 from others, different line structures per carrier, so normalization is half the work before any auditing happens. Second, the audit is adversarial by nature — every variance you find is money the carrier billed and must give back, so the process must produce evidence the carrier cannot argue with.
Where the money hides: the threshold economics
The leakage mechanism is worth stating precisely, because it decides the build-vs-buy math.
Every manual dispute costs staff time to assemble — gather the invoice, the contract, the shipment record, write the claim. At one US LTL broker, building one dispute took 45 minutes, so the operation wrote off anything under $50 unchallenged. That threshold was rational for the process they had. At 12,000 invoices a month, thousands of small variances were never challenged (case C06).
The lever is the threshold, and the threshold is set by the cost of building a dispute. Automate the evidence assembly and the threshold falls — in that engagement from $50 to $5 — disputed volume rises tenfold, and monthly recovery moved from $8,000 to $67,000. That is an $59,000/month difference on the same freight, the same carriers and the same contracts. The annual arithmetic is $708,000 (derived from the casebook figures).
So the real question behind outsource vs license vs build is: which option gets your dispute threshold low enough, at what recurring cost, and who owns the rules.
Option 1: outsource to a freight audit and payment provider
A FAP provider ingests your invoices, audits against the rate structures they maintain for you, disputes on your behalf, and often pays the carriers through their own rails.
Where it wins: zero build time, immediate coverage, no AP headcount required, and the provider's dispute operation already exists. For a company with modest volume and standard carrier agreements, this is the right default.
Where it hurts: fee structure. Providers typically charge a percentage of freight spend or a per-invoice fee, and sometimes take a share of recoveries. [needs source: published fee ranges for major freight audit and payment providers — percentage of freight spend and per-invoice pricing] The more you ship, the more the audit costs, even though the audit logic does not change. Their rules are their asset: deep custom logic against your specific negotiated accessorial schedules is usually a customization conversation, and the exception queue — disputes needing your operational context — tends to come back to you anyway. And your contract and invoice data leaves the building.
Option 2: license audit software
The middle path: an audit platform — standalone or as a TMS module — where you encode the rate cards and the software runs the checks.
Where it wins: the rules are yours, the data stays in-house, coverage scales without per-invoice fees growing like a service's do. For organizations with strong AP teams and clean carrier data, licensing is a sound compromise.
Where it hurts: the software only checks what you feed it. Rate-card digitization is yours — every contract, every amendment, every fuel-surcharge table, encoded and maintained. Carrier invoice normalization is usually only partly solved: structured EDI feeds parse cleanly; the PDF half still needs extraction rules per carrier. And someone on your team owns the exception queue, the dispute workflow, and the carrier relationships around them. Licensing buys the engine; the operating cost moves onto your payroll.
Option 3: build it
The engineered path: an audit pipeline built around your contracts and your data. The C06 engagement is the reference shape. Invoices arrived as PDFs and EDI 210 from eight carriers with different rate structures, at about 12,000 a month; a four-person AP team normalized them by hand in Excel and could not keep up with 30% annual volume growth. There was no drill-down from an invoice line to the shipment behind it, so every client question was a manual investigation, and win rate by carrier, monthly recovery and dispute aging were not measured at all.
What the build consisted of:
- Ingestion and normalization — PDF extraction with per-carrier rules, EDI 210 parsing for the structured feeds, everything landing in one canonical invoice object. The is the structured carrier-invoice document; where a carrier sends it, the audit starts clean.
- The audit engine — every line checked against the contracted rate card: base rate, fuel-surcharge formula, the full accessorial schedule. This is the component that moved the dispute threshold from $50 to $5.
- Evidence packages — each flagged variance carries the contracted rate, the billed amount, the difference, and the contract clause it violates. The dispute letter generates in one click. Carriers do not argue with that shape of evidence; they pay it.
- Traceability — every invoice line traces to its shipment event, so a client question or a carrier counter-argument resolves against records, not memory.
- Tracking — recovery live by carrier, aging and status; win rates visible for the first time.
What changed, in the casebook numbers: monthly recovery $8,000 to $67,000; every variance flagged with its evidence; the three hours a day of manual invoice normalization eliminated; and the AP team absorbed 40% volume growth with no added headcount (case C06).
The build's cost is engineering time — measured in months for the pipeline described, with ongoing maintenance as carriers change formats and contracts renew. The decision criterion is simple: when expected recovery exceeds that cost with room to spare, the build pays; when it does not, options 1 or 2 are right.
The decision, as a table
| Your situation | Start here |
|---|---|
| Under ~2,000 invoices/mo, few carriers, standard rates | Outsource — the fee is cheaper than any build |
| Mid volume, capable AP team, structured data mostly available | License — own the rules, avoid service fees |
| Thousands of invoices/mo, several rate structures, recovery gap wide, AP capacity flat | Build — the threshold economics compound in your favor |
| Any volume, but recoveries already high and disputes fast | Keep what works; automate the exception queue only |
The rows are guidance, not law — the inputs are your invoice count, your rate complexity, and your current recovery versus what the contracts entitle you to. That last number is measurable in a week of sampling, and it is the number that should decide.
What whichever option must deliver
Any of the three paths should produce the same five properties, and a proposal that lacks one of them is incomplete:
- Every invoice line compared against the contracted rate, including fuel formula and accessorials.
- Variances flagged with evidence: contracted amount, billed amount, difference, contract clause.
- Each line traceable to the shipment event behind it.
- Recovery and dispute status tracked by carrier, aging and outcome.
- A dispute threshold set by evidence-assembly cost, not by manual effort.
If your current setup — outsourced, licensed, or manual — cannot show all five, the gap is measurable, and measuring it is the first thing a freight audit diagnostic does: two weeks, $7,500, findings yours, whether the answer turns out to be outsource, license, or build.
Written by the CrunchCode engineering team — the people who ran these integrations in production.