The lien waiver tracking spreadsheet: the columns that actually matter

Most GC waiver spreadsheets track the wrong things. Here are the twelve columns that make one useful — and the two that no spreadsheet can keep current on its own.

CL ClearLien · September 8, 2026 · 4 min read

Almost every general contractor starts with a spreadsheet, and that’s the right call. A spreadsheet beats a folder of PDFs, it costs nothing, and it forces you to write down what you’re actually tracking. The problem is that most waiver spreadsheets get built in a hurry around the wrong columns — they record which files exist rather than which obligations are open.

Here’s what a workable one looks like.

The twelve columns

One row per waiver, one sheet across every project. Not a tab per job — the whole point is answering “what’s outstanding everywhere?” in one sort.

  1. Project — the job name, matching whatever you call it in your accounting.
  2. Claimant — the sub or supplier signing. Not “the company you paid,” the party with lien rights.
  3. Tier — are they your direct sub, or a supplier underneath one? This is the column everyone skips and later regrets.
  4. Waiver type — conditional or unconditional.
  5. Scope — progress or final.
  6. Payment amount — the amount this waiver covers, in dollars and cents.
  7. Retainage withheld — the amount excluded from the release.
  8. Covered amount — payment minus retainage. Keep it as its own column, not a mental calculation.
  9. Through-date — the date the release runs to. A waiver without one is ambiguous about what it covers.
  10. Payment date / check number — the payment this waiver is tied to.
  11. Status — draft, sent, signed, closed. One value, no side flags.
  12. Signed PDF link — where the executed copy lives.

Bottom line: if a column doesn’t help you answer “what’s still unsigned, and what does it cover?”, it’s decoration. Status and covered amount are the two that earn their place.

Why “status” has to be a single column

The most common way these sheets rot is status sprawl: a “sent?” checkbox, a “signed?” checkbox, a “filed?” checkbox, and a notes column that contradicts all three. Two months in, nobody trusts any of them.

Use one status column with a fixed set of values and a strict order — draft → sent → signed → closed. A waiver is in exactly one state. If you need to know when it moved, add a date column per transition, not another yes/no box.

The retainage column is not optional

If you were paid the invoice minus 10% retainage and your waiver covers the full invoice, you have released rights to money you have not received. That is the single most expensive spreadsheet error in this whole process, and it happens because someone typed the invoice total into the “amount” column without thinking about the carve-out.

Keeping retainage withheld and covered amount as separate, visible columns makes the mistake obvious on the row instead of invisible in the PDF. More on the math in how retainage affects lien waivers.

Where every spreadsheet breaks

Ten of those twelve columns are stable. You fill them in once when the waiver is created and they never change. Two are not:

  • Was a waiver generated for this payment at all?
  • Has it been signed yet?

These two change constantly, and they change as a side effect of something happening somewhere else — you cut a check in QuickBooks, a sub signs on their phone at 7pm. Nothing about those events touches your spreadsheet. Someone has to notice and go type it in.

Miss a few of those updates and the sheet doesn’t just become incomplete — it becomes actively misleading. A row that says “sent” when the sub signed last week is worse than a blank row, because you’ll chase a signature you already have. And the waiver that was never created for a payment simply has no row at all, so it can’t be missing from anything. That’s the one that shows up at closeout.

What to do about it

If you’re staying on the spreadsheet, build one habit around it: reconcile the sheet against your payment register once a week. Every payment to a lien-capable party should have a matching row. That single check catches the failure mode the sheet can’t catch itself.

If you’d rather the two volatile columns maintain themselves, that’s precisely the case for automation. ClearLien drafts the correct waiver the moment you pay a bill in QuickBooks — so the “did we generate it?” column can’t fall behind — and flips status from sent to signed to closed as the signing actually happens. Rules and required forms vary by state; check yours in the lien waivers by state guide. You can also generate a waiver free, retainage carve-out included, and paste the link straight into whichever column you’re keeping.

Stop chasing waivers by hand

Pay the bill in QuickBooks and ClearLien drafts the right waiver and sends it for signature. $99/month, 30-day free trial.

This article is general information, not legal advice or a substitute for advice from a licensed attorney. Lien rules vary by state and change over time — confirm what applies to your project.