All Roof Pricer β How To
Draw the roof, lay the roofing, press π² Pricer. One file, nothing to install. Everything you type stays in your browser on this PC. The pricer opens any time β with no roof drawn it lands on Setup, and every settings page can be edited; the Roofing page then has a dropdown to pick which roofing type to edit.
1. First time: set up the company
- Open π² Pricer β Setup. Type the company name, address, phone, the shop address (for mileage) and, if you have one, a Google Maps key. The same page holds the company logo (prints on the proposal and the PDF cover), the Roofing types editor and the drawing cursor color.
- BOSS: sales tax, warranty $/sf/year, dump, permit, delivery, tear-off labor per square, fuel price, truck MPG, drive labor rate, default trips and default markups. Add any line the company charges or pays on every job with οΌ Add line item.
- Underlayment: the products you buy, with squares per roll, lap waste %, roll length, price, and install labor per square.
- Accessories: material and install price for pipe boots (by size), roto vents, off-ridge vents, dryer vents, goosenecks, skylights, chimneys. οΌ Add accessory makes a new one (solar fan, ridge vent, satellite mountβ¦): name it, price it, and it appears in Finish Roof to place on the roof and count like the rest. Every row has a β: an accessory you added is removed; a built-in one is taken off the list and off Finish Roof, and a Restore button brings it back.
- Roofing: pick a roofing type in the Roofing types editor (Setup page), lay it on any roof, then open this page. Every product of the type has its own material $ per square AND install labor $ per square (nail fin installs cheaper than mechanical seam, shingles cheaper still). Type each product's material $ per square and install labor $ per square, and fix up the line items for that type (starter, cap, nails, drip, flashingsβ¦). Every roofing type has its own page; a new type you add gets a starter page automatically.
- Steep roofs (Setup page): two tables, Tear-off and Install, each a list of pitch and $ per square. A square drawn at or above a row's pitch gets that row's amount β the highest row that applies, not stacked. It is figured on each facet's own pitch, so a mixed-pitch roof pays only for its steep squares. Tear-off extra applies on re-roofs only; both land in labor and show as their own lines on Pricing and the Install Ticket.
- π€ Export settings saves all of it to a file. Import it on another PC and the whole company setup comes with it.
- πΎ Save portable copy (Setup page) writes a fresh copy of the whole program with your roofing types, every price and setting, and your logo baked inside. Hand that one file to a salesman or another office and it opens ready to price.
2. Pricing a job
- Draw or trace the roof, build it, mark the lines, add dormers and accessories with π Finish Roof.
- Dormers (β Dormers): pick gable, hip or shed, Draw dormer, click the front corner on a built slope, then the opposite corner. The box may run past the eave β the dormer hangs over. Its height is anchored where its ridge ties into the main roof. Flashing: the dormer's own eave, rake, ridge and hip count in full; its valleys and the main roof's sidewall and headwall count only where the dormer sits on the roof (sidewall = from the main eave up to the eave-and-valley corner, on the roof's slope; headwall = the width that sits on the roof, so an overhanging front has none). Click the dormer to see its blue numbers; the overhang is one of them.
- Move a dormer by typing where it goes: click the dormer and its blue numbers show (not while Edit roof lines is open). Click one β the distance up from the eave, the distance from the side, or the overhang past the eave β type the new distance (trade notation: 3.2 = 3β²2β³) and press Set or Enter. The dormer moves there and rebuilds. A whole dormer does not drag; it moves by its numbers.
- Resize it the same way: click its width or side eave number and type the new size.
- Side eaves (the short eaves down each side of a gable or hip dormer): grab the white ring where a valley starts and drag it up or down the slope. Both sides move together.
- Remove it: delete any one of its facets and the whole dormer goes.
- Lay Roofing with the product being bid β on every roof in the project. The pricer prices what is laid; change a product and the price follows.
- Several roofs, one project. A house with three roof tabs is ONE job: the pricer reads every roof, pools the roofs that wear the same roofing type into one takeoff (squares, waste, every flashing run, every accessory), and prices that type once. Shingles on the house and metal on the porch? Each type gets its own pricing sheet, and a Project summary sheet totals them. A roof with no roofing laid is flagged on Sales Input and left out until you lay it.
- π² Pricer β Sales Input: customer, address, re-roof or new construction, trips, warranty years. Everything else on that page comes from the drawing: squares net and to buy (waste from the drafter), every flashing run in feet, every accessory placed.
- Underlayment: each roofing type on the job picks its own field underlayment, and ice & water for the valleys (hips too, if you run it there) β the dropdowns sit on that type's Roofing page and again on the Underlayment page, same pick either place. The shingle side can run felt while the metal side runs high-temp. It is a per-job choice; the products and prices live on the Underlayment page.
- Mileage: type one-way miles and minutes, or Look up with the Google key.
- Pricing: set the job's material and labor markup, commission and warranty years. With more than one roofing type, the page opens on the job markups and then the Project summary (one row per type with its material, labor, markups and price, a Whole-job row for accessories, drive, fees, extras, warranty and commission, and the PROJECT TOTAL). Click a type for its own sheet: each type has its own material and labor markup there (metal marked up less than shingles); a blank follows the job's markup, and βΊ goes back to following it. The page lists every line by bucket and shows the whole chain down to Price to customer. Lines for this job only go under Extra lines.
- $ALES GUY: the page for a sales team that should not see costs. Type the commission rate (and a flat amount if any); the price to customer at the bottom follows.
- Install Ticket: the whole job on one sheet β materials with quantities, labor, flashing runs, accessories, the price. π¨ Print it for the crew.
- The buttons at the top of the pricer: πΎ Save saves the job file; π¨ Print page prints the page you are on; π PDF makes the customer proposal (the 3D roof picture on top, then company header, customer, roofing, warranty, price, signature lines β no cost detail) with the install ticket as page two: pick Save as PDF in the print dialog; β Email opens your mail program with the summary typed in β attach the PDF you saved (a browser cannot attach it for you).
- Save As⦠saves the roof AND a copy of the prices it was priced with, so the estimate reprices the same when you open it next year. The pricer says so at the top; click "use today's company settings" to reprice with current prices.
3. Changing a pitch after the build
Click a facet: its box in the side panel shows the facet's pitch and area. Type a new pitch and press Apply (or Enter) β the roof re-solves for it β a flatter facet pushes the ridge away and bends the hips to the true bastard angle, and the 3D follows. The Pitch /12 box at the top sets every facet at once. Roofs with dormers or pitch-break strips do not re-solve: set the pitches first, then add those.
4. How a line item works
Every line is: what it follows (squares, ridge feet, valley feet, roofing pieces, each pipe boot, manualβ¦), how much one unit covers (a bundle of cap covers 33 ft; a piece of drip covers 10 ft; blank = one per unit), the unit cost, and the bucket:
- Material β takes the material markup and sales tax (tax is figured on cost, never on the marked-up price).
- Labor β takes the labor markup.
- Pass-through β dump, permit, delivery, fuel: no markup, no commission, no tax. Added at the end.
Commission is figured after markups and warranty, before tax. Price to customer = material price + labor price + warranty + commission + tax + pass-throughs.
5. Fasteners & consumables (parts)
Screws, clips, nails, rivets, plates: anything bought by the bag or box. Each roofing type's page has a parts table under its line items. A part is what you buy: its name, how many pieces in a bag, and the price of a bag (leave the bag size blank to price each piece). Its uses say what fills the bag, in your own words:
- one every N inches of a run from the drawing β panel linear feet, eave, rake, ridge + hip, walls, all flashingβ¦ Clips every 12" of panel run; drip edge screws every 3" of eave.
- this many per a count β 320 per square bought (4 nails Γ 80 shingles), 8 per roofing piece, 2 per each clip (a use can follow another part on the same page: clips make screws).
- this many per each piece of a flashing line β 4 screws per drip edge piece, 3 rivets per ridge cap piece. A flashing line's Covers number is its piece length (10 for a 10 ft piece), and its quantity is the piece count; the use follows that count.
- Applies to: every product of the type, or one product only. Clips only for the standing-seam panel; stainless only for the aluminum products. A use for a product that is not on the job counts nothing.
Every use rounds up on its own, all the uses of a part pool into one pile of pieces, and the pile rounds up once to whole bags β so one bag of screws serves the drip edge, the clips and the trim without buying a bag for each. The Install Ticket lists the bags and the piece count for the crew. The starter parts are examples in plain words β the holder of the program edits them to the products they buy, and adds the types and parts the starters do not know.
6. Metal panel lengths β labels, PDF, and the machine list
Metal panel tolerance (Setup β Program, starts at ΒΎ"): traced prints put one end of a run a hair inside or outside a line, so panels that are one length in the shop come out 13'-9ΒΌ", 13'-9β
", 13'-9Β½". Lengths within the tolerance count as one length everywhere at once, and the group keeps its longest (cut long, never short):
- On the drawing: a run of near-equal panels reads as one label, 20' Γ30, on the middle panel of the run. Labels shrink to fit small panels; zoom in to read the tiniest.
- On the PDF: the metal layout page lists panel lengths by facet number, then all facets together, so the customer and the installers can check area by area. No square feet on that page.
- π Panel list (toolbar): the runout list for the panel machine β every panel on the project, shortest to longest, already grouped by the tolerance. Check stacks and Combine them at one cut length, Add inches to all, then β¬ Runout CSV. Each Add to all panels is listed in the box under it with its date (β2β³ added on 9-24-26β); βΆ Undo takes the last one back and βΊ Rebuild clears them. The added inches change the real length of every panel β the Panel list, the CSV, the PDF lists by facet and every total β but never the drawing. Under it, Add panels at length puts on spares for installer mistakes: the length starts at the longest panel on the job (adds included) and can be changed; type how many and press οΌ Add. Each is listed in the box under it with its date (β3 panels at 28β²-10β
β³ added on 9-24-26β) and goes at the END of the Panel list, the CSV and the PDF, once. The list saves with the project and does not follow roof changes on its own: βΊ Rebuild from roof pulls it fresh.
Adding length to panels happens in ONE place: π Panel list β Add to all panels. It reaches the Panel list and its CSV, the pricer CSV, the PDF lists by facet and all facets, and the lineal feet priced (so clips and screws follow). The drawing labels stay as drawn. Minus takes away.
The final list prices the metal. Once a Panel Runout List exists (π Panel list), the metal's lineal feet, squares to buy, panel count and waste are priced from that list β every edit, combine and the trim β instead of the drawing. Sales Input says which one is in use. Additional panel lengths on Sales Input are the SAME list as π Panel list β Add panels at length (οΌ Add here starts a row at the longest length Γ 3; lengths in trade notation). They are priced as metal bought ONLY β added after the clip and screw math, so spares never add clips or screws β and they go at the end of the Panel list, the Runout CSV and the PDF's metal page (once, after the last roof), under "Additional panels" β the PDF is the bible for install: if it is not listed, it does not exist.
7. Where headwall goes β popped gable ends
A rake with roof on both sides is a gable-end wall standing on a lower roof (a Dutch gable, a popped end over a hip skirt). The upper roof keeps its rake β that is the overhang's edge. The wall stands Rake overhang at a wall (Setup β Program, starts at 16") inside that rake, and the lower roof runs under the overhang up to it: its edge slides in to the wall line along its own lines (a hip keeps running as a hip) and becomes headwall. It is counted in the totals, the 3D view shows the wall (tick Walls), and roofing is laid to the wall. This happens when Edit roof lines finishes, when a file opens, and when you mark a rake; the editor sets it aside while you edit and puts it back on Done.
Under a dormer, the host roof's own metal now shows on the plan in that metal's color: the headwall behind the dormer face sits inside the dormer by the same rake overhang (the face rake is the overhang's edge, the wall stands behind it, on the plan and in 3D); a shed dormer's sidewall draws just outside its side. Both were always in the totals.
8. Tracing a roof with pitch breaks (kicks)
How one facet builds off the last
On a traced roof, every facet's height comes from a facet you drew before it. Work it like laying a roof from the ground up:
- Start at the ground. The first facet you draw that has an eave sits on the ground; everything else is hung from it. To make a different facet the ground, tick This eave is the ground in that facet's card.
- Draw the next facet against one you already drew. Start on the dots you already placed, so the two facets share a line (a ridge, hip, valley or transition). The new facet hangs off that shared line: the line's height comes from the facet already drawn, and the new facet's own eave runs level from there.
- Keep working outward. Each new facet shares a line with one already drawn. When a facet shares several lines, it hangs off the longest one; the others are measured, and if they disagree by more than 3β³ its number and card turn red and name the line.
- Check the card and the 3D as you go. The card says what the facet hangs off ("hangs off facet 38"). A facet that shares no line with anything floats at ground level and its card says so β it is either not touching its neighbors (check the dots) or it is a separate roof that belongs on its own roof tab.
The shared line holds the two facets together, so the pitch is what gives: the card shows the pitch the drawing works out to beside the one you typed (a print may say 3/12 where the drawing works out to 2.75/12). The typed pitch is never replaced.
A kick, step by step
The way to trace a roof with a kick, a strip at the eave with a flatter pitch than the slope above it:
- Draw the big facet dot to dot, eave to ridge, and close it. Mark its lines (eave, hips, valleys, ridge) and type its pitch in the facet card, the upper's pitch (8, say).
- β Edit roof lines. The editor opens on the view you are looking at; it does not zoom out.
- Draw the transition across that facet, dot to dot on its two sides: pick β Draw line, then Transition (while Draw line is on, a type button picks what it draws), and click the two ends. Both ends may land in the middle of a line; οΌ/β Point drops a dot on a line first if you want one exactly there. β Level line does the same in one step β see below.
- β Done. The facet you drew in is now two: the bigger piece keeps its number and its pitch, and the kick takes the lowest free number and starts at the same pitch. Type the kick's pitch (4, say) in its card.
β Level line β a pitch break at a measured distance
In β Edit roof lines, click β Level line, then click inside the slope. A small window opens with the distance up from the eave to where you clicked; type the real distance (trade notation) and press Set or Enter. A Transition lands dead level, clear across the slope, its ends exactly on the hips or valleys. Two boxes in the same window:
- tape distance (measured on the slope) β tick it when the number was taped up the roof, not read off the plan.
- every slope β wrap the whole roof β the same break goes around every slope at once (a patio or porch strip all the way around).
- strip pitch /12 β type the kick's pitch here and the pieces below the break get it in the same move.
This works on built roofs and traced roofs alike. On a built roof (Build Roof) the facets were solved together, so set the pitches before adding breaks and dormers (section 3).
What the editor never does: move a dot you traced, re-mark a line you did not touch, or change a facet you did not draw in. Every other facet comes back from the editor exactly as it went in. Its tools work one at a time: a line type, Draw line, οΌ/β Point and Level line each turn the others off, and clicking the lit one turns it off.
A facet's pitch is what you type. The card also shows the pitch the drawing works out to (the chain, below); the typed one is never replaced by it. Change a pitch as often as you like; no dot moves.
The rules the 3D follows on a traced roof: every eave runs level; a ridge runs level; the transition is the eave of the slope above it, runs level, and the roof keeps climbing the same way on both sides of it; two facets that share a line stay glued, and the pitch is what gives. When the lines a facet shares disagree by more than 3", its number and card turn red and name the line and the gap. That is a tracing problem to fix, not something the program hides.
9. Facet numbers
Every facet has a small number badge on the plan (hover it for the area; the side panel and Summary show it too), and the print and PDF show a small circled number on every facet, clear of the roofing numbers.
- A number stays with its facet until that facet is deleted. Deleting a facet never renumbers the others. The next new facet takes the lowest free number, so a deleted number comes back.
- The number lands on its facet, even on a V- or L-shaped one. It slides to a clear spot when a roofing or edge number sits under it.
- Drag a number out of the way and it stays there while it sits on its own facet. A drag is not saved: open the file again and every number is back home.
KNOWN LIMITS
- Where headwall goes works on built roofs (Build Roof, Edit roof lines), never on traced facets β on a traced roof you mark the headwall yourself. Edit roof lines on a traced roof keeps every facet you did not draw in exactly as it was. Two moves still rebuild the facets from the whole line map and can re-cut a traced roof: deleting a line, and drawing one line that runs from one facet across into another. Draw a transition inside one facet, dot to dot on its two sides.
- Metal panel tolerance groups a run of neighbouring panels by the run's span, so a run that drifts steadily (17'-1" β¦ 17'-1β
") splits into two labels at ΒΎ"; raise the tolerance if that is one length in your shop. The tolerance is for metal panels only; shingles, stone-coated and membranes are untouched. Once a Panel list exists it prices the metal (section 6); before that, pricing reads the roof as drawn.
- No mail server: Email opens your own mail program with the text filled in; the PDF is attached by hand. The PDF comes from the browser's print dialog (Save as PDF) β allow pop-ups for this file.
- A portable copy carries the settings as they were when it was saved; edits made afterward on either PC stay on that PC (export/import the settings file to sync). Prices, tax, fees and the key live in the browser on this PC. Clearing the browser's site data clears them β export the settings file first. A saved project keeps its own copy of the prices.
- Mileage lookup needs an internet connection and a Google Maps key. Restrict the key in Google's console to the sites it runs on, since anyone with the file can read it. Manual miles always work.
- Tracing facet by facet: run out along a shared line to a dot and back all you like β when the facet closes (and when a file loads) the program drops doubled dots and out-and-back runs that enclose nothing, so the outline can take one plane. A facet traced with eaves on two or three sides is still one facet to the program, and it can honor only one slope direction; trace each slope as its own facet (the top up and over separately).
- Dormer box on a traced facet: a facet traced on top of a lower roof (a dormer, a gable over a porch) gets a "Dormer β sits on a lower roof" box in its card. Tick it and its footprint comes off the roof facet under its middle: the area, the roofing count and the 3D. Engine-built roofs use the β Dormers tool instead.
- A crease is one line. Ridge, hip, valley and transition marks belong to the line, not to a side: a facet traced along an already-marked crease takes that mark when it closes, and clicking a crease type on a line sets it on every facet along it (a second click, when every side carries it, clears it everywhere). Eaves, rakes and walls are marked per side, since an eave over a headwall is two planes.
- Heights on a traced roof β the chain. Only one eave sits on the ground: the first facet drawn that has one (or the facet whose card box "This eave is the ground" is ticked). Every other traced facet hangs off a line it shares with a facet that already has its height β ridge, hip, valley or transition β in drawing order; its eave lands wherever that puts it. Shared lines stay glued and an eave always runs level, so the facet's pitch is what gives: the two ends of the shared line solve the facet's true pitch (a print may say 3/12 where the drawing works out to 2.75/12). The card shows the solved pitch and the typed one beside it, and the solved pitch is what the areas, roofing and steep-roof extras use. A shared line with under 2 ft of run, or less run than half its own length, cannot set a pitch; the typed one stays. The facet card says what it hangs off, and if the lines it shares disagree it shows the gap instead of hiding it. A facet that shares no such line with anything floats at ground and the card says so: a separate roof belongs on its own roof tab. A ridge runs level too and sets the facet's direction; a facet with no eave and no ridge of its own takes its transition as its eave. A facet with a ridge AND an eave that are far from parallel cannot have both level: the ridge wins and the eave tilts, which usually means one of the two lines is marked wrong. Engine-built roofs keep their exact planes.
- Product material is priced per square bought; roofing laid by the linear foot (membranes) still prices per square. Use a manual line for a per-roll price if that suits the product better.
- Starter line items and prices are placeholders to get close, not a price list. Every number is meant to be overwritten with the company's own.
- One roofing product per roof. Two products on one roof = two roof tabs.
- Commission and warranty are one set per project. Material and labor markups are per roofing type (each type's sheet), with the job's markups as the default and for the whole-job lines. A type's price on the summary is its own costs at its own markups plus its tax; accessories, drive, fees and extras are priced once for the whole job.
- A roof with no product of its own wears the product currently picked in Lay Roofing (that is how the drafter draws it), so it is priced as that. Lay the roofing on each roof on purpose.
- Parts count runs and pieces from the drawing; they do not know spacing rules by themselves. The holder types the spacing the manufacturer or the code calls for, and the piece length of each flashing line.
- Settings saved by an older copy of this program are upgraded once on first open: the guessed βbag per N squaresβ fastener lines are dropped and the starter parts added; your own lines stay.