Job Costing for Woodworking Shops
Most shops know what a job billed. Far fewer know what it actually cost. Here is how to close that gap — and stop discovering you paid yourself $14/hour after the fact.
EZNESTING Team
June 6, 2026
Table of Contents
Why Most Shops Don’t Know Their Per-Job Cost
Ask a shop owner "did that kitchen make money?" and you'll usually get a feeling, not a number. The bank account is up this month, so things must be fine.
The problem is that revenue is not profit, and a healthy bank balance is not the same as a profitable job. A shop can be busy, fully booked, and quietly losing money on half its work — the winners cover the losers and the average looks okay until a slow month exposes it.
Job costing is the discipline of answering one question for every job you finish: what did this specific job cost me to produce? Not "what's my hourly rate" or "what's my annual overhead" — what did this job consume in materials, labour, and shop time.
You don't need accounting software or an MBA to do it. You need three cost components, a way to capture them, and the habit of comparing what you estimated to what actually happened.
The Three Components of Job Cost
Every job's true cost is the sum of three things. Miss any one and your number is fiction.
1. Materials. The sheets, boards, lengths, hardware, edge banding, glue, and finish the job consumed. The trap here is counting only the material that ended up in the finished piece. You pay for the whole sheet, not just the parts you cut from it — the offcuts and waste are real money you spent. (See our guide on tracking offcuts for why this 8–15% leak hides so well.)
2. Labour. Hours worked on the job × a fully-loaded labour rate. "Fully-loaded" means including your own time at a real wage, plus payroll taxes and benefits if you have employees — not just the cash wage. The classic mistake is forgetting to pay yourself, then wondering why a "profitable" shop never has money.
3. Overhead (burden). The costs that exist whether or not this specific job runs: shop rent, electricity, insurance, blade sharpening, tool replacement, software, the truck. You allocate a slice of these to each job, usually as an overhead rate — annual overhead divided by your billable hours, added on top of the labour rate.
A quick worked example for a single cabinet run:
- Materials (3 sheets at $85, plus banding and hardware): $310
- Labour (12 hours at a fully-loaded $45/hr): $540
- Overhead (12 hours at a $20/hr shop rate): $240
- True job cost: $1,090
If you quoted that kitchen at $1,400, you made $310 — a 22% margin, not the 40% the "materials plus a bit" math made it feel like.
Estimated vs. Actual: Where the Margin Leaks
Here's the part most shops skip. You build a cost estimate before the job to set your quote. Then the job runs, reality diverges from the plan, and nobody ever goes back to check what actually happened.
Reality always diverges:
- A sheet gets chipped on a bad cut and you pull a fresh one. That's a sheet you bought that wasn't in the estimate.
- The install took six hours, not four.
- You ran out of 3/4" ply mid-job and made an emergency lumberyard run at retail price.
- You salvaged two big offcuts you could reuse next time — a small credit back.
If you only ever look at the estimate, you're flying blind on whether your estimates are any good. The shops that get more profitable over time are the ones that compare estimated cost to actual cost on every job, then feed what they learn back into the next quote. Consistently using 10% more material than you estimate? Your waste factor is too low. Install always runs over? Your labour estimate is wrong. You can't fix what you don't measure.
The material side is usually the hardest to pin down accurately — and it's the half EZNESTING is built to nail.
A Lightweight Job-Costing System
You don't need a full ERP. For a one- to five-person shop, this is enough:
- Estimate the three components before you quote. Materials from your cut list, labour from hours × your loaded rate, overhead from your shop rate. Build the quote on top of that.
- Track material as you actually consume it. When the job is done, record how many sheets you really used — including the ones you scrapped — not how many you planned.
- Log labour hours per job. A notebook, a whiteboard, or a time app. Just capture real hours against the job.
- Compare at completion. Estimated cost vs. actual cost. One line. Was the job as profitable as you thought?
- Adjust the next estimate. This is the whole point. The feedback loop is what turns guessing into knowing.
The technology matters less than the habit. But the material half — step 2 — is fiddly to do by hand, because it means knowing what each sheet cost and reconciling planned cuts against what really came off the saw. That's exactly the loop EZNESTING Pro automates.
Where EZNESTING Fits (and Where It Doesn’t)
Let's be precise about this, because job costing touches things EZNESTING deliberately doesn't do.
What EZNESTING Pro handles — the material cost half:
- Estimated material cost per project. When you build a cut list from stock that's linked to your inventory, each project shows its estimated material cost — quantity × the unit cost you recorded for that stock. No spreadsheet lookups.
- Per-batch costs. Bought plywood at $85 last month and $80 this month? Each batch keeps its own unit cost, so the figure reflects what you actually paid, batch by batch.
- Actual material used, at completion. When you mark a project Completed, the reconciliation step asks how many sheets you *actually* used versus planned, and lets you mark any you scrapped. That's your real material consumption — the "actual" side of estimated-vs-actual — captured at the moment the job ends.
- Labour and custom lines in the quote. The quote builder lets you add labour, hardware, and install as line items on top of the materials pulled from your cut list, so the customer-facing number reflects more than just sheet goods.
What EZNESTING does not do — by design:
- It is not accounting software. It doesn't track your labour hours, compute an overhead rate, or produce a profit-and-loss statement. Labour, burden, and margin live in your books (QuickBooks, Wave, a spreadsheet).
- It doesn't generate a single "this job cost $X all-in" report combining materials, labour, and overhead. It gives you a trustworthy material number and the actual usage behind it; you combine that with your labour and overhead to get the full picture.
- No invoicing. The quote is where our line stops — what happens after is your accounting system's job.
The reason this still matters: materials are usually the cost component shops get most wrong, because waste and scrapped sheets hide so well. Get an accurate, reconciled material cost per job and you've fixed the leakiest part of the equation — the labour and overhead math is comparatively easy to do on paper once the material number is solid.
Frequently Asked Questions
What is job costing in woodworking? Job costing is figuring out the total cost to produce one specific job — materials, labour, and a share of overhead — so you can tell whether that job actually made money, rather than guessing from your overall bank balance.
How do I calculate the cost of a woodworking job? Add three things: material cost (full sheets and lengths consumed, including waste, at what you paid), labour cost (hours × a fully-loaded rate that includes your own time), and overhead (a slice of your fixed shop costs, usually applied as a per-hour rate). The sum is your true job cost; bill above it by your target margin.
What's a good profit margin for a custom woodworking shop? Many custom shops target 30–50% gross margin on a finished job after backing out materials, labour, and overhead. If your jobs come in below that, your hourly rate or your unit pricing is usually too low.
Why is material cost so easy to get wrong? Because shops tend to count only the material in the finished piece, not the full sheets they bought. Offcuts, waste, and scrapped sheets are real spending that quietly eats margin — typically 8–15% of material cost in shops that don't track it.
Does EZNESTING calculate my full job cost including labour? No. EZNESTING handles the material side — estimated material cost per project and actual material used at completion — and lets you add labour as line items on a quote. It is not accounting software and does not track labour hours, overhead, or margin; combine its material number with your own labour and overhead figures.
Topics
Get the Material Half Right
EZNESTING Pro tracks estimated and actual material cost per job, so the leakiest part of your job costing is finally accurate.
See Pricing