How to Price a Construction Job So You Actually Make Money
You bid $45,000 for the project. You thought you nailed it. You costed out the labor, the materials, the equipment rental. You came in under the competitor's bid. The client signed the contract.
Six months later, after the job is done, you do the math.
You made $3,000. On a five-month project. That's $600 a month. That's less than you'd make working as an employee with benefits.
And you only realized it after the job was done, when it was too late to course-correct.
This is the most common story in construction. Contractors leave money on the table because they price based on "what feels right" or "what the competitor quoted" — not on what it actually costs them to run their business.
The Hidden Costs Nobody Talks About
When you quote labor at your hourly rate and add 10% for materials, you're ignoring the entire operation behind those materials and hours.
Overhead doesn't disappear just because you're busy.
Even when you're not on a job, you've still got:
- Gas to get to sites for estimates
- Insurance (liability, vehicle, workers' comp)
- Equipment sitting idle (tools, compressors, ladders, trucks)
- Office space (or rent for a desk)
- Phone and internet
- Vehicle maintenance and fuel
- Licensing and permits
- Admin time (invoices, estimates, scheduling)
All of that is real money going out of your business. It doesn't scale with billable hours. It's there whether you're slammed or slow.
Equipment depreciation is brutal.
That $50,000 truck won't last forever. That $3,000 table saw needs to be replaced in 10 years. That $15,000 compressor will die on you. If you don't account for replacing equipment when you price jobs, you're slowly bleeding cash.
Unbilled change orders eat your profit margin.
Client changes their mind mid-project. Sub doesn't show up, and you have to rework something. You discover a structural issue that wasn't in the original quote. You spend three hours problem-solving a design issue the client asked about.
If you don't systematically track and charge for those, they come straight out of your profit. Most contractors lose 5–15% of revenue to unbilled change orders.
Downtime between jobs is invisible but expensive.
You finish a project on Friday. The next job doesn't start until the following Monday. You've got a week where you're not billing, but you're still paying overhead. Multiply that by 10–15 weeks a year across all your projects, and you've got a huge gap in your revenue.
The Framework That Works
Here's how to price so you actually make money:
Step 1: Calculate Your Real Overhead
Add up everything that isn't billable labor or direct materials:
- Annual insurance: ______
- Annual vehicle costs (fuel, maintenance, insurance): ______
- Annual equipment depreciation: ______
- Annual rent / office / workspace: ______
- Annual utilities, phone, software: ______
- Annual admin time (estimate conservatively): ______
- Total Annual Overhead: ______
Let's say it's $80,000. That's about the minimum for a one-person operation with a truck and basic tools.
Step 2: Figure Out Your Real Billable Hours
Don't assume 2,000 hours per year. That's theoretical.
Account for:
- Vacation (let's say 2 weeks): -80 hours
- Sick time and weather delays: -40 hours
- Estimating and sales calls: -200 hours
- Admin, invoicing, scheduling: -200 hours
- Real billable hours: ~1,480 hours per year
Step 3: Calculate Your Real Hourly Rate
Your overhead ($80,000) divided by your billable hours (1,480) = $54 per hour just to break even.
That's before you make a penny of profit.
Step 4: Build in Profit and Contingency
You're not in business to break even. You need:
- Profit margin: 15–25% depending on job complexity and risk
- Contingency: 5–10% for unknowns
So your full rate should be:
- Break-even: $54/hour
- Plus 20% profit: $11/hour
- Plus 7.5% contingency: $4/hour
- Your real hourly rate: $69–70/hour
If you've been charging $50/hour, you now understand why you're not making money.
Real Numbers: What a Markup Actually Means
Let's take a concrete example: a $50,000 job.
If you markup at 15% (what many contractors do):
- Direct costs: $43,500 (labor + materials + subs)
- Markup: $6,500
- Profit: $6,500
- Your hourly earnings: ~$32/hour (depending on how many hours you spend)
That's barely above minimum wage.
If you markup at 20%:
- Direct costs: $41,667
- Markup: $8,333
- Profit: $8,333
- Your hourly earnings: ~$52/hour
Getting closer to survival range.
If you markup at 25%:
- Direct costs: $40,000
- Markup: $10,000
- Profit: $10,000
- Your hourly earnings: ~$67/hour
Now you're actually making something.
But here's the thing: a 25% markup isn't greed. It's what it costs to:
- Replace your truck in five years
- Take a real vacation
- Have health insurance
- Pay yourself like a professional
Why Contractors Leave Money on the Table
They quote low to "win" the job. The client gets three bids. Someone quotes $45,000. You quote $50,000. You lose. So you drop your bid to $47,000 on the next one. Now you're chasing volume instead of margin, and volume doesn't save a bad margin.
They don't track actuals vs. estimates. You quote 120 hours of labor. You end up spending 160. But because you didn't track it, you don't know until the project's over. By then, it's too late to adjust.
They treat every job the same. A simple kitchen reno has different risk than a complicated electrical upgrade. The complexity should change your markup and contingency, but many contractors just use the same formula for everything.
They don't systematically charge for change orders. A client asks a question. You spend an hour researching. You never bill for it. Multiply that across the year, and it's thousands in lost revenue.
How to Lock in Your Real Numbers
You need a system where you track:
- Actual labor hours vs. estimated hours
- Actual material costs vs. quoted materials
- Change orders and who they're billed to
- Downtime between jobs
- Unbilled admin time that's tied to a specific project
This isn't about being obsessive. It's about knowing whether you actually made money and why.
If you bid jobs without this data, you're guessing. And in construction, guessing costs money.
JobHammers' ChargeHammer module does exactly this — tracks actuals against your estimates in real time so you can see early if a job is trending toward profit or loss. No spreadsheets. No guessing. Just the numbers you need to price your next job correctly.
The Bottom Line
You're not underpriced because you're bad at what you do. You're underpriced because you haven't accounted for the full cost of running your business.
Your overhead is real. Your equipment will break. Your downtime is expensive. Unbilled change orders are theft.
Price accordingly. 20–25% markup. Break-even rate plus profit plus contingency. Track actuals religiously.
Do that, and the next time you finish a project, you'll actually be surprised by how much you made.
Stop leaving money on the table. JobHammers helps contractors track the real numbers — bid accurately, spot margin leaks before they happen, and actually finish a job knowing they made money. Because that's what you're building for.
Stop losing money on every job.
JobHammers turns WhatsApp voice notes into time logs, invoices, and daily reports. Your crew already knows how to use it.
Join the Waitlist →