Guides / Tools by industry

How to track subcontractor certificates of insurance and lien waivers

By Jason Samir Santiago, founder · Updated 2026-10-18 · 8 min read

The short answer

Track subcontractor paperwork by giving each sub one record with their certificate of insurance, policy dates and limits, W-9 and any required endorsements, and logging a lien waiver against every payment on every job. Then have the tracker remind subs before a policy expires and hold a payment until the matching waiver and a current certificate are on file.

To track subcontractor certificates of insurance and lien waivers, give every sub one record holding their current certificate, each policy's dates and limits, the endorsements your contract requires, their W-9 and their license, and log a lien waiver against every payment on every job. Then let the tracker do the two things people forget: remind the sub and your office before any policy expires, and hold a payment until a current certificate and the matching waiver are on file. That replaces the shared inbox full of PDFs, the spreadsheet with dates nobody trusts, and the Friday scramble to find out whether the drywall sub's insurance is still good before the check goes out.

General contractors carry real exposure when this slips. An uninsured sub's accident can land on your policy. A missing waiver can leave an owner facing a lien for work you already paid for. And when an owner, lender or auditor asks for the paperwork, someone has to dig.

Why spreadsheets and inboxes fail at this

  • Expiration dates hide. A certificate that was current in January expires in June, and nothing tells anyone.
  • Payments and paperwork are separate. Accounting pays the invoice; the project admin chases waivers. Nobody connects the two.
  • Versions multiply. Three certificates for the same sub in three email threads, and nobody knows which is current.
  • Requirements vary by job. One owner requires higher limits or specific additional insured wording; another does not.
  • It is pure chasing. Asana's Anatomy of Work research reports that workers spend 60% of their time on "work about work," like chasing status. Subcontractor paperwork is almost entirely that.

What the tracker should contain

The subcontractor record

  • Company name, trade, main contact, phone and email.
  • W-9 on file, with date received.
  • Trade license number, state and expiration date, where licensing applies.
  • Status: approved, pending documents, on hold, or inactive.
  • Notes, such as preferred jobs or past issues.

Insurance

Each policy gets its own line, because they expire at different times:

  • Policy type: general liability, auto, workers' compensation, umbrella, or others your contracts require.
  • Insurer and policy number.
  • Limits, as stated on the certificate.
  • Effective and expiration dates.
  • Endorsements your contract requires, such as additional insured or waiver of subrogation, and whether the endorsement itself is on file, not just mentioned on the certificate.
  • The certificate document, uploaded.
  • Who reviewed it and when.

Job requirements

Each job can set its own minimums: required policy types, minimum limits and required endorsements. The tracker compares each sub's insurance against the job they are working on and flags shortfalls.

Lien waivers

Every payment to a sub on a job gets a waiver record:

  • Job, sub and payment or pay application number.
  • Amount and the date work is covered through.
  • Waiver type: conditional or unconditional, progress or final.
  • Received date, uploaded document, and who checked it.
  • Status: requested, received, verified, or missing.

Many contractors also collect waivers from lower-tier subs and major suppliers. If you do, add them as separate records under the same payment.

The rules that make it work

Most of the value is in a few plain rules. Write them down and have the tracker apply them.

  1. No current certificate, no new work. A sub with an expired required policy cannot be assigned to a new job.
  2. No waiver, no next payment. A progress payment is held until the waiver for the previous payment is verified.
  3. Final payment needs the final waiver. The last check on a job waits for a final waiver, and lower-tier waivers if you collect them.
  4. Job minimums must be met. If a sub's limits fall below what a job requires, the sub is flagged for that job.
  5. Every hold has a reason on screen. Accounting should see exactly what is missing, so they can tell the sub in one sentence.

Your attorney and insurance agent decide the right requirements and waiver forms for your state and contracts. The tracker makes sure the decisions you made get applied every time.

Statuses at a glance

ItemStatusWhat it meansWhat happens
CertificateCurrentAll required policies in dateSub can be assigned and paid
CertificateExpiring soonA policy expires within 30 daysSub and project admin are reminded
CertificateExpiredA required policy is past its dateNo new assignments; payments held if your policy says so
WaiverRequestedPayment approved, waiver not yet inReminder to sub
WaiverReceivedUploaded, not yet checkedProject admin reviews
WaiverVerifiedChecked against payment and jobNext payment can go
WaiverMissingPast dueNext payment held; project manager alerted

Roles

  • Project administrator manages sub records, reviews certificates and waivers, and requests documents.
  • Project managers see the subs on their jobs and what is missing, and get alerts.
  • Accounting sees payment holds and their reasons, and releases payments once documents are verified.
  • Owner sees everything, including exposure reports.
  • Subcontractors, if you invite them, see only their own company's requests and upload documents. They never see another sub's records.

That last point deserves care. A sub portal must show each sub only their own paperwork. Broken access control, where people can reach records they should not, tops the OWASP list of web application risks, and security firm Escape found more than 2,000 vulnerabilities across more than 5,600 publicly available vibe-coded apps in 2025. Certificates and W-9s carry tax IDs and policy numbers. They belong in a tool where access is enforced, not a link anyone can forward.

Reminders

  • Thirty days before any policy expires: email the sub and the project admin, asking for the renewed certificate.
  • Seven days before: a second reminder, copied to the project manager.
  • On expiry: status changes, the sub is flagged on every active job, and accounting sees the hold.
  • After each approved payment: request the matching waiver from the sub automatically.
  • Weekly: a summary for the project admin of everything expiring, missing or waiting for review.

Reports

  • Subs with expired or expiring insurance, by job.
  • Payments on hold, with what is missing.
  • Waivers outstanding by job, sub and amount.
  • A closeout package for a job: final waivers from every sub and supplier, ready for the owner.
  • Shortfalls: subs whose limits or endorsements fall below a job's requirements.

Questions to settle before you build

  • What are your standard requirements, and which jobs override them?
  • Who reviews certificates? One person with a backup. Reviewing a certificate takes judgment.
  • Do you collect lower-tier waivers? It adds records but closes a real gap.
  • Will subs upload directly, or will your office upload what they email?
  • What blocks payment, and who can override? Overrides should be rare, recorded and limited to the owner or a named manager.

Example request

Example request: "Build a subcontractor compliance tracker for our general contracting company. We work with about 120 subs on 15 active jobs. Each sub has company name, trade, contact, phone, email, W-9 received date, license number, license state, license expiration and status. Each sub has insurance policies with type, insurer, policy number, limits, effective date, expiration date, endorsements on file and the certificate upload. Each job sets required policy types, minimum limits and required endorsements, and the tracker flags subs below them. Every approved payment creates a lien waiver request with job, sub, payment number, amount, through date, waiver type (conditional or unconditional, progress or final), upload and status. Hold any payment until the previous payment's waiver is verified, and hold the final payment until the final waiver is in. A sub with an expired required policy cannot be assigned to a new job. Remind the sub and project admin 30 and 7 days before a policy expires, and request a waiver automatically after each approved payment. Accounting sees holds and why. Subs we invite can see and upload only their own documents. Roles are owner, project admin, project manager, accounting and subcontractor. Show a closeout package report for any job. Only invited people can sign in."

How to roll it out

  1. Set your standard requirements with your insurance agent.
  2. Load active subs first. Start with the subs on current jobs, not the whole history.
  3. Request fresh certificates from every active sub, so you start from a clean, current set.
  4. Turn on waiver requests for the next payment cycle.
  5. Switch on payment holds once accounting has seen the screen and agrees on how releases work.
  6. Invite subs to upload, if you want them to, after your office is comfortable.
  7. Close the shared inbox for this paperwork.

Mistakes to avoid

  • Accepting a certificate as proof of an endorsement. Many contracts require the endorsement itself. Track it separately.
  • One expiration date per sub. Each policy has its own.
  • Waivers that do not match the payment. Check amount, through date and job every time.
  • Holds without reasons. Accounting needs to tell the sub exactly what is missing.
  • A portal that shows too much. Each sub sees only their own company.

How to measure that it works

  • Subs working with expired insurance, which should reach zero.
  • Waivers outstanding at the end of each payment cycle.
  • Days to assemble a closeout package.
  • Payments released late because paperwork was missing.
  • Office hours spent chasing documents. A Zapier survey of businesses with up to 250 people found repetitive tasks take an average of 17.3 hours a week, and this is one of the most repetitive.

How FORGE handles it

On FORGE, your project administrator describes the tracker in plain words, much like the example above, and FORGE builds it. A panel of top AI models plans the tool, a dedicated AI crew builds it, and every piece is checked for quality and security before it is saved. Most teams have their first real tool the same day, and the payment holds and reminders work from the first payment cycle.

Every app lives inside your company and only invited people can sign in. Subs you invite see only their own paperwork, accounting sees the holds, and there is a complete record of who checked each certificate and who released each payment, which is exactly what you want when an owner or auditor asks. Office staff, project managers and subs who only use the tracker are $10 a user a month, builders are $49 a seat a month with 3 builds included, and nothing extra is charged without your OK. Our team onboards every company, starting with a workflow workshop. Talk to us or see pricing.

Questions people ask

What is a certificate of insurance?

A certificate of insurance, or COI, is a one-page summary from a subcontractor's insurance agent showing the policies they carry, the limits and the dates. In the United States it is commonly issued on a standard ACORD form. It shows coverage existed when issued; it does not by itself change the policy.

What is the difference between a conditional and an unconditional lien waiver?

A conditional waiver gives up lien rights only once the payment actually clears. An unconditional waiver gives them up as soon as it is signed, whether or not the money arrived. Contractors usually collect conditional waivers with a payment and unconditional ones after it clears. Some states require specific forms, so ask your attorney.

What is the difference between a progress and a final lien waiver?

A progress, or partial, waiver covers work paid for up to a certain date or payment. A final waiver covers the whole job and is collected with the last payment.

How often do certificates of insurance need to be updated?

Whenever a policy renews, changes or is cancelled, and at minimum before the expiration date on the certificate. Many contractors also request a fresh certificate at the start of each new job.

Should we stop paying a sub whose insurance expired?

Many contractors make a current certificate a condition of payment in the subcontract. Whatever your policy, decide it in writing, apply it to everyone, and have the tracker enforce it so it does not depend on who is processing payments that day.

How does FORGE help with subcontractor compliance?

Your project administrator describes the tracker in plain words and FORGE builds it, with the payment holds, reminders and reports your office needs. Every app lives inside your company, and there is a complete record of who approved each payment and who checked each document.

See what FORGE builds for your team

We onboard every team ourselves, starting with the work that costs you the most time.

Talk to us

Sources

  1. OWASP Top 10: A01 Broken Access Control
  2. Asana: why work about work is bad
  3. Zapier: most dreaded tasks survey
  4. Escape: vibe-coded apps study