ProfitTrackr Logo ProfitTrackr
Pricing Estimating Business Finance

How to Price a Contracting Job So You Actually Make Money

ProfitTrackr Team · · 9 min read

Pricing a contracting job is part math, part strategy. Price too high and you lose the bid. Price too low and you win the job but lose money doing it. The goal is to find the number that covers every real cost, builds in a profit margin, and still gets you the work.

Most contractors price by gut feel or by copying what the last guy charged. That works until it doesn't — and when it fails, the losses can be devastating. Here's a repeatable system you can use on every single bid.

Step 1: Calculate Your Direct Costs

Direct costs are everything you'll spend specifically on this job. Break them into four categories:

Materials: Get actual quotes from your suppliers. Don't estimate from memory — call or check online. Add 5–10% for waste, damaged goods, and extra trips. If a deck job needs $4,200 in lumber, budget $4,500–$4,600.

Labor: Estimate the hours your crew will need, then multiply by your fully loaded labor rate — not just their hourly wage. Include payroll taxes, workers' comp, and benefits. A $30/hour worker typically costs $38–$42/hour. For a deeper dive, read our guide on job costing for small contractors.

Equipment: Rental costs go straight to the job. For owned equipment, allocate a daily or weekly rate based on your payment, maintenance, and fuel costs.

Subcontractors: Get firm quotes before you bid. Subs who give "ballpark" numbers can blow up your margins if the actual invoice comes in higher.

Cost CategoryExample: Bathroom Remodel
Materials (tile, fixtures, plumbing)$6,800
Labor (120 hrs × $40 loaded rate)$4,800
Equipment rental (demo saw, tile cutter)$350
Subcontractor (electrician)$1,200
Permits$250
Total Direct Costs$13,400

Step 2: Add Your Overhead Allocation

Every job needs to carry its share of overhead — the costs that keep your business running whether or not you have work. Insurance, truck payments, phone bills, accounting fees, and your non-billable time all need to be covered. Check our overhead costs guide for a full breakdown.

If your monthly overhead is $6,000 and you complete 3 jobs per month, each job needs to absorb $2,000 in overhead. Or use a percentage: if your overhead rate is 16% of revenue, multiply your direct costs by 1.16.

Job Price (before profit) = Direct Costs + Overhead Allocation

$13,400 + $2,000 = $15,400

Step 3: Build In Your Profit Margin

Profit is not "whatever's left." It's an intentional line item in your price — just like materials or labor. Decide your target net profit margin before you calculate the final number. A typical target for contractors is 10–15%. Learn how to calculate this accurately in our profit margin guide.

Here's where the markup vs. margin distinction matters. If you want a 12% net profit margin, you don't add 12% — you divide by (1 − 0.12) = 0.88:

Final Price = (Direct Costs + Overhead) / (1 − Desired Margin)

$15,400 / 0.88 = $17,500

Net profit: $2,100 (12%)

Step 4: Add a Contingency Buffer

Things go wrong on every job. Material prices change, weather causes delays, you find rot behind the drywall. A 5–10% contingency on the total price protects your margin when surprises hit.

You can either build it into the price or include it as a separate line item the customer can see. Being transparent about contingency actually builds trust — clients appreciate knowing you've planned for the unexpected.

Step 5: Validate Against the Market

Your math might give you a price of $17,500, but if every other contractor is bidding $14,000, you have a problem. Not a pricing problem — a cost structure problem. You either need to find ways to reduce costs or be able to clearly communicate the value that justifies your higher price.

That said, don't race to the bottom. The contractor who wins every bid on price alone is usually the one losing money on every job. Your target customers are the ones who value quality, reliability, and professionalism — not the ones shopping purely on price.

The Pricing Checklist

Before you submit any bid, verify:

  • • Materials based on actual supplier quotes (not memory)
  • • Labor hours based on past job data for similar work
  • • Fully loaded labor rate (not just hourly wage)
  • • Subcontractor quotes are firm, not estimates
  • • Overhead allocation is included (not absorbed as "profit")
  • • Profit margin is calculated correctly (division, not addition)
  • • Contingency buffer of 5–10% is included
  • • Total price is competitive for your market

Better Data = Better Prices

The more historical job data you have, the more accurate your future pricing becomes. If you know that your last five bathroom remodels averaged 130 labor hours (not the 100 you keep estimating), your next bid is immediately more accurate.

ProfitTrackr tracks every cost on every job so your pricing gets better over time. Stop guessing — price with real numbers from your own business.

Ready to see your real profit margins?

Start your free 14-day trial of ProfitTrackr — no credit card required.

Start Free Trial