# How do you prevent accessorial charge creep?

> Accessorial charge creep persists when surcharge conditions go untested after invoicing. Here is the control that catches it before and after it starts.

Source: https://valuexpa.com/insights/how-do-you-prevent-accessorial-charge-creep
Publisher: ValueXPA (https://valuexpa.com)
Updated: 2026-09-07

---

Margin drift is the gap between what a vendor contract says and what the invoice actually charges. Accessorial charge creep is one specific shape that gap takes: a surcharge that was contractually justified once keeps appearing on later invoices after the condition behind it has changed or ended.

It shows up in freight and 3PL invoices, in maintenance work orders, and in facilities contracts, because all three carry accessorial line items defined by a condition rather than a flat rate. Preventing it requires knowing what the condition is and testing every invoice against it, not just checking that a charge appears on a published rate card.

## Executive Summary

Accessorial charges are billed correctly at first and still drift, because the surcharge that made sense on one shipment or one work order keeps applying after the condition that justified it has ended. The mechanism is not fraud. It is a carrier or vendor rate table that never gets checked against the contract clause defining when a liftgate fee, residential delivery fee, or after-hours premium is allowed to appear.

Preventing it means moving the check from the invoice to the contract, before the invoice arrives. Three-way matching confirms the invoice against the purchase order and receipt. That confirms quantity and price. It does not test whether an accessorial charge still meets the condition that triggered it, because that condition usually lives in a rate schedule PDF outside the ERP.

What changes it is a control that reads the contract's accessorial definitions once, encodes the trigger conditions, and tests every invoice line against them going forward. Paired with that is a one-time retrospective look at the last 12 to 18 months of invoices, across ValueXPA diagnostics, to find where the pattern has already taken hold before the forward control is in place.

## 1. What is accessorial charge creep?

**Accessorial charge creep is a surcharge that stays on an invoice after the condition that justified it has changed or ended. A liftgate fee applies because a delivery lacked a dock; a residential surcharge applies because an address was flagged residential; an after-hours premium applies because a crew was called outside a shift window. Once the carrier or vendor's system has assigned that code, it often keeps assigning it to later invoices even after the underlying fact stops being true.**

The charge is not invented. It was correct the day it first appeared. The rate card entry is real, the fee is real, and the invoice ties to a published tariff or contract schedule. That is exactly what makes it hard to catch: nothing about the line item looks wrong in isolation.

What breaks is the link between the charge and its trigger condition. A dock gets added to a facility. A delivery address gets reclassified as commercial. A maintenance contract's after-hours window gets renegotiated. The invoice line does not update to reflect any of that, because updating it requires someone to re-check the condition against the contract on every invoice, not just the first one.

See [accessorial charge creep](/glossary/accessorial-charge-creep) for the drift type in isolation, and [freight and 3PL audit](/glossary/freight-and-3pl-audit) or [facilities and janitorial audit](/glossary/facilities-and-janitorial-audit) for the categories where it recurs most visibly in service vendor spend.

## 2. Where does the trigger condition usually break down?

**The trigger condition breaks down at the handoff between the fact on the ground and the code assigned in the billing system. A carrier's dispatch or driver marks a delivery condition once, that mark becomes a billing code, and the code persists in the customer record unless someone actively removes it. Neither the vendor nor the buyer's AP team is positioned to notice the mismatch, because the vendor bills what its system says and AP checks the invoice against the.**

The billing code lives in the vendor's system, not the buyer's contract. Once assigned, it is inherited by every future invoice referencing that shipping lane, account, or work order, unless explicitly removed. Removing it requires the buyer to notice and dispute it.

Three-way matching in an ERP checks that an invoice ties to a purchase order and a receipt. It does not test whether a residential delivery fee still describes the delivery address, because that fact is not represented anywhere in the ERP's PO or receipt record.

This is a structural gap, not a process failure on either side. The condition that justifies an accessorial charge lives in the physical world and in the contract's rate schedule. The systems that generate and pay the invoice do not carry that condition forward.

## 3. How does a not-to-exceed cap interact with accessorial creep?

**A not-to-exceed cap and accessorial creep are separate contract mechanisms that can mask each other. A cap limits total billed amount regardless of line items, so a growing accessorial charge can push a work order toward its cap without anyone reviewing why the total climbed. Conversely, if no cap exists, an accessorial charge can compound quietly for months with no ceiling forcing a review at all.**

A not-to-exceed clause caps what a vendor can bill against a work order or purchase order line. When accessorial charges accumulate inside that cap, the invoice total looks unremarkable right up until it hits the ceiling, at which point the conversation is about the cap breach, not about which line item drove the total there.

Without a cap, there is no forcing event at all. An accessorial charge can persist invoice after invoice with nothing prompting a second look, because the invoice ties to a PO and passes three-way matching every time.

See [not-to-exceed overrun](/glossary/not-to-exceed-overrun) for the cap mechanism on its own terms.

## 4. What does a forward control for this actually check?

**A forward control encodes the contract's accessorial definitions as testable conditions, then checks every incoming invoice line against them before payment. It does not check that a charge exists on a rate card; it checks whether the specific fact that triggers the charge, a missing dock, a residential address, an after-hours call, still holds for that shipment or work order on that date. A line item that fails the test is flagged before it is paid, not after.**

Building this control starts with the contract, not the invoice. Every accessorial clause states a trigger condition somewhere, usually in an appendix or a carrier tariff referenced by the master agreement. That condition has to be extracted and written as a rule a system can test.

### A. Extraction

The rate schedule and accessorial definitions are pulled from the contract or tariff document, often a PDF that sits outside the ERP entirely. Each fee gets its trigger condition written down explicitly: what fact must be true for this charge to apply.

### B. Matching

Each incoming invoice line is compared against its trigger condition using the data available at time of shipment or work order creation: delivery address type, dock availability, shift schedule, service window. A mismatch produces a flag rather than an automatic rejection, because the underlying fact sometimes did change legitimately.

### C. Disposition

A flagged line goes to someone who can confirm or dispute it before payment, closing the loop that three-way matching alone cannot close. Over time, the pattern of flags also shows which lanes, accounts, or vendors carry the most stale conditions.

## 5. Can a periodic audit catch accessorial creep after the fact?

**Yes. A periodic audit reviews a defined lookback window of paid invoices against the contract's accessorial definitions and identifies where a charge no longer matches its trigger condition. It works because the review happens once, against historical data, rather than requiring a live system check on every invoice. The tradeoff is timing: a periodic audit finds what has already been paid, while a forward control stops the next invoice before payment.**

A periodic audit is the retrospective half of fixing this. It takes a window of invoices, typically the last 12 to 18 months of historical spend across ValueXPA diagnostics, and tests each accessorial line against the contract's stated conditions and the facts available for that period.

This finds recoverable amounts: charges that should not have applied and can be disputed or credited. It does not, on its own, stop the same pattern from continuing on next month's invoices, because nothing changes in the vendor's billing system as a result of the audit alone.

See [recoverable vs. preventable leakage](/guides/recoverable-vs-preventable-leakage-and-why-the-split-decides) for why that split, what can be recovered against what can only be prevented going forward, changes how the finding gets prioritized and who owns the fix.

## 6. Which service categories carry this risk?

**Accessorial charge creep appears wherever a vendor contract defines fees by condition rather than by flat rate: freight and 3PL, facilities and janitorial services, maintenance and repair work orders, and waste and environmental services all carry accessorial or condition-based line items. Each category defines its own trigger conditions and its own rate schedule, so a control built for one does not transfer directly to another without re-reading that category's contract language.**

Freight and 3PL contracts carry the clearest version: liftgate, residential, redelivery, and fuel-related accessorials defined in a carrier tariff referenced by the master agreement.

- **Freight and 3PL:** Liftgate, residential, redelivery, and address-correction fees tied to delivery conditions that change shipment to shipment.

- **Facilities and janitorial:** After-hours, emergency call-out, and supply-replenishment fees tied to schedule and service-level conditions.

- **Maintenance and repair:** Overtime, emergency dispatch, and travel-time premiums tied to when and where a work order is executed.

- **Waste and environmental services:** Overage, contamination, and special-handling fees tied to load composition and container condition.

For the wider pattern this sits inside, start with the [margin drift](/insights/margin-drift-spend-leakage-guide) guide.

## 7. Frequently Asked Questions (People Also Ask)

### Is accessorial charge creep the same as an accessorial fee being applied correctly?

No. A correctly applied accessorial fee matches a trigger condition that is true at the time of the charge. Creep is the same fee continuing to appear after that condition has changed or ended, which makes each individual invoice look routine while the pattern across invoices is not.

### Does three-way matching catch accessorial charge creep?

Three-way matching checks the invoice against the purchase order and the receipt. It confirms quantity and price agree with what was ordered and received. It does not test whether a delivery condition, schedule condition, or service condition behind an accessorial fee still holds, because that fact is not part of the PO or receipt record.

### Who at the vendor is responsible for removing a stale accessorial code?

The vendor bills what its own system has recorded as the applicable condition. Removing a stale code requires the buyer to notice the mismatch and dispute it, because the vendor's billing system has no independent trigger to re-check the condition on its own.

### How far back should a review of accessorial charges go?

A retrospective review across ValueXPA diagnostics typically covers 12 to 18 months of historical spend, which is long enough to show whether a fee has persisted across a meaningful number of invoices rather than appearing once.

### Can a not-to-exceed cap prevent accessorial charge creep on its own?

No. A cap limits the total a vendor can bill against a work order, but it does not review why the total is climbing. An accessorial charge can accumulate inside the cap without prompting a line-item review until the cap itself is breached.

### What information does a buyer need to test an accessorial trigger condition?

The buyer needs the contract or tariff language defining the fee's trigger condition, plus the operational fact for that shipment or work order: delivery address type, dock availability, shift schedule, or service window, so the invoice line can be tested against the condition rather than against the rate card alone.

### Does fixing accessorial charge creep require new software?

It requires a control that tests every invoice against the contract's trigger conditions, which can be done manually in a periodic audit or continuously with a system. Which approach fits depends on invoice volume and how often the underlying conditions change.

### Is accessorial charge creep specific to freight, or does it show up elsewhere?

It shows up anywhere a contract defines a fee by condition rather than by flat rate, which includes facilities services, maintenance work orders, and waste and environmental services, not only freight and 3PL.

### What should a buyer do when a flagged accessorial line turns out to be legitimate?

Confirm it and let it pay. A flag from testing against the trigger condition is a prompt to check, not a rejection. Legitimate charges pass the check; the value is in catching the ones that do not.

### Is contract complexity quietly draining your operating margin?

A small systematic drift between your negotiated contracts and your actual vendor billing compounds quietly across a year of invoices. Stop guessing at your exposure and run a targeted audit.

**[Take the Free Screener → https://valuexpa.com/margin-drift-screener](https://valuexpa.com/margin-drift-screener)**

## Executive Summary

Accessorial charges are billed correctly at first and still drift, because the surcharge that made sense on one shipment or one work order keeps applying after the condition that justified it has ended. The mechanism is not fraud. It is a carrier or vendor rate table that never gets checked against the contract clause defining when a liftgate fee, residential delivery fee, or after-hours premium is allowed to appear. Preventing it means moving the check from the invoice to the contract, before the invoice arrives. Three-way matching confirms the invoice against the purchase order and receipt. That confirms quantity and price. It does not test whether an accessorial charge still meets the condition that triggered it, because that condition usually lives in a rate schedule PDF outside the ERP. What changes it is a control that reads the contract's accessorial definitions once, encodes the trigger conditions, and tests every invoice line against them going forward. Paired with that is a one-time retrospective look at the last 12 to 18 months of invoices, across ValueXPA diagnostics, to find where the pattern has already taken hold before the forward control is in place.

## 1. What is accessorial charge creep?

Accessorial charge creep is a surcharge that stays on an invoice after the condition that justified it has changed or ended. A liftgate fee applies because a delivery lacked a dock; a residential surcharge applies because an address was flagged residential; an after-hours premium applies because a crew was called outside a shift window. Once the carrier or vendor's system has assigned that code, it often keeps assigning it to later invoices even after the underlying fact stops being true. The charge is not invented. It was correct the day it first appeared. The rate card entry is real, the fee is real, and the invoice ties to a published tariff or contract schedule. That is exactly what makes it hard to catch: nothing about the line item looks wrong in isolation. What breaks is the link between the charge and its trigger condition. A dock gets added to a facility. A delivery address gets reclassified as commercial. A maintenance contract's after-hours window gets renegotiated. The invoice line does not update to reflect any of that, because updating it requires someone to re-check the condition against the contract on every invoice, not just the first one. See [accessorial charge creep](/glossary/accessorial-charge-creep) for the drift type in isolation, and [freight and 3PL audit](/glossary/freight-and-3pl-audit) or [facilities and janitorial audit](/glossary/facilities-and-janitorial-audit) for the categories where it recurs most visibly in service vendor spend.

## 2. Where does the trigger condition usually break down?

The trigger condition breaks down at the handoff between the fact on the ground and the code assigned in the billing system. A carrier's dispatch or driver marks a delivery condition once, that mark becomes a billing code, and the code persists in the customer record unless someone actively removes it. Neither the vendor nor the buyer's AP team is positioned to notice the mismatch, because the vendor bills what its system says and AP checks the invoice against the. The billing code lives in the vendor's system, not the buyer's contract. Once assigned, it is inherited by every future invoice referencing that shipping lane, account, or work order, unless explicitly removed. Removing it requires the buyer to notice and dispute it. Three-way matching in an ERP checks that an invoice ties to a purchase order and a receipt. It does not test whether a residential delivery fee still describes the delivery address, because that fact is not represented anywhere in the ERP's PO or receipt record. This is a structural gap, not a process failure on either side. The condition that justifies an accessorial charge lives in the physical world and in the contract's rate schedule. The systems that generate and pay the invoice do not carry that condition forward.

## 3. How does a not-to-exceed cap interact with accessorial creep?

A not-to-exceed cap and accessorial creep are separate contract mechanisms that can mask each other. A cap limits total billed amount regardless of line items, so a growing accessorial charge can push a work order toward its cap without anyone reviewing why the total climbed. Conversely, if no cap exists, an accessorial charge can compound quietly for months with no ceiling forcing a review at all. A not-to-exceed clause caps what a vendor can bill against a work order or purchase order line. When accessorial charges accumulate inside that cap, the invoice total looks unremarkable right up until it hits the ceiling, at which point the conversation is about the cap breach, not about which line item drove the total there. Without a cap, there is no forcing event at all. An accessorial charge can persist invoice after invoice with nothing prompting a second look, because the invoice ties to a PO and passes three-way matching every time. See [not-to-exceed overrun](/glossary/not-to-exceed-overrun) for the cap mechanism on its own terms.

## 4. What does a forward control for this actually check?

A forward control encodes the contract's accessorial definitions as testable conditions, then checks every incoming invoice line against them before payment. It does not check that a charge exists on a rate card; it checks whether the specific fact that triggers the charge, a missing dock, a residential address, an after-hours call, still holds for that shipment or work order on that date. A line item that fails the test is flagged before it is paid, not after. Building this control starts with the contract, not the invoice. Every accessorial clause states a trigger condition somewhere, usually in an appendix or a carrier tariff referenced by the master agreement. That condition has to be extracted and written as a rule a system can test. ### A. Extraction The rate schedule and accessorial definitions are pulled from the contract or tariff document, often a PDF that sits outside the ERP entirely. Each fee gets its trigger condition written down explicitly: what fact must be true for this charge to apply. ### B. Matching Each incoming invoice line is compared against its trigger condition using the data available at time of shipment or work order creation: delivery address type, dock availability, shift schedule, service window. A mismatch produces a flag rather than an automatic rejection, because the underlying fact sometimes did change legitimately. ### C. Disposition A flagged line goes to someone who can confirm or dispute it before payment, closing the loop that three-way matching alone cannot close. Over time, the pattern of flags also shows which lanes, accounts, or vendors carry the most stale conditions.

## 5. Can a periodic audit catch accessorial creep after the fact?

Yes. A periodic audit reviews a defined lookback window of paid invoices against the contract's accessorial definitions and identifies where a charge no longer matches its trigger condition. It works because the review happens once, against historical data, rather than requiring a live system check on every invoice. The tradeoff is timing: a periodic audit finds what has already been paid, while a forward control stops the next invoice before payment. A periodic audit is the retrospective half of fixing this. It takes a window of invoices, typically the last 12 to 18 months of historical spend across ValueXPA diagnostics, and tests each accessorial line against the contract's stated conditions and the facts available for that period. This finds recoverable amounts: charges that should not have applied and can be disputed or credited. It does not, on its own, stop the same pattern from continuing on next month's invoices, because nothing changes in the vendor's billing system as a result of the audit alone. See [recoverable vs. preventable leakage](/guides/recoverable-vs-preventable-leakage-and-why-the-split-decides) for why that split, what can be recovered against what can only be prevented going forward, changes how the finding gets prioritized and who owns the fix.

## 6. Which service categories carry this risk?

Accessorial charge creep appears wherever a vendor contract defines fees by condition rather than by flat rate: freight and 3PL, facilities and janitorial services, maintenance and repair work orders, and waste and environmental services all carry accessorial or condition-based line items. Each category defines its own trigger conditions and its own rate schedule, so a control built for one does not transfer directly to another without re-reading that category's contract language. Freight and 3PL contracts carry the clearest version: liftgate, residential, redelivery, and fuel-related accessorials defined in a carrier tariff referenced by the master agreement. - Freight and 3PL: Liftgate, residential, redelivery, and address-correction fees tied to delivery conditions that change shipment to shipment. - Facilities and janitorial: After-hours, emergency call-out, and supply-replenishment fees tied to schedule and service-level conditions. - Maintenance and repair: Overtime, emergency dispatch, and travel-time premiums tied to when and where a work order is executed. - Waste and environmental services: Overage, contamination, and special-handling fees tied to load composition and container condition. For the wider pattern this sits inside, start with the [margin drift](/insights/margin-drift-spend-leakage-guide) guide.

## Common questions

### Is accessorial charge creep the same as an accessorial fee being applied correctly?

No. A correctly applied accessorial fee matches a trigger condition that is true at the time of the charge. Creep is the same fee continuing to appear after that condition has changed or ended, which makes each individual invoice look routine while the pattern across invoices is not.

### Does three-way matching catch accessorial charge creep?

Three-way matching checks the invoice against the purchase order and the receipt. It confirms quantity and price agree with what was ordered and received. It does not test whether a delivery condition, schedule condition, or service condition behind an accessorial fee still holds, because that fact is not part of the PO or receipt record.

### Who at the vendor is responsible for removing a stale accessorial code?

The vendor bills what its own system has recorded as the applicable condition. Removing a stale code requires the buyer to notice the mismatch and dispute it, because the vendor's billing system has no independent trigger to re-check the condition on its own.

### How far back should a review of accessorial charges go?

A retrospective review across ValueXPA diagnostics typically covers 12 to 18 months of historical spend, which is long enough to show whether a fee has persisted across a meaningful number of invoices rather than appearing once.

### Can a not-to-exceed cap prevent accessorial charge creep on its own?

No. A cap limits the total a vendor can bill against a work order, but it does not review why the total is climbing. An accessorial charge can accumulate inside the cap without prompting a line-item review until the cap itself is breached.

---

ValueXPA runs a fixed-scope Margin Drift Diagnostic that validates every service vendor invoice against contract terms, for $100M+ US industrial manufacturers and distributors. Two to four weeks. The client retains 100% of recoveries. https://valuexpa.com/contact-us
