Here's a conversation I've had more times than I can count. A contractor sits down across from me, slides over a bid that looks great on paper, and says, "Jack, we were busy all year. So where the hell did the money go?"
Nine times out of ten, the bid wasn't wrong about the lumber, the concrete or the hourly wage. It was wrong about everything around the lumber, the concrete and the hourly wage. Those are the costs that never make it into the template, because nobody ever sat down and gave them a line.
Most contractors undercharge not because they're bad at math, but because they don't fully see the true cost of a job. So let's go find it.
Start with the costs you already know about
Before you get to the sneaky stuff, make sure the basics are actually in the number. For every job, list:
- Materials, including waste, returns and the trip back to the supply house.
- Labor at the loaded rate (wages plus payroll taxes, workers' comp and benefits), not the hourly wage.
- Equipment, meaning rental, fuel and wear and tear on the gear you own.
- Subcontractors, from written quotes, not a number someone said on the phone.
- Overhead: insurance, the office, the trucks, the software, the phone bill.
- Your time. Your oversight has a value. If you don't price it, you're working for free.
Then, and only then, add profit. A healthy margin for most specialty trades sits somewhere between 15% and 25%, depending on the work. Profit isn't something left over after the job. It's a line item, the same as drywall.
Now the costs that actually sink you
Colorado is a tough place to estimate. Altitude, weather, HOAs, mountain roads and old housing stock all turn small oversights into big losses. These are four of the stories contractors have shared with us, with names changed. Every one of them had a "good" bid.
1. Drive time and altitude
The Altitude Tax. Sam estimated a multi-building HOA re-roof in Fairplay using his Denver production rates. Fairplay sits at 10,000 feet. His crew lost five hours a day to the round trip, and at altitude, in the wind, safety tie-offs took twice as long. Production dropped 35%.
The fix: Any job more than 45 minutes or 2,000 vertical feet from the shop now gets a 1.30x labor multiplier, built into the template so nobody has to remember it.
2. Rules that shrink the work day
The HOA Blockade. Christian bid an exterior repaint at normal crew speed. The HOA required a four-week color review, banned overnight trailer parking and limited work to 9 to 4. His crew spent two hours a day setting up and tearing down, so actual painting time was cut in half.
The fix: Every home in a covenant-controlled community now gets a flat HOA compliance line item.
3. How far materials have to travel
The Long Haul. Kevin's material quantities were perfect. But a narrow side yard meant 80 tons of stone got dumped at the curb, and his crew spent days shuttling it 150 feet to the back with skid steers and wheelbarrows.
The fix: The bid template now asks how far bulk material travels from the truck. Anything over 50 feet triggers a per-foot handling fee.
Wondering which of these is hiding in your own bids? That's exactly what Jack looks for on a free 15-minute Fit Call. See if you're a fit →
4. The office hours nobody bills
The Invisible Manager. Dan's software captured the glass and the install labor perfectly. Then a patio door showed up damaged, and his salaried project manager spent twenty hours re-ordering parts, rescheduling subs and calming the homeowners. The software tracked the installers. It ignored the office.
The fix: Every estimate now carries an explicit 5% to 8% project management and coordination line instead of burying it in general markup.
The pattern behind all four
None of these guys were bad builders. They were using a template built for an average job and applying it to jobs that weren't average. The fix in every case was the same: turn the hidden cost into a line item that triggers automatically, so it doesn't depend on someone remembering it at 10 p.m. while finishing a bid.
Here's a simple exercise. Pull your last five jobs that came in under target. For each one, write down the single biggest thing that ate the margin. If the same culprit shows up twice, you've found a line item your template is missing.
Price for the job you're actually doing
You can't charge what you're worth until you know what the job really costs you. Once you can see the whole number, the conversation with the client changes. You're not guessing and hoping. You're explaining why the price is the price.
That's the work we do with Colorado contractors every week: find the leaks, put them on paper and build them into the way you bid.
