Skip to content
USUnited States

How to Price Contractor Jobs Without Guessing

Build a contractor price from scope, labor, materials, overhead, and profit, then use completed job costs to improve the next quote.

Yes Foreman · September 27, 2026 · Guides

Contractor building a job price from scope, labor, materials, overhead, and profit

The crew can finish the work and still lose money. The missed setup hour, supply run, disposal cost, or wall opening was never in the price. Learning how to price contractor jobs means replacing that guess with a repeatable loop: scope, cost, price, quote, change control, and job review.

Your price must come from your work and your costs. Another contractor’s number cannot tell you whether your crew, vehicles, office costs, callbacks, and required profit are covered.

Write down exactly what the customer is buying

Start with the physical job. Count rooms, fixtures, surfaces, service visits, equipment, and deliverables. Record what the crew will install, remove, test, clean, and hand over.

Add the conditions that affect production. Access. Parking. Occupied areas. Existing finishes. Working hours. Shutdowns. Disposal. Customer-supplied items. A price built for an open ceiling will fail when the ceiling is lined.

Separate three things:

  • Assumptions are facts you used to build the price.
  • Allowances cover unresolved selections or quantities inside the scope.
  • Exclusions identify work that is not included.

Do not hide uncertainty inside a general buffer. State it. If a fixture selection remains open, name the allowance and explain how a different selection affects the price. If wall repair is excluded, put that exclusion beside the scope it affects.

Ask the local building department about permits and inspections for the specific job. Check your state or local trade licensing authority about licensing requirements, including any required quote or contract terms.

Build the labor estimate task by task

List every task needed to deliver the scope. Include setup, job-assigned travel, procurement, installation, testing, cleanup, and supervision where they apply. The technician who spends time collecting a missing fitting is still costing the business money.

Estimate crew time for each task. Keep the production assumption visible. After the job, you need to know whether the miss came from slow production, difficult access, missing scope, or an unrealistic estimate.

Use your own loaded labor cost. Start with the wages paid for the job. Add the labor-related costs your business actually carries. Keep general business overhead separate unless your costing method deliberately includes part of it in loaded labor.

Labor cost is not the same as the customer-facing labor price. Estimated labor cost equals estimated task hours multiplied by your loaded labor cost. Then apply your chosen methods for recovering overhead and profit to reach the selling price. Do not answer the labor-charge question by copying a market rate with an unknown scope and cost base.

Price materials and every other direct job cost

Build a material takeoff from the written scope. Name the item, quantity, and supplier cost. Add delivery, consumables, and expected job-specific waste where they apply.

Then capture the other costs that can be traced to this job:

  • Subcontractors
  • Hired equipment
  • Disposal
  • Job-specific permits or inspections
  • Freight and delivery
  • Other job-specific purchases

Firm supplier costs belong in the estimate. Unresolved customer selections may need an allowance. Work outside the scope belongs in the exclusions, not in a vague materials line.

Check the takeoff against the site notes before sending the quote. A missing connector looks small on the worksheet. The supply run and lost crew time do not.

Recover overhead once

Overhead keeps the business operating but cannot be traced cleanly to one job. It can include office costs, vehicles, administration, general tools, and other shared business costs.

Choose labor hours, direct job cost, or another basis supported by your own records, and use the same basis on every job. Do not divide overhead evenly across jobs when those jobs use very different crew time and resources.

Check for double counting. If a cost is already inside loaded labor, do not add it again as separate overhead. If equipment is charged directly to the job, do not recover the same equipment cost through a second line.

How to price contractor jobs from scope to selling price

Use one job pricing formula from the first site note through the final review:

Customer: [name]
Job address: [address]
Scope: [included work and quantities]
Assumptions: [conditions used to price the work]
Allowances: [unresolved items and how adjustments work]
Exclusions: [work not included]

Direct labor: [estimated task hours and loaded labor cost]
Direct materials: [takeoff cost]
Subcontractors: [cost]
Job-specific equipment: [cost]
Other direct job costs: [cost]
Allocated overhead: [amount and allocation basis]
Estimated job cost: [total of all cost buckets]
Profit: [required amount]
Selling price: [estimated job cost plus profit]

Payment terms: [terms]
Acceptance method: [signature or written approval]

The pricing ladder is:

Estimated job cost = labor + materials + subcontractors + equipment + job-specific costs + allocated overhead

Selling price = estimated job cost + profit

If you set price from a target margin, use:

Selling price = estimated job cost ÷ (1 − target margin)

Keep this internal costing sheet separate from the customer’s quote. The customer needs the defined scope, selling price, terms, and acceptance method. Your internal labor costs, overhead allocation, and profit calculation stay with the job record.

Keep markup and margin straight

Markup measures profit against cost. Margin measures profit against selling price. They use the same profit amount but answer different questions.

Markup = profit ÷ cost

Margin = profit ÷ selling price

Worked example: Oak Street

All figures in this example are sample currency units, not suggested prices or a rate card.

R. Chen’s job at 14 Oak Street covered a 150mm bathroom exhaust fan ducted through the roof and four LED downlights. Quote Q-1847 was 1,105. The job cost measured against that original quote was 850.

Profit against the quote was 1,105 − 850 = 255. Margin was 255 ÷ 1,105 ≈ 23%. Markup was 255 ÷ 850 = 30%.

A contractor pricing decision based on a 30% margin would not produce the same selling price as a 30% markup. Pick the measure you use, apply the correct formula, and check the result with the profit margin calculator.

Turn the calculation into a quote the crew can follow

A quote should connect one price to one defined scope. Include the customer and site, work description, quantities, assumptions, allowances, exclusions, payment terms, and acceptance method.

Use a fixed price when the scope and conditions are defined well enough to support it. Use time-and-materials terms when genuine uncertainty prevents a responsible fixed price. State how labor, materials, authorization, and records will be handled before work starts.

Use an estimate when the available information only supports a likely range. The Oak Street records include estimate E-1847 with a range of 900–1,400 and quote Q-1847 at 1,105. Resolve selections, quantities, access, and site conditions before replacing the estimate with a committed quote. Read when to use a quote instead of an estimate before committing to the wrong document.

Stop and write a change order when the job changes

When the customer changes the work or the crew finds an excluded condition, stop. Describe the added or removed work. State the effect on price and timing. Get approval. Then resume.

On the Oak Street bathroom, the ceiling was lined and the quote excluded chasing. Extra cable and chasing were approved on site as a 160 change order. Invoice INV-1847 was therefore 1,265.

Do not combine the 1,265 invoice with the original 850 job cost to calculate profit. The costs of the 160 change order are not given. The valid profit calculation remains the comparison between quote Q-1847 and the costs measured against that quote.

The invoice records what became payable. It does not replace the accepted scope or change-order record. The invoice and quote comparison explains the job of each document.

Review actual costs before pricing the next job

Record actual labor, materials, subcontractors, equipment, and other costs under the same buckets used in the estimate. Otherwise, you cannot see where the price failed.

Compare estimated and actual quantities. Check the setup hours, site access, supply runs, consumables, waste, supervision, and cleanup. Confirm that overhead was recovered once and that every scope change had an approved change order.

Fix the specific miss. Add a missing task to the scope. Correct the production time. Update the takeoff. Change the overhead allocation. Tighten change control. Do not respond to every overrun with an unexplained percentage added to every future quote.

Use the job-costing guide to compare the original price with the labor, materials, and other costs recorded after completion.

Run this pre-quote check

Before the customer accepts the price, confirm:

  • The scope and quantities are written.
  • Labor includes setup, work, testing, and cleanup.
  • Materials and direct job costs match the takeoff.
  • Overhead is recovered once.
  • The correct markup or margin formula was used.
  • Assumptions, exclusions, terms, and acceptance are recorded.

When you next work out how to price contractor jobs, copy the blank pricing ladder into the job file before the site visit. Complete it from the work area outward.

Put the next job in one place

Yes Foreman connects quotes, schedules, crews, timesheets and invoices for small field-service teams.