Blog · September 5, 2026 · 12 min read
How to Estimate a Deck Job: 8 Steps From a Real $11,610 Bid
By the Amberdesk team
Every guide on how to estimate a deck job says the same thing: add up materials, labor, permits and overhead, then put a margin on top.
True. Also useless at 11pm with a client waiting.
So this post does it the other way round. We built a complete 10×20 ft cedar deck estimate in Amberdesk — 31 line items, 5 groups, $11,609.97 with tax — and walked back through it step by step, leaving the surprises in. (It's a demo company's book, so the numbers are realistic fixture data rather than a customer's job. But every figure below is computed by the estimating engine, not typed in by us.)
Some of those surprises: the cedar boards the client agonised over are 10% of the bid. Site prep eats 15% before a single board is cut. And the gross profit on the whole deck is smaller than the railing line.
You'll see where all $11,609.97 goes, then the 7 steps that produced it — scope, groups, catalog, assemblies, waste and markup, the composite option, and the proposal.
Let's start with the money, because that's what you'd skip to anyway.
Where $11,609.97 actually goes
Here's the finished deck, split the way the estimating engine splits it:
| Cost type | Price | Share of subtotal |
|---|---|---|
| Materials | $4,730.99 | 44.0% |
| Labor | $4,108.28 | 38.2% |
| Equipment | $731.50 | 6.8% |
| Fees | $704.00 | 6.5% |
| Subcontractors | $475.20 | 4.4% |
| Subtotal | $10,749.97 | |
| Tax (8%) | $860.00 | |
| Total | $11,609.97 | $58.05 / sqft |

Now the numbers that don't show up in any "how to estimate a deck job" guide:
- The decking is a tenth of the deck. 192 sqft of cedar 5/4x6 boards price at $1,111.76 — 10.3% of the subtotal. The client will spend three weeks choosing them.
- Labor is 38%. 37.6 carpenter hours plus 31 laborer hours — 68.6 crew hours, a bit over four days for two people — and 4 hours of a licensed electrician.
- Site prep is 15% before you build anything. Excavator, laborer, disposal, utility locate: $1,579.80.
- The gross profit is $1,008.92. Subtotal $10,749.97 minus $9,741.05 of cost. That's a 9.4% margin, which sits inside the 8–15% Joist calls healthy — and it's less than the railing run ($2,474.56).
That last one is why the estimate has to be right. On a deck like this, a $349 mistake is a third of your profit.
Here's how the estimate was built.
1. Write the scope down — including the questions you haven't asked
The scope is the list of things you're assuming. Write it before you price anything, because every number downstream depends on it.
This deck's scope: 10×20 ft (200 sqft), attached to the house on the 20 ft side, near grade, 6 posts, cedar decking and railing, railing on three open sides (about 40 lf), a 4-step stair, two large stones to remove from a lawn.
We drafted the estimate with Amberdesk's AI, and the useful part wasn't the line items. It was this box:

Eight assumptions, seven questions for the client. Every question maps to money: freestanding adds a beam line and posts; height above grade changes the stair count and post lengths; utilities under the deck change who digs.
How to do it:
- Write the scope as a paragraph in the project description — dimensions, attachment, height, materials, access.
- Under it, list every assumption you made to get a number.
- Turn each assumption into a question and ask the client before the bid goes out, not after.
2. Split the job into groups, forgettable ones first
Groups are how you notice what's missing. A 31-line estimate is a blur; five groups with totals is a conversation.
Here's the whole deck collapsed:

| Group | Price | Share |
|---|---|---|
| Site Preparation | $1,579.80 | 14.7% |
| Footings & Framing | $1,948.66 | 18.1% |
| Decking & Railing | $6,326.31 | 58.9% |
| Permits & Fees | $420.00 | 3.9% |
| Deck Lighting | $475.20 | 4.4% |
Notice the order. Site prep and permits are the groups you forget when you estimate from the deck outwards — so they go first, where an empty group is obvious. Site Preparation here is four lines: 2 days of mini excavator ($627), 16 hours of laborer ($668.80), green-waste disposal ($189) and a utility locate ($95).
Skip that group and your bid is $1,579.80 lighter than the job.
How to do it:
- Start every deck estimate with the same skeleton: Site Prep, Footings & Framing, Decking & Railing, Permits & Fees, plus one group per extra (lighting, skirting, bench).
- Price the skeleton in that order. The boring groups first.
- Read the group totals before you read the lines. A group under 3% of the bid is either genuinely small or forgotten.
3. Price from a catalog, not from memory
Every rate in this estimate comes from one place: a catalog of 61 resources across five cost types — materials, labor, equipment, subcontractors, fees. The estimate reads from it; nobody types a price into a line.
Here's one entry, the PT 2x10x12 joist:

Rate $18.50. Waste 10%. Markup 12%. Vendor BuildSupply. That's the whole entry, and it's the reason the joist line in the estimate reads $455.84 without anyone doing arithmetic: 20 × $18.50 = $370, plus 10% waste = $407 of cost, plus 12% markup = $455.84.
Change the rate to $19.20 after the next supplier quote and every future estimate follows. Every past estimate keeps the rate it was bid at.
How to do it:
- List your real resources — the 40–60 you use on every deck — with rate, unit, waste factor and markup. Budget an hour.
- Add the fee and equipment items you always pay: permit, utility locate, disposal, auger rental, excavator day rate.
- When a quote comes in, update the catalog. Never the estimate.
4. Drop in assemblies instead of retyping
An assembly is a priced bundle you build once: a footing with its concrete, anchor, post, gravel and crew hours. The next deck, you add it and type a quantity.
Of the 31 lines in this estimate, 22 came from five assemblies. The Decking & Railing group — 59% of the bid — is 14 line items, and 13 of them came from three:

The 12ft Deck Section alone carries seven lines: boards, joists, hangers, screws, joist tape, carpenter, laborer. Nobody typed those seven lines for this deck. They were typed once, months ago, and have been dropped into 12 estimates since:

Look at the Instances column. Footings & Post: 9 decks. Ledger Board Install: 6. Every one of those was an hour of retyping that didn't happen.
How to do it:
- After your next estimate, find the chunks you'd rebuild on the next one: a footing, a ledger, a section of deck, a linear foot of railing, a stair step.
- Save each as an assembly with its materials and its labor hours. Labor is the half people leave out.
- Version them. When your crew gets faster or your supplier changes the hanger, update the assembly and the next estimate gets the new math.
5. Let waste and markup live inside the line
Quantity × rate is not what a material costs you. You cut boards short, break a bag, over-order to finish. That gap is waste, and it belongs in the math, not in "a bit extra."
Here's what it does to the shopping list for this deck:

You estimate 192 sqft of decking. You buy 211.2. You estimate 36 bags of concrete. You buy 39. Across the whole deck, waste adds $349.05 to the material base — about 9% — and the estimate carries every cent of it.
Markup works the same way, per line. Materials in this catalog carry 12%; labor and equipment 10%; the electrician 8%; the permit and utility locate 0%, because nobody marks up a permit and gets away with it.
Add it all up and the estimate prices at $10,749.97 against $9,741.05 of cost. Gross profit: $1,008.92. Before overhead, before the truck, before the 11pm.
How to do it:
- Set a waste factor on every material in the catalog — 10% on lumber and decking, 5–8% on bags and hardware — and never re-decide it per estimate.
- Set markup per cost type: what the market bears on materials, what your labor is worth, zero on pass-through fees.
- Before you send, read the purchase list. The “+ Waste” column is what you'll actually put in the truck.
6. Price the second option before the client asks
"What would composite cost?" is the question every deck client asks. Answering it by hand means re-pricing three materials, re-checking every line that touches them, and hoping you caught the fascia.
With alternates in the catalog, it's a scenario:

Three swaps — composite decking board for cedar decking, composite fascia for cedar fascia, composite railing system for cedar railing with balusters — and the engine re-prices the deck:
| Cedar | Composite | Difference | |
|---|---|---|---|
| Materials | $4,730.99 | $6,896.97 | +$2,165.98 (+45.8%) |
| Labor, equipment, subs, fees | $6,018.98 | $6,018.98 | — |
| Subtotal | $10,749.97 | $12,915.95 | +$2,165.98 (+20.1%) |
| Total with tax | $11,609.97 | $13,949.23 | +$2,339.26 |
The reveal for the client: composite is not "double." It's materials up 46%, everything else identical, total up 20%. That's a number you can say on the phone.
How to do it:
- Group your interchangeable materials as alternates in the catalog: cedar / PT / composite decking, cedar / composite / aluminum railing.
- Price the estimate once in the default material.
- Create a scenario per option. Put the ones the client should see on the proposal.
7. Send the proposal and keep the shopping list
Your estimate and your proposal are two different documents. One has your costs, waste factors and markup in it. The other is the one the client forwards to their brother-in-law.
Amberdesk generates the client document from the estimate, and asks you how much to show:

Waste factor and markup default to off. The detail slider decides whether the client sees five group totals or all 41 priced rows. Tick the composite scenario and it lands on the PDF as a "Project Options" comparison.
Here's what comes out:


Every number on it is a price. The $9,741.05 of cost, the $349.05 of waste and the $1,008.92 of profit exist only on your side of the screen.
And when the client says yes, the same estimate is your purchase list — 24 resources, waste-adjusted quantities, cost by vendor — so the yard order comes from the bid and not from memory.
How to do it:
- Never send the working file. Generate the client document from the estimate every time, so it can't drift.
- Pick the detail level on purpose: group totals for a simple job, line detail when the client demands it — prices always, costs never.
- Put an expiry date on it. Cedar was $3.60 a square foot ten months before this estimate; it's $4.70 now.
Your next deck bid, in an hour
Don't rebuild all seven steps tonight. Do the two that compound.
Step 3 first — put your real prices into one catalog with waste and markup on each. That's the hour. Then step 4 — turn your next estimate's footing, deck section and railing into assemblies before you close the laptop. Every deck after that is quantities, not typing.
The rest — groups, scenarios, the proposal that hides your markup — is already there when you need it. Amberdesk is the tool this deck was priced in, the 30-day trial needs no credit card, and the demo deck you just read about is a fair picture of what your first hour looks like.
Sources
- Joist, "Deck Job Estimating 101: A Guide for Contractors" — joist.com (the 8–15% healthy margin range).
- All product figures: the "New 10x20 ft Cedar Deck" estimate in an Amberdesk demo organization, computed by the estimating engine on September 5, 2026. Realistic fixture data, not customer data.