Shop Operations
Job costing and KPIs for a countertop shop: quoted vs actual, daily reports and dashboards
How to cost a countertop job (stone, labor, machine time, overhead), compare it with the quote, track time, and which KPIs to review daily, weekly and monthly.
, CEO, Stonify
Job costing means recording what each job really cost (stone including waste, labor hours at a fully loaded rate, machine time, consumables, subcontractors and a share of overhead) and comparing it with what you quoted. Close out each job within a few days of the final invoice. If the actual margin lands within a few points of the quoted margin, your pricing works; a persistent gap almost always traces to labor hours or waste. Alongside job costs, track a short list of KPIs (key performance indicators): square feet produced and installed, template-to-install time, on-time installs, remakes, yield, close rate and margin. Review them daily on the floor, weekly with the managers and monthly with the owner.
Why cost every job
A shop's profit and loss statement tells you whether the business made money last month. It does not tell you which jobs made it and which lost it. Shops that start costing jobs commonly find that some job types (a particular edge, small vanities, far-away installs or one builder's plans) barely break even while the rest carry them. Once you can see that, you can reprice, change the process or stop taking that work.
Job costing also closes the loop on quoting. Your quote is a prediction: this kitchen will take one slab, ten hours of labor and one install trip. Actual costs tell you whether the predictions are right, so the next hundred quotes are better. See cost structure, labor and overhead for building the rates you quote with.
What goes into a job's cost
Cost bucket | What it includes | How to capture it |
|---|---|---|
Material | Slab cost for the share of the slab the job used, including waste | From the slabs allocated to the job at their landed cost (purchase price plus freight) |
Remnant credit (optional) | Value of a usable remnant the job leaves behind | A fixed policy: either the job carries the whole slab, or remnants keep a share of cost |
Consumables | Blades, bits, pads, adhesive, epoxy, sealer, sink clips | A per-job or per-sq-ft standard, checked against monthly purchases |
Direct labor | Templating, drafting and programming, cutting, edging, polishing, QC, loading, install, plumbing reconnect | Hours by job and task × loaded labor rate |
Machine time | Bridge saw, CNC, waterjet, edge polisher | Run hours × a machine rate that covers depreciation, maintenance, tooling wear and power |
Subcontract | Outside installers, plumbers, templating services | Bills coded to the job |
Job-specific costs | Mileage, tolls, permits, disposal of the old top, special tools | Bills and mileage logs coded to the job |
Allocated overhead | Rent, insurance, office and sales staff, owner pay, software, vehicles, utilities | An overhead rate per job, per sq ft or per machine hour |
Two margin figures come out of this:
Gross margin = (revenue − direct job costs) ÷ revenue. Direct costs are material, consumables, direct labor, machine time and subcontract. Overhead is left out.
Net job margin = (revenue − direct costs − allocated overhead) ÷ revenue.
Keep the definitions fixed. A shop that puts the office manager in direct labor one month and overhead the next can't compare anything.
How to handle stone and remnants
Charge the job for all the stone it consumed, not only the finished square footage. If a kitchen uses 1.3 slabs, the job pays for the part of the second slab that nobody else will use. Decide once whether remnants carry part of the slab's cost:
Full cost to the job: simpler, conservative, and remnant sales show as nearly pure profit.
Proportional: the remnant keeps its share of the slab cost, the job looks better, and the remnant has to sell to justify it.
Either works if you apply it consistently. See waste and yield and remnant management.
Loaded labor rate
An hour of labor costs more than the wage. The loaded rate adds:
Employer payroll taxes: Social Security and Medicare (7.65% of wages), plus federal and state unemployment.
Workers' compensation insurance. Rates for stone work vary a lot by state and class code, often from high single digits to the mid-teens as a percentage of payroll. Use your own policy rate.
Benefits and paid time off.
As a rule of thumb, most shops land around 1.25 to 1.45 times the wage per paid hour. A fabricator paid $22 an hour typically costs the shop about $28 to $32 per paid hour, and more per productive hour once holidays, training and other non-billable time are counted (about 1.4 to 1.8 times the wage). See labor and overhead costs.
Labor hours on a typical kitchen
A standard kitchen of roughly 40 sq ft, with one sink and a simple edge, often takes something like this (rough shop experience):
Step | Typical hours |
|---|---|
Templating, including travel | 1 to 2 |
Drafting, layout and CNC programming | 0.5 to 1.5 |
Cutting (saw or sawjet operator) | 0.5 to 1.5 |
CNC cutouts and profiling | 1 to 3 (machine time, partly attended) |
Edge polishing and hand finishing | 1 to 3 |
QC and loading | 0.5 to 1 |
Install, two people | 2 to 4 each |
Plumbing reconnect, if you do it | 0.5 to 1 |
That adds up to roughly 8 to 16 labor hours on a typical job (CNC run time is only partly attended), more when everything runs long. Labor is the cost most shops underestimate, especially on "easy" jobs. A vanity takes nearly the same templating trip, programming and install trip as a kitchen, for much less revenue.
Overhead rate
Overhead is every cost that doesn't belong to one job. Three common ways to spread it:
Method | Formula | Good for |
|---|---|---|
Per job | Monthly overhead ÷ jobs per month | Shops with similar-sized jobs |
Per sq ft | Annual overhead ÷ finished sq ft invoiced per year | Most countertop shops |
Per machine hour | Overhead ÷ CNC or saw hours | Shops with very mixed job complexity |
Example: $520,000 of overhead a year and 20,000 finished sq ft invoiced gives $26 per sq ft. In a slow year at 15,000 sq ft, the same overhead is about $35 per sq ft. Overhead is fixed, so volume swings change your cost per square foot. Recalculate the rate quarterly. Include the owner's salary; leaving it out makes every job look better than it is and leads to underpricing.
A worked example: quoted vs actual
A 42 sq ft L-shaped kitchen in 3cm quartz, eased edge, one undermount sink, quoted at $4,200. The estimate assumed one slab and a sellable remnant. Here is the job cost sheet after the install:
Line | Estimated | Actual | Why it moved |
|---|---|---|---|
Material: one slab $1,650, less remnant credit | $1,500 | $1,650 | The leftover was cut into a sliver; no remnant |
Consumables | $100 | $110 | |
Templating (1.5 h est., 3 h actual, at $32) | $48 | $96 | A second trip: cabinets weren't level on the first visit |
Shop labor (6 h est., 7 h actual, at $32) | $192 | $224 | Extra polishing at a seam |
Machine time (2.5 h est., 3 h actual, at $50) | $125 | $150 | |
Install, two people (3 h est., 4 h actual, at $32 each) | $192 | $256 | Wall scribing took longer |
Delivery and mileage | $60 | $60 | |
Direct cost | $2,217 | $2,546 | |
Overhead (42 sq ft × $22) | $924 | $924 | |
Total cost | $3,141 | $3,470 | |
Gross margin | 47.2% | 39.4% | |
Net job margin | 25.2% | 17.4% |
The job still made money, but nearly eight points less than planned. None of the causes is dramatic: a remnant that wasn't cut cleanly, a wasted templating trip, a slow install. Repeat that on a quarter of your jobs and the year's profit is gone. The lessons feed straight back: confirm cabinets are level before sending a templater, cut leftovers square, and add scribing time to quotes for older homes.
Setting up job costing
Separate direct costs and overhead in your books. Split income by material and service and split direct labor by function (templating, fabrication, install), so gross margin by material is possible. See accounting and integrations.
Set loaded rates for each labor role and each machine.
Capture material automatically when slabs are allocated to jobs, at landed cost.
Track time by job, then by task (see below).
Set the overhead rate and recalculate it quarterly.
Cost remakes and callbacks back to the original job. A remake is part of that job's real cost. Tracking it separately hides it. See remakes and quality.
Close out each job within about two days of the final invoice, while people remember what happened.
Review variances. Flag any job whose actual margin falls more than about 5 points below the quote, and look for patterns by material, job type, salesperson, installer and customer.
Cost every job for the first three to six months. After that some shops sample; if software captures most of the data, keep costing every job.
Tracking labor time
Time records are the weakest link in most job costing. Paper timesheets filled in on Friday from memory are rough at best.
What a time system for a stone shop needs:
Clock in and out by employee, from a phone, kiosk or badge.
A job code on every hour, and later a task code (templating, cutting, CNC, polishing, install).
Mobile use for templaters and install crews, ideally with location stamps.
A link to payroll and to job costing, so hours are not typed twice.
Roll it out in stages to avoid pushback:
First month: clock in and out only.
Second month: add the job code, in no more than two taps or a QR code on the job folder.
Third month: add the task code.
Explain it as measuring jobs, not watching people. Review entries weekly before payroll, and don't let "shop time" become the default code for everything.
Which KPIs to track
Start with a handful you will actually review. The ranges below are commonly cited in the trade, mostly by software vendors, not measured by any independent survey. Use them as a rough sense of scale and compare your shop mainly to itself.
KPI | How to calculate | Commonly cited range |
|---|---|---|
Sq ft fabricated per day | Finished sq ft leaving QC | Depends on equipment: a single-saw shop with a small crew might do 150 to 250; CNC shops with several saws 400 to 800+ |
Sq ft per production labor hour | Finished sq ft ÷ production hours | Roughly 4 to 8 depending on complexity |
Sq ft installed per week | From install records | Your capacity baseline |
Template-to-install time | Business or calendar days, per job | About 7 to 14 calendar days for stock material; longer for special orders |
On-time install rate | Installs on the promised date ÷ all installs | 90% acceptable, 95%+ strong |
Remake rate | Jobs (or pieces) remade ÷ total | Under 2% strong; 2 to 5% common; track by cause |
Callback rate | Return trips after install ÷ installs | Under about 3% |
Slab yield | Installed sq ft ÷ slab sq ft bought | See waste and yield |
CNC utilization | Cutting hours ÷ available hours | About 65 to 85%; under 60% means idle capacity, over 85% leaves no slack |
Quote-to-close rate | Signed ÷ quoted, by customer type | Varies by channel; see quoting speed and close rate |
Average job value | Revenue ÷ jobs | Watch the trend |
Gross margin | See above | Roughly 35 to 55% depending on segment; commercial and builder work lower |
Net profit | After all overhead, before tax | Commonly cited around 7 to 15% for the industry |
Overhead per finished sq ft | Overhead ÷ finished sq ft | Watch the trend quarterly |
Revenue per employee | Annual revenue ÷ full-time staff | Often quoted around $120,000 to $180,000 |
Days sales outstanding | Receivables ÷ average daily sales | Lower is better; slow builders show here |
For margin and profitability benchmarks in more depth, see profitability benchmarks and state of the shop benchmarks.
The daily production report
A one-page report filled in at the end of each shift, in about ten minutes. It catches problems while they can still be fixed.
Section | Fields |
|---|---|
Output | Sq ft cut, pieces finished, jobs completed, installs completed, sq ft installed |
Labor | Hours by station, overtime, absences, rework hours |
Machines | Run time and downtime for the saw, CNC and edge polisher, with a reason for each stop |
Material | Slabs consumed, remnants created, rejected or broken pieces |
Quality | Pieces passing first inspection, rework with reason, remakes started, complaints |
Tomorrow | Jobs that are blocked and why (missing drawing, slab not confirmed, sink not on site) |
After 60 to 90 days, you know your real daily capacity. Schedule to about 90 to 95% of your proven average, not to the best day you ever had, so normal variation doesn't make every week late. See production scheduling.
A short daily stand-up of five to ten minutes at the production board, covering yesterday's problems and today's blocked jobs, pairs well with the report.
The weekly and monthly reviews
Weekly (about 30 minutes, operations managers): quotes sent and signed, jobs templated, cut and installed, square feet, jobs running late and why, remakes and their causes, and next week's load at the bottleneck machine.
Monthly (2 to 3 hours, owner and managers):
Pull the numbers: revenue, gross margin by material and job type, net profit, the KPIs above, receivables.
Compare each with target and with last month and the same month last year. Color-code green, yellow and red.
Review the five worst jobs by margin variance and the month's remakes by cause.
Pick the top three problems. Give each one a named owner and a deadline.
Check that last month's three actions actually happened.
A small shop can start with five numbers: revenue, close rate, yield, gross margin and remakes.
Year-end (a day or two in January): full-year revenue and margin by segment, cost and net profit per finished sq ft, equipment condition and replacement plans, staffing, and three to five measurable goals for the coming year. Net profit per square foot is a useful single figure because it combines price, cost and volume.
Dashboards: what to show and what to watch out for
A dashboard puts the KPIs where people see them without asking. A shop-floor screen might show today's jobs by station, blocked jobs and square feet completed. An owner's view might show sales, margin, receivables and the pipeline.
Watch the definitions:
Quoted, sold, invoiced and collected are four different numbers. A good sales month can be a bad cash month.
Snapshots and period totals don't add up. "Open pipeline today" and "quotes won this month" count different sets of jobs.
Garbage in, garbage out. A margin figure is only as good as its inputs. If labor rates, machine rates or overhead aren't set up, or half the jobs have no time records, the dashboard will look precise and be wrong. Show which jobs are missing data.
Common mistakes
Pricing material on finished square feet instead of the slabs actually consumed.
Leaving out labor that doesn't happen at the saw: templating travel, programming, loading, second trips.
No overhead allocation, or one set years ago and never updated.
Leaving the owner's pay out of costs.
Booking remakes as general expense instead of against the job.
Costing jobs quarterly in a batch instead of as each one closes.
Tracking thirty KPIs and acting on none.
Changing definitions from month to month.
Where software helps
Job costing breaks down when quote data, slab costs, schedules and accounting live in separate places and someone has to retype them. In Stonify, each job is a project whose accepted quote becomes the deal, and slabs held or allocated to it carry their landed cost from the purchase order. A Cost & Profit Report compares the job's revenue with the landed cost of those slabs and the cost estimate set on each service, so the quoted margin is visible per job; actual labor hours still come from your own time records. Inventory transformations, invoices and bills post to Stonify's own general ledger, which produces the P&L, balance sheet and cash flow, optionally split by profit center such as a location. For KPIs, calendars can total square footage, task time or project value per day for each person or machine; the All Tasks report can show square feet by installer or template-to-install times; Quote Performance shows quote volume, time to accept or decline and top decline reasons; and Custom Views save project lists with task, quote and invoice columns for a weekly review.
FAQ
How often should I recalculate my overhead rate? Quarterly. Insurance renewals, new hires, rent increases and slow months all move it, and a rate set once a year drifts.
Should I cost small jobs like vanities? Yes, especially those. Small jobs carry nearly the same templating, programming and install costs as a kitchen, so they are where hidden losses usually sit. Many shops set a minimum job charge after seeing the numbers.
What's an acceptable gap between quoted and actual margin? A few points either way on individual jobs is normal. If actual margin runs consistently more than about 3 to 5 points below the quote across many jobs, find the cause, usually labor hours or waste, and fix the estimate.
Can I do job costing in my accounting software alone? Accounting software can track revenue and costs by job if you code bills and payroll to jobs. It usually doesn't know which slabs a job used or how much of each slab was wasted, so material cost has to come from your inventory or shop system.
Which single KPI matters most? There isn't one, but remakes are a good place to start: each remake costs new stone, labor and a second install trip, and cutting them pays back fastest. Margin by job type is the most useful financial one.
Is time tracking worth the pushback from the crew? Usually, if you roll it out in stages and use the data to fix prices and processes rather than to police people. Without real hours, labor cost in your quotes is a guess.
Related Articles
How to calculate labor cost, overhead and break-even per square foot for a countertop shop
Step-by-step method for a fabrication shop's loaded labor rate, labor and overhead cost per square foot, shop hourly rate, full job cost and break-even volume.
Markup vs margin for countertop shops: formulas, target margins and how to protect them
The difference between markup and margin, conversion formulas, target gross and net margins for fabrication shops, and how to hold margin when slab prices move.
Countertop shop profitability: margin benchmarks, revenue per employee and what profitable shops do differently
Realistic gross and net margin ranges for stone fabrication shops, revenue per employee, a worked shop P&L, and the habits that separate profitable shops from busy ones.