Termco
Termco

Cost Plus Nothing

01 October 2026

The recycler's statement arrives on the 3rd, and it's a beautiful document. Four hundred and twelve gate tickets, every one serial numbered, weighed on a certified scale, priced at the rate you agreed to in March. Your office spot-checks a dozen, finds them clean, and pays the whole thing, because the vendor's paper is complete and arguing with a disposal facility is a losing sport.

Then the same office turns around to rebill those tipping fees to your excavation customer at cost plus 15 percent, per paragraph 6 of the haul contract. The rebill goes out with 379 lines.

Nobody decided to eat 33 gate tickets. The clerk billed every tipping fee she could tie to one of your haul tickets, which is the only honest way to bill them. The other 33 got paid on time and never passed through to anyone.

The safest clause on the page

One ticket, one billable event. A disposal load bends that rule in a way almost nothing else you haul does: it's one event wearing two tickets. Your ticket at the loadout says what left the site. The facility's ticket at the gate says what tipped, and what tipping cost. Neither is a billable line by itself. The event bills only when the halves find each other, and they were printed eleven miles apart by companies that have never compared paper.

Cost plus 15 reads like the clause you can't lose on: no rate to go stale, no estimate to miss. Look again, though, and the clause commits you to a chore. You've promised to run a match, every month, between a vendor's complete stack and your own, and the clause pays exactly as well as the match runs. Paid on their paper, rebilled on your pairings: that's the actual deal, and nobody wrote the second half down.

Where pairs break

Pull last month's orphans and read how each got that way.

Truck 9 tipped at 1:42 on the 14th, says the gate ticket. Your haul tickets show truck 9 parked for a brake job that week, because the driver swapped into it after lunch and didn't tell dispatch. The gate clerk doesn't key your truck numbers anyway; she keys what she sees, and what she sees is GREEN KW, free text. Her ticket carries no job number in any field, because the gate has no reason to care which of your customers' dirt is on the trailer. Her stack exists to get her company paid. Your rebill is nothing but job numbers, and it has to borrow them from a match.

Some orphans were never going to pair. The line at the recycler ran forty minutes deep on the 22nd, so two drivers took their loads to the transfer station across the river instead: $12 a ton more, decided in the cab, recorded nowhere you look. That statement arrives a month later, lands with a different clerk, and rebills, when it rebills at all, at the contracted facility's cheaper rate, because that's the rate the rule knows.

And notice which direction every failure runs. The vendor's side of this ledger has an owner with a motive: they weighed it, they billed it, they'll call you on day 31. Your rebill side has a clerk doing forensics on month-old paper, and her default for anything she can't prove is the only defensible one: don't bill it. Overcharge a customer for a phantom load and you get a phone call and an audit of every line. Eat an orphan and you get silence. The match fails quietly, in one direction, forever.

Price it with your own numbers. Four hundred loads a month at a $95 average tip is $38,000 of pass-through. Say the orphan rate runs 8 percent: 32 tickets, about $3,040 paid and never rebilled, plus the margin that died with it, call it $3,500 a month across an eight-month season. You'd fire somebody over that number if it left as cash. It leaves as cash.

flowchart TD
  A["Loadout: your haul ticket"] --> C{"Do the two tickets pair?"}
  B["Facility gate: their scale ticket"] --> C
  C -- "matched" --> E["Rebill line: tip at cost plus 15%"]
  C -- "orphan" --> F["Paid to the vendor, billed to nobody"]

Make the pair, or don't pay

Here's the claim your controller will fight: an unmatched gate ticket should block the payment run, not only the rebill. Pay paired tickets on sight, and park the orphans in a short-pay letter asking which of these is ours, and from what truck. Your payable is the only leverage the match will ever have, and right now you spend it on the 3rd, before the matching starts.

The pushback is real. You don't short a disposal facility you depend on; they'll put your trucks at the back of the line, or pull your charge account and make every driver carry a card. Fine, pay in full. But then the match you just unhooked from money has to happen somewhere, and the only place left is speed. Pair today's tickets today, while the driver who swapped trucks still remembers swapping and the trip across the river is one radio call old. A one-day orphan is a question. A thirty-day orphan is a write-off with a story attached.

What can't survive is the current shape: pay monthly on their complete stack, match monthly on your stale one, and let the gap ride as a cost of doing business. That's cost plus nothing, applied at whatever rate your orphans run.

Structure does the pairing

None of this asks your clerk to get better at forensics. It moves the match into the paper's own fields.

Both stacks get digitized as they happen: haul tickets at the loadout, gate tickets out of the driver's door pocket the same day, not off a statement on the 3rd. The facilities, their gate rates, and your truck list are reference data, so GREEN KW resolves to truck 9 once, in a table, instead of every month in somebody's head. The pass-through terms, cost plus 15, and which facility each job's material is approved for are billing rules. Then a haul ticket on a disposal job with no paired gate ticket by end of day is non-compliant. So is a gate ticket from a facility the job never approved, flagged while the $12 spread is still a conversation and not a surprise. Customer invoice totals assemble only from pairs that cleared; paying the facility stays wherever it lives today, because none of this machinery touches your payables. That slice is what Termco builds: digitizing the tickets, flagging the ones that break a rule, structuring the billing rules, managing the reference data, assembling the totals. Whether you eat the transfer-station spread or pass it through stays your call. It just gets made on purpose, in a rule.

Count your orphans

The test takes one afternoon. Pull last month's disposal statement and count the tickets. Pull the same month's customer invoices and count the disposal lines you rebilled. Subtract, multiply by your average tip, add your markup. That's one vendor, one month. You already paid it; the only question left is who it belonged to.

If you'd rather have a second reader on it, send 10-20 sample tickets to hi@termco.ai, haul tickets and their gate tickets together especially, and we'll send back what we find within 48 hours.