Certificate of Insurance Tracking for Subcontractors

Certificate of insurance tracking is the process of collecting, verifying, and monitoring the COIs your subcontractors carry, so that no sub works on your site without current coverage. Most contractors run it out of a spreadsheet and a folder of PDFs. A tracking system stores each certificate against the sub and the job, reads the expiry date, warns you before coverage lapses, and blocks a sub from being scheduled or paid once it does.

Where COI tracking breaks down

The spreadsheet is only as current as the last person who updated it

Someone maintains a tab with sub names and expiry dates. It is accurate the week it is built. Two months later three policies have renewed, one has been cancelled, and nobody has touched the file since the last audit.

Nobody notices a lapse until they need the certificate

A general liability policy expires quietly. It surfaces when the GC requests your compliance file, when your own carrier audits you, or when something happens on site and the certificate you thought you had is three weeks stale.

The certificate exists but the endorsement does not

A sub sends a valid COI showing coverage limits that meet your requirement. What it does not show is your entity named as additional insured, or a waiver of subrogation your prime contract requires. The document passes a glance and fails the actual requirement.

Collecting renewals is manual chasing

Thirty days before expiry someone has to notice, email the sub, wait, follow up, receive a PDF, check it, file it, and update the spreadsheet. Multiply that by every sub on every active job and it becomes a part-time role nobody was hired for.

Compliance status is not visible where scheduling happens

The person assigning crews to Monday’s work is not the person maintaining the insurance file. A sub with lapsed coverage gets scheduled because nothing at the point of scheduling knows or cares about their certificate status.

The alert ladder and what each step should do

Most systems send one reminder at thirty days and consider the problem solved. A ladder works better because each rung has a different owner and a different consequence. This is the structure we build to.

Certificate expiry alert ladder, from 60 days out to lapseFive escalating stages before and after a subcontractor certificate expires, each one adding a different owner and a different consequence.60 days out: first requestThe sub's contact receives the renewal request with the job requirements attached30 days out: compliance queueSecond request, and the item appears on the internal compliance owner's queue7 days out: project managers notifiedThe sub is marked at risk on every active job and a warning shows at schedulingExpiry date: coverage lapsesAccounts payable joins, no new scheduling is allowed, and pay applications holdReplacement logged as a new versionThe prior certificate keeps its date range, and status restores on verification
Each rung adds a person, not just another reminder.
TriggerWho is notifiedWhat the system doesEffect on the sub
60 days before expirySub’s primary contactFirst renewal request with the specific requirements attachedNone — informational
30 days before expirySub contact plus internal compliance ownerSecond request; item appears on the internal compliance queueFlagged in the sub record
7 days before expiryCompliance owner plus project manager on every active jobEscalation; the sub is marked at-risk on each job they are scheduled forWarning shown at scheduling
Expiry dateCompliance owner, PM, and accounts payableCoverage marked lapsed; the certificate is archived, not deletedCannot be newly scheduled; pay applications hold
Replacement receivedCompliance ownerNew certificate logged as a new version; prior version retained with its date rangeRestored once the new document passes verification
The archive-don’t-delete rule matters more than it sounds. When someone asks whether a sub was covered on the day of an incident eighteen months ago, you need the certificate that was current then, not the one that is current now.

How we build it

One record per sub, one record per certificate

The sub is a lasting record. Each certificate is a dated child of it with its own effective and expiry dates. That separation is what makes historical questions answerable, and it is the piece a spreadsheet cannot represent.

Requirements defined per job, not globally

A residential remodel and a public works job have different insurance requirements. Requirements attach to the job, so the same sub can be compliant on one and short on another, and the system knows the difference.

Collection through a form the sub can complete on a phone

The renewal request links to a short upload form rather than asking for an email attachment. The submission lands attached to the correct sub and job automatically, which removes the filing step where things normally get lost.

Verification as an explicit step with a named owner

Uploading is not the same as passing. Someone confirms the limits, the additional insured wording, and any required endorsements, and that confirmation is recorded with their name and the date. Nothing moves to compliant on its own.

Status surfaced where decisions get made

Compliance state appears on the scheduling view and on the pay application, not only in a compliance report nobody opens. A lapsed sub is visible at the moment someone is about to put them on a job.

What this connects to

Is this a fit for your business?

A good fit when

  • You carry ten or more subcontractors across concurrent jobs
  • A GC, owner, or your own carrier audits your compliance file
  • You work in more than one state or on public work with differing requirements
  • Someone on staff is already spending hours a week chasing renewals

Probably not a fit when

  • You use two or three long-standing subs and renewal is a single annual conversation
  • You need a full contractor prequalification platform with financial vetting and safety scoring
  • You are looking for an insurance broker or someone to advise on what coverage to require

What to have ready

  • Your current list of active subs and the jobs each is assigned to
  • The insurance requirements your prime contracts impose, by job type
  • Wherever certificates live today, however messy — a shared drive folder is fine

Questions we get asked

Can the system read the expiry date off the certificate automatically?

Partly, and we would rather be honest about where that ends. Standard ACORD forms are consistent enough that dates and limits can usually be extracted. Additional insured wording and endorsement specifics vary too much to trust to extraction, so we treat those as a human verification step. The system does the tedious reading; a person confirms the parts that carry risk.

What happens to a sub who is already scheduled when their coverage lapses?

They are not automatically removed from the schedule, because pulling a crew off a job by software is a decision with consequences. They are flagged on every job they appear on and the project manager is notified, so the call is made by someone with the context to make it.

Does this replace our broker's tracking service?

It can, and often it is filling a gap the broker’s service does not cover. Broker-side tracking usually monitors that a certificate exists. What it typically does not do is tie compliance to your specific job requirements or stop a non-compliant sub from being scheduled or paid inside your own systems.

We already store certificates in a shared drive. Is that enough to start?

Yes, and it is a better starting point than most. What is missing is the structure around the files — which sub, which job, which date range, and what happens when one expires. We build that structure and bring the existing documents into it rather than asking you to start clean.

Related


Tell us what the process looks like now and we will map what a system would need to do. No obligation, and you keep the map either way.

Scroll to Top