Which control stops accessorial charge creep?

Accessorial charge creep needs a control that checks each fee line against the contract's accessorial schedule, not just the base rate, at match time.

Twitter LinkedIn WhatsApp
Ask AI: ChatGPT Claude Gemini Grok
Which control stops accessorial charge creep?

Margin drift is the gap between what a vendor contract says and what the invoice actually charges. Accessorial charge creep is one shape it takes: a fuel surcharge, liftgate fee, or residential delivery charge that starts at the contracted rate and quietly rises on later invoices.

The question a controller asks after finding a handful of these is not "what happened" but "what stops it happening again." The answer is a specific kind of control, not a general one, and most AP workflows do not run it.

Executive Summary

Accessorial charges creep because they sit outside the base rate line that most AP controls actually check. A three-way match confirms the invoice ties to a purchase order and a receipt. It does not open the carrier's accessorial schedule and confirm the fuel surcharge percentage or the liftgate fee still matches what the contract states.

That gap is where creep lives: a fee that was correct at contract signing and has since drifted, one invoice at a time, with no single line ever looking obviously wrong.

The control that actually stops it is line-level matching against the accessorial schedule itself, run at invoice receipt, not at quarterly review. That means pulling the specific fee table from the contract, whether it is a surcharge percentage tied to a diesel index or a flat liftgate rate, and checking every accessorial line on every invoice against it before payment.

This is a narrower and more mechanical control than general invoice review, and it has to run continuously to catch drift as it happens rather than after months of it have accumulated. The rest of this page describes what that control does, what it does not do, and how it differs from the reviews most AP teams already run.

1. What does a control that stops accessorial creep actually check?

The control that stops accessorial charge creep is a line-level match between each accessorial charge on the invoice and the specific rate stated in the carrier's accessorial schedule attached to the contract, run at invoice receipt. It checks the fuel surcharge percentage, the liftgate fee, the residential delivery charge, and any other named accessorial individually, rather than checking only that the shipment ties to a purchase order. A three-way match cannot do this because the accessorial schedule is not a.

Three-way matching compares the invoice to the purchase order and the receipt. It confirms quantity and a base rate. The accessorial schedule is a separate table, often in an appendix or a rate confirmation, and standard AP workflows do not pull it into the match.

A control built for accessorial creep treats each accessorial line as its own checkable fact: this fee, this rate, this contract clause. It flags the invoice line the moment the charged rate diverges from the contracted one, rather than waiting for a spend review to notice the total looks high.

2. Why does a fuel surcharge or liftgate fee drift in the first place?

An accessorial rate drifts when the invoice stops referencing the trigger condition the contract actually specifies, such as a diesel index level or a delivery zone, and instead carries forward whatever rate last billed. A surcharge tied to an index needs to be recalculated each period; a flat fee needs to match a table that may have several tiers. Once the invoice detaches from that source and starts repeating a prior number, nothing on the invoice itself signals the change.

A fuel surcharge clause typically ties the percentage to a published diesel index, recalculated on a schedule stated in the contract. If the carrier's billing system does not update that percentage on schedule, the surcharge printed on the invoice stops reflecting the index and instead reflects whatever value was last entered.

A liftgate or residential delivery fee works differently: it is usually a flat rate, but one that can vary by zone or service level. An invoice that applies the wrong zone's rate will look identical in format to one applying the right rate. Neither error produces a visibly wrong-looking invoice line.

3. How is this control different from a periodic freight audit?

A periodic freight audit reviews a sample or a full batch of invoices after the fact, typically on a quarterly or annual cycle, and identifies drift that has already accumulated. The control that stops creep runs on every invoice at receipt, before payment, and blocks or flags the specific line that diverges from the schedule. The difference is timing and scope: one finds drift after it has compounded, the other stops the next instance before it pays.

A periodic audit is retrospective by design. It is well suited to finding what has already leaked across a stretch of invoices, and it can recover money already paid through credit memos or negotiated adjustments.

It is not built to prevent the next invoice from repeating the same error, because by the time the audit runs, that invoice has usually already been paid. A forward control has to sit in the payment path itself, checking the accessorial line before the invoice clears, which is a different workflow than a scheduled review.

Both have a place. The periodic audit recovers what already drifted; the point-of-invoice control stops the next one.

4. Which parts of the contract does the control need in structured form?

The control needs the accessorial schedule itself extracted into a structured, checkable form: each named fee, its rate or formula, the trigger condition, and any tiers or zones it varies by. A rate card sitting as a PDF attachment is not usable at invoice-matching speed. Without that extraction, the matching step has nothing current to check the invoice against, and the control cannot run regardless of how the AP workflow is otherwise organized.

Contracts typically state accessorial terms in an appendix, separate from the base rate table: a named fee, a dollar amount or formula, and sometimes a trigger condition like a delivery zone or an index threshold.

That information has to exist somewhere the matching step can read it at the moment an invoice arrives, not somewhere a person has to go look it up. Extracting the schedule into that form is the setup work behind the control. Skipping it is why the check does not happen even when a team intends to run one.

A. What the extraction covers

Fee name, contracted rate or formula, trigger condition, and any tier or zone variation, pulled from the specific contract in force for that vendor and lane, not a generic rate card.

5. Can this run inside an existing AP system, or does it need something separate?

Most AP systems can hold the invoice and the purchase order but were not built to hold a vendor's accessorial schedule as a matchable field, so the control usually has to sit as a layer that reads both the invoice and the extracted contract terms before the invoice reaches payment. Whether that layer is a manual review step, a spreadsheet check, or a dedicated tool depends on invoice volume, not on whether the control is worth running.

At low accessorial invoice volume, a manual check against a maintained rate table can work: someone opens the schedule and compares it to each new invoice's accessorial lines before approval.

At higher volume, that manual step becomes the bottleneck, and errors slip through simply because the reviewer is comparing many lines against many contracts under time pressure. The mechanism does not change with volume. What changes is whether a person or a system can keep the comparison current and complete.

The requirement either way is the same: the accessorial schedule has to be available in a form the check can reference at the moment the invoice arrives.

6. What does fixing this look like across other accessorial-heavy categories?

Accessorial-style fee structures are not unique to freight. Maintenance contracts carry trip charges and after-hours premiums, telecom contracts carry activation and equipment fees, and waste services carry overage and contamination charges, each with its own schedule sitting outside the base rate. The same line-level matching control applies in each category: identify the named fee, extract its contracted rate or trigger, and check every invoice line against it before payment.

The mechanism generalizes because the underlying structure repeats: a base service rate that AP checks routinely, and a set of named accessorial fees that sit in a separate schedule most matching processes never open.

Each category has its own version of the schedule and its own trigger conditions, so the extraction step has to be redone per category rather than assumed to carry over. A liftgate fee schedule and a trip charge schedule are structured differently even though the underlying control, line-level match against a stated rate, is the same idea applied twice.

For the wider pattern this sits inside, start with the margin drift guide. See also the six categories drift hides in and what is margin erosion? causes and prevention for manufacturers.

7. Frequently Asked Questions (People Also Ask)

Is a three-way match enough to catch accessorial charge creep?

No. A three-way match checks the invoice against the purchase order and receipt, confirming quantity and base rate. It does not open the carrier's accessorial schedule to verify a fuel surcharge percentage or a liftgate fee against the contract, so drift in those specific lines passes through unchecked.

What is the difference between accessorial charge creep and a legitimate rate increase?

A legitimate increase is stated in the contract or a signed amendment and applies from a clear effective date. Creep is an accessorial rate that has moved without any contract change behind it, often because the invoice stopped referencing the trigger condition the contract specifies.

Does this control need software, or can an AP team run it manually?

It can run manually at low invoice volume, using a maintained accessorial schedule checked against each invoice by hand. At higher volume the comparison becomes harder to keep current and complete, which is a volume problem, not a change in what the control has to check.

Which accessorial fees are most commonly affected by creep?

Any named fee sitting outside the base rate can drift: fuel surcharges, liftgate fees, residential delivery charges, and similar line items in freight contracts, along with equivalent structures in other service categories. There is no dataset that ranks which fee type drifts more than another.

Where does the accessorial schedule usually live in a contract?

Typically in an appendix or a rate confirmation attached to the master agreement, separate from the base rate table. It states each named fee, its rate or formula, and any trigger condition, such as an index level or delivery zone, that changes the rate.

Can a periodic freight audit find accessorial creep after the fact?

Yes, and it is a valid way to recover money already paid through credit memos or negotiated adjustments. What it cannot do is stop the next invoice from repeating the same error, because that invoice is usually already paid by the time the audit runs.

Does the same type of control apply outside freight accessorials?

Yes. Maintenance trip charges, telecom activation fees, and waste service overage charges follow the same structure: a base rate most reviews check, and a separate fee schedule most reviews do not. The line-level matching mechanism applies the same way in each category.

What has to happen before the control can run at all?

The accessorial schedule has to be extracted from the contract into a structured, checkable form, listing each fee, its rate or formula, and its trigger condition. Without that extraction, there is nothing current for the invoice-matching step to check against.

Margin Drift Resources