Grow / Roofing / Operations

    Roofing Operations: How to Run a Profitable, Scalable Company

    Most roofing companies plateau at $2M–$4M because the owner is still involved in every job. Scaling past that requires converting owner-knowledge into systems: SOPs, KPIs, dashboards, and dispatch software that runs without you. This guide covers the operational systems that separate $2M shops from $20M shops.

    How do you scale a roofing company?

    Scaling a roofing company past $5M requires four systems: documented SOPs for every repeatable process (sales, install, warranty), a CRM that tracks every lead-to-payment step, dispatch software that assigns and routes crews efficiently, and monthly financial reviews on gross margin, job cost variance, and cash cycle. Companies that grow past $10M add project managers between salespeople and crews.

    The 12 roofing KPIs to track monthly

    You cannot scale what you don't measure. The 12 KPIs every roofing company should track monthly:

    KPITarget
    Gross margin35–45%
    Net margin10–18%
    Lead-to-sit rate60%+
    Sit-to-sale rate40%+
    Average job size$12K–$25K
    Cost per leadunder $80 blended
    Days from sold to installedunder 21 days
    Days from installed to paidunder 14 days
    Callback rate (warranty issues)under 3%
    Crew production per day22+ squares
    Estimate follow-up rate100% touched 7x
    Google review velocity3+/month

    Understanding roofing margins

    Gross margin (revenue minus materials and direct labor) should sit at 35–45% for residential asphalt shingle, 40–50% for metal, and 45–55% for specialty (tile, slate). Companies below 30% are either underpricing or bleeding material waste.

    Net margin (after overhead — sales commissions, admin, marketing, insurance, vehicles) should sit at 10–18%. Below 8% is an at-risk business. Track job cost variance monthly — jobs coming in >5% over estimated cost signal a bidding or install problem.

    SOPs: what every roofing company needs written down

    The 8 SOPs that unlock scale: (1) qualification call script, (2) in-home presentation flow, (3) contract-to-install handoff checklist, (4) pre-install customer communication cadence, (5) daily crew start-of-day checklist, (6) end-of-day photo/documentation requirements, (7) post-install walkthrough and punch list, (8) warranty claim intake and resolution flow.

    Each SOP is 1–3 pages, includes photos, and is trained on hire. Update quarterly based on what's actually breaking in the field.

    Dispatch and scheduling

    Dispatch — assigning crews to jobs — is the daily operational bottleneck. Good dispatch software (URBLD, JobNimbus, ServiceTitan) considers crew skill (steep-and-shingle vs low-slope), job size, geography (route optimization), and material delivery timing.

    Scheduling backwards from the customer's expected date: material order 7 days out, permit pull 5 days out, dumpster delivery day-before, crew arrival 6–7am. Any hiccup in this chain cascades into missed dates, which correlate directly with negative reviews and callbacks.

    Crew management and production

    Whether you run in-house crews or subcontract, you need per-crew production tracking: squares completed per day, callback rate, safety incidents, customer review score of their jobs, and material waste percentage. Underperforming crews are usually a training or equipment issue, not a personnel issue — fix that before firing.

    Pay structure that works: piece rate ($X per square installed) with quality bonus (add $Y if job passes final inspection and gets 5-star review). Time-and-materials pay produces slow, low-quality work.

    Quality control and callbacks

    Callback rate — jobs that need warranty return within 12 months — should sit under 3%. Above 5% means quality issues are outrunning your inspection process. Every job needs a final inspection by someone other than the installing crew (project manager, quality manager, or owner) before invoice. Photos of every penetration, valley, and edge are attached to the job record.

    Cash cycle and financial discipline

    Roofing has a favorable cash cycle if managed well: 25–50% deposit at signing, balance on completion. Undisciplined companies float installs with lines of credit while chasing overdue invoices. Enforce deposit policy (no material order without deposit clearing), invoice same-day at completion, and require credit card or ACH for balance payment. Days sales outstanding above 21 signals a collections problem, not a customer problem.

    Frequently Asked Questions

    What's the biggest bottleneck in scaling roofing companies?

    Almost always: the owner still sells, still runs installs, and still handles disputes. Scale requires hiring a sales manager (~$1.5M), a production manager (~$3M), and a general manager (~$7M).

    In-house crews or subcontractors?

    Subs let you scale fast without payroll risk; in-house gives quality control and margin. Most successful mid-market roofers run a hybrid: 2–3 in-house core crews plus subs for overflow.

    What software should a growing roofing company run?

    CRM + dispatch + estimating + payments, ideally in one platform. URBLD covers all four; alternatives require integrating 3–5 tools.

    How do I know if my prices are right?

    If close rate is 55%+, prices are probably low. If under 25% and objections are consistently 'you're too expensive', pricing may be off — but usually it's a positioning or financing issue, not price.

    How much cash reserve should a roofing company hold?

    60–90 days of operating expenses. Storm-heavy markets should hold 120 days because storm season volume swings are extreme.

    When should I add a project manager?

    When you're doing 3+ concurrent installs on any given day. Before that, the owner or GM can coordinate. Beyond that, dropped-ball rate spikes.

    FAQ

    Frequently Asked Questions

    Straight answers about how URBLD runs the business end-to-end.

    Run everything on one platform

    URBLD is the operating system for contractors — CRM, dispatch, estimates, payments, and AI employees on one connected record.