Termco
Termco

Detention Time Never Prints a Ticket

20 August 2026

A loaded truck crosses your scale and a ticket prints whether anyone wants it or not. Gross, tare, net, product code, a timestamp, a serial number. Nobody in the operation decides to create that record. The scale creates it, every load, identically, including on the days when the office is slammed and the scale operator is new.

The same truck reaches the job an hour later and sits 70 minutes at the paver, engine idling, waiting for a crew that fell behind after lunch. Say your haul contract runs detention at $85 an hour after 30 free minutes. That wait is a billable event, as real as the 24 tons in the bed. And nothing prints.

The rule "one ticket, one billable event" usually gets read in a single direction: every ticket should become exactly one correctly billed line. The other direction gets skipped. Every billable event should produce a ticket at the moment it happens, without anyone having to remember it later. Most operations hold tonnage to a machine's standard and leave everything else in the contract to whoever's driving the truck.

The scale is a witness. The clock has none.

Pull out a haul contract or a rate confirmation and count the lines that aren't priced per ton. Detention after free time. Tarp fee. Additional stop. Washout. Diversion miles when dispatch reroutes a load already on the road. A minimum charge for short loads. Somebody sat across a table and negotiated every one of those numbers, and each one is a billable event waiting for its trigger.

Now ask what record each line produces when its trigger actually fires. Tonnage has the scale. The rest have a driver's memory, a text to dispatch, or "in 1:10 out 2:20" in pen on the back of a BOL. A recollection with a pen nearby is not the same thing as a record, and everyone involved in a billing dispute knows it.

Here's the position, and plenty of fleet owners will argue with it: an accessorial clause with no artifact behind it is worth a fraction of its face value, and you'd often do better folding the expected cost of waiting into the haul rate than carrying a detention line you can't document. The usual objection is "we bill detention all the time." Look closely at which detention gets billed, though. It's the two-hour standoffs, the waits long enough to make a driver angry enough to call in. The recurring 40-minute wait at a slow plant clears the contractual threshold every single day and almost never makes it to paper, because no single instance annoys anyone enough to write it down.

What forty quiet minutes cost

Run a hypothetical with round numbers. Paving season, one job, eight trucks cycling between the plant and the paver for three weeks. The plant loads slowly at shift change and the paver falls behind most afternoons, so the average load eats about 40 minutes past free time. At $85 an hour that's roughly $57 a load. Eight trucks turning five loads a day is 40 loads, call it $2,270 a day, and about $34,000 across fifteen working days.

The tonnage on that job will be billed to the penny. The scale saw to that before the first truck left the pit. Whether any of the $34,000 gets billed depends on eight different drivers writing times on paper while a foreman waves them forward. Then on those notes surviving the cab, then on a billing clerk deciding the handwriting is legible enough to invoice a good customer over. Each step is a coin flip, and the clause pays out only when every flip comes up heads.

flowchart TD
  A["Truck waits 70 min at the paver"] --> B{"Times recorded at the event?"}
  B -- "yes, on the ticket" --> C["Billing rule: 40 min past free time x $85/hr"]
  C --> D["$57 line on this week's invoice"]
  B -- "no, driver's memory" --> E["Recalled at month end, maybe"]
  E --> F["Customer asks for proof"]
  F --> G["Settled at half, or dropped"]

Bill it the week it happens, or negotiate it a month later

Timing changes what the same event is worth. Detention that lands on this week's invoice with time in, time out, truck number, and location reads as a bill, and it mostly just gets paid. Detention assembled 30 days later from a driver's recollection reads as a claim. The customer's project manager asks for gate logs you don't have. You produce a BOL with pen on the back. They offer half, and you take half, because the relationship matters more than one line item.

Notice that nothing about the underlying event differed. The truck waited either way. What differed is when the record was created and by what. A contemporaneous record collects; a reconstructed one negotiates. Grain elevators already run on this logic: moisture and dockage print on the grain ticket in the moment, load by load, instead of being argued about at settlement.

Put the clock on the same paper as the tons

The fix is not asking drivers to be more diligent. Drivers have the least incentive in the building to document a wait: writing it down starts an argument with the customer's foreman, and the detention money isn't theirs.

The fix is making the other billable events print the way weight does. The practical version: the times go on the ticket itself, time in and time out, written by whoever's standing there before the truck rolls, because the ticket is the one piece of paper that already reliably travels from the field to billing. Then two rules do the rest. A billing rule computes detention from those two fields against that customer's free time and rate, so nobody decides whether to charge; the arithmetic decides. And a compliance rule says a ticket from a detention-bearing contract that arrives without times isn't invoice-ready, so it gets flagged and chased while the job's still open, the same way a ticket with a missing job number would.

That's the shape of the work Termco does: digitize the ticket, flag the ones missing what their contract requires, and let structured billing rules turn recorded times into invoice lines, so the total reflects every line you negotiated instead of only the ones a machine happened to witness.

There's a simple test for your own contracts. Read the accessorial lines and ask, for each one: what printed the last time this happened? If the honest answer is nothing, that line is a handshake wearing contract clothes, and it's leaking at whatever rate your jobs generate the events it was written to cover.

If you want a second set of eyes, send 10-20 sample tickets to hi@termco.ai and we'll send back what we find within 48 hours.