FOR OWNERS OF CUSTOM FAB SHOPS

Where the margin went

The job shipped on time. The customer paid. Nobody made a mistake you could name. And the profit you planned still didn't show up. This is the habit that finds it - plus the same job, quoted against actual, for you to run yourself.

PL
Paul Lutkajtis
Founder, Factory · our family has run a fab shop for almost 50 years
WHAT THIS COVERS
01Why the margin leaks quietly
02One real job, quoted against actual
03The six leaks in every shop
04Score your shop, find your fix
FREE TOOLS · NOTHING TO SIGN UP FOR

The same guide, live

Run a real job's numbers through the same math as the guide, score your own shop against the same eight habits, and find the one fix worth making this month. Two minutes, right here in your browser.

01See where a job leaked
02Score your shop
Get your one fix
WHERE THE MARGIN WENT

Pricing isn't math you do once

Ask a shop owner whether they know what they truly made on each job, and the honest answer is almost always no. "I know we're making money. My accountant's happy. But I couldn't tell you which jobs the profit came from, or what I should have made." If that's you, this page is for you.

The margin rarely disappears dramatically. It goes quietly: the job ships on time, nothing breaks, and the profit still lands short of plan. Most owners treat pricing as math you do once, at the desk, before the job. That's the mistake. The number is only as honest as what you feed it, and what you feed it comes from the jobs you've already built. Pricing isn't a formula. It's a loop that runs through the whole job.

The quote is a forecast. The cost is the truth. The gap between them is where your margin lives or dies.
01 · PRICE IT
Total everything the job costs you: materials, bought-in parts, outside services, and labor at a shop rate that carries your overhead. Then apply margin the right way: price = cost ÷ (1 − margin). Never cost × 1.35.
02 · BUILD IT
Get it recorded as it happens: hours as the crew clocks on and off the job, material buys against the job, the rework, the extra freight run. This is the part to automate, not a Friday memory exercise.
03 · COST IT
The week it ships, read actual against estimate: fifteen minutes. If the numbers were recorded as the job ran, they're already there; you're finding the two or three lines that moved and asking why.
04 · FEED IT BACK
Update the numbers the next quote starts from: the hours, the prices, the rate. This is the step almost everyone skips, and it's the one that makes the other three pay.

Most shops do step one and stop. The margin leaks out through the other three, too small to see until the bank balance does the costing for them. Here's what that looks like on a real job.

THE WORKED EXAMPLE

Two trailers. Same shop. Different money.

A custom 14×7 tandem-axle flatbed trailer, hot-dip galvanized, quoted at a 35% margin the honest way: cost ÷ 0.65. Trailer #1 is already filled in below, the way the shop first quoted and built it - clear it out and run your own last job through it instead.

COST LINE
QUOTED
ACTUAL
VARIANCE
Materials: steel, frame, deck
{{ matVarFmt }}
Bought-in parts: axles, gear
{{ partsVarFmt }}
Outside services: galv + cartage
{{ servVarFmt }}
Labor: hrs × /hr
= {{ laborQFmt }}
= {{ laborAFmt }}
{{ laborVarFmt }}
Total job cost
{{ quotedCostFmt }}
{{ actualCostFmt }}
{{ totalVarFmt }}
MARGIN KEPT
{{ keptPctFmt }}
planned {{ plannedPctFmt }}
WHERE THE PRICE WENT
Cost {{ actualCostFmt }}
Kept
Gone
{{ leftOnJobLabel }}
{{ leftOnJobFmt }}
ACROSS {{ jobsPerYearLabel }} JOBS/YR
{{ annualGapFmt }}
MARKUP VS MARGIN, ON THIS JOB

{{ asideText }}

WHY IT'S HARD TO SPOT

No single line here is big enough to notice on its own - a few extra hours of fit-up, steel that moved between the quote and the buy, one extra cartage run. That's what a quiet leak looks like.

WHAT HAPPENED NEXT, TWO MONTHS LATER
27% 34%

Trailer #2: same design, different customer. Fifteen minutes reading trailer #1's numbers moved three lines - hours, steel prices, a cartage allowance - and margin kept went from 27% to 34%. Same trailer. Same crew. Same shop rate. The only thing that changed was where the quote started.

Winning work at a lower margin while planning your year on a higher one is how a shop goes broke busy. Priced from the truth, you're choosing your margin instead of discovering it after the invoice.

WHY THE LOOP BREAKS

The six leaks I see in every shop

1
No estimated hours up front. If the quote's labor line is a gut call, not estimated hours for cut, fit-up, weld, and finish, there's nothing to check the build against later. You can't spot a variance you never predicted.
2
Actual hours nobody tracks. Labor is the biggest line on the job, and it was the biggest variance on the trailer above. If time gets rebuilt from memory on Friday, your labor number is fiction. This shouldn't be a manual chore: the right system makes it a few taps to clock on and off the job as the work happens.
3
Every hour costed the same. Your leadman and your first-year don't cost the shop the same, but most job costs price their hours identically. Track hours against who worked them, at that person's rate, or a job built by expensive hands looks cheaper than it was.
4
Margin added as markup. To keep a slice of the price, you have to add a bigger slice to the cost. Adding the margin number as a markup undercharges every single job you quote.
keep 25% → add 33% keep 30% → add 43% keep 35% → add 54% keep 40% → add 67%
5
Material actuals that never land on the job. You quoted steel at one price and the supplier invoiced another. Add the remake and the miscut length. If the invoice never gets read back against the quote line, your material cost is fiction too.
6
Nothing feeds the next quote. The loop pays here. Read actual against estimate while the job is fresh, and update what the next quote starts from: standard hours, crew rates, material prices, allowances. Skip it and the next quote inherits this job's leak, and the loss becomes the price list.
WHAT THE LEAKS COST IN A YEAR
{{ annualGapFmt }}+

{{ annualNote }} The leaks are silent. The total isn't.

SCORE YOUR SHOP

The eight habits that keep a quote honest

One tap per row. 1 means never happens, 5 means every job without fail. Honest answers only.

NEVER EVERY JOB
{{ row.label }}
{{ answeredLabel }} {{ scoreLabel }}
{{ scoreValue }} / 40
{{ bandLabel }}
33-40 pricing from truth25-32 one habit off honest8-24 quoting on hope
PUT IT TO WORK

The whole loop, four moves

START THIS WEEK, ON THE NEXT JOB OUT THE DOOR
PRICE IT
Total the real cost stack, labor at a rate that carries the shop. Then margin on as margin: cost ÷ (1 − margin).
BUILD IT
Capture hours and material against the job while the work happens, not on Friday from memory.
COST IT
The week it ships, quoted next to actual on one page. Find the lines that moved and say plainly why.
FEED IT BACK
Change the hours, prices, and allowances your next quote starts from. Skip this and the next job inherits the leak.
Paul Lutkajtis
Paul Lutkajtis · Founder, Factory. Reading the numbers and deciding what changes: that's you. Recording them isn't - that's a job for software, clocking hours and landing material buys against the job live, as the work happens, so the review is sitting there the day the job ships instead of being rebuilt from memory. Full disclosure: that's why my brother and I built Factory. That's the plug, and it's the only one on this page.
QUESTIONS

Straight answers

No. Nothing you type into the calculator or the scorecard is stored or sent anywhere. Refresh the page and it's gone.

Word for word: the same job, the same six leaks, the same scorecard. This is the interactive version, built so you can run your own numbers instead of just reading someone else's.

No. It's free and works on its own. If it's useful, the demo is there when you're ready, not before.

Margin is the slice of the price you keep. Markup is what you add to your cost to get there. Keep 35% and you need to add 54% to your cost, not 35%, or you'll quietly undercharge every job.

BOOK A DEMO

See it on your own jobs.

Bring a job that came in over budget. We'll show you the real cost and the real margin behind it, live, inside Factory - no slides, no gimmicks.

300+ shops run on it · built by fabricators · up in weeks, not months

Takes you straight to the calendar. Times shown in your local timezone.

We don't just build the software. We know the work.

Straight-talking advice on running a sharper, more profitable shop - pricing, people, and the floor. Written for fabricators, by people who've done the work.

Steel & Sense
Read Steel & Sense →
PROFITABILITY
How to price jobs for profit, not just survival
The pricing levers that keep every job adding to your bottom line, not eroding it.
6 min readRead
PROFITABILITY
Why hiding pricing from your team might be costing you
What happens to the margin when the crew never sees the number a job was quoted against.
5 min readRead
PROFITABILITY
5 workshop habits that quietly cost you thousands
Small habits that quietly erode the margin on every job, and the fix for each one.
5 min readRead