Ask a small carrier where the money leaks and detention comes up fast. Not because the rate is wrong — because the charge never makes it onto an invoice.
The pattern is always the same. A driver sits four hours at a receiver. He mentions it on the phone. Dispatch is already three loads deep and makes a note to sort it out later. Later arrives, nobody can say exactly when the truck rolled in, and the broker asks for proof nobody captured. The charge quietly dies.
That is not a billing problem. It is a paperwork problem that turns into a billing problem.
Detention is commercial, not statutory
This is the part worth being precise about, because it changes how you should handle it: in the US there is no statutory detention rate. Detention is a commercial term. It is worth what your rate confirmation says it is worth, and nothing more.
That cuts both ways. Nobody owes you detention by default. But equally, nothing stops you from agreeing a rate and free-time window in advance and holding a customer to it — as long as it is in writing before the truck rolls.
Which means the negotiation happens at booking, not at invoicing. By the time the driver is sitting in a dock, your leverage is gone.
Get three things into the rate confirmation
Before the load is accepted, the rate con should say:
- How much free time. Two hours, three, whatever you agree — but a number.
- What the rate is after that. Per hour, per fraction of an hour, and whether it caps out.
- When the clock starts. Arrival at the gate? Check-in at the guard shack? Appointment time, even if the truck was early? This is where most disputes actually live, and it is the cheapest thing in the world to settle in advance.
If a broker will not put those in writing, that is information. It does not necessarily mean you decline the load. It means you price the risk of sitting into the linehaul rate instead, and you do that with your eyes open.
Capture the times when they happen
The charge lives or dies on evidence, and evidence has to be captured in the moment. A time your driver types in when he remembers, two days later, is not evidence — it is a recollection, and a broker is entitled to treat it that way.
What holds up is a record created at the event: an arrival timestamp tied to the load, a departure timestamp tied to the same load, and ideally something corroborating from telematics or a signed document. You are not trying to win a court case. You are trying to make the charge boring and expected rather than a surprise line item someone has to go argue about internally.
The practical test: could you produce the arrival and departure times for any load from last month in under a minute, without calling the driver? If not, that is the gap.
Bill it consistently or stop offering it
The failure mode that costs the most is inconsistency. Carriers bill detention when it is egregious and eat it when it is marginal, which sounds reasonable and is actually corrosive. It teaches your customers that the charge is negotiable, so the one time you do hold the line, it reads as opportunistic rather than routine.
Pick a policy. Apply it to every load. A customer who knows detention will appear on the invoice every single time is a customer who starts managing their dock — which is the outcome you actually wanted.
The same logic covers the rest of the accessorials
Detention is the one people talk about, but layover, TONU, driver assist, extra stops, and lumper reimbursement all follow the same shape: agreed in writing, captured at the time, billed consistently.
TONU is worth a specific mention because it is the one most often skipped. A truck that was dispatched and then stood down still consumed a slot, fuel, and a driver's hours. If your rate confirmation is silent on it, you absorb that.
Where the software fits
This is squarely what a dispatch system should be doing for you: recording arrival and departure against the load as they happen, holding the agreed accessorial terms alongside the rate, and carrying both onto the invoice without anyone re-keying them.
In TFS Fleet, stop check-in and check-out times are captured against the load, and the invoice is built from the load record rather than assembled by hand — so an accessorial that was agreed and captured does not depend on someone remembering it at month end. That is the whole trick: make billing the default rather than an act of diligence.
See Dispatch & TMS and Accounting & Factoring for how those two halves connect.
The short version
Detention is not free money and it is not a lost cause. It is a commercial term that pays out only if you agree it in advance, prove it at the time, and bill it every time. Miss any one of those three and you are donating hours to your customer's dock schedule.