How to price a construction job
Price a construction job from materials, labor, overhead and markup, with a flooring job worked through line by line and the math behind every number.
Pricing and profit · 10 min read · Updated
The steps, in order
- 1
Know your overhead per hour
Add up a year of overhead and divide it by the hours your crew actually bills, so every job carries its share.
- 2
Take off and price the materials
Measure, add waste, round up to purchase units and price at what you will pay near the job now.
- 3
Estimate labor hours and cost
Estimate hours task by task and multiply by what an hour of labor really costs you, payroll costs included.
- 4
Add job costs and overhead
Add disposal, permits, rentals and subcontractors, then the job's share of overhead.
- 5
Add profit
Mark up the total cost for profit, or divide by one minus your target margin.
- 6
Sanity-check the price
Compare against similar past jobs and your local market before you send it.
Pricing a construction job comes down to one equation: price = materials + labor + other job costs + overhead + profit. Every pricing problem is one of those five parts missing or wrong:
- Materials priced from memory
- Labor priced at the wage
- Overhead left out entirely
- Profit added as an afterthought, or not at all
This guide takes each part in turn, then prices a real-sized flooring job from start to finish so you can follow every number. For the document that carries the price to the client, see how to write a contractor estimate.
The five parts of a job price
Materials: what stays in the building
Materials are everything that stays in the building, plus consumables used on the job: adhesive, fasteners, tape, sandpaper.
Labor: the wage plus burden
Labor is the cost of the hours your crew spends on the job. It includes the employer's share of payroll taxes, workers' compensation and any benefits. That extra cost on top of the wage is called labor burden.
Other job costs: what belongs to this job only
Other job costs are direct costs that belong to this job only: permits, disposal, equipment rental, subcontractors, delivery fees.
Overhead: the cost of running the business
Overhead is what it costs to run the business whether or not you are on a job:
- Truck payments and fuel
- Insurance, phone and software
- Accounting and licensing
- Tools and advertising
- The hours you spend estimating and doing paperwork
Profit: the business's return, not your wage
Profit is what is left after all of the above. It is not your wage. It is the return on running a business: money for slow months, new equipment, growth and the risk you take on every fixed price.
Step 1: Work out overhead per billable hour
Overhead is the part that gets left out most easily, because it does not show up on any single job. The fix is to turn it into a number you can apply to every job.
Divide a year of overhead by billable hours
- Add up a year of overhead. Use last year's books if you have them, or a careful budget if you are new.
- Work out how many hours your crew actually bills in a year. Not hours worked: hours billed to a job. Estimating, driving to the supply house, callbacks, rain days and holidays are not billable.
- Divide overhead by billable hours.
Example: Say your annual overhead is $36,000 and your crew bills 1,500 hours a year. Overhead is $36,000 ÷ 1,500 = $24 per billable hour.
Every hour you put on an estimate needs to carry $24 of overhead on top of the labor cost, or that overhead comes out of your profit.
Or use a percentage of job cost
If you prefer to allocate overhead as a percentage of job cost instead, divide annual overhead by annual direct job costs. Either method works. The break-even calculator shows how many jobs a month your overhead needs.
Step 2: Take off and price the materials
Measure, add waste and round up to the unit you buy in. The waste factor depends on the material: straight-lay flooring in a rectangular room needs less than a diagonal tile pattern in a room with a lot of corners.
Then price each item at what you will actually pay near the job now, not at last year's price.
Count the small stuff too
Transitions, trim, fasteners and adhesive are a few dollars each. They add up to real money on every job.
Step 3: Estimate labor hours and cost
Estimate hours task by task. "Install floor, two days" hides the furniture moving, the old carpet, the leveling compound and the trim. A task list catches them.
Price each hour at wage plus burden
Then multiply by what an hour of labor really costs you: wage plus burden. If you are a solo owner-operator, use the hourly pay you need to earn, plus your self-employment tax and insurance. The labor rate guide works through that number for both cases.
Step 4: Add job costs and overhead
Add the direct costs that belong to this job, then multiply the job's labor hours by your overhead per billable hour. Now you have the full cost of doing the job.
Step 5: Add profit
There are two ways to add profit, and they give different answers:
- Markup: multiply cost by one plus the markup. Cost × 1.20 is a 20% markup.
- Target margin: divide cost by one minus the margin you want. Cost ÷ 0.80 is a 20% margin.
A 20% markup is not a 20% margin
A 20% markup produces a margin of about 16.7%, not 20%. If you think in margins and price in markups, you will come in low on every job.
The markup vs margin guide has a conversion table, and the markup calculator and profit margin calculator do the arithmetic.
Worked example: 400 square feet of luxury vinyl plank
Example: A client wants carpet removed and luxury vinyl plank installed in a living room and hall, 400 square feet in total, with new quarter round and three transitions. The subfloor needs some leveling.
The figures below are example costs for illustration; use your own.
Materials: $1,540 with 10% waste
The plank has no attached pad, so the job needs underlayment. Waste is 10%, so 400 × 1.10 = 440 square feet of plank and underlayment.
| Item | Quantity | Unit cost | Cost |
|---|---|---|---|
| Vinyl plank, 22 sq ft per carton | 20 cartons | $55.00 | $1,100.00 |
| Underlayment, 100 sq ft per roll | 5 rolls | $35.00 | $175.00 |
| Quarter round, 8-ft pieces | 15 pieces | $9.00 | $135.00 |
| Transitions | 3 | $30.00 | $90.00 |
| Fasteners, leveler, adhesive | 1 lot | $40.00 | $40.00 |
| Materials | $1,540.00 |
Check each quantity against the purchase unit
- Plank: 440 ÷ 22 = 20 cartons exactly.
- Underlayment: 440 ÷ 100 = 4.4, rounded up to 5 rolls.
- Quarter round: the room and hall need 120 linear feet, and 120 ÷ 8 = 15 pieces.
- Total: 1,100 + 175 + 135 + 90 + 40 = 1,540.
Labor: 32 hours at $30 is $960
Your crew's blended labor cost is $30 an hour, burden included.
| Task | Hours |
|---|---|
| Move furniture, remove carpet and pad | 6 |
| Prep and level subfloor | 4 |
| Install underlayment and plank | 16 |
| Cut and install quarter round and transitions | 6 |
| Total | 32 |
Labor cost: 32 hours × $30 = $960.
Total cost: $3,328 with overhead
| Line | Amount |
|---|---|
| Materials | $1,540.00 |
| Labor | $960.00 |
| Carpet disposal | $60.00 |
| Overhead, 32 hours × $24 | $768.00 |
| Total cost | $3,328.00 |
The check: 1,540 + 960 + 60 + 768 = 3,328.
Price at a 20% markup: $3,993.60
With a 20% markup: $3,328 × 0.20 = $665.60 profit, for a price of $3,993.60. You might round it to $3,995 on the estimate. The margin is 665.60 ÷ 3,993.60 = 16.7%.
Price at a true 20% margin: $4,160
If you want a true 20% margin instead: $3,328 ÷ 0.80 = $4,160, for a profit of $832.
The difference between the two prices is $166.40 on one small job. Across a year of jobs, that gap is the difference between the profit you planned and the profit you got.
Leave out overhead and the job loses $256
Example: Price the same job without the overhead line: 1,540 + 960 + 60 = $2,560 in cost, and a 20% markup gives $3,072. That looks like $512 of profit.
But the job still used 32 hours of the year's overhead, $768 of it. The real result is a loss of $256 (3,072 − 3,328).
Nothing on the job itself looks wrong. That is why this mistake can run for years before it shows up.
Step 6: Sanity-check the price
Before you send it, step back from the spreadsheet:
- Compare against past jobs. Price per square foot, per fixture or per day on similar jobs you have done is a quick check for a missing line.
- Check the hours. Would you bet your own money that the crew finishes in 32 hours? If not, the hours are wrong, not the client's budget.
- Check the market, but do not chase it. If your price is far above what similar work goes for locally, find out why: maybe your scope is bigger, or your overhead is out of line. If it is far below, you have probably left something out.
- Add contingency where risk is real. Old houses, unknown subfloors and tight access deserve a contingency line or a clear exclusion.
Keeping your prices current
A pricing system is only as good as its inputs, and every input drifts.
Four inputs to re-check
- Material prices change with the season, the supply chain and the store. Re-check them on every estimate rather than reusing the number from the last similar job. Give each estimate an expiration date so a client cannot hold you to an old price months later.
- Labor costs rise when you give a raise, when a workers' compensation renewal comes in higher, or when you add a benefit. Update your labor cost the same week.
- Overhead grows quietly: a new truck payment, a software subscription, a bigger insurance policy. Recalculate overhead per billable hour at least once a year, and again whenever a large fixed cost changes.
- Billable hours fall when you spend more time estimating, managing a second crew or chasing payments. Fewer billable hours means each one has to carry more overhead.
Compare every finished job with its estimate
After each job, compare the hours and materials you estimated with what the job actually used. That habit is called job costing.
It is the fastest way to find out whether your estimates run long or short. It turns every finished job into better pricing on the next one.
Pricing methods: fixed price, cost-plus and time and materials
The steps above produce a fixed price, the usual arrangement for residential work. The client knows the number up front, and you carry the risk if the job takes longer.
Two methods that shift the risk
Two alternatives move that risk:
- Cost-plus: the client pays your actual costs plus an agreed fee or percentage. Useful when scope is uncertain, but it requires open books and careful record-keeping.
- Time and materials: the client pays an hourly rate for labor plus materials at cost or with a markup. Common for repairs and service calls where the work cannot be fully seen until it is opened up.
Even on cost-plus or time-and-materials work, you still need to know your real hourly cost and overhead, or the agreed rate will be too low.
Pricing faster without guessing
Use a calculator and a trade template
The job cost calculator adds up a job from its parts and shows the price to quote. A trade template, like the flooring estimate template, gives you the usual line items so nothing gets left out.
Let BuildWell build the line items
BuildWell starts from a description of the job. Then it:
- Builds the line items
- Prices materials at stores near the job, checked within the last 30 days
- Starts labor from the Bureau of Labor Statistics median wage for each trade in your metro
- Adds the overhead and markup you set
The AI decides what work the job needs; it does not set prices, and you can change any line before you send it. There is more on how that works for floor installers on the flooring industry page.
The price is a decision, not just math
Once the math is done, you may still choose to add contingency for a difficult client or an old house. You may choose to hold firm when a client pushes back. Make those choices on top of an accurate cost, never instead of one.
A pricing checklist
- Overhead per billable hour, updated at least once a year
- Materials at current local prices, with waste and purchase units
- Labor hours by task, at full cost including burden
- Disposal, permits, rentals and subcontractors
- Profit added on top of total cost, as a markup or a target margin
- A sanity check against past jobs before the estimate goes out
Get those six right and every price you send is one you can stand behind.
Free tools for this guide
Generators, templates, calculators and definitions. No sign-up.
Common questions
01What is a good profit markup for a small contractor?
02Should overhead be part of my labor rate or a separate line?
03How do I price a job I have never done before?
04Should I show my markup to the client?
05What if my price is higher than other bids?
Estimates, signatures and invoices in one app
BuildWell prices materials at stores near the job and labor from your metro’s wages plus your overhead and markup, gets the estimate signed on the client’s phone, and turns it into the invoice.
- AI estimates priced for your area
- Estimates, invoices, clients and projects
- Clients sign on any phone
- Card and bank payments, no extra BuildWell fee
- iPhone, Android and the web
- AI estimates priced for your area
- Estimates, invoices, clients and projects
- Clients sign on any phone
- Card and bank payments, no extra BuildWell fee
- iPhone, Android and the web
Both plans include every feature and start with a 3-day free trial. Add a card to start; you’re not charged until the trial ends. Cancel anytime.

Try BuildWell today
Estimates, invoices, e-signatures and payments in one place, on your phone and on the web.