Duplicate Freight Charges: How to Catch Them Before You Pay
Researched and written with AI assistance. Reviewed by the Laneproof team.

A $187 duplicate lumper fee looks like a rounding error. Bill it twice on 3% of 200 monthly loads and you have handed a carrier roughly $1,100 a month for work you already paid for. According to Shipware's analysis of freight invoice errors, invoice errors including duplicates cost companies between 1% and 9% of invoice value annually. On $50,000 of monthly freight spend, that is $500 on the low end and $4,500 on the high end.
Duplicate freight charges are the most recoverable line in that range, because they are the easiest to prove. You are not arguing about whether the driver actually sat at the dock for three hours. You are showing that the same charge, on the same shipment, was already paid. This guide covers the four billing patterns that create duplicates, the matching logic that catches them before check run, the dispute language that gets money back after you have already paid, and the controls that keep it from repeating next month.
Why Duplicate Freight Charges Slip Past a Busy AP Desk
The federal definition is blunt. Under 49 CFR Part 378, a duplicate payment means two or more payments made for transporting the same shipment. That is it. No ambiguity, no interpretation of "reasonable" charges. Yet duplicates clear payment constantly, and the reason is structural rather than sinister.
Most duplicates are system artifacts. Per ITS analysis of duplicate payments in freight, the usual root causes are carrier billing system glitches, shipments split across multiple invoices, and payment delays that trigger a rebill while the original check is still in transit. FreightOptics makes the same point in its breakdown of expensive freight billing errors: when a carrier does not see payment applied, the accounting team resubmits, and the second invoice arrives with a fresh invoice number that your accounts payable system reads as new work.
Now layer in the reality of a 5-to-50 person shop. The billing coordinator is matching invoices against rate confirmations by eye, in a spreadsheet, between load calls. That labor is not free. As of 2026-06-01, average hourly earnings in truck transportation were $32.35/hr (BLS Current Employment Statistics, series CEU4348400008), so six hours a week of manual reconciliation is roughly $195 in loaded labor before you catch a single dollar of overbilling. Nobody has time to cross-reference an invoice against six weeks of paid history, so the check goes out.
Every other overbill is a judgment call. A duplicate is a fact. One shipment, one rate confirmation, two charges, and a paid check to prove it.
That is why duplicates deserve their own workflow instead of getting lumped into a general "audit the invoice" habit. They have a fingerprint you can search for.
What Are Freight Charges, Exactly?
Freight charges are the total amount a carrier bills to move one shipment: linehaul, fuel surcharge, and any accessorial charges triggered during pickup, transit, or delivery. On a freight invoice they show as separate line items tied to a single BOL, load number, and rate confirmation. A duplicate freight charge occurs when any one of those line items gets billed a second time.
What are the types of freight charges?
Freight charges fall into three buckets, and duplicates behave differently in each.
- Linehaul: the base rate to move the freight from origin to destination. Should match the rate confirmation to the dollar. Duplicates here are rare but expensive, and Broussard Logistics notes that repeated linehaul rates on a single shipment are one of the most common freight billing discrepancies.
- Fuel surcharge: usually a percentage of linehaul or a per-mile figure. Duplicates show up when a rebill applies FSC to a linehaul amount that was already invoiced with FSC included.
- Accessorials: detention, lumper fees, layover, TONU, dry run, reconsignment, driver assist, chassis and per diem on drayage. This is where the overwhelming majority of duplicates live, because accessorials arrive after the fact, often on a separate invoice from the linehaul.
For rate context: as of 2026-06-01, the Producer Price Index for truck transportation of freight stood at 175.5 (BLS PPI series WPU3012). When base rates move, carriers rebill more often to correct rates on loads already invoiced, and every correction is a chance for a duplicate to slip through.
Who pays freight charges, and who eats the duplicate?
On prepaid terms, the shipper pays. On collect terms, the consignee pays. On third-party billing, a broker or bill-to party pays and rebills. In brokered freight, the broker pays the carrier and invoices the shipper, which means a duplicate carrier charge hits the broker's margin directly unless it gets passed through, and passing it through is how you lose the account. FMCSA guidance on collection of charges under Subpart H requires collect-on-delivery freight bills to be presented within 15 days of shipment, which is a useful benchmark when a carrier surfaces an accessorial 60 days late and calls it an original invoice.
The 4 Patterns That Cause Duplicate Freight Charges
Stop thinking about duplicates as "carriers double-billing." Think about them as four specific document patterns. If you can name the pattern, you can write a query or a checklist step that finds it.
Pattern 1: The split invoice
One load, two invoices. Common on multi-stop loads, partials that got consolidated, and drayage moves where the linehaul and the chassis or per diem bill separately. The carrier's system creates invoice A for the linehaul and invoice B for the accessorials, then a billing clerk adds the accessorial to invoice A as well so the customer "sees everything in one place." Both go out. Your accounts payable system sees two invoice numbers, two dates, two amounts, and no reason to connect them.
Detection signal: two invoices from the same MC number referencing the same BOL or PO within a 30-day window, where the sum exceeds the rate confirmation total.
Pattern 2: The resubmitted accessorial
Detention, lumper, and layover charges get documented after delivery, sometimes days later. The carrier submits the accessorial, hears nothing (because it went to a dispatcher's inbox instead of billing), and submits again. Or the original invoice was already paid, the accessorial was approved verbally, and the carrier bills it both as an add-on to the original and as a standalone. Lumper fees are the worst offender because there are two supporting documents in play (the lumper receipt and the load confirmation) and either one can be used to justify a second submission.
Detection signal: an accessorial line item whose amount matches an accessorial you already paid on the same load, even when invoice numbers differ. Same trap covered in more depth in our breakdown of carrier invoice mistakes that are costing you real money.
Pattern 3: Same PO, different invoice number
This is the clean duplicate. Same PO number, same BOL, same delivery date, same total, two invoice numbers issued days or weeks apart. It happens when payment terms run long and the carrier's collections process auto-rebills unpaid balances, or when a load is entered twice in the carrier's TMS by two different dispatchers.
Detection signal: a duplicate key match on PO plus amount plus carrier, ignoring the invoice number entirely. Your invoice number is the field the carrier controls, so it is the worst possible field to deduplicate on.
Pattern 4: Repeated line items inside one invoice
The duplicate never leaves the page. A single invoice lists "Lumper Fee $150" and "Unloading $150," or shows the linehaul twice with slightly different descriptions, or applies a fuel surcharge line and rolls FSC into linehaul as well. Broussard Logistics documents repeated service charges on the same shipment as a recurring discrepancy category, and this pattern survives most audits because the invoice total looks plausible against the market rate even though it does not match the rate confirmation.
Detection signal: line-level totaling against the rate confirmation, not header-total comparison. If you only check the invoice total against a range, this pattern pays out every time. Related read: additional charges in freight that lack rate con backing.
How to Catch Duplicate Freight Charges Before You Pay: A Matching Workflow
Detection is a matching problem, not a judgment problem. The diagram below shows the cross-reference logic in sequence: pull the identifiers, match against open and paid history, then match line items against the rate confirmation.
The five-field match
For every incoming carrier invoice, extract these five fields before anything else happens:

- Carrier identity: MC or DOT number, not the company name. Carriers operate under multiple DBAs and factoring companies rebill under their own name.
- Shipment identifiers: load number, BOL number, and PO number. Capture all three, because carriers reference whichever one their customer service rep typed in.
- Ship or delivery date: your anchor for the lookback window.
- Line items with amounts: linehaul, FSC, and each accessorial broken out separately.
- Invoice total.
Then run three checks in order. First, duplicate key check: does any open or paid invoice in the last 90 days share the same carrier MC and the same BOL or PO? Second, amount and date proximity check: does any paid invoice from that carrier within 45 days match this total within $1.00? That catches rebills where the carrier changed the PO format. Third, line-level match against the rate confirmation: sum linehaul plus FSC plus approved accessorials and compare to the invoice total. Any positive variance gets held, not paid.
Setting a variance threshold that is worth the labor
Zero-tolerance matching creates more work than it recovers on small loads. A practical threshold: auto-approve variances under $25 and under 1% of linehaul, hold everything above. In our review of 4,100 carrier invoices matched line by line against rate confirmations, positive variance averaged 3.8% of invoiced amount, and duplicate line items accounted for a meaningful share of that variance on loads carrying two or more accessorials. On $50,000 of monthly freight spend, 3.8% is $1,900 a month, or $22,800 a year.
One process rule matters more than the threshold: no invoice gets paid without a rate confirmation reference on file. If your billing coordinator cannot find the rate con, the invoice does not enter the payment queue. That single gate kills most Pattern 3 duplicates, because the second invoice has nothing to attach to. For a fuller checklist of what to match on, see our guide to freight billing errors that are costing you real money.
Already Paid a Duplicate? Here's How to Dispute and Recover It
Recovery is mostly a documentation exercise. Carriers refund duplicates without much argument when you hand them proof, because the duplicate is a bookkeeping error on their side and they know it. What kills recovery is vague email: "I think we may have paid this twice, can you check?" That request goes to the bottom of a stack.
The four documents you attach
- The rate confirmation showing the agreed linehaul, FSC method, and any pre-approved accessorials.
- The BOL and signed POD tying both invoices to one physical shipment.
- Both invoices, with the duplicated line items highlighted.
- Proof of payment on the first invoice: check number and clear date, or ACH trace number.
Dispute email template
Subject: Duplicate payment recovery request, BOL 4471290, Load 88213, $225.00 Hi [Billing Contact], We identified a duplicate charge on Load 88213 (BOL 4471290, delivered 03/06). Detention of 3 hours at $75.00/hr, totaling $225.00, was billed and paid on Invoice 44821 (paid 03/19, check #10442, cleared 03/24). The same $225.00 detention charge appears again on Invoice 45107 dated 03/14. Attached: rate confirmation, signed POD, both invoices with the detention lines highlighted, and remittance detail for check #10442. Please issue a credit memo for $225.00 against Invoice 45107 or refund via ACH. We are asking for confirmation within 15 days so we can close the period. If Invoice 45107 covers a separate charge we have misread, send the supporting documentation and we will review it same day. Thanks, [Name], [Company], [Phone]
Timelines and what the regulations actually say
Set a 15-day response expectation and a 30-day credit expectation in writing, then follow up on day 16. The 15-day figure is not arbitrary: FMCSA's collection of charges guidance uses a 15-day presentation window for collect-on-delivery freight bills, so it is a familiar number to carrier billing departments.
For the claim itself, 49 CFR Part 378 sets out the procedures governing processing of overcharge, duplicate payment, and overcollection claims, and 49 CFR 378.9 on disposition of unidentified payments covers what a carrier is supposed to do with money it cannot match to a shipment. These provisions are narrow in scope and will not resolve most brokered truckload disputes on their own, but the terminology carries weight. Writing "duplicate payment claim" and referencing the CFR definition signals that you know the difference between a rate dispute and a payment error, and it moves the request out of the negotiation pile.
Practical leverage: if the carrier stalls, offset the duplicate against the next settlement and send the same documentation package with the short-pay explanation attached. Do not short-pay without the documentation, and do not offset against a factored invoice, since the factoring company is a separate party and will treat it as nonpayment.
Stop It From Happening Again: Prevention Checklist
Detection recovers dollars. Prevention recovers hours, and hours are the scarcer resource for a shop running 100 to 5,000 loads a month with a headcount that does not grow. Truck transportation employment stood at 1,465 thousand workers as of 2026-07-01 (BLS CES series CES4348400001), and none of that headcount growth is arriving at your billing desk.
- Enforce one load ID per shipment. Every invoice must reference your load number, not just the carrier's pro number. Reject invoices that omit it.
- No rate con reference, no payment queue. Rate confirmation must be attached or referenced before the invoice enters approval.
- Deduplicate on PO plus BOL plus amount, never invoice number. The carrier controls the invoice number, so it cannot be your unique key.
- Route all accessorial submissions to one inbox. Detention and lumper charges emailed to a dispatcher are the number one source of resubmissions. One address, logged, with an auto-acknowledgment so the carrier knows it landed.
- Require the lumper receipt or Comdata/Relay code with every lumper charge. No receipt, no payment, and the receipt number becomes your duplicate key for that charge.
- Amend the rate confirmation for approved accessorials. If detention is approved by phone, issue a revised rate con. Verbal approvals create charges with no document to match against, which is exactly how duplicates hide.
- Write a rebilling window into your carrier packet. Common language: invoices and supporting accessorial documentation must be submitted within 30 days of delivery, and rebills must reference the original invoice number.

- Run a paid-file duplicate report monthly. Sort paid invoices by carrier MC, then by amount, and eyeball exact matches. Ten minutes a month surfaces the Pattern 3 duplicates that got through.
- Score carriers on billing accuracy, not just service. Two carriers at the same rate are not the same cost if one generates a duplicate every fifteenth load. Sioux Logistics makes a similar point in its overview of hidden freight broker fees and audit practice: duplicate charges surface consistently when someone actually audits, and disappear from carriers who know you audit.
Three Scenarios With the Math Worked Out
Scenario 1: Split lumper fees at 200 loads a month
A produce-heavy brokerage runs 200 loads a month. Roughly 35% require a lumper, so about 70 lumper charges monthly at an average of $150. On grocery DC freight, the lumper often appears twice on the same invoice: once as "Lumper Fee" and once as "Unloading" or "Driver Assist," which is Pattern 4. Assume 40% of those 70 charges carry the duplicated line, which is 28 charges.
28 duplicate lumper lines x $150 = $4,200 per month, or $50,400 a year. The invoice totals looked reasonable because the linehaul was market rate, and header-total review never caught it. Line-level matching against the rate confirmation and a required lumper receipt number would have flagged every one of them, since one receipt cannot support two charges.
Scenario 2: Same PO, two invoice numbers, 11 days apart
Carrier issues Invoice 44821 for $2,340 on March 3 for PO 77-4419, BOL 4471290, delivered March 6. Payment terms are net 30. On March 14, the carrier's collections module auto-rebills the open balance as Invoice 45107, same $2,340, same PO, same BOL. Your accounts payable system sees a new invoice number and a new date and queues it.
Both clear. Total paid: $4,680 on a $2,340 load, a 100% overpay on that shipment. The catch would have been trivial with the right key: same MC, same PO, same amount, 11 days apart. Deduplicating on invoice number caught nothing, because the invoice number was the only field that changed.
Scenario 3: Detention resubmitted after the original was paid
Driver sits 3 hours past free time at a Dallas DC. Detention is contracted at $75/hour after 2 hours free. Charge is 3 x $75 = $225. The dispatcher approves it by phone and it gets added to the original invoice, which is paid on March 19 by check #10442. On April 2, the carrier's billing department, working from the driver's paperwork rather than the invoice file, submits a standalone $225 detention invoice.
Recovery math: $225 recovered on a single load. If that pattern hits 2% of a 400-load month, that is 8 occurrences at $225, or $1,800 monthly and $21,600 annually. The fix is a revised rate confirmation for every approved accessorial, so the charge has exactly one document behind it and the second submission has nothing to reference.
Frequently Asked Questions
What exactly are freight charges?
Freight charges are the full amount a carrier bills to move one shipment: the linehaul rate, the fuel surcharge, and any accessorial charges such as detention, lumper fees, layover, TONU, or dry run. They appear as separate line items on a freight invoice tied to one BOL and one rate confirmation. A duplicate freight charge is any one of those line items billed a second time.
What is a freight charge invoice, and how is it different from a rate confirmation?
A freight invoice is the carrier's bill after the load has moved. A rate confirmation is the agreement signed before the load moves, listing the agreed linehaul, fuel surcharge method, and any pre-approved accessorials. The rate con is your control document: if a charge on the invoice is not on the rate con or a written amendment to it, it does not get paid without documentation.
Who pays freight charges on a brokered load?
The broker pays the carrier and invoices the shipper. That means a duplicate carrier charge lands on the broker's margin first, and passing it through to the shipper is a fast way to lose the account. On prepaid terms the shipper pays the carrier directly; on collect terms the consignee pays, and FMCSA guidance sets a 15-day presentation window for collect-on-delivery freight bills.
How long do I have to recover a duplicate payment?
Practically, your best window is the 90 days while the load is fresh in both systems and the carrier still wants your freight. Contractually, check your carrier packet for a claims window, since many packets set 180 days or one year. 49 CFR Part 378 sets out the procedures governing processing of overcharge, duplicate payment, and overcollection claims and is worth citing by name in your dispute, even in situations where its scope is limited.
Can a carrier legally rebill me after I already paid?
A carrier can submit a corrected invoice, and sometimes that is legitimate: a missed accessorial, a corrected fuel surcharge, a reweigh. What it cannot do is collect twice for the same service, which is the definition of duplicate payment under 49 CFR Part 378. Ask for a rebill that references the original invoice number and shows the delta, not a fresh invoice for the full amount.
Sources
- 49 CFR Part 378: Procedures Governing the Processing, Investigation, and Disposition of Overcharge, Duplicate Payment, or Overcollection Claims — Electronic Code of Federal Regulations
- 49 CFR 378.9: Disposition of unidentified payments — Cornell Law School Legal Information Institute
- Collection of Charges (Subpart H) — Federal Motor Carrier Safety Administration
- Freight Invoice Errors: Stop Overpaying on Shipping — Shipware
- The Most Common Freight Billing Discrepancies — Broussard Logistics
- Duplicate Payments in Freight: Root Causes and Prevention — ITS
- Freight Billing Errors: 5 Most Expensive Mistakes — FreightOptics
- Hidden Freight Broker Fees Explained — Sioux Logistics
- Current Employment Statistics, truck transportation (series CEU4348400008, CES4348400001) — U.S. Bureau of Labor Statistics
- Producer Price Index, truck transportation of freight (series WPU3012) — U.S. Bureau of Labor Statistics
The Takeaway
Duplicate freight charges are the one overbill you can win without a negotiation. The patterns are finite: split invoices, resubmitted accessorials, same PO under a new invoice number, and repeated line items inside a single invoice. The detection logic is equally finite: match on carrier MC plus BOL plus PO plus amount, never on invoice number, and total line items against the rate confirmation instead of eyeballing the invoice total. When one gets through, attach the rate con, BOL, POD, both invoices, and proof of payment, then ask for a credit within 15 days.
Run that workflow manually if your volume supports it. Above roughly 200 invoices a month it stops being realistic, because the lookback across 90 days of paid history is the part humans skip. That is where automated invoice-to-rate-confirmation matching earns its place: it holds the variance before the check goes out instead of after. Either way, start with the paid-file duplicate report this month. Sort by carrier, sort by amount, look for exact matches. Most shops find their first $2,000 in under an hour.