Guides / COI tracking

How to track subcontractor certificates of insurance (free spreadsheet template)

A simple, reliable system for small GCs and property managers: what to require, how to set up a tracker that flags expiring coverage, and how to stop chasing the same subs every month.

What a COI is (and isn't)

A certificate of insurance (COI) is a one-page summary showing that a subcontractor or vendor had certain insurance policies on the date it was issued. In the US the most common form for liability coverage is the ACORD 25 "Certificate of Liability Insurance". It lists the insurers, policy numbers, effective and expiration dates, and limits for coverages like general liability, auto, umbrella and workers' compensation.

Two things trip people up:

That's why tracking COIs is really about tracking expiration dates and requirements over time, not about collecting a PDF once.

Step 1: Write down what you require

Start from your subcontract (and any requirements passed down from the owner or your own insurer). For each trade, note:

If you're not sure what your numbers should be, that's a question for your insurance agent and your contract, not for a tracker. See what to check on a COI for what each item means.

Step 2: Collect before work starts

Make a current, compliant COI a condition of mobilising. Ask the sub to have their insurance agent send the certificate directly to you. It's usually faster and harder to alter than a forwarded PDF. Send your written requirements with the request so the agent can issue the right certificate (and endorsements) the first time.

Step 3: Set up the tracker (one row per policy)

The single most useful rule: one row per policy, not one row per subcontractor. A sub with general liability, workers' comp and auto has three expiration dates, and they rarely match. If you squeeze them onto one row, you'll eventually sort by the wrong date.

Useful columns:

ColumnWhy it matters
Subcontractor (legal name)Should match the named insured on the certificate and the name on your contract.
Coverage typeGL, workers' comp, auto, umbrella… one per row.
Insurer & policy numberWhat your agent or auditor will ask for first.
Effective & expiration datesThe expiration date drives everything.
Limits vs required minimumLets you spot under-insured subs at a glance.
Additional insured / waiver / holder correctTick only once you've actually checked.
COI contact emailThe person who sends certificates, often the agent, not the sales rep.
Last verified & file linkWhen you last looked, and where the PDF lives (a shared drive, not your laptop).
Status (automatic)Current / Expiring soon / Expired / Missing.

The status column is what turns a list into a tracker. In Excel or Google Sheets, with the expiration date in column H:

=IF(H2="","Missing",IF(H2<TODAY(),"Expired",IF(H2<=TODAY()+30,"Expiring soon","Current")))

Add conditional formatting so "Expiring soon" rows turn amber and "Expired" rows turn red. Our free template has this built in.

Step 4: Chase renewals on a schedule

A spreadsheet doesn't send reminders, so give yourself a routine:

Step 5: Tie it to payment

Many contractors put a simple rule in the subcontract: no pay application is released while any required coverage is expired or missing. It turns chasing from your problem into theirs, and subs tend to send renewals on their own once they know it holds up payment. Have the clause reviewed as part of your contract documents.

Step 6: Keep history for audits

Don't overwrite old rows. Add a new row for each renewal and keep the old certificate. If your workers' comp or general liability insurer audits your payroll and subcontractor costs, you may be asked to show that subs were insured during the period. Without proof, insurers may treat the payments as uninsured labour, which can affect your premium. Ask your agent how your carrier handles this.

Free COI tracking template

CertRally COI tracker template: one row per policy, an automatic status formula, amber/red highlighting, dropdowns, and a "how to use" tab. Works in Excel, Google Sheets (File → Import) and Numbers.

Download .xlsx Download .csv

No email required. The CSV has no formulas; add the status formula above after importing.

When a spreadsheet stops working

For a handful of subs and one tidy owner, a spreadsheet is genuinely fine. Signs you've outgrown it:

At that point it's worth looking at a dedicated tool. Several have free tiers. We compare them honestly in COI tracking software for small contractors, compared.