How to track lien waivers across multiple projects without losing your mind

A folder of PDFs stops working the moment you're running more than one job. Here's a system for tracking lien waivers by project, sub, and payment — and where it breaks down.

CL ClearLien · August 25, 2026 · 3 min read

Tracking lien waivers is easy on one job. You’ve got a handful of subs, you know where every waiver stands, and you can hold it all in your head. Run three or four projects at once and that breaks down fast — different draws, different subs, some waivers signed, some outstanding, some for retainage you haven’t released. This is where waivers quietly become a liability.

Why the folder-of-PDFs approach fails

Most GCs start with a shared drive: a folder per project, PDFs inside. It works until it doesn’t. The problems show up predictably:

  • No status. A folder tells you a file exists. It doesn’t tell you which waivers are still unsigned — and unsigned is the only status that matters.
  • No cross-project view. To answer “who still owes me a waiver?” you have to open every folder on every job.
  • No link to payments. Nothing connects a waiver to the payment it’s supposed to cover, so it’s easy to pay a sub and never generate the waiver at all.
  • Retainage gets lost. Progress waivers that carve out retainage need to be reconciled when you finally release it. A folder won’t remind you.

The failure mode is always the same: the waiver that never got collected doesn’t announce itself. You find out at closeout, or when a lien shows up.

What a real tracking system needs

Whether you build it in a spreadsheet or use dedicated software, a workable system tracks waivers along three axes:

  1. By project — every party with lien rights on this job, and where each waiver stands.
  2. By sub/supplier — including the lower-tier suppliers you don’t pay directly but who can still lien.
  3. By payment — each waiver tied to the specific payment and through-date it covers, with retainage carved out.

And crucially, it tracks status, not just existence: draft, sent, signed, closed. The whole value is being able to see, in one glance, what’s outstanding across every job.

The spreadsheet version

If you’re not ready for software, a single spreadsheet beats a pile of folders. Columns: project, sub, payment date, amount, through-date, retainage held, waiver type, status, and a link to the signed PDF. One row per waiver, one sheet across all projects. Sort by status to see what’s outstanding. It’s manual, but at least it answers the important question.

The catch is that a spreadsheet only reflects reality if someone updates it every single time — every payment, every send, every signature. Miss a few updates and it’s lying to you.

Where automation earns its keep

The reason waiver tracking is such a good fit for automation is that the two hardest columns to keep current — was a waiver generated for this payment? and has it been signed? — can be driven by events instead of by hand.

When a waiver is created automatically the moment you pay a bill, the “did we generate it?” column can never fall behind. When signing happens through a tracked link, the status updates itself from sent to signed to closed. The spreadsheet stops being something you maintain and becomes something you just read.

That’s the difference between tracking waivers and chasing them. On one job you can chase. Across four, you need the system to keep itself current — so the only thing left for you to do is glance at what’s still outstanding and nudge the subs who haven’t signed.

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.