Ask ten woodworkers how they price a commission and you'll get ten versions of the same shortcut: materials times three. It's fast, it's memorable, and it quietly breaks the moment a job is labor-heavy or material-cheap. A hall table in poplar with sixty hours of joinery in it doesn't cost three times its lumber. Neither does a slab bench you finished in a weekend out of expensive walnut.
A working formula has to price the two things that actually vary — what you bought and what you did — and then add the profit that keeps the doors open.
The formula
Price = (Materials + Labor + Outside costs) + margin
That's it. Everything below is about filling in those three buckets honestly, because that's where the money hides.
Bucket 1: materials, with a waste factor
Bill the board feet you buy, not the board feet that end up in the finished piece. Rough stock gets jointed, planed, ripped past defects, and cut around checks. A waste factor of 20–30% on solid stock is normal; figured or narrow stock runs higher, and sheet goods are usually tighter because you can nest cuts.
Say a dining table needs 45 board feet in the finished piece and your walnut runs $12/bf in your area — prices move constantly by region and season, so use your last invoice, not a number off the internet:
- 45 bf × 1.25 waste factor = 56.25 bf — call it 57 to buy
- 57 × $12 = $684
Then everything else you'll consume on the job: breadboard fasteners and leveling feet at $60, hardwax oil and abrasives at $85. Materials total: $829.
Sandpaper and finish are materials, not overhead, when you can tie them to a specific job. If you can't be bothered to track them per job, fold them into your shop overhead instead — just never in both places.
Bucket 2: labor, at a rate that pays you
This is where most quotes go wrong, and it's rarely the hour estimate that's off. It's the rate.
Your shop rate isn't what the guy down the road charges. It's the number that covers your target income, your overhead, and the hours you can't bill, divided by the hours you actually can. If you haven't derived yours, do it before you quote anything else — the free Pay Yourself Calculator walks the arithmetic backward from the income you want, taxes included, in about two minutes.
For this example, say that calculation gave you $45/hour and the table takes 32 hours:
- 32 × $45 = $1,440
Estimate hours in stages rather than as one lump — milling, joinery, glue-up and flattening, sanding, finishing, hardware. Stage estimates are easier to sanity-check against the last similar piece, and when you blow the estimate you learn where, which is the only way estimates improve.
Bucket 3: outside costs
Anything you pay for that isn't stock or your time: delivery fuel and the two hours it eats, a subcontracted CNC cut, glass, upholstery, powder coating, a rented van. Say delivery is $120.
Where overhead goes — pick one place
Rent, insurance, utilities, software, blades and abrasives you don't track per job, and the tool budget that replaces machines when they die. You can recover it two ways:
- Inside your hourly rate. Overhead is already in the $45. Nothing more to add.
- As a separate per-job line. Your labor rate stays a bare cost-of-your-time number and you allocate overhead per job or per shop hour.
Both work. Doing both means you charge for the same rent twice, your prices drift high without you understanding why, and you can't explain a quote when a client asks. Pick one and write it down somewhere you'll see it next year.
Margin: the part that isn't a salary
Your labor is already paid inside the cost basis. Margin is what's left over for the business itself: slow months, a bad estimate, a client who vanishes after you've bought the lumber, the bandsaw that dies in March, and eventually growth.
Add it to the total, not to labor alone:
- Cost basis: $829 + $1,440 + $120 = $2,389
- Margin at 35%: $2,389 × 0.35 = $835.65
- Price: $3,225 (rounded)
One precision note worth knowing, because the words get used loosely. Adding 35% on top of cost is a markup, and it produces a gross margin of about 26% of the selling price. If you mean a true 35% of the sale price, divide instead of multiplying:
- $2,389 ÷ 0.65 = $3,675
Neither is more correct — they're different questions. Just be consistent, because a shop that thinks it's running 35% margins while actually running 26% will be short exactly that difference at year end.
Quote three prices, not one
A single number invites a yes or a no. Three prices invite a conversation, and the conversation is where you find out what the client actually cares about.
From the same $2,389 cost basis:
| Tier | Margin | Price |
|---|---|---|
| Lowest you'd take | 20% | $2,867 |
| Everyday | 35% | $3,225 |
| Premium | 55% | $3,703 |
The low tier isn't a discount you volunteer — it's the floor you already decided you'd accept, calculated before you were sitting across from someone who wants a deal. The premium tier is what a rush timeline, a difficult install, or a heavily figured board is worth. Knowing all three before the conversation starts is what keeps you from inventing a number under pressure.
Building those tiers by hand every time is tedious, which is why most shops stop doing it. QuoteItRight generates them from your material list and hours automatically, and turns the one you pick into a client-ready PDF or an approval link.
Check the quote against the clock
Before you send it, do one last division: subtract materials and outside costs from the price, then divide by your estimated hours.
- ($3,225 − $829 − $120) ÷ 32 = $71/hour
That number is what the job actually pays your shop per hour of bench time, and it's the only figure worth comparing across dissimilar jobs. A cutting-board run and a built-in wall unit can't be compared on price, but they can be compared on this.
FAQ
Should I show the client my material and labor breakdown? Usually not line by line. A detailed breakdown invites line-item negotiation — clients start asking why sanding takes six hours. Show the scope, the finish, the timeline, and the price. Keep the breakdown for yourself, and be ready to defend the total rather than every row inside it.
What if the piece takes longer than I estimated? That job is on you unless the scope changed. Log the actual hours anyway, compare them to the estimate, and adjust the next quote for similar work. An estimate you never check against reality never gets better. Change orders are different — if the client changes the design, that's a new number in writing before you cut anything.
How do I price a piece I've never built before? Break it into operations you have done and estimate each one, then add a contingency of 15–25% on the hours for the unknowns. Say so plainly in the quote if the design is still moving. First-of-a-kind work carries real risk, and pricing it like a repeat piece is how shops end up donating a week.