Termco
Termco

The Five Percent That Outlives the Job

10 November 2026

Say the check from Halvorsen Builders clears at $34,010.45 against an invoice of $35,800.47. Nobody calls about the difference, because the remittance stub explains it in one printed line: retainage, 5 percent. Your bookkeeper posts the cash, notes the open balance, files the stub. The same thing happens on all six invoices for the middle school job, April through September. Your last load of base rock crosses the scale on September 23. By the time that final invoice pays in October, Halvorsen is holding $9,215 of money you billed for work nobody disputes, and your own signature sits on the subcontract that lets him.

The job is done. The trucks are on other work. The $9,215 is now the strangest kind of receivable there is: one that's correct by everyone's math and attached to nothing that will ever ask for it.

The one deduction that trips no alarm

Your office's collection reflexes are built for fights. A short-pay gets a phone call, because somebody disagrees with you and disagreement is loud. A deduction with no explanation gets the file pulled. An invoice aging past terms gets a statement, then a call, then a hold at the gate. Every one of those reflexes is triggered by something being wrong.

Retainage is the only deduction that arrives with your permission. The subcontract says 5 percent, the stub says 5 percent, the arithmetic ties. Nothing is wrong, so nothing fires. The balance posts as open and ages politely, month after month, in a column your AR report was never designed to separate from ordinary lateness. Plenty of offices can't tell you, without an afternoon of digging, how much retention they're owed across all jobs right now. The number exists only as a smear across the aging report, mixed in with the invoices that are merely slow.

The release has no ticket

Your billing runs on one chain, ticket to keyed line to invoice, and you could walk it in your sleep. One ticket, one billable event, one line. Every piece of paper in that chain originates at your window, rides in your trucks, lands on your keying desk. The machine works because the paper comes home.

Retention is the one line in your business that has to bill twice. The first billing worked perfectly: the ticket became a line, the line became an invoice, the invoice became 95 cents on the dollar. The second billing, the retention invoice at closeout, has no ticket behind it. Its trigger is an event in another company's paperwork: substantial completion, the architect's certificate, the owner's acceptance of the building. That event will happen in a trailer you've never visited, get documented in a system you can't see, and send absolutely nothing to your keying desk. No paper arrives, so no line prints. The machine that collected the 95 percent without a single phone call cannot even see the last five.

Now put the five in proportion. Say the school job billed $184,300 and carried a margin around 11 percent, call it $20,000 of profit for the season. The $9,215 Halvorsen holds is nearly half the profit on the job, lent interest-free, for a term you didn't set. If the building reaches acceptance next June, that's nine months. If the owner and the GC spend the spring arguing about the gym floor, it's longer, and their argument extends your loan automatically.

Then comes the decay. The PM who knew your loads moves to another project. The GC's job number closes to new costs. Two years on, your new bookkeeper finds a $9,215 balance on a customer with no activity, can't raise anyone who remembers it, and writes it off in the quiet year-end entry labeled old balance cleanup. The money was never disputed. It was just never asked for by anything.

flowchart TD
  A["Ticket: 23.9 tons of base rock"] --> B["Invoice line prints"]
  B --> C["Pay app approved"]
  C --> D["Check arrives at 95 percent"]
  C --> E["$9,215 retained"]
  E --> F{"What invoices the release?"}
  F -- "nothing: no ticket exists" --> G["Ages, then written off"]
  F -- "retention ledger with a call date" --> H["Retention invoice at acceptance"]

A ton of rock has no punch list

Here's the claim your GC will fight, and maybe your own estimator too: if what you sell crosses a scale, you shouldn't be accepting retainage at all.

Retainage exists to secure performance that continues after payment. The drywall sub can hang a thousand sheets and still owe the job a punch list and a warranty season. Withholding 5 percent keeps him answering the phone. Your base rock has no punch list. It was weighed, dumped, compacted by somebody else, and buried under a building. There's no callback a withheld check could summon you to, which means the retention on a material supplier secures nothing. It's a discount wearing a contract clause.

The objection is honest: it's standard, the subcontract is the GC's paper, and the supplier who argues about clauses loses the bid to the one who signs. Sometimes true. But suppliers negotiate out of retainage, or cap it, more often than the ones who never ask would guess, precisely because the GC's own logic doesn't apply to delivered material. Reduction at 50 percent complete, release at your scope's completion instead of the project's, or no retention on material and 5 percent on freight: all of these are ordinary asks. The reason you're carrying 5 percent on everything is usually that your quote was silent, so his boilerplate spoke. Take it if the job is worth it. Take it on purpose, with the carry cost priced in, instead of by default.

A ledger with a phone date

The fix costs one page. Every job with retention: amount held, date of your last load, the release trigger quoted from the subcontract, and the date somebody calls the PM to ask where the project stands. When the trigger lands, the retention bills like any other receivable, an invoice with a number and terms, not a hopeful note on a statement.

The page needs one input it can trust: billed to date, per job, current, because 5 percent of a stale number is a stale number. That's the slice Termco occupies. Tickets get digitized the day they're written, exactly as written, and each one is checked against your billing rules. Invoice totals assemble per job, so what the GC is holding is arithmetic instead of archaeology. The retention terms you did negotiate live in reference data next to the customer's rates, where the billing desk can see them, instead of on page six of a subcontract in a drawer. Nothing changes at the scale house: same books, same pens. If you want outside eyes on whether your tickets could carry that math, send 10-20 sample tickets to hi@termco.ai and findings come back within 48 hours.

Pull your AR aging tonight and mark every balance that's really retention. Add the column up. That's the loan book you've been running for your customers, at zero percent, with no due dates. The tickets did their job all season. The last five percent was never theirs to collect.