NEW 21-day free trial · onboard your first project in a day · cancel anytime Start free

How Do You Manage Retainage on a Construction Job?

The held-back amount lives in a spreadsheet that no longer matches the pay apps, and the retainage release just never gets asked for.

Withhold retainage per line on every draw, accumulate it from the billing itself, and release it explicitly at substantial completion against lien clearance, so the held amount is always right and actually gets recovered.

Start free

What this workflow is

Retainage is the percentage withheld from each progress payment, typically 5 to 10 percent, that the owner holds back as security until the job is substantially complete. Managing it is the work of withholding the right amount on each draw, tracking the accumulating total, and getting it released on schedule.

Why it matters

Retainage is often the entire profit margin sitting unpaid until the end of the job. On a long project it ties up real cash, and if it is tracked separately from the pay app, the held amount drifts from what was actually withheld. Two failure modes hurt: the held total drifting from the billing so nobody trusts the number, and the release simply never happening because it is a step someone has to take, not an automatic event. Either way, money the contractor earned sits unrecovered.

How to do it

  1. Withhold per the contract on each draw
    Each pay application withholds the contract retainage percentage, computed per line, so the held amount is correct line by line.
  2. Accumulate from the billing
    The held amount grows every cycle, and the running total is derived from the sum of what each draw withheld, so it always matches the billing.
  3. Track the held total against the SOV
    The accumulated retainage is tracked against the schedule of values, so the held amount is always reconcilable to the contract.
  4. Trigger release at substantial completion
    Substantial completion is what unlocks the release schedule. Some contracts reduce retainage partway, which is handled at the right milestone.
  5. Release explicitly against lien clearance
    Release is an explicit, operator-initiated action gated on lien-release clearance, never auto-fired by a status flip, so the leverage is preserved.
  6. Recover the final retainage
    Final retainage is released after punch closeout, lien waivers, and warranty requirements are met, recovering the held margin.

Common mistakes

Try
Tracking retainage in a side spreadsheet
Reality
A separate spreadsheet drifts from the pay app. The held total has to be derived from the billing, not maintained by hand, or the two stop matching.
Try
Forgetting the release is a step
Reality
Retainage that nobody asks for sits unpaid indefinitely. The release is an action someone has to take at the right milestone, not an automatic event.
Try
Releasing before lien waivers are in
Reality
Releasing retainage without the lien waivers verified gives up the leverage those waivers represent, exactly when the contractor needs it.
Try
Computing retainage in aggregate
Reality
Withholding a lump percentage instead of per line makes the held amount hard to reconcile against the schedule of values draw by draw.

How Scaftra runs it

Scaftra computes retainage per pay-app line and holds it on each schedule-of-values row, so the held amount is derived from the billing and always matches it. Release is explicit and operator-initiated, never auto-fired by a status flip or turnover, and is gated on lien-release clearance. Turnover unlocks the release but never executes it, so the held margin is recovered deliberately, against verified waivers.

Scaftra derives retainage from the pay app line by line so the held amount always matches the billing, and makes release an explicit step gated on lien clearance, so the margin is recovered deliberately and on time.

Key capabilities

  • Per-line retainage: Retainage is computed per pay-app line and held on each SOV row, so the held amount is reconcilable to the contract draw by draw.
  • Derived held total: The accumulated retainage is derived from the billing, so the held amount always matches what was actually withheld, with no side spreadsheet to drift.
  • Explicit, gated release: Release is operator-initiated and gated on lien-release clearance, never auto-fired, so the leverage of the waivers is preserved.
  • Turnover unlocks, never executes: Substantial completion and turnover unlock the release but do not execute it, so the held margin is recovered as a deliberate action.

Benefits

  • The held amount always matches the billing, because it is derived from it.
  • Release is a deliberate, gated step, so the retainage actually gets recovered.
  • Lien clearance is enforced before release, so the leverage is never given up early.

Who runs this

Commercial GCs on long jobsControllers tracking held funds
  • Commercial GCs on long jobs.Contractors whose margin sits in retainage for months and who need the held amount accurate and recovered on time.
  • Controllers tracking held funds.Finance staff who need retainage reconciled to the schedule of values and released against verified waivers.

Frequently asked questions

What is a typical retainage percentage?
Usually 5 to 10 percent of each progress payment, set by the contract. Some contracts reduce it after the job is partway complete.
When is retainage released?
Release is tied to substantial completion and closeout: punch list closed, lien waivers verified, warranty requirements met. It is a deliberate step, not an automatic event.
Why derive the held amount from the billing?
A side spreadsheet drifts from the pay app. When the held total is derived from the sum of what each draw withheld, it always matches the billing instead of slowly diverging.
Does turnover automatically release retainage in Scaftra?
No. Turnover unlocks the release, but the release itself is an explicit operator-initiated action gated on lien-release clearance, so the held margin is recovered deliberately against verified waivers.

One job. One record. From the field to the books.

Bring one project onto Scaftra. We'll set up your trades, your rooms, your proof chain, and your vendor portal, and connect it to the financial system you already run.