How to Bid a Bathroom Remodel as a Contractor: A Full Worked Takeoff
A hall bathroom is the job most likely to get quoted from memory. It is small, you have done forty of them, and the client is standing there wanting a number. It is also, per dollar of contract value, unusually cost-dense — every square foot of it contains plumbing, waterproofing, tile, electrical and a fixture.
Here is one taken off line by line, with nothing rounded and nothing assumed. A full gut of a 5-by-8 hall bath: strip to studs, move a drain, new vanity, tiled floor and shower surround.
The assumptions, stated as assumptions: a $28 base field wage, a 32% labour burden (so $36.96 an hour), 5% material waste, 7.25% sales tax, $16.90 an hour of overhead recovery, and a 28% target margin. Yours will differ. The method does not.
The Takeoff
Eighteen lines. Material lines carry waste and tax; labour lines are hours priced at the burdened rate.
| Cost code | Description | Type | Qty | Unit cost | Hrs | Line total |
|---|---|---|---|---|---|---|
| 01 General Conditions | Dumpster, floor protection and permit | Other | 1 LS | $1,250.00 | $1,250.00 | |
| 02 Site and Demolition | Strip bathroom to studs | Labour | 28 | $1,034.88 | ||
| 02 Site and Demolition | Debris haul-off | Equipment | 1 load | $385.00 | $385.00 | |
| 06 Rough Carpentry | Blocking, subfloor repair and backer board | Material | 1 LS | $680.00 | $765.77 | |
| 06 Rough Carpentry | Framing and backer labour | Labour | 22 | $813.12 | ||
| 15 Plumbing | Move drain, rough-in and trim | Subcontractor | 1 LS | $4,850.00 | $4,850.00 | |
| 16 Electrical | Circuit, fan, lighting and GFCI | Subcontractor | 1 LS | $2,150.00 | $2,150.00 | |
| 09 Drywall | Hang, tape and finish | Subcontractor | 1 LS | $1,450.00 | $1,450.00 | |
| 22 Flooring and Tile | Porcelain floor and shower surround tile | Material | 165 sq ft | $6.35 | $1,179.90 | |
| 22 Flooring and Tile | Waterproofing membrane and setting materials | Material | 1 LS | $540.00 | $608.11 | |
| 22 Flooring and Tile | Tile setting, waterproofing and grout | Labour | 46 | $1,700.16 | ||
| 12 Countertops | Quartz vanity top, templated | Material | 1 LS | $890.00 | $1,002.25 | |
| 11 Cabinets and Millwork | Vanity, mirror and linen cabinet | Material | 1 LS | $2,380.00 | $2,680.18 | |
| 15 Plumbing | Shower valve, trim kit, toilet and faucet | Material | 1 LS | $2,140.00 | $2,409.91 | |
| 15 Plumbing | Fixture set and trim-out | Labour | 24 | $887.04 | ||
| 09 Finishes | Paint, primer and sundries | Material | 1 LS | $260.00 | $292.79 | |
| 09 Finishes | Painting labour | Labour | 14 | $517.44 | ||
| 01 General Conditions | Project management and punch list | Labour | 16 | $591.36 | ||
| 150 | $24,567.91 |
Then overhead and price:
| Direct cost | $24,567.91 |
| Overhead recovery (150 hrs × $16.90) | $2,535.00 |
| Total cost | $27,102.91 |
| Bid price at a 28% margin ($27,102.91 ÷ 0.72) | $37,642.93 |
| Gross profit | $10,540.02 |
| Implied markup | 38.89% |
Four Lines Worth Arguing About
The 165 square feet of tile on a 40-square-foot floor. Floor is 40; the shower surround is the other 125. The vertical surfaces are the easier ones to under-measure, and they are where the cuts are. The 5% waste on top is deliberately modest for tile — if the client picks a pattern, a large format or anything requiring a border, push it to 7% before you quote, not after you have started cutting.
Forty-six hours for tile. This is the line that decides whether the job makes money, and it is the one clients compare hardest. It covers waterproofing the shower properly, setting floor and surround, and grouting. Bid this line at 30 hours and one of three things is true: you are very fast, you are not waterproofing properly, or you are about to work a weekend for free.
Waterproofing membrane as its own material line. $540, which becomes $608.11 with waste and tax. Buried inside “tile materials” it disappears, and a line that has disappeared is a line nobody checks — right up until it is the reason for a callback two years later.
Sixteen hours of project management. Ordering the vanity, chasing the fixture that came in the wrong finish, two inspections, the walkthrough and the punch list. It is real time and it is on the sheet.
The Materials, and What the Supplier Quote Leaves Out
| Material line | Base | Waste 5% | Tax 7.25% | Line total |
|---|---|---|---|---|
| Blocking, subfloor repair and backer board | $680.00 | $34.00 | $51.77 | $765.77 |
| Porcelain tile, 165 sq ft @ $6.35 | $1,047.75 | $52.39 | $79.76 | $1,179.90 |
| Waterproofing membrane and setting materials | $540.00 | $27.00 | $41.11 | $608.11 |
| Quartz vanity top | $890.00 | $44.50 | $67.75 | $1,002.25 |
| Vanity, mirror and linen cabinet | $2,380.00 | $119.00 | $181.18 | $2,680.18 |
| Shower valve, trim kit, toilet and faucet | $2,140.00 | $107.00 | $162.91 | $2,409.91 |
| Paint, primer and sundries | $260.00 | $13.00 | $19.79 | $292.79 |
| Totals | $7,937.75 | $396.89 | $604.27 | $8,938.91 |
$1,001.16 of waste and tax on a small bathroom. It is not a rounding error and it is not in any supplier quote.
Three Ways This Bid Loses Money
All three are worked against the same job, so they are directly comparable.
Omitting the project-management hours — $1,196.89. Drop those 16 hours and the takeoff falls to $23,976.55, the overhead to $2,264.60 on 134 hours, and the bid prices at $36,446.04. Your real cost is still $27,102.91, because you are still going to order the vanity and meet the inspector. You kept 25.64% instead of 28.00%. On a bathroom.
Quoting materials at the supplier’s price — $1,390.50. No waste, no tax: direct cost reads $23,566.75 and the bid prices at $36,252.43. Real margin kept: 25.24%.
Adding 20% markup instead of solving for a margin — $5,119.44. Cost $27,102.91 plus 20% is $32,523.49. That keeps $5,420.58 out of $32,523.49, which is 16.67% — not 20%, and not close to 28%. This is the largest single error available on a small job, and it is pure arithmetic. To keep 28% you must add 38.89%. To keep 20% you must add 25%. The conversion table is on the pillar article.
Do all three together and a $37,642.93 bathroom goes out at $30,287.99. The real cost has not moved, so the profit is $3,185.08 against a planned $10,540.02 — 69.8% of the profit gone, on a bid that still feels like a fair week’s money.
The Per-Square-Foot Trap
$37,642.93 across 40 square feet is $941.07 per square foot. Set that beside any published per-square-foot guide to remodelling and it looks like a misprint.
It isn’t, and the reason matters: a bathroom’s cost has almost nothing to do with its floor area. It has to do with fixture count, whether a drain moves, how much tile goes up the walls and how detailed it is. Double the floor area of this bath and almost nothing on the takeoff moves except the tile quantity and a little more paint. Keep the same 40 square feet and add a second sink, a bench and a curbless shower, and the plumbing sub, the fixture line, the waterproofing and the tile hours all move at once. The area is the input with the weakest connection to the price.
Use per-square-foot as a post-hoc sanity check against your own completed jobs, never as an estimating method, and never in front of a client who has read a national average.
When the Client Adds Something
Heated floor, asked for on day three. Cost it the way you costed everything else:
| Heated floor system, $1,240 material | $1,240.00 |
| Waste at 5% | $62.00 |
| Sales tax at 7.25% on material plus waste | $94.40 |
| Install labour, 10 hrs @ $36.96 | $369.60 |
| Overhead recovery, 10 hrs @ $16.90 | $169.00 |
| Change order cost | $1,935.00 |
| Change order price at 28% margin | $2,687.50 |
| Gross profit | $752.50 |
Quote it from the top of your head as “about two thousand” and you earn $65.00 for the material handling, the extra day and the risk. Write it down, price it the same way, and get it approved before the thinset goes down — a change order that raises the contract value only when it is signed is the difference between a paid addition and a free one.
Related Reading
- How to estimate a construction job — the pillar: the same method on a larger kitchen and bath remodel, with the markup-versus-margin table.
- How much overhead to add to a construction bid — where the $16.90 an hour comes from, and what changes it.
- Fixed price vs time and materials — when a bathroom should not be bid fixed at all.
- How to set up a draw schedule with retainage — collecting the $37,642.93 in stages.
Featured on ReadySheetGo
Construction Estimating, Bid & Job Costing Spreadsheet — $19.99
The takeoff above is exactly what the Bid Estimator tab holds: 260 lines of cost code, description, type, quantity, unit cost and labour hours. Material lines pick up waste and sales tax on their own from your Settings; labour lines price themselves at your burdened rate. You type a quantity and a unit cost, and nothing else.
Bids and Win Loss then sums that bid’s lines, adds overhead once against its total labour hours, solves the price from your target margin, and reports the true margin and the implied markup side by side — so the 20%-markup error on this page is arithmetically impossible inside the file. Overhead and Burden produces the hourly rate it uses, from your own overhead and your own honest utilisation.
After it is won: Jobs compares bid against forecast at completion; Job Costs codes every real cost and keeps committed apart from incurred; Change Orders prices the heated floor at your margin and raises the contract only when approved; Draw Schedule holds retainage per draw and ages invoices; Subcontractors tracks contract value, W-9 and insurance expiry. Fourteen tabs, 10,450 formulas, a worked sample contractor already loaded, and 32 integrity checks that flag a bid with no takeoff behind it or a won bid nobody opened as a job.
Works in Excel and Google Sheets. No macros, no add-ons.
Get the Construction Estimating, Bid & Job Costing Spreadsheet →
Frequently Asked Questions
How do you estimate a bathroom remodel?
Line by line, with labour written in hours rather than dollars. The hall bath worked on this page takes 18 lines: general conditions, demolition and haul-off, framing and backer, plumbing and electrical subs, drywall, tile and waterproofing, countertop, vanity, fixtures, paint, and project management. It runs 150 labour hours and $24,567.91 of direct cost, plus $2,535.00 of overhead recovery, for $27,102.91 of total cost — bid at $37,642.93 to keep a 28% margin.
Should I price a bathroom remodel per square foot?
No. A bathroom's cost sits in fixture count, plumbing moves and tile detail, none of which scale with floor area. The worked bath here is a 5-by-8, so 40 square feet, and $37,642.93 across it is $941.07 a square foot — a number that would look absurd next to any published per-square-foot guide and is nonetheless correct for the work described. Take the room off line by line and use the per-square-foot figure only as a sanity check afterwards.
What is the most common mistake in a bathroom remodel bid?
Leaving your own project-management hours off the sheet. In the worked example, dropping 16 hours of ordering, scheduling, inspections and punch-list work prices the job at $36,446.04 against an unchanged real cost of $27,102.91 — a margin of 25.64% instead of 28.00%, and $1,196.89 of profit given away on a small bathroom. The close second is quoting materials at the supplier's number, which here misses $1,001.16 of waste and sales tax.
How do I price a change order on a bathroom remodel?
Cost it exactly the way the original bid was costed, then apply the same margin. Adding heated floor to the worked bath is $1,396.40 of material after waste and tax, plus 10 labour hours at $36.96, plus those 10 hours of overhead recovery at $16.90 — $1,935.00 of cost, priced at $2,687.50 for the same 28% margin. Quoted verbally at 'about two thousand' it earns $65.00, which is roughly what that conversation is worth.