August 5, 2026 · By JobMargin
Markup vs. Margin for Contractors: Stop Underpricing Your Work | JobMargin
Confusing markup with margin is costing you 20% or more on every job. Learn the difference with real examples and a simple formula.
If you have ever added 20% to a parts bill and called that a 20% margin, you are not alone. Contractors use markup and margin interchangeably all the time. The problem is that they are not the same number—and confusing them quietly underprices your work.
The difference sounds small on a single receipt. Across materials, labor, subcontractors, and a whole job, it can be the difference between paying yourself properly and wondering where the money went.
Markup is added to cost. Margin is left from the price.
Markup starts with what something costs you. Margin starts with what the customer pays.
The simple formula is:
Margin % = (Price - Cost) / Price × 100
Here is the classic example. You buy materials for $1,000, add 20% markup = charge $1,200. That is $200 gross profit on $1,200 revenue, which is only a 16.7% margin. If you wanted a 20% margin, you needed to charge $1,250: $250 profit divided by $1,250 revenue equals 20%.
To price a cost for a target margin, use this contractor pricing formula:
Price = Cost / (1 - target margin)
For a $1,000 cost and a 20% target margin: $1,000 / 0.80 = $1,250. You can still describe that as a 25% markup, but the number that matters for your business is the 20% margin left in the selling price.
Neither method is automatically right. The danger is saying “20%” without knowing whether you mean markup or margin.
How the mistake compounds on a real job
Imagine you are quoting a panel upgrade. Your direct costs look like this:
- Materials: $1,000
- Your labor: 16 hours at an internal cost of $50/hour = $800
- Electrician helper: $400
- Travel, disposal, and permits: $200
- Total direct cost: $2,400
You want a 20% margin on the job. The quick, correct calculation is $2,400 / 0.80 = $3,000. That leaves $600, or 20% of the price, before overhead and payment fees.
Now see what happens when you apply a 20% markup to each line instead:
- Materials: $1,000 × 1.20 = $1,200
- Labor: $800 × 1.20 = $960
- Helper: $400 × 1.20 = $480
- Travel, disposal, permits: $200 × 1.20 = $240
- Total quote: $2,880
Your profit is $480. Divide $480 by $2,880 and the job margin is only 16.7%, not 20%. You are $120 short before a single surprise happens. That gap repeats on every job.
The effect gets bigger when the target margin is higher. A 30% markup produces a 23.1% margin. A 50% markup produces a 33.3% margin. If you need a 30% margin, you need a 42.9% markup—not 30%.
A full quote, level by level
Let us walk through a $6,000 bathroom renovation quote. Your estimate says:
- Materials cost: $2,000
- Your labor cost: 32 hours × $60 = $1,920
- Plumber subcontractor: $900
- Disposal and travel: $180
- Direct cost: $5,000
You also need to recover $400 of overhead allocated to this job—vehicle, insurance, phone, software, and the time spent quoting and scheduling. Your real cost is $5,400.
The markup-everything quote
You apply a 20% markup at each level:
- Materials: $2,000 × 1.20 = $2,400
- Labor: $1,920 × 1.20 = $2,304
- Subcontractor: $900 × 1.20 = $1,080
- Disposal/travel: $180 × 1.20 = $216
- Quote before overhead: $6,000
That $6,000 quote looks tidy. But after the $5,000 direct cost and $400 overhead, your actual profit is $600. Your actual margin is $600 / $6,000 = 10%. The 20% markup on direct costs did not leave 20% after overhead.
The margin-based quote
If your goal is a 20% margin after overhead, start with the full $5,400 cost, not just the receipts. Divide by 0.80:
$5,400 / 0.80 = $6,750
Now show the customer a $6,750 quote. The levels still help you explain and check the estimate, but they are not allowed to hide the job total:
- Materials portion: $2,000 / 0.80 = $2,500
- Labor portion: $1,920 / 0.80 = $2,400
- Subcontractor portion: $900 / 0.80 = $1,125
- Disposal/travel portion: $180 / 0.80 = $225
- Overhead portion: $400 / 0.80 = $500
- Total price: $6,750
Profit is $1,350, exactly 20% of the price. If a customer changes the scope, recalculate the added cost and price it using the same target margin.
Three places contractors underprice
1. Materials markup confusion
A supplier invoice is easy to see, so materials often get a round markup while the rest of the quote is guessed. But a 20% material markup is a 16.7% material margin. If prices rise or you make a second supply run, that thin cushion disappears. Decide on a target margin, and price materials with cost divided by one minus that target.
2. Overhead eats the “profit”
A job can have a healthy-looking gross profit and still not pay for the business. Van payments, insurance, licenses, tools, phone service, advertising, accounting, and software do not appear on the material receipt. Allocate overhead per productive hour or as a percentage of the job. Then include it before you set your target margin.
If the job above had used the $6,000 markup quote but required $300 extra in callbacks, the $600 profit becomes $300. Add a missed half-day and you may be working for almost nothing.
3. Adding subs at cost
A subcontractor’s invoice is not your customer price. You coordinated the sub, carried the scheduling risk, and remain responsible for the result. If you pass along a $900 sub invoice at exactly $900, there is no room for that work. Include the sub in the full job cost, then apply your target margin to the total. Be clear in your estimate about what the line includes; you do not need to apologize for a sustainable price.
A practical pricing habit
Before sending an estimate, write down four numbers: every direct cost, the overhead allocation, your target margin, and the resulting price. Check the same numbers after the job using actual receipts and hours. Your estimate may have been right while the job ran long, or the scope may have changed. Either way, you will know instead of guessing.
Use markup when you need a quick way to adjust a known cost. Use margin when you are deciding whether the entire job pays enough. Always translate one to the other before you quote: a 20% markup is 16.7% margin; a 20% margin requires 25% markup.
Try our free Markup ↔ Margin Converter or different scenarios with our profit calculator to see how materials, labor, subs, overhead, and fees change your result. You can also download the free estimate vs. actual spreadsheet and compare what you thought a job would cost with what it actually cost.
The goal is not perfect math on a clipboard. It is a price that covers the work, pays for the business, and leaves a profit you can count on. Check the margin before you start, then check it again when you finish.
Ready to stop losing the gap? Try JobMargin free and track the estimate against actual costs from your phone.