Two words that sound interchangeable, one of the most expensive mix-ups in the trades. If you add 20% to your costs and think you're keeping 20%, you're off by a fifth of your profit on every single job.
Last reviewed: August 2026 · 6 min read
The short version. Markup is what you add to your cost. Margin is what you keep out of the price. They're different numbers with the same percent sign, and the markup number is always the bigger one.
A 20% markup gives you a 16.7% margin. To actually keep 20%, you need a 25% markup. And that's before overhead — which is where most of the damage really happens.
You price a bathroom. Materials, labor, and subs come to $10,000. You add your usual 20%:
| Line | Amount |
|---|---|
| Direct cost (material + labor + subs) | $10,000 |
| Markup added — 20% of cost | $2,000 |
| Price to the client | $12,000 |
| What you actually kept, as a share of the price | $2,000 ÷ $12,000 = 16.7% |
The $2,000 is real. The 20% is not. You measured your profit against your cost, but your business — your P&L, your accountant, your bank — measures it against your revenue. On a $10,000 job the gap is $400 of theoretical profit that never existed. Run $400,000 of direct cost a year at that misunderstanding and you're planning your business around roughly $16,000 that isn't there.
Write these on the inside of your estimate folder. That's genuinely all there is to it.
That last line is the one to use on real bids. Divide, don't multiply. Multiplying by 1.20 gets you a markup. Dividing by 0.80 gets you a margin. It's the same keystroke count and one of them is the number you actually meant.
What each markup actually leaves you:
| Markup on cost | Multiply cost by | Gross margin you keep |
|---|---|---|
| 10% | 1.10 | 9.1% |
| 15% | 1.15 | 13.0% |
| 20% | 1.20 | 16.7% |
| 25% | 1.25 | 20.0% |
| 30% | 1.30 | 23.1% |
| 35% | 1.35 | 25.9% |
| 40% | 1.40 | 28.6% |
| 50% | 1.50 | 33.3% |
| 60% | 1.60 | 37.5% |
| 100% | 2.00 | 50.0% |
Start from the margin you need, work backwards to the markup:
| Margin you want | Divide cost by | Which is a markup of |
|---|---|---|
| 10% | 0.90 | 11.1% |
| 15% | 0.85 | 17.6% |
| 20% | 0.80 | 25.0% |
| 25% | 0.75 | 33.3% |
| 30% | 0.70 | 42.9% |
| 35% | 0.65 | 53.8% |
| 40% | 0.60 | 66.7% |
| 50% | 0.50 | 100% |
Everything above is gross margin — price minus the cost of the actual work. It says nothing about the cost of being in business at all:
Overhead has to come out of your markup before anything is profit. So find your recovery rate once a year:
Now the 20% markup story looks very different. Of that 20%, fifteen points are just paying you back for existing. Five points are the actual profit — about 4.2% of the price. One rained-out week or one forgotten dump run and the job is a break-even at best.
Same contractor: 15% overhead rate, wants a genuine 10% net margin — money left after the work and after the business.
| Step | Math | Amount |
|---|---|---|
| Direct job cost | material + labor + subs | $70,000 |
| Overhead to recover | $70,000 × 15% | $10,500 |
| Break-even price | $70,000 + $10,500 | $80,500 |
| Price for a 10% net margin | $80,500 ÷ 0.90 | $89,444 |
| Net profit | $89,444 − $80,500 | $8,944 |
| Total markup that represents | $89,444 ÷ $70,000 | 27.8% on cost |
And here's the same job bid the old way, at a flat 20% markup:
| Step | Math | Amount |
|---|---|---|
| Price at 20% markup | $70,000 × 1.20 | $84,000 |
| Less break-even | $84,000 − $80,500 | $3,500 |
| Actual net margin | $3,500 ÷ $84,000 | 4.2% |
| Money left on the table | $8,944 − $3,500 | $5,444 |
Five thousand four hundred dollars, on one kitchen, from one arithmetic habit. The client wasn't going to walk over 6% — you just never asked.
Worth knowing precisely, because it's exactly the distinction this guide is about: in Settings → Default Markups, the Contingency, Bond/Insurance, Management, and Profit fields are all percentages of direct cost — markups, not margins. Tax applies to material only. So switching on Management 10% and Profit 10% prices the job at cost × 1.20, which is a 16.7% gross margin, and the profit portion alone is about 8.3% of the price.
That's not a quirk to work around — markup-on-cost is how estimates are built, and how your subs quote you. You just need to enter the markup that produces the margin you want. Use the second table above, or the divide-by formula.
To see the margin rather than the markup, the Budget Tracker tab shows a Margin card that divides profit by revenue — a true margin — and updates as you type real costs in against each division. That's the number to watch mid-job, and the estimate summary shows the same thing as Profit Margin.
16.7%. On $10,000 of cost, a 20% markup prices the job at $12,000; the $2,000 you keep is 16.7% of that $12,000. To keep a true 20% of the price you need a 25% markup.
Divide your cost by (1 − margin). For 20%, divide by 0.80 — a 25% markup. For 30%, divide by 0.70 — a 42.9% markup. As a formula: markup = margin ÷ (1 − margin).
No, and treating them as one line is how profitable-looking years end with no money in the account. Overhead is the cost of the business existing — insurance, truck, software, unbilled estimating time. It must be recovered before any of your markup is profit. Divide annual overhead by annual direct job cost to get the rate to add to every bid.
There's no universal number, and anyone who gives you one is guessing about your business. The method: overhead rate + direct cost = break-even, then break-even ÷ (1 − target net margin). A contractor with a 15% overhead rate targeting 10% net needs about 27.8% total markup on direct cost.
That's a business-style call, not a math one. Cost-plus and open-book jobs itemize it by definition; on fixed-price residential work many contractors present a single price per division instead. What matters is consistency, and that your contract's payment terms match whichever way you present it.
Enter your rates in Settings and every estimate, proposal, and client portal uses them — with a live margin readout as you bid. 14-day free trial — $0 today.
🎁 Start 14-day free trial →