# How to write a checkable freight and 3PL contract

> Freight contracts written as prose can't be audited. Here's how to structure rate cards, surcharges, and accessorials so invoices can be checked.

Source: https://valuexpa.com/insights/how-do-you-write-a-freight-and-3pl-contract-that-is-easy-to
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. In freight and 3PL agreements, that gap starts long before the first invoice arrives, in the way the contract itself is written.

A contract negotiated as prose reads well and audits badly. A contract negotiated as a set of schedules, a rate table, an accessorial list, a surcharge index, reads worse and audits in minutes. The difference is not legal sophistication. It is whether every clause resolves to a number an AP clerk can check.

## Executive Summary

A freight contract that cannot be checked against an invoice is not a control, it is a document. Freight agreements state a base linehaul rate clearly and leave everything else, accessorial definitions, fuel surcharge mechanics, minimum charges, in prose that a carrier's billing system interprets one way and an AP team interprets another. That gap is where [margin drift](/guides/indirect-spend-audit-categories) lives.

The mechanism is structural, not adversarial. A rate card written as a schedule tied to lane, weight break and accessorial code can be matched by a clerk or a system in minutes. A rate card written as narrative, additional charges may apply for detention or special handling as reasonably determined, cannot be matched at all, because there is no fixed value to test the invoice against. The fix is to write the contract as a lookup table from the outset: every accessorial named, every trigger condition stated as a yes-or-no test, every index-linked charge naming its source and reset date.

Treating the contract as the audit's input, not its backdrop, is what changes this. A shipper who defines the rate card, the fuel surcharge table and the accessorial list as structured exhibits gets a contract a three-way match can actually test. That does not eliminate drift. It converts drift from a dispute about interpretation into a checkable discrepancy.

## 1. What makes a freight contract auditable in the first place?

**A freight contract is auditable when every charge on an invoice can be traced to a single, unambiguous line in the agreement: a rate by lane and weight break, an accessorial by name and trigger, a surcharge by index and reset date. If a clause requires judgment to apply, for example "reasonable detention charges," it cannot be checked, only argued about. Auditability is a property of the contract's structure, not its length or its legal quality, and it can be.**

The test is simple: hand the contract to someone who has never seen the lane and ask them to compute what a specific invoice should cost. If they can produce a number without calling anyone, the contract is structured correctly. If they have to ask what "special handling" means, or when detention starts counting, the contract has left a decision inside the invoice instead of inside the agreement.

This matters because AP review works from documents, not intent. A clerk matching an invoice against a contract is running a lookup, not adjudicating a dispute. A clause that requires interpretation becomes a clause that sits unchecked, because checking it costs more than the line item is worth.

A contract can be legally sound and still fail this test. Legal sufficiency and operational checkability are different properties, and freight agreements are frequently drafted for the first without being built for the second.

## 2. How should the base rate card be structured?

**The base rate card should be a table, not a paragraph: one row per lane or lane band, one column per weight break or equipment type, with the resulting rate stated as a number. Any rate that depends on a formula, a fuel adjustment or a volume tier should reference that mechanism by name in the same row, not describe it separately in narrative elsewhere in the agreement where it can drift out of sync with the table.**

A lane-and-weight-break matrix lets an AP team look up exactly what a shipment should cost before the invoice even arrives, which turns invoice review into confirmation rather than investigation.

Where rates vary by volume commitment, the tier boundaries and the rate at each tier need to sit in the same table as the base rate, not in a separate volume rebate clause. Splitting the two invites the table and the clause to disagree after the first amendment, and the disagreement surfaces only when an audit finds it.

Equipment type, dry van, reefer, flatbed, changes cost structure enough that it deserves its own column or its own table rather than a footnote. A contract that handles equipment variation in a footnote signals that the footnote is optional reading, which is how a wrong rate survives unchallenged.

## 3. Which accessorial charges need explicit definitions?

**Every accessorial that can appear on an invoice, detention, redelivery, liftgate, residential delivery, layover, needs its own line stating the trigger condition, the free time allowed, the rate, and any cap. A generic clause covering "other reasonable charges" should not exist; if a charge type is not named, it should not be billable, because an unnamed accessorial cannot be checked against anything on the invoice.**

Detention is the clearest example. A workable clause names the free time in minutes, the point at which the clock starts, who records the start and stop time, and the rate per unit of time after that. Leave out any one of those four and the charge cannot be verified from the paperwork the carrier actually provides.

Redelivery and residential delivery charges need the trigger stated as a fact about the shipment, wrong address, no appointment kept, residential zip code, rather than as a judgment call made after the fact.

A cap or a daily maximum on any per-unit accessorial protects against a single clerical error compounding into a large invoice. Naming caps in the same row as the trigger and rate keeps the whole accessorial checkable from one place instead of three.

### A. Detention and demurrage

State free time in minutes, the start trigger (arrival at dock, not appointment time), who timestamps it, and the per-unit rate after free time expires. Without a named timestamp source, detention becomes unverifiable by the time the invoice arrives, because the only record of arrival time lives in the carrier's own system.

### B. Redelivery and address-correction fees

Tie the fee to a fact recorded on the delivery attempt, a failed delivery scan, a corrected address on the bill of lading, rather than to the carrier's own account of what happened. A fact-based trigger can be checked against a delivery record; a narrative trigger can only be checked against the carrier's own assertion.

## 4. How should fuel surcharges be indexed to stay checkable?

**A fuel surcharge clause needs to name its index source, its lookup date relative to the invoice date, and the exact table or formula converting the index value into a surcharge percentage. Per US EIA weekly diesel data and the BLS Producer Price Index for Gasoline, not seasonally adjusted (WPU0571, July 2026 index 302.759, up 37.1% year over year, read 2026-09-06), fuel input costs move enough that an unindexed or vaguely indexed surcharge clause drifts from its own.**

The surcharge table itself, the percentage charged at each index band, needs to be an exhibit, not a sentence. A sentence like "fuel surcharge adjusts periodically based on market conditions" gives the carrier's billing system discretion the shipper never agreed to.

The lookup date matters as much as the index. A clause that does not state whether the surcharge uses the index value at ship date, invoice date, or some trailing average leaves room for the carrier to apply whichever value produces a higher charge, and there is no way to catch that after the fact without knowing which date the contract intended.

When the index source changes or is discontinued, which happens, the contract should name a fallback source in advance rather than leaving the parties to negotiate a replacement after a surcharge dispute is already underway.

## 5. What documentation obligations belong in the contract itself?

**The contract should require, as a condition of payment, that every accessorial charge arrive with the specific proof that makes it checkable: a timestamped detention log, a signed delivery exception, a weight ticket for a reweigh. Without a stated documentation requirement, the carrier has no obligation to provide the evidence an audit needs, and a clean-looking invoice becomes unverifiable rather than merely unverified.**

Naming the required document for each charge type gives the payment condition teeth. If a detention charge cannot be paid without a timestamped log, the carrier has a reason to keep one and send it, rather than to estimate a duration after the fact.

This is where the contract and the [invoice-to-contract match](/guides/accessorial-charge-audit-the-surcharges-nobody-validates) actually meet. An auditor testing a detention charge needs to compare a rate, a duration, and a log entry to three separate numbers. If the contract never required the log, the third number does not exist, and the charge can neither be confirmed nor disproven.

A short table listing charge type against required document, alongside the rate card and accessorial exhibits, gives both sides a shared checklist rather than a point of ongoing negotiation every time a dispute comes up.

Matching each accessorial charge to the proof required before payment.

| Charge type
| Required document
| What it verifies

| Detention
| Timestamped arrival and departure log
| Duration billed matches actual dwell time

| Redelivery
| Signed delivery exception or failed-scan record
| Redelivery attempt actually occurred

| Reweigh
| Certified weight ticket
| Billed weight break is correct

| Liftgate
| Delivery notes confirming equipment use
| Charge corresponds to an actual service performed

## 6. Should a freight contract state its own audit rights explicitly?

**Yes. A clause granting the right to request underlying shipment records, timestamps, and rate calculations for any invoice, within a stated window, removes the ambiguity that otherwise surfaces only when a dispute is already underway. Absent that clause, a carrier can treat a records request as a courtesy rather than an obligation, which slows or blocks the exact verification the rest of the contract's structure was built to support.**

An audit rights clause is only useful if it is specific: which records, requested how, within what window, and what happens if they are not produced. A generic right to audit "upon reasonable request" carries the same weakness as a generic accessorial clause, because reasonableness becomes the argument instead of the recordable fact.

Stating a response window, for example ten business days, gives the AP team a deadline to build a review calendar around rather than an open-ended wait.

This clause does the least work of any covered here, but it is the one that makes the rest enforceable in practice rather than only on paper. A rate card, an accessorial exhibit and a surcharge table only produce checkable numbers if the underlying shipment records can actually be obtained; the audit rights clause is what guarantees they can be.

## 7. What should a shipper do if the existing contract was not written this way?

**An existing contract does not need to be renegotiated from scratch to become checkable. Most of the fixes described here, naming index sources, adding documentation requirements, splitting rate tables from narrative clauses, can be added as an amendment or a side letter at the next renewal without reopening the commercial terms. The immediate step is to list every clause that currently requires judgment rather than lookup, and treat that list as the amendment agenda.**

Renewal is the natural point to make this change, because both sides are already reviewing the agreement and neither is trying to win a live dispute. Bringing a structured rate card, accessorial exhibit and surcharge table to that conversation reframes the request as clarity rather than as a concession.

Where renewal is far off, a side letter that defines ambiguous terms, adds a documentation requirement, or states an audit rights window can close the largest gaps without touching pricing at all.

Either path starts with the same inventory: read the existing contract clause by clause and mark every place where an AP clerk would have to guess, ask, or accept the carrier's own account. That list is the actual scope of the fix.

For the wider pattern this sits inside, start with the [margin drift](/guides/indirect-spend-audit-categories) guide.

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

### Does a checkable freight contract cost more to negotiate than a standard one?

It costs more negotiating time up front, because rate tables and accessorial exhibits have to be built and agreed line by line instead of accepted as boilerplate. It does not require paying a higher rate. The structure is about how a price is expressed, not what the price is.

### Can an existing carrier relationship be moved to a structured contract without a full rebid?

Yes. An amendment or side letter can convert narrative clauses into a rate table, accessorial exhibit and surcharge index without changing the carrier or reopening the commercial rate. Renewal is the natural point to do it, since both sides are already reviewing terms.

### Who should own writing the rate card and accessorial exhibits, procurement or AP?

Procurement typically negotiates the commercial terms, but AP is the team that has to check invoices against the contract every month. Drafting the exhibits with AP input ensures the structure matches how invoices actually arrive and what a clerk can realistically verify.

### What happens if a carrier refuses to itemize accessorial charges in a rate schedule?

That refusal is itself useful information: it signals the carrier prefers discretion over a fixed, checkable rate. A shipper can still require documentation as a condition of payment for any accessorial that stays undefined, which limits exposure even without a full rate table.

### Does a three-way match already catch these problems without a rewritten contract?

Three-way matching checks the invoice against the purchase order and receipt. It does not test whether a fuel surcharge used the correct index date or whether a detention charge matches a timestamped log, because those checks require the contract to state a testable value in the first place.

### How often should the fuel surcharge index and lookup date be reviewed?

There is no fixed cadence in the registry to cite, but the index source and lookup date should be reviewed whenever the underlying index is renamed, discontinued, or restructured, and at every contract renewal, so the surcharge clause never references a source that no longer exists.

### Is a structured rate card enough on its own, or does it need the documentation clause too?

Both are needed. A rate table defines what a charge should be; the documentation clause is what supplies the evidence to test whether the invoiced charge actually matches it. A rate table without required documentation still leaves the underlying facts unverifiable.

### What is the difference between a checkable contract and an audit right?

A checkable contract states every charge as a testable value. An audit right is the separate, explicit permission to request the underlying shipment records needed to test those values. A contract can be well structured and still lack an audit rights clause, which leaves the records themselves optional to produce.

### 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 freight contract that cannot be checked against an invoice is not a control, it is a document. Freight agreements state a base linehaul rate clearly and leave everything else, accessorial definitions, fuel surcharge mechanics, minimum charges, in prose that a carrier's billing system interprets one way and an AP team interprets another. That gap is where [margin drift](/guides/indirect-spend-audit-categories) lives. The mechanism is structural, not adversarial. A rate card written as a schedule tied to lane, weight break and accessorial code can be matched by a clerk or a system in minutes. A rate card written as narrative, additional charges may apply for detention or special handling as reasonably determined, cannot be matched at all, because there is no fixed value to test the invoice against. The fix is to write the contract as a lookup table from the outset: every accessorial named, every trigger condition stated as a yes-or-no test, every index-linked charge naming its source and reset date. Treating the contract as the audit's input, not its backdrop, is what changes this. A shipper who defines the rate card, the fuel surcharge table and the accessorial list as structured exhibits gets a contract a three-way match can actually test. That does not eliminate drift. It converts drift from a dispute about interpretation into a checkable discrepancy.

## 1. What makes a freight contract auditable in the first place?

A freight contract is auditable when every charge on an invoice can be traced to a single, unambiguous line in the agreement: a rate by lane and weight break, an accessorial by name and trigger, a surcharge by index and reset date. If a clause requires judgment to apply, for example "reasonable detention charges," it cannot be checked, only argued about. Auditability is a property of the contract's structure, not its length or its legal quality, and it can be. The test is simple: hand the contract to someone who has never seen the lane and ask them to compute what a specific invoice should cost. If they can produce a number without calling anyone, the contract is structured correctly. If they have to ask what "special handling" means, or when detention starts counting, the contract has left a decision inside the invoice instead of inside the agreement. This matters because AP review works from documents, not intent. A clerk matching an invoice against a contract is running a lookup, not adjudicating a dispute. A clause that requires interpretation becomes a clause that sits unchecked, because checking it costs more than the line item is worth. A contract can be legally sound and still fail this test. Legal sufficiency and operational checkability are different properties, and freight agreements are frequently drafted for the first without being built for the second.

## 2. How should the base rate card be structured?

The base rate card should be a table, not a paragraph: one row per lane or lane band, one column per weight break or equipment type, with the resulting rate stated as a number. Any rate that depends on a formula, a fuel adjustment or a volume tier should reference that mechanism by name in the same row, not describe it separately in narrative elsewhere in the agreement where it can drift out of sync with the table. A lane-and-weight-break matrix lets an AP team look up exactly what a shipment should cost before the invoice even arrives, which turns invoice review into confirmation rather than investigation. Where rates vary by volume commitment, the tier boundaries and the rate at each tier need to sit in the same table as the base rate, not in a separate volume rebate clause. Splitting the two invites the table and the clause to disagree after the first amendment, and the disagreement surfaces only when an audit finds it. Equipment type, dry van, reefer, flatbed, changes cost structure enough that it deserves its own column or its own table rather than a footnote. A contract that handles equipment variation in a footnote signals that the footnote is optional reading, which is how a wrong rate survives unchallenged.

## 3. Which accessorial charges need explicit definitions?

Every accessorial that can appear on an invoice, detention, redelivery, liftgate, residential delivery, layover, needs its own line stating the trigger condition, the free time allowed, the rate, and any cap. A generic clause covering "other reasonable charges" should not exist; if a charge type is not named, it should not be billable, because an unnamed accessorial cannot be checked against anything on the invoice. Detention is the clearest example. A workable clause names the free time in minutes, the point at which the clock starts, who records the start and stop time, and the rate per unit of time after that. Leave out any one of those four and the charge cannot be verified from the paperwork the carrier actually provides. Redelivery and residential delivery charges need the trigger stated as a fact about the shipment, wrong address, no appointment kept, residential zip code, rather than as a judgment call made after the fact. A cap or a daily maximum on any per-unit accessorial protects against a single clerical error compounding into a large invoice. Naming caps in the same row as the trigger and rate keeps the whole accessorial checkable from one place instead of three. ### A. Detention and demurrage State free time in minutes, the start trigger (arrival at dock, not appointment time), who timestamps it, and the per-unit rate after free time expires. Without a named timestamp source, detention becomes unverifiable by the time the invoice arrives, because the only record of arrival time lives in the carrier's own system. ### B. Redelivery and address-correction fees Tie the fee to a fact recorded on the delivery attempt, a failed delivery scan, a corrected address on the bill of lading, rather than to the carrier's own account of what happened. A fact-based trigger can be checked against a delivery record; a narrative trigger can only be checked against the carrier's own assertion.

## 4. How should fuel surcharges be indexed to stay checkable?

A fuel surcharge clause needs to name its index source, its lookup date relative to the invoice date, and the exact table or formula converting the index value into a surcharge percentage. Per US EIA weekly diesel data and the BLS Producer Price Index for Gasoline, not seasonally adjusted (WPU0571, July 2026 index 302.759, up 37.1% year over year, read 2026-09-06), fuel input costs move enough that an unindexed or vaguely indexed surcharge clause drifts from its own. The surcharge table itself, the percentage charged at each index band, needs to be an exhibit, not a sentence. A sentence like "fuel surcharge adjusts periodically based on market conditions" gives the carrier's billing system discretion the shipper never agreed to. The lookup date matters as much as the index. A clause that does not state whether the surcharge uses the index value at ship date, invoice date, or some trailing average leaves room for the carrier to apply whichever value produces a higher charge, and there is no way to catch that after the fact without knowing which date the contract intended. When the index source changes or is discontinued, which happens, the contract should name a fallback source in advance rather than leaving the parties to negotiate a replacement after a surcharge dispute is already underway.

## 5. What documentation obligations belong in the contract itself?

The contract should require, as a condition of payment, that every accessorial charge arrive with the specific proof that makes it checkable: a timestamped detention log, a signed delivery exception, a weight ticket for a reweigh. Without a stated documentation requirement, the carrier has no obligation to provide the evidence an audit needs, and a clean-looking invoice becomes unverifiable rather than merely unverified. Naming the required document for each charge type gives the payment condition teeth. If a detention charge cannot be paid without a timestamped log, the carrier has a reason to keep one and send it, rather than to estimate a duration after the fact. This is where the contract and the [invoice-to-contract match](/guides/accessorial-charge-audit-the-surcharges-nobody-validates) actually meet. An auditor testing a detention charge needs to compare a rate, a duration, and a log entry to three separate numbers. If the contract never required the log, the third number does not exist, and the charge can neither be confirmed nor disproven. A short table listing charge type against required document, alongside the rate card and accessorial exhibits, gives both sides a shared checklist rather than a point of ongoing negotiation every time a dispute comes up. Matching each accessorial charge to the proof required before payment. | Charge type | Required document | What it verifies | | --- | --- | --- | | Detention | Timestamped arrival and departure log | Duration billed matches actual dwell time | | Redelivery | Signed delivery exception or failed-scan record | Redelivery attempt actually occurred | | Reweigh | Certified weight ticket | Billed weight break is correct | | Liftgate | Delivery notes confirming equipment use | Charge corresponds to an actual service performed |

## 6. Should a freight contract state its own audit rights explicitly?

Yes. A clause granting the right to request underlying shipment records, timestamps, and rate calculations for any invoice, within a stated window, removes the ambiguity that otherwise surfaces only when a dispute is already underway. Absent that clause, a carrier can treat a records request as a courtesy rather than an obligation, which slows or blocks the exact verification the rest of the contract's structure was built to support. An audit rights clause is only useful if it is specific: which records, requested how, within what window, and what happens if they are not produced. A generic right to audit "upon reasonable request" carries the same weakness as a generic accessorial clause, because reasonableness becomes the argument instead of the recordable fact. Stating a response window, for example ten business days, gives the AP team a deadline to build a review calendar around rather than an open-ended wait. This clause does the least work of any covered here, but it is the one that makes the rest enforceable in practice rather than only on paper. A rate card, an accessorial exhibit and a surcharge table only produce checkable numbers if the underlying shipment records can actually be obtained; the audit rights clause is what guarantees they can be.

## 7. What should a shipper do if the existing contract was not written this way?

An existing contract does not need to be renegotiated from scratch to become checkable. Most of the fixes described here, naming index sources, adding documentation requirements, splitting rate tables from narrative clauses, can be added as an amendment or a side letter at the next renewal without reopening the commercial terms. The immediate step is to list every clause that currently requires judgment rather than lookup, and treat that list as the amendment agenda. Renewal is the natural point to make this change, because both sides are already reviewing the agreement and neither is trying to win a live dispute. Bringing a structured rate card, accessorial exhibit and surcharge table to that conversation reframes the request as clarity rather than as a concession. Where renewal is far off, a side letter that defines ambiguous terms, adds a documentation requirement, or states an audit rights window can close the largest gaps without touching pricing at all. Either path starts with the same inventory: read the existing contract clause by clause and mark every place where an AP clerk would have to guess, ask, or accept the carrier's own account. That list is the actual scope of the fix. For the wider pattern this sits inside, start with the [margin drift](/guides/indirect-spend-audit-categories) guide.

## Common questions

### Does a checkable freight contract cost more to negotiate than a standard one?

It costs more negotiating time up front, because rate tables and accessorial exhibits have to be built and agreed line by line instead of accepted as boilerplate. It does not require paying a higher rate. The structure is about how a price is expressed, not what the price is.

### Can an existing carrier relationship be moved to a structured contract without a full rebid?

Yes. An amendment or side letter can convert narrative clauses into a rate table, accessorial exhibit and surcharge index without changing the carrier or reopening the commercial rate. Renewal is the natural point to do it, since both sides are already reviewing terms.

### Who should own writing the rate card and accessorial exhibits, procurement or AP?

Procurement typically negotiates the commercial terms, but AP is the team that has to check invoices against the contract every month. Drafting the exhibits with AP input ensures the structure matches how invoices actually arrive and what a clerk can realistically verify.

### What happens if a carrier refuses to itemize accessorial charges in a rate schedule?

That refusal is itself useful information: it signals the carrier prefers discretion over a fixed, checkable rate. A shipper can still require documentation as a condition of payment for any accessorial that stays undefined, which limits exposure even without a full rate table.

### Does a three-way match already catch these problems without a rewritten contract?

Three-way matching checks the invoice against the purchase order and receipt. It does not test whether a fuel surcharge used the correct index date or whether a detention charge matches a timestamped log, because those checks require the contract to state a testable value in the first place.

---

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
