Sales Tax for Colorado Contractors: What Plumbers, HVAC, and GCs in the Denver Metro Get Wrong

Sales tax is the thing contractors in the Denver metro get wrong most often, and it's not because they're careless. It's because Colorado's rules for contractors are different from the rules for everyone else, and then every home rule city layers its own rules on top. Here's how it actually works for plumbers, HVAC companies, electricians, and general contractors around Westminster, Arvada, Thornton, and Broomfield, and what I set up in QuickBooks so my clients stop getting surprise bills.

The core idea: you are the consumer, not the retailer

In Colorado, a contractor who installs materials into real property is treated as the final consumer of those materials. That means you pay sales tax when you buy the pipe, the furnace, the wire, the lumber, and you do not charge your customer sales tax on the finished job. The tax is already built into your cost. This is the opposite of how a retail store works, and it's why so many contractors who came from retail or from another state get it backwards.

So for a lump sum job, meaning you quoted one price for labor and materials together, the rule is simple. Pay tax to your supplier. Don't charge tax to the customer. Your invoice says $8,500 for the water heater replacement, with no tax line.

Time and materials is where it changes

If you bill time and materials, meaning your invoice shows materials as a separate line with a markup and labor as another line, the state treats you as reselling those materials. In that case you need a Colorado sales tax license, you buy the materials tax free from your supplier using your resale certificate, and you charge your customer sales tax on the materials line. Labor stays untaxed.

Where people get burned is mixing the two. They pay tax at the supply house and then also charge tax on the materials line to the customer, which is double taxation and a refund headache. Or they bill time and materials without a sales tax license, which means they're legally required to bill lump sum and they've been collecting a tax they aren't licensed to collect. Pick one method, set your invoices up to match, and stay consistent.

The home rule city problem

This is what makes the Denver metro harder than most of the country. Westminster, Arvada, Thornton, Broomfield, Denver, Lakewood, Boulder, and most of the other cities you work in are home rule cities. Each one administers its own sales and use tax, with its own rate, its own license, and its own return, separate from the state return you file on the DR 0100.

For contractors, the piece that bites is use tax on building permits. When you pull a permit in Arvada, for example, the city collects an estimated use tax on the construction materials up front, calculated as a percentage of the job valuation. Westminster and most of the other metro cities do a version of the same thing. The idea is that the city gets its tax on the materials regardless of where you bought them. If you bought those materials in a different city and paid that city's sales tax, you may be owed a refund from that city, and you have to go ask for it. The permit city won't credit you for it.

The practical result is that on a permitted job, the materials for that job should generally be purchased without city sales tax, since you've already prepaid the city's use tax through the permit. Supply houses in the metro know this and will usually ask for the permit number. On a non permitted job, you pay sales tax at the register as normal, and if the supplier is in a different city than the job site, you may owe the difference in use tax to the job site city.

If that sounds like a lot to track, it is. It's also why a lot of contractors just pay tax at the register on everything and hope it works out. Sometimes it does. Sometimes a city audit shows up three years later.

What I set up in QuickBooks for contractors

Materials get their own cost of goods sold account, separate from subcontractors and separate from labor, so the tax paid on materials is sitting in the right place and job costing works.

Permit fees and the use tax prepaid with them get their own line, tagged to the job, so when the project closes we can compare the estimated use tax against actual materials and know whether you're owed something back.

If you bill time and materials, the sales tax collected from customers goes to a sales tax payable liability account, never to income, and that account is reconciled against the state and city returns every filing period. I use a Colorado DR 0100 estimator I built for exactly this, so the number on the return matches the number in the books before it's filed.

Every job in QuickBooks Projects carries the job site city. That sounds like a small thing. It's the thing that makes it possible to answer a city auditor's question in ten minutes instead of a week.

The three questions to answer before your next invoice

Am I billing lump sum or time and materials, and does my invoice template match that? Do I have a state sales tax license, and if I bill time and materials, am I using my resale certificate at the supply house? For the cities I work in most, do I know whether they collect use tax on permits and what their rate is?

If you can answer all three, you're ahead of most of the trades in the metro. If you can't, that's a 30 minute conversation, not a crisis. Book a free consultation and bring your last few invoices and a supply house receipt. I'll tell you exactly where you stand.

One honest caveat: I'm a bookkeeper, not a tax attorney, and the state has been revising its contractor regulations. The principles above are current as I write this, but if you have a big project or an unusual contract, confirm the specifics with the Colorado Department of Revenue or the city's tax division before you bid it.

Previous
Previous

How Much Does a Bookkeeper Cost in Denver? 2026 Pricing Guide

Next
Next

Colorado FAMLI for Small Employers: What It Costs in 2026 and How to Record It in QuickBooks