How to Write an Estimate for a Construction Job (7 Steps)
A construction estimate is built in seven steps: confirm the scope, take off quantities, price materials, price labor in real hours, add overhead, apply markup (not margin — this is where money disappears), and write it up with exclusions. The step that costs contractors the most is the sixth: adding "30% profit" as markup gives you a 23% margin, not 30%. That gap is the difference between a good year and a confusing one.
- Markup and margin are not the same number. A 30% markup on $10,000 of cost yields $13,000 and a 23.1% margin. To actually earn a 30% margin you need a 42.9% markup.
- Price labor in real hours — including drive time, setup, cleanup and the burdened cost of employment, not the hourly wage you pay.
- Overhead is a line, not a vibe. Divide annual overhead by billable hours and put an actual number into every estimate.
- Exclusions win disputes. What the price does not include is the part of the document that protects you when the scope drifts.
The 7 steps to writing a construction estimate
In order, because doing them out of order is how numbers get invented at the kitchen table at 10pm.
1. Confirm the scope in writing before you price anything
Walk the job, take photos, and write down what you are and aren't doing in the customer's own words before you touch a calculator. Most estimate disputes are scope disputes wearing a price costume. If the customer says "and while you're in there," that's a separate line, not a favor.
2. Take off quantities
Measure and count everything the job consumes: square footage, linear feet, fixtures, sheets, yards. Add a waste factor appropriate to the material — the exact percentage varies by trade and by how cut-up the space is, so use your own historical numbers rather than a rule of thumb from the internet.
3. Price materials from a current supplier quote
Not from memory, and not from last quarter's invoice. Material pricing has moved enough in recent years that a stale number can eat a whole job's profit. If the estimate will sit with the customer for a while, put a validity window on it — "pricing valid 30 days" — so a supplier increase isn't automatically your problem.
4. Price labor in burdened hours
Two mistakes here. The first is estimating only the hours spent doing the visible work, leaving out drive time, loading, setup, protection, cleanup and the dump run. The second is using the wage you pay rather than what the person actually costs you — payroll taxes, workers' comp, insurance and any benefits. Your burdened rate is meaningfully higher than the wage, and estimating at the wage means working for free on every job.
5. Add overhead as a real number
Truck payments, insurance, phone, software, the office, your own admin time — that all has to be recovered by the jobs. Take your annual overhead, divide by the billable hours you realistically sell in a year, and you have an overhead cost per hour to add to every estimate. Contractors who skip this step aren't pricing badly; they're pricing invisibly.
6. Apply markup to reach your target margin
This is the step with the math trap, and it gets its own section below.
7. Write it up with exclusions, terms and an expiry
Scope, price, what's excluded, the payment schedule, and how long the price holds. Then send it the same day — a good estimate delivered four days late loses to a mediocre one delivered that afternoon.
Markup vs margin: the math that costs contractors money
Ask ten contractors what markup they use and most will answer with a number they believe is their profit margin. They are not the same thing, and the difference runs in the wrong direction.
Markup is a percentage added to your cost. Margin is profit as a percentage of the price you charged. Add 30% markup to $10,000 of cost and you invoice $13,000 — your profit is $3,000, which is 23.1% of $13,000, not 30%.
The practical consequence: a contractor who thinks they're running a 30% margin on 30% markup is short roughly seven points on every job. On $400,000 of annual volume that's around $28,000 of profit that was never in the price. It doesn't show up as a disaster — it shows up as being busy all year and wondering where the money went.
A worked example, start to finish
A small bathroom remodel, with every assumption stated so you can swap in your own numbers.
Round it to $13,500 and you've given up $47 — fine. Round it to $12,000 because it "feels" high and you've handed back $1,547, which is more than a third of your profit on the job. Discounts come out of profit, not out of cost, and that's why a 10% discount can be a 30% pay cut.
Note what the overhead line does here: at $1,080 it's larger than the electrical sub. A contractor who leaves it out isn't pricing 8% low — they're pricing their entire truck, insurance and phone bill at zero.
What to exclude — the section that protects you
The exclusions list is the cheapest insurance in the document. It costs you five minutes and it's the paragraph you'll point at when the scope starts drifting.
- Unknown conditions behind walls or below grade — rot, failed framing, old wiring, whatever the demo reveals. State that these are priced by change order.
- Permits and fees, if the customer is pulling or paying them.
- Work by others — anything a different trade is doing, so their delays don't become your liability.
- Material substitutions if the specified item is unavailable or has risen in price beyond your validity window.
- Finish selections not yet made, with an allowance figure so the customer knows what's carried.
Then put a payment schedule on it. Deposit to schedule, progress payments at defined milestones, balance at completion — amounts, state caps and the script for asking are in our contractor deposit guide, and the terms themselves are covered in net 30 vs due on receipt.
Two last things that decide whether the estimate turns into a job. Send it fast, and follow up on a schedule — silence after an estimate is normal and recoverable, which is the whole subject of why customers ghost after an estimate. And before you spend an evening on takeoffs at all, make sure the customer is worth estimating for; the fifteen-minute screen in our vetting guide pays for itself the first time it saves you a bad job.
If you'd rather not build the document from scratch, our free estimate template has the structure above already laid out, and TrustPro builds and sends estimates from the phone on site with e-signature and a deposit request attached (full disclosure: TrustPro is ours).
Frequently asked questions
What should a construction estimate include?
Scope of work in plain language, itemized materials and labor, subcontractor costs, an overhead line, your markup, the total price, exclusions, a payment schedule, and an expiry date for the pricing. Exclusions and the payment schedule are the two parts contractors most often leave out and most often need.
What's the difference between markup and margin?
Markup is a percentage added to your cost; margin is profit as a percentage of the final price. A 30% markup on $10,000 of cost produces a $13,000 price and $3,000 of profit — a 23.1% margin, not 30%. To hit a target margin, use markup = margin ÷ (1 − margin); a 30% margin requires a 42.9% markup.
How much should a contractor mark up a job?
It depends on your overhead, risk and market, so start from the margin you need rather than copying a percentage. Decide your target margin, convert it to markup with markup = margin ÷ (1 − margin), and make sure overhead is already in your cost base — otherwise the markup is silently paying for your truck and insurance instead of being profit.
How long should an estimate be valid?
Long enough for the customer to decide, short enough that supplier price movement isn't your problem — 30 days is a common window in residential work. State the expiry on the document, because an estimate with no expiry is a price you have quietly agreed to honor indefinitely.
Should I charge for estimates?
For quick, standard jobs most residential contractors don't, because free estimating is the market norm. For complex work involving real design time, site investigation or detailed takeoffs, charging — and crediting the fee against the job if it's awarded — filters out tire-kickers and pays for hours you'd otherwise donate.

Founder of TrustPro and a working restoration contractor. Grew his own contracting company from zero to $500k+ in 12 months on SMS referral nurture — then built the software he wished existed.
More about KeithKeep reading
Estimate from the truck, not the kitchen table
TrustPro builds estimates on your phone with photos, e-signature and a deposit request attached — then follows up by text until you get an answer. From $29/mo, 14-day free trial.
Start free trial