If your jobs keep looking busy but your bank balance says otherwise, markup is usually where the leak starts. Knowing how to calculate contractor markup correctly is what turns a quote from a guess into a profitable job. A lot of contractors price from habit, round up a little, and hope the job carries enough margin. That works until material costs jump, labor runs long, or overhead gets ignored.
Markup is not just extra money added to a quote. It is the amount you add to your cost so the selling price covers overhead and leaves room for profit. If you miss that distinction, you can win work and still lose money.
What contractor markup actually means
Contractor markup is the percentage added to your direct job cost to arrive at the price you charge the customer. Your direct costs usually include labor, materials, equipment, subcontractors, permits, and any other cost tied directly to the job.
Here is the basic formula for how to calculate contractor markup:
Markup % = (Selling Price - Job Cost) / Job Cost x 100
If your total job cost is $10,000 and you charge $12,000, your markup is 20%.
($12,000 - $10,000) / $10,000 x 100 = 20%
That sounds simple, but the real issue is deciding what goes into job cost and how much markup your business needs. Many contractors underprice because they leave out overhead or they confuse markup with margin.
Markup vs. margin: the mistake that cuts profit
This is where a lot of quotes go wrong. Markup is based on cost. Margin is based on selling price. They are not the same percentage.
If you add a 20% markup to a $10,000 job, your selling price becomes $12,000. But your gross margin is not 20%. It is $2,000 divided by $12,000, which is 16.7%.
That gap matters. If you tell yourself you want a 20% margin and then only add a 20% markup, you will come in short.
To hit a target margin, use this formula:
Selling Price = Job Cost / (1 - Desired Margin)
If your cost is $10,000 and you want a 20% margin:
$10,000 / (1 - 0.20) = $12,500
That means you need a 25% markup to get a 20% margin.
If you price a lot of work using gut feel, this one correction can make a noticeable difference in profit.
How to calculate contractor markup step by step
The cleanest way to price markup is to start with complete job cost, then work forward to your selling price. If your cost data is off, your markup math will not save you.
1. Add up direct job costs
Start with every cost directly tied to the work. That includes field labor burdened with payroll taxes and workers' comp, materials, equipment rentals, subcontractors, dump fees, permits, and travel if it is job-specific.
Do not use raw hourly wage alone for labor. If you pay a tech $30 an hour, the true labor cost is higher once you include taxes, insurance, benefits, and paid nonbillable time. For many contractors, that fully loaded labor rate is what keeps pricing honest.
2. Allocate overhead
Overhead is the cost of running the business whether the crew is on one job or ten. Office rent, admin payroll, software, trucks, fuel not tied to one specific job, phones, insurance, marketing, and licensing all belong here.
This is the part many small contractors skip, and it is why revenue can rise while cash stays tight.
You can handle overhead a few different ways. Some contractors apply a flat percentage to every job. Others estimate annual overhead and divide it across billable labor hours or projected revenue. The right method depends on how your business runs, but the key is the same: overhead must be recovered in your pricing.
If your annual overhead is $120,000 and you expect $600,000 in direct job cost for the year, your overhead burden is 20% of cost. That does not mean your final markup should only be 20%, because you still need profit on top.
3. Set your target profit
Profit is what remains after covering direct costs and overhead. This is not owner pay for working in the field unless you treat that labor separately. This is actual business profit.
Your target profit depends on your trade, market, competition, job risk, and workload. Service work, emergency calls, and small jobs often support higher markup than large competitive bid work. Remodels with scope uncertainty may need more protection than repeat install work.
There is no single correct markup for every contractor. A plumbing service call might carry a much higher markup than a ground-up construction package with tight bidding pressure. The point is to choose a target on purpose instead of copying what someone else says they charge.
4. Build the final selling price
Once you know direct cost, overhead burden, and target profit, you can build your price.
Say a bathroom remodel has:
- Direct labor: $4,000
- Materials: $3,500
- Subcontractors: $1,500
- Permits and misc.: $1,000
Total direct job cost = $10,000
If your overhead recovery target is 15% and your desired profit margin is 10%, you should not simply add 25% and assume it works. You need to make sure your final price supports both.
A simple approach is to calculate a selling price that covers all cost plus your desired net result. If you want a 25% gross margin on the job to absorb overhead and profit, use:
Selling Price = $10,000 / (1 - 0.25) = $13,333
Your markup on cost would be 33.3%.
This is why markup percentages often need to be higher than contractors expect. The percentage has to do more than cover materials and labor. It has to carry the business.
What markup percentage should a contractor use?
It depends on the type of work, how accurate your job costing is, and how much overhead your company carries. A lean owner-operator with low admin costs can price differently than a growing HVAC company with office staff, service vehicles, and dispatch overhead.
Low-risk repeat work may justify tighter markup if volume is strong and change orders are controlled. High-uncertainty jobs need more room. Small jobs also need higher markup because setup time, travel, and customer communication eat a bigger share of the revenue.
If you are trying to pick a number out of thin air, stop and work backward from your financial targets. Figure out what your overhead costs, what profit you want, and how many billable jobs or hours you realistically sell. That gives you a pricing floor. Anything below it puts pressure on cash flow.
Common pricing mistakes that shrink contractor markup
The first mistake is using incomplete costs. Material is easy to see, but labor burden, callbacks, waste, and permit time are easy to miss.
The second is treating markup as pure profit. It is not. Part of it goes to overhead. If your business overhead is rising and your markup has stayed the same for two years, your profit is already getting squeezed.
The third is using one markup for every job. Different job sizes and service types carry different risk. Flat pricing can work, but only if the underlying numbers are built carefully.
The fourth is quoting fast without checking margin. Speed matters, but not if you are sending out polished quotes that lose money. This is where trade-specific quoting software helps because it lets you see margin while pricing instead of after the invoice is paid.
A practical way to keep markup under control
The best markup formula is the one you can use consistently. That means your estimating process should show direct cost, target markup, and expected margin before the quote goes out. If that math lives in scattered spreadsheets, errors creep in fast.
A better setup is one system where labor rates, material pricing, and markup rules are already built into the quote. That gives you faster pricing and better control. QuoTrak is built around that workflow, so contractors can create quotes, see margins in real time, and turn approved work into invoices without rebuilding the job twice.
That matters because markup is not only an estimating issue. It affects invoicing speed, cash flow, and how confidently you can take on the next job.
When to adjust your markup
Review your markup whenever labor costs rise, supplier pricing changes, fuel and vehicle expenses climb, or your business adds overhead like admin staff or shop space. Also review it if you are winning too much work too easily. That can be a sign your pricing is lower than it should be.
On the other hand, if your close rate drops sharply, the answer is not always to cut markup. Sometimes the problem is unclear scope, weak quote presentation, or charging the wrong markup on the wrong type of work. Pricing should respond to real numbers, not panic.
A healthy contractor business does not just stay busy. It knows what each job needs to produce before the crew starts. Get your markup right, and quoting becomes less of a gamble and more of a control point for profit.