Contractor Pricing: Markup, Margin, Overhead, and Labor Burden

Pricing mistakes — confusing markup with margin, underestimating labor burden, or ignoring overhead — are among the most common reasons contractors stay busy but never build real profit. Here's how to think about each piece.

How do I calculate markup for a construction job?

Markup is calculated by dividing your desired profit by your total job cost, then adding that percentage on top of cost to set your selling price: Selling Price = Cost × (1 + Markup%).

The basic markup formula:

Selling Price = Cost × (1 + Markup %)

For example, a job costing $1,000 with a 30% markup sells for $1,300. To calculate the markup percentage needed to hit a target margin, use:

Markup % = Margin % ÷ (1 − Margin %)

So a 25% margin target requires a 33.3% markup, not a 25% markup — this is the single most common pricing mistake contractors make, and it directly causes the "profitable on paper but no cash" problem when markup and margin get confused.

BCTM's price book lets you set cost and markup per line item, calculating the correct selling price automatically so margin targets are hit consistently across jobs.

What's a typical contractor profit margin?

Profit margins vary significantly by trade, region, and business size, and there's no single universal benchmark — track your own margin per job over time rather than relying on a generic industry figure.

Contractor profit margins are shaped by too many variables — trade, overhead structure, local labor costs, competition — to reduce to one number that applies broadly. What's more useful:

  • Track gross margin (revenue minus direct job costs) per job, not just annually
  • Compare margin across similar job types to spot which work is actually profitable
  • Watch for the gap between healthy margin on paper and actual cash in the bank, which often points to slow-paying customers or retainage sitting outstanding rather than a pricing problem

Benchmarking against your own historical data is generally more actionable than an industry-wide average that may not reflect your trade or market.

BCTM compares actual and estimated job hours and shows labor margin context on invoice labor lines, making it easier to review where a job diverged from plan instead of relying on a generic industry number.

What's the difference between markup and margin?

Markup is profit calculated as a percentage of cost, while margin is profit calculated as a percentage of the selling price — the same dollar amount of profit produces a different-looking percentage depending on which one you use.

MarkupMargin
FormulaProfit ÷ CostProfit ÷ Selling Price
Example ($1,000 cost, $1,300 price)30%23.1%
Common mistakeAssuming markup % = margin %

Because markup and margin percentages are never equal for the same job (markup is always a higher number than margin, given the same profit), contractors who set a "30% markup" thinking it delivers a "30% margin" are actually earning less profit than they think. This confusion is a common root cause of businesses that look busy and profitable but consistently run short on cash.

BCTM's price book displays both markup and resulting margin side by side when you set pricing, so the two numbers don't get confused.

What is labor burden and how do I calculate it?

Labor burden is the total cost of an employee beyond their base wage — payroll taxes, workers' comp, benefits, and insurance — and typically adds 25–50% on top of base wages depending on trade and risk class.

Labor burden captures the true cost of putting a worker on a job, not just their hourly wage. Components typically include:

All together, total labor burden typically ranges from 25–50% of base wages, meaning a $25/hour employee often actually costs $31–$37.50/hour or more once burden is included — a number that must be reflected in your pricing to avoid underquoting labor.

BCTM's price book includes labor columns for repeatable service items, while invoice labor lines use hours × rate and can retain estimated internal cost for a margin readout. BCTM does not calculate or run payroll.

How do I figure out my hourly rate as a contractor?

Add your desired take-home pay, labor burden, overhead, and profit margin, then divide by your expected billable hours per year to get a fully loaded hourly rate.

A basic approach to building a defensible hourly rate:

  1. 1.Start with your target annual income (or base wage, if hiring employees)
  2. 2.Add labor burden (payroll taxes, workers' comp, benefits — commonly 25–50% of wages)
  3. 3.Add a share of annual overhead (rent, insurance, vehicle, tools, software)
  4. 4.Add your target profit margin
  5. 5.Divide the total by your realistic annual billable hours (not total working hours — account for drive time, estimates, and admin work that isn't billable)

Many contractors underprice because they divide desired income by *all* working hours rather than just billable ones, which understates the real rate needed.

BCTM's price book lets you save a calculated hourly rate as a reusable line item so it's applied consistently across every estimate and invoice.

How much overhead should I build into my prices?

Overhead allocation varies by business, but a common approach is to total your annual fixed costs and divide by expected annual billable hours or revenue, then build that per-unit cost into every price.

Overhead (rent, insurance, vehicle costs, software, admin time) doesn't disappear just because it's not tied to a specific job, so it needs to be spread across your pricing. A simple method:

  1. 1.Total your annual overhead costs (everything not directly tied to a specific job's labor or materials)
  2. 2.Divide by your expected annual billable hours (or revenue, if you prefer a percentage-of-revenue approach)
  3. 3.Add that per-hour or percentage figure into every estimate, on top of labor, materials, and profit margin

Contractors who only price labor and materials — forgetting overhead entirely — are one of the most common causes of a business that looks busy but isn't actually profitable.

BCTM's price book supports adding an overhead allocation into your rates so it's factored into every job automatically, not calculated manually each time.

Why are my jobs profitable on paper but I have no cash?

This usually happens when profit is measured on an accrual basis (revenue earned, whether or not collected) while your bank account reflects actual cash received — slow-paying customers, retainage, and material costs paid upfront can all create this gap.

Common causes of the profitable-but-cash-poor problem:

  • Accounts receivable piling up — jobs are "done" and invoiced, but customers haven't paid yet; industry data shows 82% of contractors now wait 30+ days past expected payment
  • Retainage withheld — 5–10% of each progress payment sits uncollected until project close, sometimes for months
  • Materials paid upfront — you fronted supply costs before collecting the matching invoice
  • Markup/margin confusion — pricing that looks profitable on paper because margin was miscalculated as markup

The fix is usually reviewing accounts-receivable aging and outstanding retainage regularly, not just your profit-and-loss statement, since P&L can look healthy while cash on hand tells a very different story.

BCTM's reports separate outstanding receivables and retainage from completed revenue, helping surface the gap between "profitable on paper" and actual cash collected.

How do I build a price book for repeatable services?

List every service you offer regularly with a consistent, pre-calculated price that includes labor, materials, burden, overhead, and margin, so estimates can be built quickly from saved items instead of pricing from scratch each time.

A price book turns pricing into a repeatable, defensible process instead of a guess made on the fly. Building one:

  1. 1.List every commonly performed service or task (e.g., "faucet replacement," "HVAC tune-up")
  2. 2.Price each fully loaded — labor (with burden), materials, and your margin already baked in
  3. 3.Group similar items for quick lookup during estimate creation
  4. 4.Review and update prices periodically as material and labor costs change

Once built, a price book dramatically speeds up estimate creation, since you're selecting saved items instead of calculating cost from scratch on every job.

BCTM's price book feature is built exactly for this: save fully loaded prices for repeatable services once, then pull them into any estimate or invoice with a tap.

Invoice the job, not the paperwork

No subscription. You pay a per-transaction fee only when a customer pays you.

Start free