Subcontractor Insurance Verification: What GCs Actually Need to Check
Every GC has had this moment. A sub shows up to start work, you ask for their COI, they say "we'll email it later" and start unloading the truck. Six weeks later one of their guys falls off a ladder, files a claim against your policy, and you find out their workers comp policy lapsed three months ago. Their certificate looked fine when they sent it. The verification step that would have caught the lapse never happened because nobody owned it. Here is the actual checklist for what a GC needs to verify before a sub steps on site, what the industry-standard minimums are, the "additional insured" wording that matters, and how to know a COI is real and not edited in Photoshop.
What's in this article
The 3 documents you must collect
Three documents, every sub, before they touch the site. No exceptions, no "we'll get to it next week." A sub that pushes back on this is either disorganized, uninsured, or both. Either way, not a sub you want on your job.
1. Certificate of Insurance (COI)
The COI is the standard ACORD 25 form (most US insurers use this format) issued by the sub's insurance broker. It lists the policies in force, their limits, the effective and expiry dates, and the producer (the broker). The COI is not the policy itself. It's evidence that a policy exists. That distinction matters when something goes wrong, because what protects you is the actual policy language, not the summary on the certificate.
What to look for on the COI:
- General Liability (GL) with stated per-occurrence and aggregate limits
- Workers Compensation (if the sub has employees, which is most of them, including some who claim they're solo)
- Commercial Auto if they're driving to the site (which they all are)
- Umbrella / Excess liability if their primary GL limits are at or near your minimum
- Holder field showing YOUR company name and address as the certificate holder
- Additional insured language with your company named (covered in detail below)
2. W-9
The W-9 captures the sub's legal business name, federal Tax ID (EIN or SSN), business address, and entity type (sole prop, LLC, S-Corp, etc.). You need this for 1099 reporting at year-end if you pay them $600 or more across the year. Get it before the first payment, not at January. Half of subs will ghost you in December when you ask for one retroactively.
Side benefit: the W-9 is also how you verify their business name matches the COI. The COI says "Hernandez Plastering LLC" but the W-9 says "JR Hernandez DBA Hernandez Plastering" — that mismatch is a flag. Either the policy doesn't actually cover the entity invoicing you, or the sub doesn't know what they're doing with their own paperwork. Either way, slow down and ask.
3. Workers Comp Certificate (or formal exemption)
Workers comp is the document that prevents a sub's injured employee from coming back through your policy. It is also where the most fraud happens. A sub will hand you a COI that lists "Workers Comp - Statutory" with an effective date that looks current, and a policy number that resolves to a cancelled policy.
If the sub claims they're exempt because they're a sole proprietor with no employees, get that exemption certificate from the state's workers comp board. In Florida it's a Construction Industry Exemption from the Department of Financial Services. In California it's a different form from the DIR. Don't take "I'm solo" as evidence — there is a formal document for that.
Industry-standard coverage minimums by trade
These are typical GC-imposed minimums in 2026 for residential and light commercial work. Commercial GCs and public works projects often require higher limits. State or municipal projects may impose statutory minimums above what is listed.
| Trade | GL per-occurrence | GL aggregate | Workers Comp |
|---|---|---|---|
| Carpentry / framing | $1M | $2M | Statutory |
| Drywall / paint | $1M | $2M | Statutory |
| Roofing | $1M to $2M | $2M to $4M | Statutory (high rate trade) |
| Electrical | $1M to $2M | $2M | Statutory |
| Plumbing | $1M to $2M | $2M | Statutory |
| HVAC | $1M to $2M | $2M | Statutory |
| Concrete / masonry | $1M | $2M | Statutory |
| Pool plaster / tile | $1M | $2M | Statutory |
| Excavation / earthwork | $2M | $4M | Statutory |
| Landscaping | $1M | $2M | Statutory |
| Crane / heavy equipment | $2M+ | $5M+ | Statutory + rigging endorsement |
A common shortcut: set your subcontract template to "$1M per occurrence / $2M aggregate GL, Statutory WC" as the default minimum, then override upward for high-risk trades. If you don't write the minimum into the contract, you have no contractual basis to demand it.
Commercial Auto minimums are usually $1M combined single limit. If the sub is hauling a trailer with heavy equipment, push that to $2M. If they're driving a one-ton dump on public roads, $2M is the floor.
Additional insured wording, what it actually does
"Additional insured" is the single most misunderstood field on a COI, and getting it wrong is how GCs lose claims they thought they were covered for.
The default situation: a sub's GL policy covers the sub. If their employee damages your customer's countertops while installing the sink, the sub's policy pays for the countertops. But if the customer or one of your own employees gets hurt, and the customer or employee sues you (the GC) instead of suing the sub, the sub's policy will not defend you. You are not an insured party. You are a third party making a claim.
"Additional insured" status changes that. When you are added as an additional insured on the sub's GL policy, the policy treats you as if you were the named insured for purposes of claims arising from the sub's work. The sub's insurer defends and indemnifies you the same way they defend and indemnify the sub. That is the whole point.
What to require on the COI:
- Your company listed as "Additional Insured" in the description box
- The specific endorsement form referenced (typically ISO CG 20 10 for ongoing operations and CG 20 37 for completed operations)
- "Primary and non-contributory" wording, which means the sub's policy pays first before yours kicks in
- Waiver of subrogation, which prevents the sub's insurer from suing you to recover what they paid out
The CG 20 10 endorsement alone covers you while the sub is actively working. The CG 20 37 covers you after their work is finished, which is when most product-defect and craftsmanship claims actually show up (a roof leaks two years later; a deck collapses six months later). If you only require CG 20 10 you are uncovered for the back-end risk. Require both.
The trick most subs use to dodge this: their COI says "Additional Insured per written contract" with no specific endorsement listed. That phrase is doing nothing for you unless the underlying policy contains a blanket additional-insured endorsement triggered by a written contract requirement. Some policies do; many don't. The only way to be sure is to ask for the actual endorsement form, not just the COI summary.
How to verify a policy is real, not Photoshopped
COI fraud is real and increasingly common. A sub who lost coverage but doesn't want to lose your job edits last year's PDF, bumps the dates forward six months, and emails it to you. The certificate looks fine. The underlying policy does not exist.
Industry sources suggest a meaningful fraction of COIs received by GCs each year contain inaccurate or fraudulent information — anything from outright forgery to "still active" policies that lapsed two weeks earlier. The verification step that catches this is straightforward and most GCs skip it:
- Confirm the COI came from the producer, not the sub. The ACORD 25 form lists the broker (the "producer") in the upper-left. Ask the sub for their broker's contact info. Then call or email the broker directly and confirm the policy details. The broker can verify in 60 seconds. If the sub resists this step, that's the answer.
- Match the policy number to the broker's system. The broker will confirm the policy number exists, the dates are current, and your company is listed as an additional insured. If any of those three things are off, the COI is bad.
- For workers comp specifically, check the state board. Every state with mandatory workers comp has an online verification tool. Florida has the DFS workers comp coverage search. California has the WCIRB database. Texas has the TDI verification portal. New York has the WCB. Enter the sub's EIN or business name, see if the policy listed on the COI matches what the state has on file.
- Look at the PDF metadata. A real COI exported from an insurance system has metadata showing the issuing system. A Photoshopped COI usually has Adobe Photoshop metadata or Acrobat editor metadata. This isn't proof of fraud (legitimate brokers sometimes edit COIs in Acrobat), but it's a flag worth checking when combined with other concerns.
- Look at the certificate-holder name. A sub who is reusing last year's COI for multiple GCs will often have someone else's company name in the holder field, then claim "we'll get the broker to update it later." If the holder field doesn't say your company name, the COI is not for you — it's for whoever it was originally issued to.
A sub once sent me a COI with my company name in the holder field but a policy effective date that ended three weeks before the job started. I called the broker, who told me the policy had been cancelled two months prior for non-payment. The sub had taken the cancellation letter, scrubbed the effective dates, and sent it as a current COI. The job got rescheduled while the sub got actual coverage. That five-minute call saved us from carrying his liability for two months of work.
Expiry date tracking, the silent killer
You verified the COI on Day 1. The sub started work, things went well, the job kept rolling. Six months in, the sub's policy expired. They renewed late, or didn't renew at all. Their COI on file still shows the old dates. Your records still show "Verified." But coverage is gone.
This is the single most common gap in subcontractor insurance management at small and mid-size GCs. The initial verification gets done; the ongoing tracking does not. The sub doesn't tell you when their policy lapses, because they either don't realize, or they don't want to. The first time you find out is when something goes wrong.
What should actually happen:
- The expiry date of every active sub's GL and WC policy is logged in a single system
- 30 days before expiry, the sub gets an automated reminder to send an updated COI
- 7 days before expiry, the system flags it to you for follow-up
- On expiry, the sub's status changes to "Coverage Lapsed" and they can't be assigned to new jobs until updated docs are received
- The system never lets a sub with lapsed coverage start a new job, even by accident, even if the PM forgot
Doing this manually in a spreadsheet is technically possible. It almost always breaks. The spreadsheet becomes stale, the calendar reminder gets dismissed, a new PM hires a sub without checking the master sheet. Workhand's Team plan ($89/month) has subcontractor records with COI upload, expiry tracking, and automated reminders built in. The "subs with lapsed coverage" view is a 1-click filter that shows you exactly who needs follow-up. We added this because every working GC we talked to had the same gap and the same story about it.
What happens if you skip this
Realistically? Most of the time, nothing. You hire the sub, they do the work, nobody gets hurt, the job closes. The 95 percent case is uneventful.
The 5 percent case is bad enough to wipe out the business. Three scenarios that come up consistently:
- Sub's employee gets hurt on your site. If they don't have workers comp, the injured employee can come back against the GC's policy. Your premiums go up; your insurer asks why you let an uninsured sub on the site; your policy may carry exclusions for work done by uninsured subs.
- Sub's work damages the property. A roofer leaves a tarp loose; rain destroys $40,000 of finished interior. If the sub is uninsured or under-insured, the customer sues you (the GC) because you're the one who signed the contract. Your GL pays, your loss runs go up, your renewal premium spikes.
- Customer sues for craftsmanship defects months after closeout. A plaster job fails at 18 months. The customer sues. The sub is out of business, the sub's policy lapsed, you have no additional-insured coverage. Your policy is the one paying. You discover at this point that "completed operations" coverage was the missing endorsement.
Each of these is survivable if you have the docs in order. Each is a five- or six-figure exposure if you don't.
State-by-state quirks: CA, TX, FL, NY
Insurance regulation is largely state-driven and the rules vary widely. The four big construction states each have quirks worth knowing.
California
California's CSLB requires all licensed contractors to carry workers comp if they have employees. Solo contractors are exempt but must hold an exemption certificate. California is also strict about additional-insured endorsements; the CSLB has specific contract requirements for GC-sub relationships and the ISO CG 20 10 and CG 20 37 forms are the de facto standard. Verify policies through the WCIRB online portal.
Texas
Texas is the only state in the union where workers comp is technically optional for most employers. A sub may legitimately not carry WC. However, GCs on public works projects (and most large private projects) require it contractually anyway, because without WC the GC takes on the workers comp exposure under common-law liability. Texas-specific gotcha: contractors who decline workers comp must notify their employees in writing of that fact. If they didn't notify, the employee can sue under negligence law without the WC bar applying.
Florida
Florida requires workers comp for construction businesses with one or more employees (a much lower threshold than most other states). Solo construction contractors can file for an exemption through the DFS, but the exemption costs money and lasts two years. Many small Florida subs run without WC and without an exemption, which is illegal but common. Verify exemptions through the DFS Construction Industry Exemption search.
New York
New York has Labor Law Sections 200, 240, and 241, which impose strict liability on GCs and owners for certain types of worker injuries (especially falls from height). This is why GL minimums in NYC are typically $2M to $5M per occurrence, much higher than other states. New York also requires Disability Benefits Law (DBL) coverage on top of workers comp; verify both. The state's WCB online portal handles both lookups.
Track every sub's COI expiry from your phone
Workhand Team logs sub insurance, sends automated reminders before policies lapse, and blocks new job assignments when coverage isn't current. 14-day free trial.
Try Workhand freeThe 60-second pre-job check
Before any sub starts work on any job, run this 60-second mental check. If any answer is "no" or "I'm not sure," the sub doesn't start.
- Do I have a current COI on file (not expired)?
- Does the COI show my company name as the certificate holder?
- Does the COI list my company as Additional Insured with CG 20 10 AND CG 20 37 endorsements?
- Are GL limits at or above my required minimum for this trade?
- Is workers comp listed (or is there a valid state-issued exemption on file)?
- Did I confirm the COI is real (called the broker or checked the state board)?
- Do I have a current W-9 on file?
- Is the sub's status in my system "Active / Coverage Current"?
Eight questions, sixty seconds. The five percent of cases that go sideways are the ones where you can't answer yes to all eight. The other 95 percent of the time you'll forget you even ran the check. That asymmetry is what makes the check worth doing every time.
Closing thought
Most GCs treat sub insurance verification as paperwork friction. They collect a COI on Day 1, file it, and don't touch it again until something breaks. That's how the gaps happen — the expired policy nobody noticed, the missing CG 20 37 endorsement, the Photoshopped certificate that looked fine.
The fix is structural. Make it impossible for a sub to start work without a verified, current, complete insurance file. Make it impossible to ignore an expiring policy. Track it the same way you track which jobs are in progress — because in a real sense, it IS your job. A sub on your site without proper coverage is your exposure, not theirs. Treat it accordingly.