TrackMyVendor Resources How to Track Subcontractor Insurance

Compliance Guide

How to Track Subcontractor Insurance and Compliance in Real Time

What to require from each trade, how to read a COI, how to verify a licence is still active with the state, and how to be told a document is lapsing instead of finding out from your email inbox.

10 min read Updated March 2026 Written for general contractors
Quick answer

To track subcontractor insurance, collect a certificate of insurance (COI) from every sub before work starts, verify the named insured, coverage types, limits, and additional-insured status against your contract, then monitor each policy's expiration date so you can request a renewed COI before it lapses. Past 20–30 subs, a spreadsheet stops being reliable — the durable fix is to have software read each COI and alert you at 90/60/30/7 days before any policy expires, with the renewal link sent to the sub automatically so the certificate arrives before the old one lapses. Alerting on the expiration date is the part that fails first in a manual system — a COI you collected correctly is still worthless the morning after it expires.

Why COI Tracking Fails — and Where the Risk Hides

Most general contractors collect a Certificate of Insurance when they onboard a new sub. Fewer than half have a system that tells them when that certificate expires. The result: subs working on active jobs with lapsed coverage, GCs exposed to claims their insurer can deny.

The core problem isn't collection — it's ongoing monitoring. Getting a COI once is easy. Knowing whether it's still valid six months later, across 30 or 50 active subs, is where most workflows break down.

Where GCs get caught. A sub's policy renews in April. You collected their COI in January. Nothing in your workflow flags the April renewal. By July, they're on site with an expired certificate — and you have no idea.

The exposure this creates is real:

  • Claim denial. If an incident occurs while a sub's policy is lapsed, your own insurer may deny coverage on the basis that you failed to maintain proper vendor insurance requirements.
  • Contract breach. Most GC contracts with owners require that all subs maintain specified coverage for the duration of the project. An expired sub COI puts you in breach — even if you didn't know.
  • Personal liability. In some states, a GC who knowingly allows an uninsured sub to continue working can be held personally liable for damages resulting from that sub's work.

What Insurance to Require from Subcontractors

The specific requirements vary by project, contract, and state — but most GC insurance requirements for subs include some or all of the following:

What insurance does a subcontractor need to carry?

Coverage Type What It Covers Typical Minimum
General Liability (GL)Bodily injury and property damage caused by the sub's work$1M per occurrence / $2M aggregate
Workers' CompensationInjuries to the sub's own employees on the jobStatutory limits (state-mandated)
Employer's LiabilityClaims from employees that fall outside workers' comp$100K / $500K / $100K
Commercial Auto LiabilityVehicle-related incidents involving the sub's fleet$1M combined single limit
Umbrella / Excess LiabilityAdditional coverage above GL, auto, and employer's liability$1M–$5M (project-dependent)
Professional Liability (E&O)Design errors or professional services claimsRequired for design-build or engineering subs
Tip: require additional insured status. Your contract should require subcontractors to name you (the GC) and the project owner as additional insureds on their General Liability policy. This means their insurer also defends and covers you in the event of a claim arising from the sub's work.

Define Your Compliance Requirements by Trade

Before you can track compliance, you need to define what it means for each trade. The documents required for a roofer are not the same as those required for an electrician. Treating every sub identically either burdens low-risk trades or under-scrutinizes high-risk ones.

The manual approach

Create a per-trade requirements spec covering subcontractor insurance and credentials: GL and Workers' Comp minimums for each trade, auto and umbrella where required, the applicable state license type and number, any surety bond, and a W-9. TX electricians need a TDLR license; FL roofers need DBPR registration; CA contractors need CSLB. Write it down and apply it consistently before the first sub sets foot on site.

With TrackMyVendor

Configure per-trade requirements directly in the platform and each sub is automatically evaluated against the right standard — no HVAC sub flagged for a plumber's license type. Requirements are enforced at onboarding and re-evaluated automatically as documents are updated.

Trade State License COI Required Bond Typical
Electrician (TX)TDLR Electrical ContractorGL + WC requiredYes
Plumber (TX)TDLR Plumbing ContractorGL + WC requiredYes
General Contractor (CA)CSLB Class B LicenseGL + WC requiredYes ($15K min)
Roofing (FL)DBPR CCC (Roofing)GL + WC requiredVaries by county
LandscapingVaries — often noneGL + WC recommendedLess common

How TrackMyVendor automates this

  • Requirements are set per trade, not per roster. A roofer and a landscaper are held to different coverage minimums instead of one blanket rule that over-scrutinises the low-risk trades.
  • Per-project requirements go further: a sub cleared for one job is not automatically cleared for a higher-risk one. Pro
  • Every sub is re-evaluated as documents change, so the standard is applied consistently rather than remembered.
Start free — first 25 vendors included

For a detailed breakdown of coverage types, limits, and what to verify on each certificate, see the complete guide to subcontractor insurance requirements.


How to Read a COI — and What to Actually Check

Most COIs in the U.S. use the ACORD 25 form. Once you know the layout, a 30-second scan tells you what you need — or you can have software read the COI and pull the dates and limits for you. Here's what to look for:

1

Named Insured matches your contract

The "Named Insured" in the top-left of the ACORD form should exactly match the legal entity name on your subcontract. A COI issued to "ABC Plumbing LLC" doesn't automatically cover work performed by "ABC Plumbing Inc." — different legal entities.

2

Coverage types are present

Confirm each required coverage type has an active policy listed: General Liability, Workers' Comp, and Auto at minimum. Missing lines mean missing coverage — don't assume it's covered elsewhere.

3

Coverage limits meet your requirements

Check the "Limits" column against your contract's minimums. A $500K GL limit doesn't satisfy a $1M requirement. Make sure both "Each Occurrence" and "General Aggregate" meet spec.

4

Policy expiration dates cover your project

The "Policy Exp" column shows when each policy expires. If the GL policy expires before your project completes, you need a renewed COI before expiration — not after. This is the most commonly missed check.

5

You (or the owner) are listed as Additional Insured

Check the "Description of Operations" box at the bottom and the "Additional Insured" checkbox on the GL line. If your contract requires additional insured status, it should appear explicitly on the COI — not just be checked "Yes" on the form.

6

Waiver of Subrogation (if required)

Some contracts require a Waiver of Subrogation — meaning the sub's insurer waives its right to sue you after paying a claim. Check your contract and verify the COI reflects this if required.

COIs are not guarantees. A COI is a summary document issued by the broker at a point in time. The underlying policy can be cancelled after the COI was issued. The only way to confirm coverage is still active is to check current status — which is why ongoing monitoring matters more than document collection.
When a COI fails review — what to do next. If a sub's COI doesn't pass any of these checks: (1) Don't let work start or continue until it's resolved. (2) Contact both the sub and their insurance broker directly — the broker can often issue a corrected certificate same-day. (3) Give a firm deadline: 24 hours for active jobs, before site access for new ones. (4) If coverage is genuinely lapsed and can't be reinstated immediately, the sub stays off-site until it is. Document your communication in writing so you have a record if the issue surfaces later in a claim.

How Often to Collect and Re-Verify COIs

A one-time collection at onboarding is necessary but not sufficient. The reliable way to stay ahead of it is to get alerts at 90/60/30/7 days before any policy lapses rather than tracking renewal dates by hand. Here's a practical schedule:

At onboarding

Before any work begins. No COI, no site access. Make this a hard gate in your onboarding process — not a follow-up item.

At each policy renewal

Typically annually. Request an updated COI before the existing one expires — not after. Build 30-day advance reminders into your process.

At new project assignment

When you assign an existing sub to a new job, verify their COI is current and that coverage limits meet the new project's requirements.

Ongoing monitoring

For active subs, monitor expiration dates continuously — not just at renewal time. Policies can be cancelled mid-term. Automated tracking tools send alerts before a policy lapses, and a compliance calendar puts every renewal date for the roster on one view.


Common COI Gaps GCs Miss

1. Collecting a COI once and never following up

The most common failure mode. Subs get added to a job, a COI gets emailed, it gets filed — and no one checks it again until there's a problem. An annual renewal slips by, the policy lapses, and the sub keeps working.

2. Accepting a certificate without verifying limits

A COI that shows "General Liability: ✓" doesn't tell you the limits. A $300K General Liability policy doesn't satisfy a $1M project requirement. Always check the Limits column, not just whether the coverage line is present.

3. Not requiring additional insured status

A COI confirming the sub has GL insurance is different from a COI confirming you are named as additional insured. If you're not named, the sub's insurer has no obligation to defend or cover you in a claim. Check the form and verify the endorsement is in place.

4. Entity name mismatches

A COI issued to "Smith Electrical Services" doesn't cover work by "Smith Electric LLC" — even if it's the same owner. Legal entity names matter. Verify the named insured on the COI matches the legal entity on your contract exactly.

5. Not checking Workers' Comp separately

General Liability and Workers' Compensation are separate policies with separate expiration dates. A sub can have an active GL policy with a lapsed Workers' Comp policy. If their employee is injured on your site and their WC is expired, the exposure flows to you. Check both — every time.

6. Relying on subs to notify you of policy changes

Most subcontractors will not proactively tell you their policy was cancelled or that coverage limits changed at renewal. You have to track this yourself — or use a tool that does it automatically.

A quick self-check. If someone asked you right now which of your active subs have a GL policy expiring in the next 60 days — could you answer in under 5 minutes? If not, that's the gap this guide is about.

Verify Licenses Against State Databases — Not Just Documents

This is the step most GCs skip — and the one most likely to cause a serious problem. Collecting a copy of a license is not the same as verifying it is currently active. A license can be expired, suspended, or revoked while the paper copy in your files still looks valid.

How to verify manually

State databases are publicly accessible — or use our contractor license lookup to check a licence against Texas, Florida, California, Washington, Oregon, Illinois or Colorado instantly:

  • Texas: TDLR.texas.gov — HVAC, electrical, plumbing, and 30+ trades regulated by the Texas Department of Licensing and Regulation.
  • Florida: DBPR.my.florida.gov — Florida Department of Business and Professional Regulation.
  • California: CSLB.ca.gov — California Contractors State License Board.
  • Washington: secure.lni.wa.gov — Washington State Department of Labor & Industries contractor registration.
  • Oregon: ccb.state.or.us — Oregon Construction Contractors Board.

For each license, verify: Active status, the license holder name matches your contract, and the license type covers the work being performed. Document the verification date — your record of due diligence matters if a claim arises later.

With TrackMyVendor

TrackMyVendor checks the official state license databases automatically — every day. When a license status changes (suspension, expiration, revocation, reinstatement), you get an immediate alert. No manual lookups. No logging into five different state portals. The system watches and tells you when something changes. See the full license verification software overview →

Already looking up licenses on TDLR, DBPR, CSLB, L&I, CCB, IDFPR, or DORA?

TrackMyVendor does it automatically for every sub on your roster and alerts you the moment a status changes. Free for your first 25 subs.

Start free →

How TrackMyVendor automates this

  • Daily re-verification against the state board for Texas TDLR, Florida DBPR, California CSLB, Washington L&I, Oregon CCB, Illinois IDFPR and Colorado DORA — not a one-time check at onboarding.
  • A suspension has no expiry date to catch. A licence pulled mid-project only surfaces if something re-checks it, which is the gap a folder of PDFs cannot close.
  • Licences elsewhere are still tracked with the same document alerts; the board re-check is the part with a geographic boundary.
Try the free contractor licence lookup

How to Automate COI Tracking Across All Your Subs

Manual COI management — collecting documents by email, logging dates in a spreadsheet, setting calendar reminders — works at a very small scale. Once you're managing 20 or more subs across multiple active jobs, the manual approach has too many failure points.

COI tracking software gives you one live compliance view across all subs and all jobs and automates the full lifecycle:

1

Send a magic link to each sub. Your sub gets a one-time link to upload their COI — no account, no login. They upload the PDF, TrackMyVendor extracts all the coverage data automatically using AI.

2

Coverage is parsed and verified instantly. The system extracts carrier, policy number, coverage types, limits, and expiration dates from the uploaded PDF. No manual data entry. You see a structured compliance record, not a PDF.

3

Expiration alerts fire automatically. You get email notifications 90, 60, 30, and 7 days before a policy expires — for every sub, across every job. No calendar. No spreadsheet. No manual tracking.

4

Subs get renewal reminders automatically. When a policy is approaching expiration, your sub gets a reminder to upload a fresh COI — so you don't have to chase them.

5

COI + license in one dashboard. Insurance and license status for every sub, on every job, updated continuously. Not two separate workflows — one.

6

Route alerts to Slack, Google Sheets, or any tool. Connect compliance events to Zapier or Make via webhooks — so a COI expiration posts to your Slack channel or logs to a shared Google Sheet automatically. No code required. Configure in Settings → Integrations.

The difference between a spreadsheet workflow and an automated one isn't just time saved — it's the gaps that close. A spreadsheet only catches what you remember to check. Automated monitoring catches what renews quietly while you're running a job.

Task Spreadsheet workflow TrackMyVendor
COI collection from subsEmail back-and-forth, manual filingMagic link — sub uploads directly
Coverage data extractionManual data entry from PDFAI extraction — automatic
Expiration trackingCalendar reminders you set manuallyAutomatic alerts at 90/60/30/7 days
Renewal follow-upYou chase the subSub gets automatic reminders
License verificationSeparate manual lookup, separate fileSame dashboard, automatic
Compliance view per projectManual filtering, error-pronePer-job compliance status, real-time
Connecting alerts to other toolsManual copy-paste or separate emailZapier & Make webhooks — Slack, Sheets, Gmail, 6,000+ apps

Free template

COI Tracking Spreadsheet

Pre-formatted .xlsx — GL expiry, WC expiry, license number, W-9 status, COI carrier, and 14 more columns. Conditional formatting turns expiring rows yellow and expired rows red. Enter your email and we send the download link.

Get the free template →
Recommended

Automated tracking

TrackMyVendor — free for 25 subs

AI parses uploaded COIs automatically. Verifies contractor licenses live against TX, FL, CA, WA, OR, IL & CO databases. Sends expiry alerts at 90/60/30/7 days — to you and your sub, with a renewal upload link. No spreadsheet to maintain.

Get started free — no credit card →

Require Self-Service Renewals — Don't Chase Every Year

The renewal cycle is where manual compliance workflows collapse under their own weight. You collected a COI at onboarding. Twelve months later it expires. Now you repeat the collection process — but the sub is mid-job and not prioritizing your paperwork request.

The manual approach

Email the sub. Wait. Follow up. Forward the old COI to show them what you need. Receive a COI showing last year's dates. Ask them to get a new one from their broker. The cycle takes one to two weeks per sub, per document. Multiply that by 30 active subs with staggered renewal dates and you have a continuous background task that never goes away.

With TrackMyVendor

When a document approaches expiration, TrackMyVendor sends the sub a magic renewal link automatically. They click it, upload the new document, and their subcontractor credential record updates. You see the new expiration date in your dashboard. No email thread. No phone call. The sub owns the renewal; you get notified when it's done — or when it isn't. For a broader view of how GCs manage compliance across their sub roster, see our GC compliance guide.

The test. If a sub's GL policy expires on March 15 and you're running a job through April, can you confirm right now that you'll receive their renewed COI before March 16 — without sending a single email? If the answer is no, the renewal process depends on someone remembering to check.

How TrackMyVendor automates this

  • The renewal request goes to the sub, not to you. Their alert carries the same upload link, so renewing is a phone upload rather than an email thread you have to start. Starter and above
  • A quiet request chases itself once. Three days after a link is sent with nothing uploaded, one reminder goes out carrying the same link. Starter and above
  • Nobody gets talked over. Every sender shares one 48-hour cooldown, so a bulk chase and the nightly run cannot both land on the same sub in a morning.
Start free — first 25 vendors included

Real-Time vs. Periodic Compliance Checks

Most compliance workflows are periodic: verify at onboarding, re-check at annual renewal, and trust that nothing changed in between. This is fine for documents with predictable cycles — a COI is valid for 12 months, so 30-day advance alerts give you time to collect a renewal. But periodic checking breaks down for anything that can change mid-cycle without warning.

State contractor licenses are the clearest example. A license can be suspended mid-project — following a complaint, a code violation, or a missed CE requirement — without any notice to you. Your files still show a clean copy. Your spreadsheet still says "Active." The sub is still on your job site.

Check Type When It Runs What It Catches What It Misses
Periodic (manual)Onboarding + annualExpired documents at review timeMid-cycle suspensions, revocations, policy cancellations
Alert-based (spreadsheet)Calendar reminders on known datesUpcoming expirations on dates you enteredAny change not reflected in the spreadsheet; human error
Real-time (automated)Daily or continuousState license status changes the day they occurNothing — any status change triggers an alert

Real-time compliance doesn't mean watching a dashboard all day. It means the system checks for you and only interrupts when something actually changes. You stop finding out about problems after the fact and start getting alerts when there's still time to act.

TrackMyVendor's daily checks against TX TDLR, FL DBPR, CA CSLB, WA L&I, OR CCB, IL IDFPR, and CO DORA mean a license status change triggers an alert within 24 hours of the state database updating — not the next time someone remembers to look.

Checking license status by hand, state board by state board? TrackMyVendor does it automatically for every sub on your roster. Free for 25 subs.

Start free →

How to Request a Certificate of Insurance from a Subcontractor

Requesting a COI sounds simple — but an incomplete request is the #1 reason subs send back a certificate that doesn't pass review. The broker issues what you ask for. If you don't specify your requirements, you get a generic certificate that may not name you as additional insured, may not meet your GL limits, and may not reference the specific project.

A complete request for certificate of insurance gives the sub (and their broker) everything needed to issue the right document the first time:

What to include in your COI request

  • Your legal entity name — exactly as it should appear in the "Certificate Holder" box (e.g., "Apex Construction LLC")
  • Required additional insureds — the GC and any project owner, lender, or other parties that need to be named
  • Coverage minimums — GL per occurrence and aggregate, WC limits, auto, umbrella as required by your contract
  • Special endorsements — primary and noncontributory, waiver of subrogation, completed operations as required by the contract
  • Project name and address — so the broker can reference it in the "Description of Operations" box if required
  • Deadline — a specific date, not "when you get a chance." 2–3 business days for new subs, 24 hours for renewals on active jobs.

Send the request directly to the sub — but make clear you're asking them to forward it to their broker. Many subs simply forward COI requests unchanged, so the more complete your request, the faster you get back a compliant certificate.

Why COI requests get delayed

The most common reasons a request for certificate of insurance takes longer than 24 hours:

  • The request lacked specifics — the sub sent the broker a vague "my GC wants a COI" with no requirements listed
  • An endorsement isn't already on the policy — adding primary and noncontributory or a waiver of subrogation may require insurer approval, not just the broker
  • The sub's policy doesn't meet your minimums — increasing limits takes time and may require a mid-term policy change
  • You're chasing the sub instead of the broker directly — subs lose emails; brokers are paid to respond
TrackMyVendor removes the email chase. Instead of sending requirements back and forth, send your sub a magic link. They upload the COI directly — no account needed — and TrackMyVendor checks it against your project's coverage requirements and flags any gaps before you open your inbox.

Managing certificates of insurance across multiple subs

Tracking certificates of insurance at scale means more than a folder of PDFs. Effective certificate of insurance management requires knowing, at any point:

  • Which subs have submitted a COI and which haven't responded
  • Which certificates are current vs. expired or expiring
  • Which meet the project's coverage requirements and which fall short
  • When each policy renews so you can request a fresh certificate before the existing one lapses

Managing this in email or a spreadsheet becomes untenable past 20–30 subs. COI tracking software gives you a live compliance view across all subs and all projects — with automatic renewal reminders so managing certificates of insurance stops being a manual follow-up task.

Stop tracking COIs from your inbox

TrackMyVendor automates COI collection, AI parsing, expiration alerts, and renewal follow-up — free for your first 25 subs.

Start free →

How Government Contractors Track Subcontractor Compliance in Real Time

If you hold public-sector work — a municipal, state, or federally funded job — the tracking system is the same one described above, but the tolerance for a gap is lower and the paperwork trail matters more. Two things change in practice.

You get asked to prove it, not just do it. A private owner usually wants to know a sub is covered. A public agency wants the record: which document was on file, on which date, and who checked it. That makes the audit trail — a timestamped log of every document received, verified, and expired — the part you cannot reconstruct after the fact. Track it continuously or you will be rebuilding it from your inbox when the request arrives.

A lapse is a stop-work risk, not just an exposure. On public work, a sub whose license goes inactive mid-project can put the prime's own standing at issue. This is the case for verifying licenses against the state database on a schedule rather than filing the license copy the sub sent you at onboarding — a document stays valid-looking long after the license behind it stops being valid.

Beyond that, public-sector prime contracts routinely add their own requirements — certified payroll, prevailing-wage documentation, DBE/MBE participation reporting, and specific additional-insured endorsements. Those are contract-specific obligations to confirm with your contracting officer; the credential layer covered in this guide (license, COI, W-9, bond) sits underneath all of them.


Quick-Start Compliance Checklist — Best Practices by Stage

Use this as a reference for building your internal process — or as a gut check against what you're doing today. Also available as a printable PDF: free compliance checklist →

Pre-Hire

  • COI collected with all required coverages and limits
  • State license verified live against state database (not just document on file)
  • W-9 on file with entity name matching contract
  • Bond confirmed (where required by trade or contract)
  • Named insured on COI matches contract entity name exactly
  • GC named as Additional Insured on sub's GL policy

Ongoing

  • Expiration alerts configured at 90/60/30/7 days for every document
  • License status checked against state database regularly (not just at onboarding)
  • Renewal cycle automated — sub receives prompt with renewal link when document approaches expiration
  • Compliance dashboard reviewed weekly for items in red or expiring soon
  • New project assignments trigger a re-check of sub's current compliance status
  • Non-compliant subs flagged before they reach the job site, not after

Every item on this list — alerts, renewals, license checks — runs automatically in TrackMyVendor. Configure once at onboarding. Free for 25 subs.

Start free →

Frequently Asked Questions

What insurance should a subcontractor carry?
At minimum, General Liability and Workers' Compensation. Most GCs also require Auto Liability and, for larger projects, an Umbrella/Excess policy. Coverage limits vary by project — a common baseline is $1M per occurrence / $2M aggregate for GL. Check your contract and project owner requirements for specific minimums.
What is a COI and why does it matter?
A COI (Certificate of Insurance) is a document issued by the sub's insurance broker summarizing their active policies — coverage types, limits, policy numbers, and expiration dates. It matters because it is your documented proof that the sub carried required insurance. Without a current COI on file, you have no evidence of coverage if a claim is filed.
How often should I collect a new COI from subcontractors?
At onboarding and at each policy renewal — typically annually. For long-running contracts, request a fresh COI at least every 12 months or at each project renewal. Don't assume a COI from last year is still valid; policies can be cancelled or modified between renewals without you being notified.
What does "additional insured" mean on a COI?
An additional insured endorsement extends coverage under the sub's policy to a third party — typically the GC and/or the project owner. It means the sub's insurer defends and covers both the sub and the additional insured in the event of a claim arising from the sub's work. Most GC contracts require subs to name the GC as additional insured on their General Liability policy.
Can a subcontractor use expired insurance on an active job?
No — but this happens more than GCs realize. A sub may still have the original COI on file months after the policy lapsed. The only way to know coverage is still active is ongoing monitoring, not trusting a document that was issued at onboarding.
What's the difference between tracking a COI and verifying a contractor license?
A COI tracks insurance coverage. A contractor license verifies the sub is legally authorized to perform the work. Both are required — a sub can carry valid insurance while operating with an expired license, or vice versa. They need to be tracked independently. TrackMyVendor tracks both in the same dashboard.

Related guides and tools