The tool, in your browser
The job-cost sheet
One row per job. Type what it costs you — materials, labor, dump fee and this job’s share of overhead — and set the margin you want to keep. The page shows the price you must charge to actually keep it, the profit at that price, and the markup that margin works out to. Then type the price you were really about to bid, and it tells you the margin that bid earns and flags it when it’s under your target.
Free, and it asks for nothing. No email, no account, no sign-up. What you type stays in this browser on this device.
Read this first
This sheet only knows about this browser. Nothing you type is sent to us and nothing syncs, so the phone and the shop computer each keep their own copy — and anyone who opens this page on that computer can read what your jobs cost you and what you were about to charge. Clearing your browsing data wipes it, and a new phone won’t bring it along. For the copy that has to last, put the-job-cost-sheet.xlsx on the computer at the shop.
The sheet fills in right here in your browser. If this line stays put, JavaScript is off — the spreadsheet below does the same job.
Where these numbers come from
Three of these four boxes come off your takeoff
Materials, labor and dump are what M10-01, the takeoff sheet works out for one roof: it measures the planes, adds the waste, prices the edge metal by the foot, and lands those three bold numbers at the bottom. You read them off it and type them in here. Type them across yourself. These tools don’t read each other on purpose: on paper you copy a number between two sheets and you can see what you copied, and nothing here quietly changes a price on a page you aren’t looking at. The Takeoff Sheet has no page of its own yet — it’s a download, the-takeoff-sheet.xlsx, in the toolbox.
Overhead is the one nothing feeds. The takeoff can’t know your trucks, your insurance or your office — that’s your monthly nut divided by the jobs you run in an average month. Leave it blank and you’re pricing to cover materials and labor only, and eating the rest out of what you thought was profit.
Two things that don’t come off the takeoff either. If you pay a sub crew by the square, the takeoff’s labor figure isn’t what you’ll actually pay — put the sub’s price in the labor box and keep the takeoff’s hours for scheduling. And a cost that isn’t material, crew or disposal still has to land somewhere: the permit, an equipment rental, a sales commission — put it in materials if it belongs to this roof, or in overhead if you carry it across every job. Don’t let it ride for free.
Once the job is sold and running, its cash timing lives on the earned-money tracker. This sheet answers what a job is worth; that one answers when the money turns up.
How it gets used
- Set your margin once, at the top. Twenty percent is one owner’s working number, put there so the page does something out of the box. Change it to whatever keeps you profitable and competitive in your market.
- Read the markup figure next to it. That is the whole point of this sheet: a 20% margin needs a 25% markup. Mark cost up by your margin and you keep less than you meant to, every single job.
- Fill the four cost boxes for the job. The page adds them into your true cost and gives you the price that keeps your margin.
- Then type the price you were actually going to bid. The last two figures tell you the margin that bid really earns, and turn red when it’s under your line. That is the number worth arguing about before you send it.
Want it in a spreadsheet?
The same sheet as a spreadsheet
the-job-cost-sheet.xlsx is this sheet as a spreadsheet — same columns, same formulas, same target-margin cell — for the computer at the shop. Four differences in the page’s favour: there’s no eight-job ceiling (a ninth job typed into the file lands on its own instructions and gets no math); the example job is placeholder text here, so there’s nothing to delete before you start; a bid of exactly zero says so, where the file shows a divide error; and a box holding something that isn’t a number says which box it is, where the file turns the whole row into an error. Two the other way: the file is a real file, so it survives a cleared browser and opens on any computer you send it to, and it prints the UNDER flag in red for the folder. The sheets ask for your email once; this page never does.
The play behind it — M6-06 Price Every Job to Keep the Profit You Meant To — is where the margin-versus-markup arithmetic comes from, and the sheet notes spell out every column and formula.