How it works
- Labor = hours × your burdened labor rate (wage plus payroll taxes, workers' comp, benefits and paid time off).
- Overhead this job carries = hours × overhead per billable hour. Work that out once a year: total overhead divided by the billable hours your techs actually sell.
- Total cost = labor + parts + other job costs + overhead.
- Price = total cost ÷ (1 − target margin).
The result also shows the same price as a markup on cost, and the profit per labor hour, which is the number that tells you whether a long job is worth more than two short ones.
Markup is not margin
A 50% markup on cost is a 33% gross margin. Shops that set a margin goal and then apply it as a markup underprice every job. The converter at the bottom of the result does the conversion: margin = markup ÷ (1 + markup). The full explanation, with a table, is in markup vs margin for contractors.
Using it for real jobs
- Run your five most common jobs through it and compare the answer with what you charge now.
- If a job comes out higher than the market will pay, look at the hours first: travel, parts runs and callbacks are usually where the time goes.
- Once the numbers hold up, put them in your price book so every tech quotes the same price. See how to build a flat-rate price book.
SWITCHBOARD shows the margin and markup on every estimate option as you build it, against your own target, and flags any line whose cost you have not entered rather than guessing it.
Questions people ask
Should overhead be in the job price?
Yes. Overhead is real cost: trucks, rent, insurance, the office and software. If the price only covers labor and parts, the profit you think you made pays the overhead instead.
What gross margin should I aim for?
It depends on your overhead, trade and market. Work out what you need to cover overhead and leave the profit you want, rather than copying someone else's number.
Why divide by (1 - margin) instead of adding a percentage?
Because margin is a share of the price, not of the cost. Adding 20% to cost gives a 16.7% margin, not 20%.
Is my data saved?
No. Everything runs in your browser.