How to Write an Estimate: What Every Line Is For
An estimate isn't a form to fill in — it's the visible half of your costing math. What each section must contain, and the mistakes that lose jobs or lose money.
Most estimate advice is about formatting: pick a template, add your logo, don't forget the date. That's the trivial half. An estimate is the customer-facing half of your costing math — every line either reflects a decision you actually made, or it's decoration that will decay into a dispute. Here's what each section is for and the costing question it answers.
The header: identity, dates, validity
- Your business name, license number where required, and contact info.
- Customer name and the job address — not just the billing address; the job address is where the work happens.
- Estimate date and an expiration date. Material prices move; an estimate without an expiry quietly becomes a price guarantee.
- A sequential estimate number, for your own records and any warranty or lien paperwork that follows.
The scope of work: the part that prevents disputes
The scope says what the price buys, in specific, observable language. "Paint bedroom" is a hope. "Prep, prime and paint one 12×14 bedroom, walls and ceiling, two coats, minor drywall patching up to 4 sq ft included, customer moves furniture." Same three words of effort, completely different legal and practical weight. The test: could a stranger tell whether the work was done?
The price section: lines that mirror your math
How much you break out depends on your market and the job size, but every line should trace back to your costing. A common structure for a small remodel:
| Line | Shown to customer | Your costing behind it |
|---|---|---|
| Labor | $1,088 | 32 hrs × $34 burdened — from your labor burden build-up |
| Materials | $780 | $710 supplier quote + 10% waste + delivery |
| Plumbing fixture set (sub) | $350 | sub's actual quote |
| Permits & disposal | $105 | real fees, not a fudge line |
| Total | $4,109 | $2,323 direct + 15% overhead, ÷ 0.65 for a 35% margin |
Notice what the customer doesn't see: hours, rates, overhead percentage, margin. Those are your inputs. What they see is sections they can compare against other bids — and when a competitor comes in at $3,400, the conversation is about scope and materials, not about your hourly rate.
Build the numbers behind the price section →
Exclusions: the quiet money-saver
An exclusions list is awkward to write and priceless to have: "Does not include: relocation of plumbing lines, drywall repair beyond noted patching, painting behind accessible areas, permit fees for electrical work." Every later change-order starts here, priced from evidence instead of argument. Estimates without exclusions don't avoid scope disputes — they just lose them by default.
Terms: payment, changes, validity
- Payment schedule tied to milestones, not feelings — deposit where legal and normal for your trade, progress on completion of defined stages, balance at completion.
- Change-order clause: any work outside the written scope is priced and approved before it happens.
- How long the price holds (matching your estimate expiry) and what can move it — material price spikes on long-dated jobs especially.
The mistakes that cost real money
- Quoting from memory instead of a costing pass — the number feels right because it's shaped like the last job, not because it is the last job.
- No expiry date, then eating a 20% lumber move two months later.
- Vague scope ("electrical work as needed") that turns the job into an open-ended hourly commitment at a fixed price.
- Showing a single all-in number on big jobs, which forces the customer to compare the only thing they can — price — against itemized competitors.
- Copying the scope from the last job and missing the one thing that's different. (This is the estimate version of the markup/margin mix-up: the math is fine, the input is wrong.)
For small repeatable service work, you may skip most of this — a flat rate on a defined job IS the estimate, and the structure lives in your price book instead. The full document earns its keep on project work, where scope is negotiated and the price is too big to be wrong in one place.
Pricing service calls instead? Build the flat rate →
Frequently asked questions
What should a contractor's estimate include?
At minimum: your business identity and contact info, the customer and property address, a date and an expiration date, an itemized scope of work in plain language, prices broken out by labor, materials and other costs, what's explicitly NOT included (exclusions), payment terms, and how long the price is valid. The scope and exclusions matter as much as the number — they're what the price is actually attached to.
How detailed should an estimate be?
Detailed enough that the customer can compare it to another bid without calling you, and specific enough that scope disputes have nowhere to live. But you don't have to expose your unit costs — quote sections or line results, not hours-times-rate.
Should I show my markup on an estimate?
No. Markup is your internal costing decision, not a line item. Customers are buying the outcome and the price, not auditing your cost structure. What you show is the price for a defined scope — the markup vs margin math stays in your calculator, not on the document.