baxie
MarginSep 10, 20268 min read

Margin vs Profit for Contractors: Why a Good Job Number and a Bad Year Are the Same Story

Margin is a per-job number and profit is a per-year number, and they fail for different reasons. Worked example on a $4M California residential shop, plus where margin leaks mid-job.


Two shops finish the year at the same 28 percent gross margin. One clears $334,000 and the other loses $84,000. Nothing about how they bid or how they built was different.

Margin is a per-job number: the share of the contract price left after the direct cost of building it. Profit is a per-year number: what survives once overhead comes out of every job's margin combined. A shop can hit its margin target on every job and still end the year with nothing.

They fail independently, and for different reasons. That is why the distinction matters in May, not only at tax time.

What is gross margin on a job?

Gross margin is the share of one job's price left after direct job cost. Net profit is what remains after a year of overhead comes out of every job's gross profit combined. Hit 28 percent on every job and you can still lose the year if volume does not cover a mostly fixed office. They fail on different clocks.

Gross margin belongs to one job: price minus direct job cost, divided by price.

Direct job cost is everything that would not exist if the job did not exist. Labor and burden, materials, subcontractors, equipment rental, permits and plan check fees, dumpsters, the port-a-john.

Take a $640,000 kitchen-and-addition remodel carrying $460,800 in direct cost. Gross profit is $179,200, which is 28 percent.

Your office rent is not in that stack. Neither is your estimator's salary, your general liability premium, the truck payments, the software subscriptions, or your own pay. Those run whether or not this job exists, which is exactly why they sit in overhead. the overhead walkthrough (next in this series) walks the full line-item list and the three-number method behind it.

What is net profit for the year?

Net profit belongs to the company, and it only resolves once.

Add up the gross profit from every job you closed, then subtract a year of overhead. What is left is net profit, normally stated as a percentage of total revenue.

A single job cannot have a net profit. You can allocate a slice of overhead to it and call the result net, and most accounting packages will, but the allocation is a guess until the year closes and you know both what you actually built and what overhead actually cost. Hire a coordinator in April and every job-level net number you looked at before that was wrong.

Gross marginNet profit
UnitOne jobOne year
Formula(price - direct job cost) / price(total gross profit - overhead) / revenue
What sits in the cost sideLabor, materials, subs, equipment, permitsOffice payroll, rent, insurance, trucks, software, owner salary
How often you can see itWeekly, while the job runsMonth-end at best, honestly at year close
When it is fixableWhile the job is openBetween years
Who moves itPM, superintendent, estimatorOwner

Why is my gross margin good but my net profit bad?

Because overhead does not care how many jobs you sold that year.

Same shop, three different years, 28 percent gross margin in all three, and field execution identical across the board. The only thing that changed is how much work ran through the office.

Slow yearPlanned yearBusy year
Revenue$3,200,000$4,000,000$4,800,000
Gross margin28%28%28%
Gross profit$896,000$1,120,000$1,344,000
Overhead$980,000$980,000$1,010,000
Net profit-$84,000$140,000$334,000
Net percent-2.6%3.5%7.0%

The margin never moved. Profit swung $418,000, because overhead is close to fixed and revenue is not.

Run it as a break-even and it gets more useful. $980,000 of overhead against $4,000,000 of revenue means 24.5 points of gross margin go to paying for the office before a single dollar of profit exists. Bid at 28 and you have 3.5 real points left over. At 24 you are working for free on jobs that ran clean.

That is the trap. Twenty-eight percent sounds healthy, and against the field it is: NAHB's Remodelers' Cost of Doing Business Study put residential remodelers at 29.9 percent gross margin and 6.3 percent net. Measured against your own overhead, 28 is either comfortable or fatal, and the margin number by itself will never tell you which.

Is the owner's salary inside overhead?

If it is not, your profit line is fiction.

A GC holding the estimating seat, two PM seats, and the client relationship is doing several hundred thousand dollars of work that never hits the books. Leave it out and a 4 percent shop reads as a 15 percent shop. Michael Stone spent his career pushing residential contractors on this exact point. The full replacement-cost math is in how much profit a general contractor should make (next in this series).

Put yourself on payroll at a real number before you calculate anything else on this page.

Where does margin actually leak on a residential job?

It leaves in pieces small enough that nobody escalates them, and four categories cover most of it. Same $640,000 remodel, 18 weeks on site.

Unlogged labor hours. Nothing captures hours as the work happens, so the whole week gets reconstructed on Friday afternoon from memory. Six hours a week land on the wrong cost code or nowhere at all. Across 18 weeks at $92 burdened, that is $9,936 of labor the job never sees. The budget looks fine because nothing ever told it otherwise.

Change orders that never got priced. Three verbal directives, all performed, none papered. Move the hall bath door, add two recessed cans, upgrade the panel feed. Roughly $7,200 of delivered work sitting behind a signature that does not exist.

Allowance overruns. Cabinets allowanced at $28,000. The homeowner and the designer land on a $36,400 package in week ten, and the approval happens in a text thread that never touches the allowance line in the budget. That $8,400 delta gets absorbed at closeout because the client genuinely believed the selection was already covered.

Existing conditions. Knob-and-tube behind two walls that were supposed to open clean. $4,300 of electrical that was never estimated and never became a change order, because demo was already three days behind.

Add it up: $29,836, or 4.7 points off a 28 point job. Five jobs like that in a year is $149,180. Go back to the slow-year column above. That one number is the distance between a loss and a year worth having.

None of it came from a bad estimate. It came from the numbers living in four different places that never got compared while the job was still open. Estimate versus actual breaks the variance down by trade if you want to know which lines run hot.

Which number can you still fix?

Margin is fixable while the job is open. In week nine of an 18-week remodel you can still price the change order, catch the allowance before cabinets get ordered, and get framing hours coded to the right line. Every one of those four leaks had a window where it cost a conversation instead of a check.

Profit is fixable between years. Markup, overhead load, and the revenue you can realistically build are annual decisions, and by June they are set. Markup versus margin covers the conversion most shops get wrong at the front of that process: a 1.5 multiplier is a 33 percent margin, not 50.

Mixing the two makes GCs fix the wrong thing. A bad year feels like a sales problem, so the reflex is to go sell more work. If the real problem is 4.7 points bleeding out of every job, more volume multiplies the leak instead of covering it.

Diagnose in this order. Pull your last three closed jobs and put bid gross margin next to realized gross margin. If the gap is under a point, your field discipline is fine and the problem is pricing or overhead, which is a January conversation. If the gap is three points or more, stop touching your markup. Money is walking off open jobs right now, and re-pricing next year's bids does nothing about it.

Where Baxie fits

Baxie tracks each job's estimate against actuals as costs land, so a line running over shows up in the budget while the job is still open and the leak is still a conversation. The estimate-accuracy meter shows how far bid drifted from realized on the jobs you already closed.

Run it on three jobs this week

Run the three-job comparison above, then add your own salary to overhead at a replacement number and recompute the year.

Two hours of work. The answer tells you whether you have a margin problem or a profit problem, and those get fixed on completely different clocks.

Get the 12-point margin leak checklist and use it as the worksheet.

FAQ

What is the difference between margin and profit for a contractor?

Margin is a per-job number: contract price minus direct job cost, divided by price. Profit is a per-year number: what is left after a year of overhead comes out of every job's combined gross profit. Margin measures how well you built the job, and profit measures whether the company cleared anything at the end of it.

Why is my gross margin good but my net profit bad?

Overhead is close to fixed and revenue is not. A shop carrying $980,000 of overhead needs 24.5 points of gross margin on $4,000,000 of revenue just to break even. Bid 28 percent and only 3.5 points are real profit. Build less volume that year and the same 28 percent turns into a loss.

What gross margin do I need just to cover overhead?

Divide annual overhead by the revenue you can realistically build. $980,000 of overhead against $4,000,000 is 24.5 percent, so every point above 24.5 is profit and every point below is a loss. Recalculate whenever you add office payroll, because one hire can move the break-even two or three points.

Can I fix my net profit in the middle of the year?

Not much of it. Markup, overhead load, and realistic revenue are annual decisions, and by June they are mostly locked. What you can still fix is margin on open jobs: unpriced change orders, allowance overruns, and labor hours landing on the wrong cost code. That is where mid-year dollars come from.

Up next