Estimating guide
How to estimate a roofing job
A roofing bid is mostly one big area and a handful of lengths. That makes it easy to start and easy to get wrong, because the edges, the flashings and the things that turn up when the old roof comes off are where the money goes.
The job in the example below is made up, with realistic figures, so you can see every step: re-roofing a low-slope warehouse roof, Leduc, AB. It is not a price list. Use your own rates and your own hours.
1. Break the roof into its layers
Tear-off, insulation, membrane, then the flashings and coping. Each layer has its own material, its own hours and its own waste, so each gets its own line. The example also splits the job by roof: the warehouse roof, the office roof and the loading dock canopy.
2. Measure the area, then the edges
The roof is an area. The flashing and coping is a length. Keep them apart. The example measures the flashing and coping in metres with its own hours per unit.
3. Say how long one unit takes
Hours per unit is yours, from your own crews. In the example, “TPO membrane, 60 mil, mechanically fastened” allows 0.07 hours per m². Insulation, membrane and flashing each have different numbers, which is why they are different lines.
4. Add the materials, with waste
Materials are the quantity times the price times one plus waste. The example uses 8% on the membrane and 3% on the insulation. Use what your own jobs show.
5. Add the equipment
Equipment is priced by the hour and charged to the line that uses it, so the cost is in the line it belongs to. The example has “Telehandler” and “Hot-air welder, automatic”.
6. Let the packages out, and add your running costs
The example lets out three packages to subtrades, with up to four quotes each. The lowest is carried unless I pick another, and one package is an allowance because there is no quote yet. The allowance for deck repairs is there on purpose: you do not know what is under the old roof until it is off. Running costs sit apart, and weekly items follow the length of the job, so a longer job costs more. Both lists are under the example.
7. Then contingency, profit and the rest
In this order: contingency on the direct cost, then your fee on the direct cost plus contingency, then bonding and insurance on that subtotal. The table below shows each step. The example uses 5% contingency.
The worked example
The job: re-roofing a low-slope warehouse roof, Leduc, AB. It runs 6 weeks. Every figure here is in the example spreadsheet below.
| Item | Amount |
|---|---|
Hours
| 168 hours |
Labour
| $12,600.00 |
Materials
| $51,321.60 |
| Line total | $63,921.60 |
Per m²
| $26.63 |
Every line of the estimate is worked out like this one. Then the lines are added up, and the rest of the bid is built on top of them.
| Item | Amount |
|---|---|
Own work
| $260,885.38 |
Subtrades
| $29,500.00 |
Overhead
| $22,073.08 |
Direct cost
| $312,458.46 |
Contingency
| $15,622.92 |
Fee
| $32,808.14 |
| Subtotal | $360,889.52 |
Bonding
| $3,608.90 |
Insurance
| $5,413.34 |
| Bid total | $369,911.76 |
GST, shown apart
| $18,495.59 |
The two lists behind the subtrades and overhead lines above:
| Item | Amount |
|---|---|
| Disposal bins and haulage | $13,650.00 |
| Crane lifts, materials and rooftop units | $6,250.00 |
| Allowance: steel deck repairs, found on tear-off | $9,600.00 |
| Total | $29,500.00 |
| Item | Amount |
|---|---|
| Site supervision, foreman | $8,700.00 |
| Guardrails and a safety monitor | $6,600.00 |
| Project manager, part time | $3,323.08 |
| Debris chute and hoarding at the drop zone | $2,600.00 |
| Roofing permit | $850.00 |
| Total | $22,073.08 |
Common mistakes
- Measuring the roof once. Area, edges and flashings are different quantities with different hours.
- No allowance for what is under the old roof. The example carries an allowance for deck repairs and shows it as its own line in the bid.
- Insulation options inside the price. The example prices an extra layer of insulation as an alternate with the line marked Excluded. You see the figure, and it adds to nothing until the customer asks for it. That left out $40,128.00 in this example.
- Forgetting the lift. Getting the material up there is a cost, and it belongs in the bid.
Free estimating spreadsheet
Roofing estimate spreadsheet for Excel
The worked example on this page, as an Excel workbook you can make your own: type your rates, your lines and your subtrade quotes, and formulas work out the bid summary and a one-page quote, to the cent.
Download the example spreadsheet Download a blank spreadsheet
The example has a whole job filled in, ready to change into your own. The blank one starts empty.
Same totals as Bidfident, to the cent. Version 0.1, October 2026.
Filled one in already? Import lines in Bidfident brings in the lines from its Estimate tab.
No sign-up, no email. Free for your own bids. Check every figure before you send a bid. Please don't resell it. All free estimate spreadsheets for Canada
Starter cost codes: Roofing 20 codes
Bidfident's own starter codes, ready to change into your own. To bring them in, go to Libraries, then Cost codes, then Import from Excel in Bidfident, and pick the file. You see a preview before anything changes. Version 0.1, October 2026.
Free to use for your own bids. Change it to suit your business. Please don't resell it or hand it out as your own list. All starter cost-code lists for Canada
When your spreadsheet gets heavy
If you end up with lots of bids, changing rates or more than one person working on them, Bidfident does the same sums on a page and keeps every bid with its saved versions.
Enter your email and Bidfident sends you a sign-in link. New companies start with a starter rate library. Who runs Bidfident, and what it keeps about you.