Skip to content
CheckMyFreightBill.com
Freight Audit: Buying, Pricing and Alternatives

In-House vs Outsourced Freight Audit: Break-Even Math

The in house vs outsourced freight audit decision comes down to loaded minutes per invoice. Here is the model, the break-even points, and where it breaks.

By 12 min read

The in house vs outsourced freight audit decision is usually argued on principle and settled on price, which is backwards. There is a model that settles it in about ten minutes, and it has one input almost nobody measures: the loaded cost of the minutes your team spends per invoice.

Here is the shape of the answer. Convert your AP person’s fully loaded hourly cost into a cost per minute, multiply by the minutes a real reconciliation takes, and compare that to what an outside option charges per invoice. At any plausible loaded rate, a manual reconciliation has to finish in one to three minutes to beat an outside option on cost, and a real one does not finish in one to three minutes. That is the whole argument.

But cost per invoice is only half the decision, because in-house and outsourced do not catch the same errors. The second half of this post handles that, and the honest conclusion is that the binary framing is wrong: most operations under 1,000 loads a month land on a hybrid, and the model tells you which parts to split.

The model: loaded cost per invoice

Three inputs. All of them are yours, and none of them require a vendor.

L, your loaded hourly cost. Not salary. Salary plus payroll taxes, benefits, software seats, and a share of overhead. Your controller has this number, or can build it in five minutes.

T-clean, minutes per invoice that reconciles cleanly. Pull the invoice, pull the rate confirmation, pull the POD, compare linehaul, recompute fuel, check the accessorials, mark it approved.

T-exception, extra minutes per invoice that does not reconcile. Investigating, gathering the supporting document, drafting the dispute, sending it, and tracking the response.

E, your exception rate. The share of invoices that do not reconcile cleanly. There is no reliable published rate to borrow here. We chased the widely quoted figures to their sources and not one of them measures an invoice error rate, which is written up in nobody has measured the freight invoice error rate. Unmeasured is not the same as low, so do not assume it away. Count it on your own last hundred invoices, and if you never have, that is the first thing to go measure.

The formula:

Cost per invoice = L / 60 x (T-clean + E x T-exception)

Two things fall out of writing it this way. First, the exception rate is a multiplier on the expensive term, so a small change in E moves the answer a lot. Second, the model separates reconciliation from dispute work. That matters, because the dispute work does not disappear when you outsource the reconciliation. Only a full-service arrangement takes both.

A worked example, with every input labeled

These are illustrative figures. Swap yours in; the structure is the point, not the numbers.

  • Assumption: L = $45 per hour fully loaded. That is $0.75 per minute.
  • Assumption: T-clean = 6 minutes for a genuine three-way reconciliation, not a glance at the total.
  • Assumption: T-exception = 25 additional minutes, covering investigation, evidence gathering, drafting, and follow-up.
  • Assumption: E = 22 percent. A placeholder to make the arithmetic visible, not a benchmark. Substitute your own count.

Reconciliation only, ignoring the dispute work for a moment:

6 minutes x $0.75 = $4.50 per invoice

Add the dispute work:

0.22 x 25 minutes x $0.75 = $4.13 per invoice
Total: $8.63 per invoice

At 500 invoices a month that is $4,315 a month, or $51,780 a year, and about 96 hours a month of somebody’s time. That is roughly 0.55 of a full-time person doing nothing but reading freight bills.

The break-even points

Now invert the model. Instead of asking what in-house costs, ask how fast your team would have to be to match an outside price.

Break-even minutes = (outside price per invoice / L) x 60
Outside cost per invoice Break-even at L = $30/hr L = $45/hr L = $60/hr
$0.80 (flat software, 500 loads on our Growth plan) 1.6 min 1.1 min 0.8 min
$2.00 (illustrative per-invoice service fee) 4.0 min 2.7 min 2.0 min
$5.00 (illustrative per-invoice service fee) 10.0 min 6.7 min 5.0 min

The $0.80 figure is not an assumption: our Growth plan is $399 a month for 1,500 documents, which at three documents per load (invoice, rate confirmation, POD) is 500 loads, or about $1 a load. The $2.00 and $5.00 rows are placeholders, because no freight audit vendor publishes a per-invoice fee. Cass’s product page discloses none, and a ShipperGuide buyer’s guide names all three pricing models in the category and gives figures for none of them. Substitute your own quote.

Read the top row. To beat flat software on reconciliation cost alone at a $45 loaded rate, your team has to fully reconcile a freight invoice in 1.1 minutes. Not scan it. Reconcile it: linehaul against the rate confirmation, fuel recomputed against the correct DOE week, accessorials checked against the BOL, duplicate check across prior months. Nobody does that in 66 seconds, which is why the reconciliation half of the decision is not close at any volume where you are paying somebody to do it.

The middle and bottom rows are where the argument actually lives. At $5 per invoice and a $30 loaded rate, in-house wins if you can reconcile in under ten minutes, which is achievable. This is why per-invoice service quotes deserve the full model and software quotes usually do not.

Where this model lies to you

Four failure modes. Each one has burned somebody.

Spare capacity has a marginal cost near zero. If your AP clerk has genuinely idle hours and freight audit fills them, the loaded rate overstates what the work costs you. The model prices time at replacement cost, which is right when the alternative is hiring and wrong when the alternative is the clerk browsing the news. Test it honestly: what would that person be doing otherwise, and would you notice if it stopped?

Below about 200 loads a month, every outside option struggles. A flat monthly fee is a large share of a small recovery pool, and a percentage of a small recovery is a small business for the provider. At that volume the answer is usually a disciplined internal check on the two or three error types that account for most of the money, not a vendor. We say this about our own product, and it stays true here.

Headcount is lumpy and software is not. You cannot hire 0.55 of a person. Either the work fits inside somebody’s existing job or you are hiring a whole one, and the step function makes the in-house column jump in a way the per-invoice math hides. Run the model, then ask which side of a hiring decision the answer sits on.

Catch rate is missing from the whole calculation. This is the big one, and it gets its own section.

Cost per invoice is not the decision. Catch rate times cost is.

An audit that costs nothing and finds nothing is not a saving. The model above compares the price of doing the work. It says nothing about how much of the money each option actually finds, and that difference is usually larger than the cost difference.

Manual in-house audit tends to catch a specific subset well and miss a specific subset almost entirely.

Error type Manual in-house catch rate Why
Invoice total exceeds the rate confirmation High Visible on a side-by-side glance, and it is what people check first
Accessorial not on the rate confirmation Moderate Catchable, but only if someone actually opens the rate con on every load
Fuel surcharge computed off the wrong index week Low Requires pulling the published DOE price for the correct week and recomputing, every load
Duplicate invoice under a different number Low The two bills are weeks or months apart, so nobody sees them together
Detention billed without supporting in and out times Moderate Requires reading the POD against the free-time terms, not just the invoice
Rounding and increment abuse on hourly charges Very low Needs the underlying times and the contract’s increment language side by side

The two rows at the bottom of the catch-rate range are the ones worth pricing. A fuel surcharge error is mechanical and repeats on every load in a lane until somebody pulls the correct week from the EIA On-Highway Diesel Fuel Price Survey and recomputes it, which is exactly the work described in how to calculate a truckload fuel surcharge from the DOE index and which DOE week your surcharge should have used. Duplicates hide across month boundaries by design, not by malice, and the matching logic is laid out in duplicate freight invoice detection.

Neither of those is hard. Both are tedious, repetitive, and exactly the kind of task a human doing 500 of them a month stops doing carefully by invoice number 80. That is what the work is, not a knock on your team.

So the honest version of the comparison is:

Net position = (recoveries found x collection rate) - cost to run the audit

For a sense of scale on the recovery side, Darrigo Consulting publishes benchmarks of 1 to 3 percent of spend for truckload, 3 to 8 percent for LTL, and 2 to 5 percent for parcel. Those are a consultant’s figures, not a measurement of your file, but they set the order of magnitude the cost side has to be compared against.

An in-house process that costs $51,780 and finds 0.6 percent of spend is worse than an outside option that costs $12,000 and finds 1.2 percent, even though the first column looks like ownership and the second looks like an expense. Run both sides. And note that a finding is not a recovery: apply a collection rate, because carriers decline disputes and some declines are correct.

What actually goes in the in-house column

If you build it internally, these are the costs people forget, and they are the reason in-house projects that looked cheap on a spreadsheet stop getting done by month four.

  • Document gathering. Invoices arrive by email, EDI, and carrier portal. Rate confirmations live in the TMS or somebody’s inbox. PODs come back from the carrier or the receiver. Getting three documents into one place is often more minutes than comparing them.
  • Rate table maintenance. Contracted rates, fuel tables, and accessorial schedules change. Somebody has to keep the reference current, or the audit compares against a stale truth.
  • Dispute drafting and follow-up. The 25 minutes in the model is not the end of it. Disputes get declined, escalated, and re-sent.
  • Deadline tracking. Contest windows and limitations periods are real. Under 49 U.S.C. 13710 you have 180 days from receipt of a bill to contest it and preserve your right to challenge, and a missed clock converts a recoverable overcharge into a write-off. The reference table is in every freight billing deadline that can cost you money.
  • Key-person risk. One person learns which carriers bill which way. When they leave, the process leaves with them.
  • Coverage. Vacation, illness, and month-end crunch are when audit gets skipped, and skipped weeks are where the money goes.

None of these are arguments against in-house. They are line items that belong in the in-house column so the comparison is honest.

The hybrid, and why most operations end up there

The binary is a false one. Reconciliation and dispute work are different jobs with different economics, and you can source them separately.

  • Reconciliation is mechanical, repetitive, and cheap to automate. It is where in-house loses on both cost per invoice and catch rate, and it loses badly.
  • Dispute work is relational, judgment-heavy, and expensive to outsource. Your team knows which carrier will fix a fuel table with a phone call and which one needs the contract language quoted back. A vendor disputing in your name spends goodwill it does not own.

So the common landing spot under 1,000 loads a month is: outside tooling or service does the reconciliation and surfaces the exceptions with evidence attached, and your person works the queue and sends the disputes from their own address. Budget 10 to 20 minutes per exception for that review-and-send work. In the worked example above, 110 exceptions a month at 15 minutes is about 27 hours, or $1,240 a month at a $45 loaded rate. That is a real cost and it belongs in your model, but it is a third of the manual number and it buys a materially higher catch rate.

The exception to the hybrid: if nobody in your shop will own that queue, do not buy tooling. Buy a service, or take a contingency arrangement where the provider does the chasing and takes a cut. The tradeoffs there are worked through in what a freight audit contingency fee percentage really costs, and the three pricing models are compared at specific volumes in what freight audit really costs. If your search started with a specific incumbent, the size-segmented version is in Cass Information Systems alternatives for shippers under 1,000 loads a month.

Run it yourself: the eight-step version

  1. Get L, your fully loaded hourly cost for whoever does the work. Salary alone will understate it by a third or more.
  2. Time yourself on ten invoices, start to finish, doing a real reconciliation. That is T-clean. Most people are surprised.
  3. Time three disputes end to end, including follow-up. That is T-exception.
  4. Count exceptions in your last 100 invoices. That is E. If you have never measured it, this step alone is worth the afternoon.
  5. Compute L / 60 x (T-clean + E x T-exception). That is your in-house cost per invoice.
  6. Divide any outside quote by your invoice count to get theirs. Insist on the number before a demo; if it takes a sales cycle to learn a price, price the sales cycle too.
  7. Estimate catch rate on both sides, honestly, using the table above. Multiply by your spend and by a realistic collection rate.
  8. Decide reconciliation and dispute work separately. They rarely belong with the same owner.

Step four is the one that changes minds. Most operations have never counted their exception rate, which means every vendor conversation they have ever had was a story rather than arithmetic. Once you know how many of your last hundred invoices did not reconcile, and what they were worth, the build-versus-buy question mostly answers itself, and so does the question of whether to do anything at all.

Sources