You have the labor, material, and subcontractor costs in the estimate. Now you need to turn that cost into the final price the client will see.

The obvious move is to apply your usual markup, or add a few percentage points if the job feels riskier than normal.

But markup can only solve a markup problem. It can help you recover overhead and reach your target margin, but it can’t correct costs that were missing or already out of date when you built the estimate. It also can’t protect that margin if you commit to a fixed price while important parts of the scope remain unsettled.

A price that holds requires three decisions, in order: establish what the job is likely to cost, decide who should deal with the remaining uncertainty, and calculate the markup needed to cover overhead and reach your target margin. 

This guide works through those decisions across fixed-price, cost-plus, and time-and-materials pricing, then applies them to one sample job.

Key Takeaways

  • Fixed-price, cost-plus, and time-and-materials pricing differ in who assumes the risk of the job’s uncertainty. 
  • A consistent markup is fine when it comes from your own overhead and target margin rather than an industry range, but remember that a 20% markup produces only a 16.7% margin.
  • Before a price goes into the contract, separate firm costs from allowances and assumptions, confirm how long dealer and subcontractor prices stay valid, and state how unresolved costs get handled if they move after signing.
  • Reusable assemblies shorten the estimate time, while current material and labor costs keep the price from being built on stale inputs. Buildxact customer John Beiler cut a whole-house estimate from 10 hours to four by standardizing it with assemblies.

What Does It Cost to Run a Job?

The cost base runs deeper than the direct labor, materials, subcontractors, and equipment on your estimate. The costs that sink jobs are the ones with no obvious home: permits, dump runs, fasteners, consumables, cleanup labor, and insurance load, alongside job-specific indirects, allocated overhead, allowances, contingency, and any exposure from supplier pricing that expires before work begins. Leave them in a general materials bucket and the finished job looks more profitable than it was.

Build the cost base in two passes. First, price the labor, materials, equipment, and subcontracted work the scope requires. Then add the cost of supporting and doing the job: indirects, overhead, allowances, contingency, and likely price movement. Only once that total is complete do you pick the pricing model and apply markup.

Which Pricing Model Fits the Job: Fixed-Price, Cost-Plus, or Time and Materials?

The pricing model that fits a job comes down to one question: on this job, who should handle the uncertainty, you or the client? The reflex is to pick by job type (fixed-price for new builds, cost-plus for customs), but that’s the wrong axis.

Three kinds of uncertainty are always in play. 

  • Estimating risk: Did you take the job off correctly? 
  • Escalation risk: Will material or labor prices move before you finish? And 
  • Final total risk: Will the job cost what you estimated? This is the part of the final number that isn’t takeoff accuracy or price movement: the labor productivity you assumed, the conditions you can’t see until you open the wall, rework, waste, and scope that shifts once the crew is on site. A clean takeoff at locked-in prices can still finish over budget if the work doesn’t run the way you priced it.  

Every pricing model is a decision about who absorbs which.

Fixed-price 

This model puts all three risks on you within the agreed scope. You name a number, and if your takeoff was light or lumber jumps, that’s your problem. If you work faster than you priced, the gain is yours too. 

It’s the right call when the scope is genuinely locked with complete drawings, selections made, firm subcontractor quotes, and prices you can hold. It burns contractors on remodels where you commit to a number, then open a wall and find the snags you couldn’t see, and the overrun comes straight out of your margin. Don’t offer an unqualified fixed price when major selections or sub-scopes are still open.

Cost-plus 

As a model, it gives the client the final total, and they reimburse your actual costs plus an agreed fee. It protects your margin when prices are moving because you’re no longer betting on them, but only when the contract defines the reimbursable costs, the fee, the records you’ll keep, and how changes get priced. 

That discipline usually works with repeat clients and referrals because it depends on trust, unlike cold clients, who’ll scrutinize every line.  

Reach for cost-plus when scope is genuinely open, and the relationship can handle open-book billing; refuse it when either is missing.

Time and materials

This model charges the client your hourly rate plus materials, which suits work that can’t be defined before it starts, such as service calls, troubleshooting, small unknown-scope jobs.

It’s the wrong tool for a larger remodel, where clients start counting the hours and questioning the rate. When you use it, pair your hourly and material rates with a not-to-exceed cap and a reporting cadence, so the client gets flexibility without signing a blank check.

Fixed-PriceCost-PlusTime and Materials
Must be settled firstDrawings, selections, firm sub quotes, holdable pricesOpen-book terms; reimbursable costs and fee basis agreedScope genuinely can’t be defined up front
Who absorbs a cost overrun YouClientClient
What the client must agree toThe locked numberOpen books, reimbursable costs, fee, the records they’ll receiveRate × hours + materials, under a not-to-exceed
When to reject itSelections or scopes still open; remodel with hidden conditionsNo trust, or the client won’t accept open-bookLarger defined work; when it’s just a hard estimate, you’re avoiding

How Do You Calculate Your Markup and Margin?

Markup and margin are the same profit dollars measured from different starting points, and the gap between them is where the target slips. A 20% markup on cost is only a 16.7% margin on price. To land on the margin you actually want, divide the cost base by (1 − target margin): hitting 20% takes a 25% markup, not 20%.

Two things erode that number before the job even starts: marking up overhead you’ve already allocated to the job, so you recover it twice and price yourself out, and borrowing a markup from an industry range like the old “10 and 10” instead of building it from your own overhead and target margin.

Setting the right markup only protects the margin you estimated; keeping it depends on the model. Under fixed-price, every lever sits before signing, so an accurate takeoff and a change-order clause are the whole game. Under cost-plus, the margin is the fee, so it turns on pricing that fee as a percentage and defining reimbursable costs tightly. Under time and materials, the margin lives in rates you set once, so the risk is bidding them too lean to recover. 

Is the Price Ready to Go in the Contract?

A complete estimate isn’t automatically ready for the contract. Before you commit, separate the inputs you can hold from the ones that might still move, then decide how to handle each if it changes after signing. 

An assumed sub quote, a material price that expires before signing, or an allowance nobody pins down can turn a locked price into a gap you absorb. So before it goes in the contract, run it against a short checklist:

  • Are scope and exclusions written clearly enough that both sides read them the same way?
  • Which numbers are firm quotes, which are allowances, and which are still assumptions?
  • How long are your dealer and subcontractor prices actually valid?
  • What change would invalidate the price entirely?
  • Does the payment schedule fund your early commitments (deposits, procurement)?
  • Does the contract spell out how changes get priced once work starts?

Allowances deserve their own line. Written well, the clause says the client pays the difference when they choose the pricier tile, and pays it as it happens, like a change order, not as a surprise at closeout. Written vaguely, that overage becomes yours.

A Worked Pricing Example: One Job, Three Models

Numbers make the model choice concrete. Take one job: a mid-size bathroom remodel. (Every figure below is illustrative, meant to show the mechanics, not a real job.)

Build the cost base once: say $40,000 in direct costs (labor, materials, one sub, equipment and permits), plus $6,000 of allocated overhead, plus a $2,000 contingency line, for a $48,000 base. Target margin: 20%.

  • Fixed-price: Price the base to hit the margin: $48,000 ÷ (1 − 0.20) = $60,000. The client gets one number. If the job runs long or a price moves, you absorb it, and if it goes smoothly, the difference is yours.
  • Cost-plus: The client reimburses allowable costs and pays an agreed fee. For this simplified comparison, a 25% fee on the $48,000 cost base produces a $60,000 expected price and the same 20% margin as the fixed-price calculation. If a hidden condition adds $4,000 of real cost, the client pays that cost plus the fee on it: $5,000 in all, taking the job to $65,000, and your margin holds.
  • Time and materials: You bill your labor rate against hours worked plus materials, under a not-to-exceed ceiling. Because it prices actual time and materials rather than the projected base, it can’t be reduced to one starting number without fixing the rate, the hours, and the material markup. Treat the total as a controlled range, not a fixed figure.

Now introduce one mid-job change, a discovered condition that adds $4,000. Under fixed-price, unless it’s a written change order, you eat it. Under cost-plus, the client pays the added cost and the fee attached to it; under T&M, the client pays the added time and materials.

The model should also be explainable to the client in terms of the risk each side accepts:

Fixed-PriceCost-PlusTime and Materials
Expected job cost$48,000 base$48,000 base~$48,000, but it floats
What you chargeBase priced to a 20% margin, $60,000Cost + 25% fee, $60,000Rate × hours + materials, under an NTE cap
If costs rise by $4,000You absorb it; price stays $60,000Client pays $5,000 ($4,000 cost + $1,000 fee), to $65,000The client pays the added time and materials
Main contractor exposureEstimating + escalation riskDocumentation + trustProductivity scrutiny
What do you tell the client“Scope’s settled enough for me to handle the risk, and the price includes that certainty.”“You pay actual cost, see the records, and pay only for what the job needs.”“Scope isn’t defined yet, so we bill actual time and materials under a set ceiling.”

How Do You Price Off Current Costs Without Slowing Down?

Accuracy only helps if the estimate reaches the client in time to win the work. A defensible number that takes ten hours to build may arrive after the opportunity has cooled, which makes turnaround part of the pricing problem. Across Buildxact estimates, 32.9% of accepted quotes are won within two days of being sent.

Two things get you there. The first is reusable assemblies: instead of rebuilding a wall or a bathroom from individual line items every time, you price it once as a template (studs, plates, sheathing, and the labor that goes with them), then reuse it, scaling by the dimensions of the job in front of you. 

The second is pricing off current costs: pulling live material and labor prices into the estimate instead of last year’s numbers, which stopped being true the last time lumber moved. That standardization is saved time for John Beiler of Northwoods Construction, after moving his estimating workflow onto Buildxact:

“What used to take me 10 hours for a whole house estimate now takes me four hours, and that’s time I can spend on scaling my business for the future.”

The savings came from the assemblies, not from any single price lookup. 

Across Buildxact builders, that kind of standardization returns about 16 hours a month that would otherwise be lost to admin. 

Keeping those inputs current protects the margin once the speed is there. With Buildxact, localized dealer pricing, ordering, and receipting pull straight into the estimate through our Home Depot integration, so the number you hand a client reflects today’s costs, not last month’s. 

Once you’ve built the assemblies you reuse and connected the dealer catalog, you no longer have to choose between rebuilding every estimate by hand and sending a fast number based on stale costs.

Price Your Next Job Without Losing Margin

A price that holds comes from three decisions made in order: build a cost base you can defend, decide who carries the remaining uncertainty through the contract model, and set a markup based on your overhead and target margin. 

Before you commit to that price, separate the firm inputs from allowances and assumptions, so the contract says who absorbs any movement after signing. 

When the job closes, feed its actual labor, material, and subcontractor costs back into the next estimate, replacing stale assumptions with production history from your own jobs and giving the next markup a more reliable base.

When you’re ready to build estimates from reusable assemblies and current material and labor costs, see how we help you produce a price you can defend. Book a demo.