ClassCheck
← Blog

Certificates of Insurance and Subcontractors: Why Missing COIs Inflate Your Audit

August 6, 2026 · By the ClassCheck Team · 7 min read

For businesses that rely on subcontracted labor — general contractors, remodelers, landscaping companies, anyone who hires help without putting them on payroll — the certificate of insurance is one of the most financially important pieces of paper in the whole operation. Get it wrong, and a subcontractor's entire labor bill can end up charged to your workers' comp policy at your own class rate, on top of whatever you already pay them.

The rule in one sentence

If you pay a subcontractor and that subcontractor can't produce a valid certificate of insurance showing their own workers' comp coverage, the audit treats the payment as if the sub's workers were your employees — charged at the class rate that applies to the work performed. This isn't a penalty or a technicality; it's the system's way of making sure that someone'spolicy is on the hook if an uninsured subcontractor's worker gets hurt on your job. If it isn't theirs, it becomes yours.

What actually counts as a valid COI

A certificate needs to show active workers' compensation coverage — not just general liability, which is a different policy entirely and doesn't satisfy this requirement — from a real carrier, with dates that actually cover the period the sub performed work for you. A certificate that expired mid-project, or that only shows liability coverage, will not protect you for the portion of work performed outside its coverage window. This is why collecting a COI once, at the start of a relationship, isn't enough if the relationship continues past the certificate's expiration.

How the charge gets calculated

The class code applied to an uninsured sub's payments isn't your governing code by default — it's whatever code matches the actual work performed. A roofing sub's payments get charged at the roofing rate (code 5551, illustratively $15–$45 per $100 of labor), a framing sub at the carpentry rate (code 5403), a flatwork concrete sub at code 5215. On uninsured subcontractor charges, it's common for the entire invoice amount to be treated as payroll subject to that rate unless you can show otherwise — which is where the labor/materials split matters.

The labor vs. materials split

Only the labor portion of a subcontractor's invoice is supposed to be charged as payroll — materials, equipment, and supplies aren't labor and shouldn't be priced the same way. The problem is that most subcontractor invoices don't separate the two, which leaves an auditor with no basis to exclude the material cost, and the full invoice amount ends up charged at the labor rate. If you use uninsured subs regularly, asking them to itemize labor separately from materials and equipment on their invoices — even informally — can meaningfully reduce this exposure, independent of the coverage question entirely.

Wondering whether a code discussed above is the right one for someone on your payroll?
Run the free checker

Where this gets missed even by careful businesses

The most common failure isn't hiring an uninsured sub knowingly — it's a certificate that was valid when the relationship started and quietly expired mid-project, or a long-standing sub whose certificate was collected once, years ago, and never checked again. Multi-month or multi-year jobs are especially exposed, since a certificate collected at the start of a year-long project may not cover the back half of it. A second, easy-to-miss version of the same problem: a certificate that names the wrong entity — a subcontractor operating under a different legal name than the one on their certificate — which technically doesn't satisfy the requirement even though the coverage genuinely exists somewhere.

Collecting COIs is cheaper than disputing the audit

The most reliable fix here is procedural, not a dispute-time argument: collect a certificate before work starts, log its expiration date, and follow up before it lapses. For a business with a rotating cast of subs, this is worth a simple spreadsheet — sub name, policy period, expiration date, and a reminder a few weeks out. It's a fraction of the effort of reconstructing an audit dispute after the fact, and it prevents the charge from ever appearing rather than requiring you to fight it off after it does.

If you missed it — options after the fact

If a subcontractor charge shows up on your audit because a certificate was missing or expired, it's not automatically permanent. Getting a current certificate from that subcontractor after the fact — one that covers the actual dates worked — can, in many cases, still reverse the charge. It's also worth double-checking the labor/materials split on any charged invoices even if coverage genuinely was missing; a documented split can reduce the amount charged even when the underlying coverage gap can't be fixed retroactively. Our general guide on how to dispute a workers' comp audit covers how to raise this kind of correction with your carrier.

Additional insured vs. workers' comp coverage

It's worth distinguishing this from a related but separate request many contracts make: being named as an "additional insured" on a subcontractor's general liability policy. That protects you against certain liability claims, but it does nothing for the workers' comp exposure discussed here — the two requirements serve different purposes and neither substitutes for the other. A complete subcontractor file typically includes both, collected and tracked separately.

A simple tracking habit that prevents most of this

You don't need software to manage this well. A shared spreadsheet with one row per subcontractor — legal name, policy number, effective and expiration dates, and the date you last verified it — covers most small operations. The habit that matters most is checking it before you cut a check, not just when the sub is first hired, since that's the point where an expired certificate actually costs you money. Some agents and carriers will also verify a certificate's authenticity directly with the issuing carrier on request, which is worth doing for any subcontractor relationship large enough to matter.

Certificates and contract language aren't the same protection

Some businesses rely on a contract clause requiring subcontractors to carry their own coverage, without actually collecting proof that they do. A signed contract promising insurance isn't the same thing as an active certificate, and it won't change how the audit treats an uninsured sub's payments — the audit looks at whether coverage actually existed, not whether it was contractually required to exist. If your standard subcontractor agreement includes an insurance requirement, pair it with an actual collection process rather than treating the clause itself as sufficient protection.

The flip side: why your own clients ask you for one

If you're a small operation working as someone else's subcontractor, this same rule is exactly why a general contractor asks you for a certificate before they'll pay you — without one, your labor becomes their liability. That's also part of why very small businesses, even a single owner with no employees, sometimes carry a workers' comp policy at minimum premium purely to have a certificate to hand over. We cover that situation directly in ghost policies and minimum premiums.

See how your own class codes hold up — it takes a few minutes and there's no signup.
Run the free checker

Related class codes

Related reading

Self-advocacy analysis — not legal, insurance, or accounting advice. No guarantee of any result. Rate figures shown are illustrative national ranges; actual rates vary by state and carrier.