Pricing ·
How to price a contracting job
Contractors price a job as loaded labor plus materials plus travel, then markup. The number that matters is not “what the guy down the road charges.” It is your cost to put a tech on site for an hour, times the hours the job actually takes. CostSnap drafts a local range from photos; you still apply that formula.
In short
- Price = (hours × loaded labor rate) + materials + travel & disposal + markup.
- Loaded rate is not take-home wage. Markup is added on cost; margin is profit as a share of price.
- AI should draft hours and a local materials range. You apply the catalog and send the bid.
What is the pricing formula?
Use this as the default, then adjust for risk:
Price = (hours × loaded labor rate) + materials + travel & disposal + markup. Write assumptions under the total. If a condition is not visible, it is excluded or an allowance — not a silent hope.
That is the same structure whether you walked the site or quoted from photos. The photos change how confident you are in the hours, not whether you skip markup.
What is a loaded labor rate?
A loaded rate is not the wage on the check. It is what one billable hour actually costs the shop:
- Wages and overtime
- Payroll tax, workers’ comp, liability, benefits
- Truck, fuel, phones, software, shop rent — spread across billable hours
- Non-billable time (drive, supply house, callbacks)
If you pay $35/hour and ignore the rest, you are often closer to $70–$110 loaded in North American service trades, sometimes more in high-cost cities. Your number is yours — run it once a year. Published wage surveys such as the U.S. Bureau of Labor Statistics construction and extraction occupations are a wage floor, not a loaded rate or a bid. The U.S. Small Business Administration likewise treats price as your cost plus the profit you need — not a number copied from a competitor.
Then decide a selling rate (what you print on the quote) that covers loaded cost plus the profit you need. Do not invent a new rate on every lead.
How should materials be priced?
Price what you will buy for this job, at the price you actually pay, then mark it up. Common mistakes:
- Using last year’s book price after a supplier increase.
- Forgetting tax, freight, or the second trip to the supply house.
- A single “materials” lump that the client cannot compare — and you cannot defend.
Keep a catalog. CostSnap lets you store labor rates, materials, markup, and travel so the next quote does not start from memory.
Markup vs margin — which number should I use?
They are not the same. Markup is added on top of cost. Margin is profit as a share of the selling price.
| If job cost is | And markup is | Price is | Margin is |
|---|---|---|---|
| $1,000 | 25% | $1,250 | 20% |
| $1,000 | 33% | $1,330 | ~25% |
| $1,000 | 50% | $1,500 | ~33% |
Many service contractors land in a 30–50% markup band after a true loaded rate. Remodel, warranty-heavy, or poorly defined work often needs more. Copying a percentage from a Facebook group without knowing your overhead is how a busy month still loses money.
How do you price travel?
Travel is a cost. Either:
- A trip charge / service call that is visible on the quote, or
- Hours already inside the labor line (drive + on-site).
Do one or the other, not both silently. For remote photo quotes, price the address you were given. If the job is outside your radius, say so before you spend time on a pretty PDF.
Should AI set the price?
No. AI is good at a first-pass scope and a local fair range from photos and a postal code. It is bad at knowing your plumber’s true loaded rate, your supplier account, or that this client always adds a half-bath mid-job.
CostSnap is built around that split: the model drafts from photos; you apply catalog, markup, and travel; you send the bid. That is also how you stay defensible if a client asks “why this number?”
For the photo side of the workflow, read how to quote a job from photos.
A short example (illustrative, not a bid)
Bathroom exhaust fan swap, photos show an existing fan, attic access, standard ceiling:
- Labor: 2.5 hours × your selling rate
- Fan + fittings at your cost, marked up
- Trip charge if you use one
- Assumption: existing duct and roof jack are reusable; new roof work is extra
If the photos do not show the attic, the quote says so. You are pricing the visible job, not a fantasy fan.
Questions contractors ask
How do contractors price a job?
Most profitable shops use: (labor hours × loaded hourly rate) + materials + travel/disposal + markup. Loaded rate includes wages, payroll tax, insurance, truck, and downtime — not just what you pay a tech. Markup is added on cost; margin is profit as a share of the selling price.
What is a typical contractor markup?
It varies by trade, market, and risk. Many service contractors target a 30–50% markup on job cost (roughly 23–33% margin) after a true loaded labor rate. Remodel and specialty work often needs more. Copying a neighbor’s percentage without knowing your overhead is how shops go broke on “busy” months.
Should AI set the price on a contractor quote?
No. AI should draft hours and a local materials range. You apply your catalog, markup, and travel. CostSnap works that way: photo-based draft, then your rates, then a branded quote you send.