Image: MSC IRINA TRIVANDRUM PORT HD by Giridharseeman, licensed under CC0 1.0.
Your freight audit was built on truckload. It matches a rate to a lane, a lane to a load, and a load to one invoice from one carrier. Point that logic at an ocean invoice and the match rate falls through the floor.
The usual diagnosis is that ocean data is messier. It is not a data quality problem. Every structural assumption road audit rests on is false for containers, and the audit fails the way a key fails in the wrong lock.
The load is not the unit of work
On a truckload move the load is the atom. One tender, one trailer, one bill of lading, one invoice, and every charge on that invoice belongs to the same object. Reconciliation means finding the other end of a one-to-one relationship.
Containerised freight has no such atom. A booking covers a quantity. A bill of lading covers a set of containers that may not be the set the booking opened with. One box carries a single shipper's cargo under FCL and a dozen house bills under LCL. Charges attach at whichever grain their originator uses: ocean freight and terminal handling per container, documentation per bill of lading, LCL freight per revenue ton against whichever of weight or measurement runs higher.
Then the sailing moves. Equipment rolls to the next vessel, the booking splits, and half the shipment arrives three weeks after the paperwork says it should. By the time the invoices land there is nothing left for "match the invoice to the load" to point at.
There is no lane rate
Road procurement produces an answer you can look up. Origin, destination, equipment type, and the routing guide returns a number.
Ocean pricing returns a construction. A service contract sets a base rate for a trade lane against a minimum quantity commitment, and that base is then surrounded by surcharges moving on their own schedules: bunker adjustment, peak season, general rate increases, terminal handling, security, low sulphur, chassis, congestion. Each carries its own effective date, its own governing document, and its own definition of which shipments it catches.
So a line item can match the contracted base to the cent and still be wrong, because the general rate increase applied to it took effect after the vessel sailed. A check that returns "matches contract" has answered a question about one component of the charge and said nothing about the rest.
Nobody is the carrier of record
Road gives you one counterparty per load. Ocean gives you a queue of them, each billing separately against the same container number: the vessel operator, the NVOCC that sold you the space, the marine terminal, the drayman, the customs broker, the depot that took the empty back.
That ambiguity now has a legal shape. On September 23, 2025, in World Shipping Council v. Federal Maritime Commission, the D.C. Circuit vacated 46 CFR 541.4, the provision of the FMC's billing rule that defined who may be invoiced for demurrage and detention. The court found the Commission's categorical bar on billing motor carriers arbitrary when set beside its blanket allowance for consignees. Holland & Knight's analysis of the decision notes that the question of which parties may properly be invoiced is once again unregulated.
For an auditor, that means a duplicate stops looking like a duplicate. Two parties billing the same free time on the same box is a defensible pair of invoices under current law. Working out which one you actually owe requires knowing the contractual chain behind that container, and no rate table carries it.
What a six-way match has to cover
Road audit is usually described as a four-way match: contract rate, shipment record, execution evidence, invoice. Containers need six legs, and the two extra ones carry most of the money.
| Leg | Road | Ocean |
|---|---|---|
| Rate | Lane rate from the routing guide | Contract base plus every surcharge in force on the sailing date |
| Shipment record | One bill of lading | Booking, master bill, house bills, and the container list that changed between them |
| Execution evidence | Pickup and delivery timestamps | Discharge, availability, gate out, gate in and empty return, per box |
| Free time | One clause, one carrier | Carrier clause and terminal tariff, which differ and both apply |
| Holds and exams | Not applicable | Customs exam, freight hold, terminal hold, each running its own clock |
| Billing parties | One carrier | Every party raising a charge against the same container number |
The invoice is supposed to prove itself
Ocean has one advantage road does not. The regulator has already written down what a demurrage or detention invoice must contain. Under 46 CFR 541.6 the billing party owes you the bill of lading and container numbers, the port of discharge, the basis for why you are the proper party of interest, the allowed free time in days with its start and end dates, the container availability date on imports and the earliest return date on exports, the specific dates charged, the governing tariff or contract rule and its rate, and a route to dispute the charge. The rule also requires a statement that the billing party's own performance did not cause or contribute to what it is billing you for.
Read that as an audit checklist rather than a compliance obligation and it names the fields to test. The same rule requires the invoice inside thirty calendar days of the last day charged, and ties your obligation to pay to whether the required information actually arrived. Our earlier post on detention evidence covers the road side, where no comparable standard exists. On containers the fields are specified for you, and most teams still approve without checking whether they came.
Days are the product
Demurrage and detention are priced per day, so the audit question reduces to a count, and a count is unusually sensitive to small errors. The Pacific Merchant Shipping Association reported that containers leaving Los Angeles and Long Beach terminals by truck averaged 2.59 days of dwell in April 2026, with rail-bound containers at 5.06 days, up from 4.41 days in March, figures carried by FreightWaves in May 2026.
Averages that close to a typical free time allowance mean one day decides whether a container is billed at all. A timezone boundary, a weekend the tariff excludes, a holiday the terminal observes while the carrier's clock does not: each is worth a day multiplied by every box in the shipment.
The day that gets billed is frequently not yours either. A container pulled for a customs exam, sitting behind a freight hold the carrier itself placed, or buried in a stack the terminal could not work, accrued time for a reason the clause does not charge you for.
What Penny does on a container
Penny audits at container grain rather than invoice grain. She assembles every charge any party has raised against a box, binds each line to the document that governed it on the date it applies, and rebuilds free time from terminal and carrier events instead of the dates printed on the bill.
Then she attributes. Every billed day gets a cause, and days traceable to an exam, a carrier hold or a terminal condition come out of the charge with the evidence already attached. Where a field required by 541.6 is absent, she says so before the payment runs rather than six weeks after. Chase supplies the execution trail the count is built from, which is why the two agents are hard to separate on ocean work.
Where to start this month
Take twenty import containers your team approved last quarter and list every invoice raised against each number, from every party. Three questions will do most of the work. Did any surcharge take effect after the vessel sailed? Does the free time window on the invoice agree with the terminal's availability date? Is any single day billed twice by two different parties?
If your current audit cannot answer those from files it already holds, it is not auditing ocean. It is auditing road and hoping containers behave.
Book a walkthrough to see Penny run a six-way match against your own container invoices.
