Contractors Insurance in BC: What Trades Need On-Site
A breakdown of contractors insurance and liability policy insurance.
Contractors insurance in BC usually means three things stacked together: commercial general liability (CGL) for third-party injury and property damage, coverage for the tools and equipment in your truck, and — the moment you bring on help — proof of WorkSafeBC coverage for anyone under you. Most general contractors won’t add you to a project without at least $2 million in liability limits on file.
That’s the short version. The long version is where trades actually lose bids.
For example, a trade with solid coverage can still get bumped from a job. The limits are fine. But the certificate names the wrong entity, and the GC’s project manager doesn’t have time to sort it out before Monday’s start date. Small mistake, real cost.
How Much Liability Coverage Does a BC Contractor Actually Need?
There’s no provincial law setting a minimum liability limit for private construction contracts, the way there is for auto insurance. The number gets set by whoever’s writing your contracts. But patterns show up fast once you’ve reviewed enough of them.
Why $2 Million Is the Number Almost Every GC Asks For
Most residential and light commercial GCs in the Okanagan and Kootenays ask for $2 million per occurrence. It’s close to a default now, the way “net 30” is a default payment term. Smaller renovation jobs sometimes accept $1 million, but we steer most trades toward $2 million anyway. The price gap is usually small, and it keeps you eligible for more bids without a scramble.
What Counts as “Contractors Insurance” Beyond Liability?
Liability gets the attention, but it’s not the whole policy. GCs care about one thing above all when they check your file: your liability policy insurance paperwork, current, correctly named, easy to verify. Everything else below is what actually protects you.
Covering the Truck: Tools and Equipment Coverage
CGL doesn’t cover your tools. A separate floater does. It’s sometimes called an equipment floater or inland marine coverage. It covers theft, breakage, and job-site loss for what’s riding in your truck or locked in a trailer overnight.
We ask every trade the same question: what would it cost, in dollars and lost days, to replace everything in your rig tomorrow morning? Most underestimate it until they’ve had to.
The Coverage Trades Forget: Errors & Omissions
If you do any design work — laying out a deck, spec’ing a system, advising on materials — a pure liability policy won’t respond to a claim that your advice was simply wrong, with no property damage attached. That’s an E&O claim, and it needs its own policy or endorsement.
What Happens When You Bring On a Subcontractor?
Subcontractor exposure is where I see the most expensive gaps, and it’s rarely the trade’s own coverage that’s the problem.
Straight Answers From the Job Site
Do I need liability insurance as a sole proprietor with no employees? Yes. Claims come from your work, not your payroll. A one-person framing crew can still cause $50,000 in water damage with a missed flashing detail.
Can I just work under my GC’s insurance instead of buying my own? Not automatically. A GC’s ordinary liability policy generally does not cover you, but you may be insured under a project wrap-up or through specific insured status. Confirm your coverage in writing, as your contract may still require you to carry your own policy.
How fast can I get a certificate of insurance? Same day, in most cases, once your policy’s active. Keep a digital copy on your phone.
Does contractors insurance cover tools stolen overnight from a job trailer? Only if you’ve added a tools and equipment floater. Standard liability won’t touch it.
Get Your Coverage Sorted Before the Next Bid
Trade policies make up a big share of what we write out of our Kelowna and Trail offices. And the pattern’s consistent: contractors who win more work can hand over the right paperwork without a scramble.
Questions about Contractor Coverage? Get in touch — we’ll walk through what your next contract actually requires.


