How to Track Subcontractor Insurance Certificate Expirations Without Losing Your Mind
Three approaches contractors use, why two of them quietly fail at the worst possible moment, and the workflow that doesn't depend on you remembering anything.
In this article
Why this is the silent killer of small GCs
The worst day of my year as a pool contractor was when a tile setter slipped off scaffolding on a job, fractured his wrist, and his workers comp policy had expired eleven days earlier. He had given me a certificate of insurance four months prior with a date that said good through next March. He didn't tell me he had switched carriers in February and the new policy hadn't been issued yet. The middle eleven days, he was uninsured. The claim landed on my general liability policy, my premium went up 28% the following year, and I spent forty hours over the next two months proving I had done my due diligence.
This story is depressingly common. The Associated General Contractors of America found that uninsured subcontractor incidents are the second-most-cited reason for unexpected GL premium hikes among contractors under $5M in annual revenue. The first is auto claims. Subs come second specifically because their COI tracking is broken.
The fix is not more discipline. The fix is a system that does not depend on your discipline at all.
The three ways contractors track today
Approach 1: The spreadsheet
This is what 60% of small GCs do. A Google Sheet or Excel file with columns for sub name, carrier, policy number, expiration date, and a notes column where you write things like "called Tony 9/12, said new cert coming."
Why it fails: you have to remember to open it. The spreadsheet does not call you. When you are running four jobs and quoting two more, the spreadsheet you have not opened in six weeks is the spreadsheet that fails you. The lapse already happened by the time you check.
Approach 2: Calendar reminders
This is the improvement most contractors graduate to after their first lapse. Set a Google Calendar event 30 days before each sub's policy expires. The calendar pings you.
Why it fails: it scales poorly. Once you have more than ten subs, you are managing dozens of overlapping reminders, and you are still the bottleneck. If you snooze a notification because you are on a roof, you might not see it again for weeks. There is no record that you actually followed up. And nothing escalates if you ignore it.
Approach 3: Construction management software
The tools designed for this (Buildertrend, Procore, JobTread, CompanyCam, Workhand) all handle COI tracking with automatic alerts, sub-facing reminders, and an audit log. You upload the COI once, the system reads the expiration date, and it handles the rest.
Why it works: the sub also gets reminded automatically, so renewal happens without you chasing. The system escalates. There is a record. And the cost ($35 to $150 per month depending on which tool) is a fraction of what one uninsured incident costs you.
What actually needs tracking (not just the expiration date)
When most contractors say "tracking sub insurance," they mean the expiration date. That is the bare minimum. A full tracking system covers six fields per sub, because any of them can change between when you collected the COI and when something goes wrong on site.
| Field | Why it matters | Re-verify every |
|---|---|---|
| Policy expiration date | If it lapsed, you are exposed | 30 days before |
| Carrier name | Carriers do go insolvent (rare but real) | Yearly |
| Coverage limits | Sub may have downgraded to save money | Each renewal |
| Additional insured wording | If your company is not named, the coverage may not protect you | Each renewal |
| Workers comp status | State requirement; lapses trigger personal liability | 30 days before |
| License status | State boards revoke licenses; your indemnity assumes valid license | Yearly |
If your tracking method only watches expiration dates, the other five fields can change without warning. A sub who downgrades from $2M GL to $500k GL the day before a $1.2M claim is the kind of surprise that ends contracting careers.
A working step-by-step workflow
Here is the exact workflow my pool crew used, refined over five years:
- Day 0 (sub joins your roster): Collect the COI, W-9, and license number. Photograph or scan, store in your tracking system. Verify the COI is real by calling the carrier directly (15-minute task, do not skip).
- Day 1: Confirm your company is named as additional insured with primary, non-contributory wording. If not, request the endorsement before any work starts.
- 30 days before expiration: Automated reminder fires (to you and the sub). Sub uploads the renewal COI.
- 14 days before expiration: If renewal COI is not in your system yet, second automated reminder, escalates to you to make a phone call.
- 7 days before expiration: If still not received, sub is flagged "do not assign to new jobs." Existing jobs continue but new work is paused.
- Day of expiration: If COI is not renewed, sub is automatically inactive. Any open jobs require a same-day phone call to confirm coverage before the next work day.
The reason this works: every step has a specific trigger and a specific action. There is no "I'll check on it." Either the renewal is in the system or it is not. The system makes the decision.
Workhand does all of this automatically
Upload each sub's COI once. We read the expiration date, send tiered reminders to you and the sub, and auto-flag any sub whose certificate lapses. $35/month for Pro, includes unlimited subs.
Try Workhand free for 14 daysState-specific timing rules
State laws differ on how much exposure you have during a coverage lapse and how quickly you must verify replacement coverage. The big four:
California
No grace period. The moment a sub's GL lapses, you (as the licensed contractor of record) are exposed under California Contractors State License Board rules. The CSLB has revoked licenses for repeated sub coverage failures. Verify replacement coverage within 24 hours of any expiration.
Texas
No state-mandated grace period for general liability. Workers comp is technically optional in Texas (one of the only states), but most GCs require subs to carry it anyway because non-subscriber subs expose you to direct employee-style claims if injured on your site.
Florida
The Florida Construction Industry Licensing Board requires GCs to maintain proof of sub insurance for all active projects. No grace period. If a sub's coverage lapses, you have to stop their work until renewal is provided or you are technically in violation of license terms (rarely enforced, but the exposure exists).
New York
New York Workers Compensation Board specifically targets uninsured-sub incidents. If your sub's WC lapses and a worker gets hurt, you can be cited under WCB rules even if you were not aware of the lapse. The defense "I had a COI from earlier in the year" does not work. Re-verify at renewal.
Frequently asked questions
How often should I re-check a sub's COI?
Every time the policy renewal date passes (annually for most subs). Set a 30-day pre-expiration reminder so you have time to chase the new certificate before it lapses.
What if my sub claims their COI is "in process"?
That is not coverage. A carrier-issued COI with the new dates is coverage. A verbal "I'm working on it" is not. Pause the sub's work until you have the document.
Can I just trust the COI date and not re-verify with the carrier?
For low-stakes residential work, often yes. For commercial, anything over $50k, or projects with significant injury risk (roofing, scaffolding, demo), call the carrier and verify the policy number directly. Carriers will confirm dates and limits without disclosing the policyholder's full account details.
Does Workhand send automatic reminders before a sub's COI expires?
Yes. Workhand sends in-app and push notifications at 30, 14, and 7 days before any sub's certificate expires, plus a final alert on the expiration day. The sub also gets a reminder through their Workhand portal so they renew without you chasing.
What does it actually cost to track subs through software vs spreadsheet?
Workhand Pro is $35 per month with unlimited subs. Buildertrend ranges from $99 to $399 per month. The cheapest dedicated COI tracker (myCOI, Origami Risk, others) runs $100-300 per month. The break-even versus a spreadsheet is one prevented incident; most GCs hit that within their first year of switching.