Template · Project records

Certificate of Insurance Tracking Log (Excel)

By Sami Chicha, EditorUpdated Checked against primary sources · not yet reviewed by a licensed professional
Quick answer

A free COI tracking log for Excel. Each of its 40 lines records a subcontractor, trade, coverage, insurer, policy number, whether the certificate is on file, the expiry date and notes. From an as-of date you type and a warning period you set, it works out the days left and a status of Current, Expiring soon or Expired, with counts under the table. It tracks dates only and does not check coverage.

Preview of framingandfigures-certificate-of-insurance-tracking-log-v2.xlsx
Download
Download XLSX · 69.4 KB

framingandfigures-certificate-of-insurance-tracking-log-v2.xlsx. No email required. No macros.

© Harmony For Humanity LLC. Free for use in your business; not for resale. See our terms of use.

What it's for

This COI tracking log is a list of the insurance certificates your subcontractors have given you, built around the one date that matters most: when each one runs out. Whoever collects certificates adds a line when one comes in and checks the log on a schedule that suits the firm. Nothing sends a reminder, so the log only helps if someone opens it.

The log tracks the dates you type. It does not read a certificate or check coverage, and it does not say what coverage a subcontract requires; the policy and your subcontract govern that. For the insurance itself, see our guide to general liability insurance for contractors.

For other lists you keep the same way, see the submittal log and the change order log.

What's inside

Two sheets, both protected with no password. Pale yellow cells are yours to fill in; all other cells are locked.

COI log carries our logo, with no spot for yours: it is an internal tracking sheet, not something you send out. Its title is "COI TRACKING LOG". Above the table are COMPANY, PREPARED BY, AS OF (a date) and WARN THIS MANY DAYS AHEAD (a whole number from 0 to 365).

The table has 40 lines:

DAYS LEFT and STATUS stay pale yellow like the rest of the row, so the table sorts and filters with the sheet protected. Typing over one deletes its formula for that row. Under the table, CERTIFICATE SUMMARY counts Current, Expiring soon, Expired and Certificate not on file, with the sentence about dates and coverage beneath it. The sheet prints landscape on two pages, one page wide, with the header row repeated; on screen, everything down to the header row stays in view.

About this template holds three steps, the example figures, the version, the license and links.

How to fill it in

  1. Type COMPANY and PREPARED BY. Type AS OF: the date you are checking the log. The file does not read today's date, so it gives the same answer whenever it is opened. Change AS OF each time you check.
  2. Type WARN THIS MANY DAYS AHEAD, the lead time for flagging a certificate. Blank counts as 0.
  3. Give each coverage its own line. A subcontractor with two coverages takes two lines, as the first two examples do.
  4. Fill in the line, and enter EXPIRES as a date, such as 12/31/2026. A date typed as text leaves DAYS LEFT blank.
  5. Read DAYS LEFT and STATUS. DAYS LEFT is EXPIRES less AS OF. STATUS reads Expired below 0 days left, Expiring soon from 0 up to the warning days, and Current beyond that. A certificate that expires on the AS OF date shows 0 days left and Expiring soon.
  6. Read CERTIFICATE SUMMARY.

Both calculated columns stay blank for a line with no EXPIRES date, or while AS OF is empty, and a blank line is in none of the first three counts. Certificate not on file counts the lines marked No; a line with CERTIFICATE ON FILE left blank is not counted. CERTIFICATE ON FILE does not change a status; that comes from the dates alone.

The worked example

The first three lines are labeled Example, checked as of 10/1/2026 with a warning of 30 days. The About tab says to replace them, AS OF and the warning days with your own. POLICY NO. is blank on all three.

SUBCONTRACTORTRADECOVERAGEINSURERON FILEEXPIRESDAYS LEFTSTATUS
Example: framing subFramingGeneral liabilityExample: insurer AYes12/31/202691Current
Example: framing subFramingWorkers' compExample: insurer BYes10/20/202619Expiring soon
Example: electrical subElectricalGeneral liabilityExample: insurer CNo9/15/2026-16Expired

The summary reads Current 1, Expiring soon 1, Expired 1 and Certificate not on file 1. The electrical sub's line is both Expired and not on file, so it sits in two counts.

Frequently asked questions

Does it calculate anything?

Yes. DAYS LEFT, STATUS and the four counts under the table are formulas. Everything else is yours to type.

Does it check coverage or tell me what a subcontractor needs?

No. The log tracks the dates you enter. It does not read a certificate or check coverage, and it does not say what coverage a subcontract requires. The policy and your subcontract govern that.

Does it use today's date or send reminders?

No to both. It reads the AS OF date you type, so change that date each time you check the log. STATUS is text, not a color, and nothing is sent.

Does it work in Google Sheets or Numbers?

Both open .xlsx files. This one has no macros, and its formulas use only IF, OR, AND, ISNUMBER and COUNTIF.

Can I add more than 40 lines?

Yes. Insert rows between two rows of the table, with the sheet still protected, and copy DAYS LEFT and STATUS from the row above so the summary takes them in. Rows added below the table are not counted.

Can I put my logo on it?

It carries our logo, with no spot for yours. With the protection off (there's no password), you can swap in your own.