How to spot accessorial charge creep on freight

Accessorial charge creep hides in freight invoices past the base linehaul rate. Here is how to find it against your own rate card, line by line.

Twitter LinkedIn WhatsApp
Ask AI: ChatGPT Claude Gemini Grok
How to spot accessorial charge creep on freight

Margin drift is the gap between what a vendor contract says and what the invoice actually charges. On a freight invoice, the most common place that gap opens is not the linehaul rate. It is the accessorial line: the liftgate fee, the residential surcharge, the detention charge, the reweigh adjustment.

Accessorial charge creep is what happens when those fees drift upward, apply when they should not, or stack past what the carrier's own tariff allows, and nobody on the AP side has the reference table to catch it. This page covers how to find it in your own invoice history.

Executive Summary

Accessorial charges exist because a base linehaul rate assumes a standard shipment: dock to dock, no special handling. Anything outside that, a residential address, a call-ahead requirement, extra time at the dock, gets billed separately, on a schedule the carrier publishes and the shipper's contract should reference. Charge creep happens when the applied fee does not match that schedule and nobody checks.

The mechanism is simple to describe and hard to catch by hand. Carriers update accessorial tariffs on their own schedule, often annually, sometimes mid-year. If the shipper's contract locks a fee at a stated rate or caps it against the tariff, an invoice charging the new, higher tariff number is a contract violation, not a price increase.

If the contract instead floats with the tariff, the same invoice is correct. Without the contract's accessorial schedule sitting next to the invoice at match time, the two look identical.

What changes it is a direct, line-by-line comparison: every accessorial code on the invoice checked against the rate the contract actually specifies for that code, not against what seems reasonable. Fuel and freight input costs are also moving, which raises the bar for what counts as a normal increase versus a drift.

1. What counts as accessorial charge creep on a freight invoice?

Accessorial charge creep is any accessorial fee, liftgate, residential delivery, detention, reweigh, storage, that appears on an invoice at a rate, frequency, or combination the shipper's contract does not authorize. It includes a fee priced above the contracted or tariff-capped rate, a fee applied to a shipment that does not meet the fee's own trigger condition, and two fees stacked together when the contract or tariff says only one applies. It is not simply a fee going up; it is.

The distinction matters because not every accessorial charge is drift. Carriers are entitled to bill for genuine extra service, and rates change over time under whatever mechanism the contract sets. The question is never whether a fee appeared, it is whether the contract's own terms authorize that fee at that rate for that shipment.

A liftgate fee on a shipment that actually required a liftgate, billed at the contracted rate, is correct. The same fee on a shipment with dock access, or billed above the rate the contract specifies, is creep. The only way to tell the two apart is to hold the invoice against the contract's accessorial schedule, not against last month's invoice or a general sense of what freight costs.

2. Where does the discrepancy actually originate?

Accessorial drift originates at three points: the carrier's tariff update cycle moving a rate the contract did not intend to float, a dispatcher or driver applying a service code the shipment did not trigger, and a billing system defaulting to a standard fee table instead of the shipper-specific negotiated one. Each produces the same symptom on the invoice, a charge that looks routine, so identifying which mechanism is at work requires checking the contract clause, not just the dollar amount.

Carrier tariffs are published on a schedule the shipper does not control. A contract that references the tariff without a cap or a locked rate absorbs every future tariff increase automatically. A contract that locks the accessorial rate at signing does not, and any invoice above that locked number is a clause violation regardless of what the carrier's current tariff says.

Service code misapplication happens at the point of pickup or delivery, when a driver logs a residential stop, a call-ahead, or extra time that the shipment did not actually require. The invoice reflects the code entered, not the service performed, and nothing in a standard AP workflow checks the code against the delivery record.

Billing defaults happen when a carrier's invoicing system pulls from a general rate table rather than the shipper-specific contracted schedule, particularly after a system migration or account transition on the carrier's side.

3. How do you check an accessorial line against your contract?

Checking an accessorial line means pulling the contract's accessorial schedule for that specific carrier and lane, locating the exact fee code on the invoice, and comparing the billed rate to the contracted or tariff-capped rate for that code. Where the contract states a trigger condition, such as a residential address or an appointment requirement, that condition must be verified against the shipment record, not assumed from the fee's presence on the invoice.

Start with the contract, not the invoice. Extract every accessorial fee code the contract names, along with the rate, cap, or float mechanism attached to each. This becomes the reference table every invoice gets checked against.

Next, match each invoice line's fee code to that table. A code that does not appear in the contract at all is worth flagging on its own, since it suggests either an unauthorized service or a coding error upstream.

Finally, verify the trigger condition where one exists. A detention charge should tie to a logged wait time. A residential surcharge should tie to a delivery address classified as residential.

Three-way matching against the purchase order confirms the shipment happened; it does not test whether an accessorial's trigger condition was actually met, since that detail typically lives in the carrier's tariff or the delivery record, not the PO.

4. Which accessorial fee types deserve the closest look?

Detention, residential and liftgate, reweigh and reclassification, fuel surcharge, and storage and redelivery fees each carry their own trigger condition and their own documentation requirement, and each needs to be checked against that condition directly rather than assumed correct because it appears routine on the invoice. None of these fee types leaks more than another; each is a distinct mechanism that requires its own line-by-line verification against the contract and the shipment record.

Each of these fee types is a distinct mechanism with its own trigger condition, and each deserves the same direct check against the contract, invoice code by invoice code, rather than a general assumption about which fees tend to run high on a given account.

  • Detention and demurrage: Billed against dock wait time. Verify against a logged arrival and departure time rather than the carrier's stated duration.
  • Residential and liftgate fees: Tied to delivery address type and equipment need. Confirm the address classification matches what the fee assumes.
  • Reweigh and reclassification charges: Adjust the billed weight or freight class after pickup. Check the adjustment against a scale ticket or the original bill of lading, not just the revised total.
  • Fuel surcharge: Tracks an index the carrier names in the contract. A surcharge that no longer moves with its stated index, up or down, has decoupled from its own trigger.
  • Storage and redelivery fees: Apply after a failed first delivery attempt. Confirm a failed attempt is actually on record before accepting the charge.

5. Is a rising fuel surcharge always a sign of overbilling?

No. Fuel surcharges are typically indexed to a published fuel price, and diesel and gasoline input costs have moved sharply: the US BLS Producer Price Index for gasoline, series WPU0571, stood at 302.759 in July 2026, up 37.1% year over year (read September 7, 2026). A surcharge tracking that kind of move is doing what its contract clause specifies.

The question is whether the surcharge's formula, not just its output, still matches what the contract states.

A fuel surcharge is a formula, not a flat fee: a base rate plus an adjustment tied to a published index, recalculated on whatever interval the contract sets, weekly or monthly. Checking it for drift means recomputing the formula with the index value the contract names, for the date the contract specifies, and comparing that to the number on the invoice.

General trucking cost indexes have also moved. 1% year over year over the same period (read September 7, 2026). Base linehaul rates moving in that range are consistent with sector-wide cost movement, not evidence of a contract violation on their own. The distinguishing question stays the same: does the invoiced rate match the formula the contract states, recalculated with the correct index and date.

6. Can accessorial charge checking be automated, or does it require a manual audit?

A three-way match in most AP systems confirms the invoice against the purchase order and receipt; it does not test whether an accessorial fee's trigger condition was met or whether its rate matches the contract's accessorial schedule, because that reference data typically lives outside the ERP in a separate carrier agreement. Building the check requires first digitizing the contract's accessorial terms into a structured table, which is manual work regardless of what runs the comparison afterward.

The comparison itself, invoice fee code against contract rate, can run automatically once the contract's terms exist in a structured, machine-readable form. Most AP systems do not hold that form natively. The carrier agreement sits as a PDF, the rate card as a spreadsheet, and the fee schedule as an appendix nobody re-keys after signing.

That gap is exactly where a retrospective audit adds value: extracting the accessorial terms from the existing contract set, checking a defined period of invoice history against them, and quantifying what was billed outside the contracted schedule. A forward control, once the reference table exists, then tests each new invoice against it before payment rather than after.

For the wider pattern this sits inside, start with the margin drift guide. See also the Margin Drift Diagnostic and our insights.

7. Frequently Asked Questions (People Also Ask)

What is the difference between an accessorial charge and a base freight rate?

A base rate covers standard dock-to-dock transport under the linehaul rate the contract sets. An accessorial charge covers anything outside that standard: special handling, extra time, a non-dock delivery location, and is billed separately against its own fee schedule, usually referenced in the same carrier contract or the carrier's published tariff.

How often do carriers update accessorial tariffs?

Carriers set their own tariff update schedule, and it varies by carrier. What matters for drift checking is not how often the tariff changes but whether the shipper's contract locks the accessorial rate, caps it against the tariff, or floats freely with it, since that clause determines whether a tariff increase is billable.

Can a fuel surcharge itself be a source of overbilling?

Yes, if the surcharge no longer matches the formula the contract specifies: the stated index, the stated base rate, or the stated recalculation interval. A rising surcharge that tracks its index correctly is not overbilling. A surcharge that has decoupled from its formula, regardless of direction, is.

Does three-way matching in our AP system catch accessorial overbilling?

Three-way matching checks the invoice against the purchase order and the goods receipt. It confirms a shipment happened and was received; it does not test an accessorial fee's trigger condition or compare the billed rate to the carrier contract's accessorial schedule, since that data usually is not loaded into the ERP.

What documentation do we need to check a detention charge?

A logged arrival and departure time at the dock, ideally from a dock log or the carrier's own tracking record, compared against the free time the contract allows before detention applies. Without a timestamp record, a detention charge cannot be verified against anything but the carrier's own stated duration.

Should every accessorial line on every invoice be checked, or just the large ones?

The engine has no dataset establishing which accessorial fee types or dollar thresholds carry more risk than others, so no threshold recommendation is sourced here. A structured accessorial reference table, once built, can be applied to every line at effectively the same cost as applying it to a sample.

Is a rate card the same thing as a carrier tariff?

No. A tariff is the carrier's own published rate and fee schedule, set unilaterally. A rate card in a shipper's contract is the negotiated version, which may lock certain fees, cap others against the tariff, or leave some to float with it. Checking an invoice requires the rate card, not the tariff, unless the rate card explicitly defers to the tariff.

What is the fastest way to build the accessorial reference table needed for this check?

Extract every accessorial fee code named in the current carrier contract, along with its rate, cap, or float mechanism, into a single structured table per carrier and lane. This is manual extraction work regardless of what tool eventually runs the invoice comparison against it.

Does this apply to small parcel carriers as well as LTL and truckload?

The mechanism is the same across freight modes: a base rate for standard service, accessorial fees for anything outside it, governed by a contract or tariff schedule. Small parcel carriers typically publish accessorial schedules in the same structure as LTL and truckload carriers, so the same line-by-line check applies.

Margin Drift Resources