Stop tracking COIs in a spreadsheet
General contractors still run certificate tracking in shared sheets. Here is what breaks first, and what a single exception list fixes.
The sheet that lies to you
Most GCs keep certificates of insurance in a shared spreadsheet. Columns for carrier, limits, expiration, additional insured, waiver of subrogation. Someone updates it when a sub sends a PDF. Someone else forgets.
The sheet looks complete until a job site asks for proof and the row is ninety days stale.
What usually breaks first
Expired policies stay green because nobody opened the PDF. Endorsements say additional insured, but not for your project. Named insured does not match the subcontract entity. The office finds out when the GC or the owner asks for a packet by Friday.
Manual chase email helps for a week. Then volume returns and the same gaps reopen.
One list beats five folders
You need a single exception list: which subs are missing a current ACORD 25, which policies expire inside thirty days, which certificates fail the contract matrix. Everything else is storage.
COI Compass is built around that list. Upload the certificate, read the fields, compare them to the job requirements, and keep the chase queue short.
What to require on every COI
Match the subcontract, not a generic template. Typical checks:
- Commercial general liability limits that meet the job
- Additional insured endorsement when the contract demands it
- Waiver of subrogation when required
- Primary and noncontributory language when required
- Expiration date still in force for the work window
If a field is wrong, the certificate is not done. Do not mark the sub clear until the exception is gone.
Start with active jobs
Do not boil the ocean. Pull COIs for subs on active projects. Clear expirations and missing endorsements first. Then fold new subs into the same list before they mobilize.
That is enough to replace the spreadsheet as the system of record.