# How to spot a rate schedule violation on freight invoices?

> How to catch rate schedule violations on freight invoices: line rate, fuel surcharge, accessorial and mode checks against the carrier contract.

Source: https://valuexpa.com/insights/how-do-you-spot-rate-schedule-violation-on-a-freight-invoice
Publisher: ValueXPA (https://valuexpa.com)
Updated: 2026-10-22

---

Margin drift is the gap between what a vendor contract says and what the invoice actually charges. On a freight invoice, that gap most often shows up as a rate schedule violation: a line-haul charge, a fuel surcharge factor, or an accessorial fee applied at a rate that does not match the signed carrier rate schedule.

Rate schedules move often, and truck transportation freight costs have moved sharply this year. A carrier that adjusts its own internal pricing faster than it adjusts the schedule it billed you against leaves a gap that a manual invoice review rarely catches, because the invoice looks internally consistent even when it disagrees with the contract.

## Executive Summary

A rate schedule violation happens when a freight invoice bills a rate that does not match the rate table the carrier agreed to in the contract: a wrong per-mile rate, a stale fuel surcharge percentage, an accessorial fee that was never on the schedule at all. The mechanism is simple. AP systems match an invoice to a purchase order and a receipt of service. They do not hold a copy of the rate schedule, so nothing in the payment workflow ever compares the billed rate to the contracted one.

That gap widens when the underlying cost index moves. US Bureau of Labor Statistics data for general freight trucking, long-distance TL (series PCU484121484121) put the August 2026 index at 207.644, up 13.9% year over year, read 2026-09-24. Fuel moved further still: the BLS gasoline commodity index (WPU0571) stood at 319.584 in August 2026, up 46.5% year over year, read the same date. A carrier repricing against real cost movement has every reason to push new rates through billing faster than a shipper pushes a rate schedule addendum through contract administration.

What changes it is a control that sits outside the AP workflow and checks the invoice against the actual rate schedule document, line by line, before or after payment. That control has to test four things: the base line-haul rate, the fuel surcharge calculation, the accessorial and surcharge list, and the mode or equipment class billed. Each is checked below.

## 1. What does a rate schedule violation actually look like on an invoice?

**A rate schedule violation is any line item priced above, or outside, what the carrier's signed rate schedule allows: a per-mile or per-hundredweight rate higher than the contracted tier, a lane charged at a rate that belongs to a different lane, or a fee applied that the schedule does not list at all. The invoice format looks entirely normal. The rate printed on it is the tell, and it only surfaces when checked against the schedule document itself, not against.**

The invoice will pass a three-way match without any trouble, because three-way matching checks the invoice against the purchase order and the proof of delivery. It does not open the rate schedule PDF and compare the dollar figure printed on the invoice against the dollar figure in the contract. Those are two separate documents, held in two separate systems, and nothing in a standard AP workflow forces them together.

The result is that a wrong rate can repeat for months. A carrier does not need to bill incorrectly on purpose. A rate schedule addendum can be applied to the wrong lane group internally, or a legacy rate can survive in the carrier's own billing system after a renegotiation. Either way, the invoice looks correct until someone lays it next to the actual contract.

## 2. Where in the invoice should you start checking?

**Start with the base line-haul rate, because every other charge on the invoice is calculated as a percentage or addition on top of it. Confirm the lane, the equipment type, and the weight or mileage break match the schedule's rate tier exactly, since carriers price by tier and a shipment one weight break off gets a materially different number. Then move to the fuel surcharge line, which is the fastest-changing figure on the invoice.**

The lane identifier on the invoice has to match the lane definition in the schedule exactly. Carrier rate schedules commonly define lanes by origin and destination zip prefix or by region pair, and an invoice that rounds a zip prefix to the nearest defined lane can pull in the wrong rate without any error being visible on the face of the document.

Equipment type matters the same way. A dry van rate and a flatbed rate sit on different rows of the same schedule, and a shipment billed under the wrong equipment class carries the wrong base rate even when every other field on the invoice is accurate. The weight or mileage break works the same way: schedules step up in bands, and a shipment that falls just inside one band but gets billed at the next band's rate is a rate schedule violation, not a rounding difference.

## 3. How do you check the fuel surcharge line specifically?

**A fuel surcharge is calculated as a formula, a base index reading times a schedule of percentage tiers, not a flat fee, so checking it means recalculating the formula against the index the contract actually references and the invoice date, not against last month's invoice for comparison. Fuel costs have moved sharply this year, which makes an outdated surcharge percentage table an easy place for a rate schedule violation to persist without anyone noticing the formula itself is wrong.**

The BLS gasoline commodity index (WPU0571) showed a reading of 319.584 in August 2026, up 46.5% year over year, read 2026-09-24, and diesel-linked surcharge tables move on a similar trajectory. A surcharge schedule that was accurate at signing can be stale within a single quarter if the contract ties the surcharge to a published index and that index has moved.

The check itself is arithmetic: take the index value the contract specifies, apply the percentage-per-cent-increment table in the schedule, and compare the result to what the invoice actually charged. A surcharge line that was correct on the invoice date but has not been updated since is a rate schedule violation even though nobody changed anything: the schedule's own formula moved and the invoice did not follow it.

## 4. What accessorial charges commonly carry the wrong rate?

**Accessorial charges, detention, liftgate, residential delivery, inside delivery, redelivery, carry their own rate rows in the schedule and drift independently of the base line-haul rate, so checking the base rate correctly tells you nothing about whether the accessorial rows are right. Each accessorial needs its own line-by-line comparison against the schedule, because a carrier's internal billing system can apply a default accessorial rate when the specific negotiated rate is not automatically populated.**

Getting the base rate right says nothing about the accessorial lines beneath it. Those charges live on separate rows of the schedule and have to be checked separately, invoice by invoice, against the negotiated figure rather than the carrier's default tariff.

### A. Detention and liftgate

Detention is billed per hour or per increment after a free time threshold, and both the threshold and the per-hour rate are contract-specific. A carrier's default billing system rate can be higher than a negotiated one, and if the negotiated rate was never loaded into the carrier's own tariff table, the detention charge bills at the wrong rate until someone catches it. Liftgate fees follow the same pattern: a flat charge that either exists on the schedule or does not, and billing systems default to charging it either way.

### B. Delivery accessorials

Residential delivery, inside delivery and redelivery fees are frequently flat amounts in the schedule, which makes them easy to compare but also easy to overlook, since they sit at the bottom of the invoice below the freight charges a reviewer actually reads. A separate page on [accessorial charge audit](/insights/accessorial-charge-audit-the-surcharges-nobody-validates) covers this category in more depth.

## 5. Can you catch rate schedule violations without dedicated software?

**Yes, with a structured sample: pull a set of invoices for a given carrier and lane, lay the base rate, fuel surcharge and each accessorial line against the current signed rate schedule, and flag any line that does not reconcile. The work is mechanical, not analytical, which makes it suitable for a one-time audit even without ongoing invoice-matching software, though a periodic audit only catches what has already been billed, not what is about to be.**

A manual review needs the current rate schedule in hand, not the version that was current at contract signing. Carrier agreements typically include a mechanism for periodic rate schedule updates, and reviewing against a stale schedule version produces false negatives on real violations and false positives on legitimate rate changes.

The review works best organized by carrier and lane rather than by invoice date. A rate error repeats across every shipment on that lane until it is corrected, and grouping by lane surfaces the pattern in a handful of invoices rather than requiring every invoice to be checked individually. A broader walkthrough of the full review process is covered on how to audit freight and 3PL invoices.

## 6. What should change after a rate schedule violation is found?

**Finding one violation means checking the same rate schedule line across every invoice from that carrier for the period it has been in effect, then requesting a credit memo for the difference, not just a correction going forward. It also means confirming which party is responsible for keeping the rate schedule current in the contract, because a rate that has not been updated for a published index change is a different problem than a rate that was simply entered wrong.**

A credit memo request should cite the specific rate schedule clause and the specific invoice lines it applies to, since a general dispute without that detail is easy for a carrier's billing team to deprioritize. Retroactive correction should cover the full period the wrong rate has been in effect, not just the most recent invoice, because a rate error that has persisted for several months represents a proportionally larger recovery than the single invoice that surfaced it.

Going forward, the fix is a standing comparison between the invoice stream and the current rate schedule rather than a one-time correction, since a rate schedule that was fixed once can drift again the next time the contract is amended or the underlying index moves.

For the wider pattern this sits inside, start with the [margin drift](/insights/indirect-spend-audit-categories) guide. See also [the six categories drift hides in](/insights/indirect-spend-audit-categories) and [duplicate freight billing and the multi-carrier consolidation problem](/insights/duplicate-freight-billing-and-the-multi-carrier).

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

### What is a rate schedule violation on a freight invoice?

It is any billed line item that does not match the carrier's signed rate schedule: a line-haul rate above the contracted tier, a lane priced under the wrong tariff, or an accessorial fee the schedule never listed. It happens because AP workflows match invoices to purchase orders and delivery receipts, not to the rate schedule document itself.

### Why doesn't three-way matching catch a rate schedule violation?

Three-way matching compares the invoice to the purchase order and the proof of delivery. It confirms the shipment happened and the quantities agree. It does not open the carrier's rate schedule PDF and compare billed dollar figures against contracted ones, because those two documents live in separate systems.

### How often should a rate schedule be checked against invoices?

The schedule itself can be amended whenever the contract allows, and fuel-linked surcharge tables reference indices that move regularly. A standing comparison between the invoice stream and the current rate schedule, rather than a one-time review, catches drift as it happens rather than after it accumulates.

### What documents do I need to run this check myself?

The current signed rate schedule, not the version in effect at contract signing, plus the invoices you want to test. If the contract ties any charge to a published index, such as a fuel surcharge, you also need the index reading for the invoice date.

### Can a fuel surcharge be wrong even if nobody changed anything?

Yes. A fuel surcharge is a formula tied to a published index. If the contract's reference index moves and the surcharge table on the invoice does not follow it, the charge drifts out of line with the contract even though no one edited a rate.

### Should I dispute a rate schedule violation invoice by invoice or all at once?

Group the dispute by carrier and lane. A rate error on a given lane typically repeats across every shipment on that lane until corrected, so a single credit memo request covering the full period the wrong rate has been in effect is more efficient than disputing one invoice at a time.

### Does a rate schedule violation always mean the carrier is at fault?

Not necessarily. A rate can drift because an addendum was applied to the wrong lane group internally, because a legacy rate survived a renegotiation, or because a contract's index-update mechanism was never triggered on either side. The fix is the same regardless: correct the rate and check the history for repeats.

### What's the difference between a rate schedule violation and a duplicate payment?

A rate schedule violation is a pricing error: the correct invoice for a real shipment billed at the wrong rate. A duplicate payment is a process error: the same valid charge paid more than once. Both are forms of margin drift, but they require different checks and different remediation.

### Is this a legal or contractual dispute I need a lawyer for?

Usually not. Requesting a credit memo against a documented rate schedule mismatch is a commercial dispute handled between AP and the carrier's billing team. This is general information, not legal advice; consult counsel if a carrier disputes the contract terms themselves.

### 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

A rate schedule violation happens when a freight invoice bills a rate that does not match the rate table the carrier agreed to in the contract: a wrong per-mile rate, a stale fuel surcharge percentage, an accessorial fee that was never on the schedule at all. The mechanism is simple. AP systems match an invoice to a purchase order and a receipt of service. They do not hold a copy of the rate schedule, so nothing in the payment workflow ever compares the billed rate to the contracted one. That gap widens when the underlying cost index moves. US Bureau of Labor Statistics data for general freight trucking, long-distance TL (series PCU484121484121) put the August 2026 index at 207.644, up 13.9% year over year, read 2026-09-24. Fuel moved further still: the BLS gasoline commodity index (WPU0571) stood at 319.584 in August 2026, up 46.5% year over year, read the same date. A carrier repricing against real cost movement has every reason to push new rates through billing faster than a shipper pushes a rate schedule addendum through contract administration. What changes it is a control that sits outside the AP workflow and checks the invoice against the actual rate schedule document, line by line, before or after payment. That control has to test four things: the base line-haul rate, the fuel surcharge calculation, the accessorial and surcharge list, and the mode or equipment class billed. Each is checked below.

## 1. What does a rate schedule violation actually look like on an invoice?

A rate schedule violation is any line item priced above, or outside, what the carrier's signed rate schedule allows: a per-mile or per-hundredweight rate higher than the contracted tier, a lane charged at a rate that belongs to a different lane, or a fee applied that the schedule does not list at all. The invoice format looks entirely normal. The rate printed on it is the tell, and it only surfaces when checked against the schedule document itself, not against. The invoice will pass a three-way match without any trouble, because three-way matching checks the invoice against the purchase order and the proof of delivery. It does not open the rate schedule PDF and compare the dollar figure printed on the invoice against the dollar figure in the contract. Those are two separate documents, held in two separate systems, and nothing in a standard AP workflow forces them together. The result is that a wrong rate can repeat for months. A carrier does not need to bill incorrectly on purpose. A rate schedule addendum can be applied to the wrong lane group internally, or a legacy rate can survive in the carrier's own billing system after a renegotiation. Either way, the invoice looks correct until someone lays it next to the actual contract.

## 2. Where in the invoice should you start checking?

Start with the base line-haul rate, because every other charge on the invoice is calculated as a percentage or addition on top of it. Confirm the lane, the equipment type, and the weight or mileage break match the schedule's rate tier exactly, since carriers price by tier and a shipment one weight break off gets a materially different number. Then move to the fuel surcharge line, which is the fastest-changing figure on the invoice. The lane identifier on the invoice has to match the lane definition in the schedule exactly. Carrier rate schedules commonly define lanes by origin and destination zip prefix or by region pair, and an invoice that rounds a zip prefix to the nearest defined lane can pull in the wrong rate without any error being visible on the face of the document. Equipment type matters the same way. A dry van rate and a flatbed rate sit on different rows of the same schedule, and a shipment billed under the wrong equipment class carries the wrong base rate even when every other field on the invoice is accurate. The weight or mileage break works the same way: schedules step up in bands, and a shipment that falls just inside one band but gets billed at the next band's rate is a rate schedule violation, not a rounding difference.

## 3. How do you check the fuel surcharge line specifically?

A fuel surcharge is calculated as a formula, a base index reading times a schedule of percentage tiers, not a flat fee, so checking it means recalculating the formula against the index the contract actually references and the invoice date, not against last month's invoice for comparison. Fuel costs have moved sharply this year, which makes an outdated surcharge percentage table an easy place for a rate schedule violation to persist without anyone noticing the formula itself is wrong. The BLS gasoline commodity index (WPU0571) showed a reading of 319.584 in August 2026, up 46.5% year over year, read 2026-09-24, and diesel-linked surcharge tables move on a similar trajectory. A surcharge schedule that was accurate at signing can be stale within a single quarter if the contract ties the surcharge to a published index and that index has moved. The check itself is arithmetic: take the index value the contract specifies, apply the percentage-per-cent-increment table in the schedule, and compare the result to what the invoice actually charged. A surcharge line that was correct on the invoice date but has not been updated since is a rate schedule violation even though nobody changed anything: the schedule's own formula moved and the invoice did not follow it.

## 4. What accessorial charges commonly carry the wrong rate?

Accessorial charges, detention, liftgate, residential delivery, inside delivery, redelivery, carry their own rate rows in the schedule and drift independently of the base line-haul rate, so checking the base rate correctly tells you nothing about whether the accessorial rows are right. Each accessorial needs its own line-by-line comparison against the schedule, because a carrier's internal billing system can apply a default accessorial rate when the specific negotiated rate is not automatically populated. Getting the base rate right says nothing about the accessorial lines beneath it. Those charges live on separate rows of the schedule and have to be checked separately, invoice by invoice, against the negotiated figure rather than the carrier's default tariff. ### A. Detention and liftgate Detention is billed per hour or per increment after a free time threshold, and both the threshold and the per-hour rate are contract-specific. A carrier's default billing system rate can be higher than a negotiated one, and if the negotiated rate was never loaded into the carrier's own tariff table, the detention charge bills at the wrong rate until someone catches it. Liftgate fees follow the same pattern: a flat charge that either exists on the schedule or does not, and billing systems default to charging it either way. ### B. Delivery accessorials Residential delivery, inside delivery and redelivery fees are frequently flat amounts in the schedule, which makes them easy to compare but also easy to overlook, since they sit at the bottom of the invoice below the freight charges a reviewer actually reads. A separate page on [accessorial charge audit](/insights/accessorial-charge-audit-the-surcharges-nobody-validates) covers this category in more depth.

## 5. Can you catch rate schedule violations without dedicated software?

Yes, with a structured sample: pull a set of invoices for a given carrier and lane, lay the base rate, fuel surcharge and each accessorial line against the current signed rate schedule, and flag any line that does not reconcile. The work is mechanical, not analytical, which makes it suitable for a one-time audit even without ongoing invoice-matching software, though a periodic audit only catches what has already been billed, not what is about to be. A manual review needs the current rate schedule in hand, not the version that was current at contract signing. Carrier agreements typically include a mechanism for periodic rate schedule updates, and reviewing against a stale schedule version produces false negatives on real violations and false positives on legitimate rate changes. The review works best organized by carrier and lane rather than by invoice date. A rate error repeats across every shipment on that lane until it is corrected, and grouping by lane surfaces the pattern in a handful of invoices rather than requiring every invoice to be checked individually. A broader walkthrough of the full review process is covered on how to audit freight and 3PL invoices.

## 6. What should change after a rate schedule violation is found?

Finding one violation means checking the same rate schedule line across every invoice from that carrier for the period it has been in effect, then requesting a credit memo for the difference, not just a correction going forward. It also means confirming which party is responsible for keeping the rate schedule current in the contract, because a rate that has not been updated for a published index change is a different problem than a rate that was simply entered wrong. A credit memo request should cite the specific rate schedule clause and the specific invoice lines it applies to, since a general dispute without that detail is easy for a carrier's billing team to deprioritize. Retroactive correction should cover the full period the wrong rate has been in effect, not just the most recent invoice, because a rate error that has persisted for several months represents a proportionally larger recovery than the single invoice that surfaced it. Going forward, the fix is a standing comparison between the invoice stream and the current rate schedule rather than a one-time correction, since a rate schedule that was fixed once can drift again the next time the contract is amended or the underlying index moves. For the wider pattern this sits inside, start with the [margin drift](/insights/indirect-spend-audit-categories) guide. See also [the six categories drift hides in](/insights/indirect-spend-audit-categories) and [duplicate freight billing and the multi-carrier consolidation problem](/insights/duplicate-freight-billing-and-the-multi-carrier).

## Common questions

### What is a rate schedule violation on a freight invoice?

It is any billed line item that does not match the carrier's signed rate schedule: a line-haul rate above the contracted tier, a lane priced under the wrong tariff, or an accessorial fee the schedule never listed. It happens because AP workflows match invoices to purchase orders and delivery receipts, not to the rate schedule document itself.

### Why doesn't three-way matching catch a rate schedule violation?

Three-way matching compares the invoice to the purchase order and the proof of delivery. It confirms the shipment happened and the quantities agree. It does not open the carrier's rate schedule PDF and compare billed dollar figures against contracted ones, because those two documents live in separate systems.

### How often should a rate schedule be checked against invoices?

The schedule itself can be amended whenever the contract allows, and fuel-linked surcharge tables reference indices that move regularly. A standing comparison between the invoice stream and the current rate schedule, rather than a one-time review, catches drift as it happens rather than after it accumulates.

### What documents do I need to run this check myself?

The current signed rate schedule, not the version in effect at contract signing, plus the invoices you want to test. If the contract ties any charge to a published index, such as a fuel surcharge, you also need the index reading for the invoice date.

### Can a fuel surcharge be wrong even if nobody changed anything?

Yes. A fuel surcharge is a formula tied to a published index. If the contract's reference index moves and the surcharge table on the invoice does not follow it, the charge drifts out of line with the contract even though no one edited a rate.

---

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
