CoiLoop
← All guides
3 min read

How to Track Subcontractor Insurance Expirations (Without Spreadsheets)

Mid-project COI lapses are the most common compliance failure for GCs. Learn expiration tracking workflows, reminder cadences, and when to suspend site access.

A subcontractor's COI was valid on day one. Six months later, their general liability policy expired. Nobody noticed until an incident — or an owner audit — surfaced the gap.

This is the most common failure mode in subcontractor insurance compliance. Not missing limits. Not wrong endorsements on the first certificate. Expiration during an active project.

Why expiration tracking breaks

Manual tracking usually looks like:

  • COI PDF saved to a shared drive
  • Expiration date typed into a spreadsheet
  • Calendar reminder set by whoever onboarded the sub
  • PM never told when reminder fires

Then the sub keeps working, the spreadsheet isn't updated, and compliance status shows "verified" forever.

Policies renew annually. Long remodels and commercial TI jobs routinely cross renewal dates. GL and WC often expire on different days.

The reminder cadence that works

Industry best practice for active subs:

Days before expiryAction
30 daysAutomated email to sub: send updated COI
14 daysGC compliance owner follow-up
7 daysEscalate to PM — sub may need scheduling hold
0 (expired)Status → lapsed; no new work until COI received

Some GCs also notify at 60 days for large commercial projects with strict owner reporting.

What to track per subcontractor

For each policy line on the ACORD 25:

  • Policy type (GL, WC, auto, umbrella)
  • Policy number
  • Effective date
  • Expiration date (separate row per line)
  • Verification status
  • Endorsement confirmation flags (AI, WOS)

Do not track only "COI expiration" as a single date unless all lines share the same term.

When to suspend site access

If coverage lapses without a replacement COI:

  1. Notify sub in writing (email + portal message)
  2. Remove from active schedule / do not assign new tasks
  3. Document the lapse date and your notice
  4. Reinstate only after updated COI is verified

Continuing work with a lapsed policy creates audit evidence that you knew — or should have known — about the gap.

Spreadsheet limitations

Spreadsheets fail because:

  • No automatic extraction from ACORD PDFs
  • Reminders depend on humans maintaining dates
  • Multiple PMs override status informally ("they said they renewed")
  • No link between compliance status and scheduling systems
  • Version control nightmares on shared drives

They work for 5 subs on one job. They collapse at 40 subs across 3 active projects.

Software workflow

Modern COI tracking for GCs:

  1. Extract policy dates and limits from uploaded certificates
  2. Compare against your requirements matrix
  3. Alert before expiration with sub-facing renewal requests
  4. Dashboard showing lapsed / expiring / compliant per project
  5. Audit export for owners and lenders at closeout

CoiLoop focuses on remodeling GC workflows: magic-link uploads, per-document checklist, inline PDF review, and expiration reminders — without enterprise COI platform pricing.

Owner and lender expectations

Commercial owners increasingly request continuous coverage documentation at substantial completion — proof there was no uninsured gap during the work period.

If your tracking cannot produce a timeline of COI validity per sub, closeout packages get delayed and retention releases stall.

Action plan this week

  1. Export all active sub COIs from email/drive
  2. Log GL and WC expiration dates separately
  3. Flag anything expiring in the next 60 days
  4. Email subs for renewals now — not after expiry
  5. Pick a system before the next project wave

Related: COI compliance checklist · Spreadsheets vs COI software

Collect, review, and renew COIs in one place

CoiLoop is built for general contractors who need subs to upload COIs and W-9s via magic links - with expiration reminders before coverage lapses mid-project.