A roofing job touches a lot of hands. A lead comes in from a storm campaign, a rep books the inspection, someone meets the adjuster, production schedules the crew, the office sends the invoice, and at the end somebody works out the rep’s commission. In most roofing companies each of those steps lives in a different place: a lead sheet, a calendar, a photo app, the accounting software and a spreadsheet for commissions.
Total Roofing Systems wanted all of it in one place. We built them a custom operations app where leads arrive on their own, route themselves, and then one job record carries the work from the first inspection through production, invoicing and commission.
You can explore the live demo, which runs on sample data.
Why Not an Off-the-Shelf Roofing CRM?
There are good roofing CRMs on the market. The trouble is that each one comes with its own idea of how a roofing company should run. Total Roofing Systems already had their own pipelines, stages and commission plans, and they did not want to bend them to fit a product. A custom build meant the software could follow the way they already work.
If you are deciding between the two paths, our post on choosing an AI CRM for a small business covers the trade-offs.
What We Built
1. Lead intake nobody types in
Leads from Meta lead ads, Google and the website form arrive through inbound webhooks and create the lead record by themselves. CSV imports land in the same list. Every lead carries its source, tags, a rank, an owner, notes and a full timeline.
Two rules keep the list clean:
- Duplicates merge. The same phone number or address inside 30 days joins the lead that already exists instead of opening a second one.
- Nothing gets lost. A lead that fails every rule still lands in an Unrouted list with a notification, so nobody has to wonder where it went.
2. Routing rules the office writes itself
Intake rules read like a sentence: when a lead comes from this source, and only if this condition is true, drop it in this pipeline at this stage, give it to this rep, send this first touch automatically, and escalate if nobody responds. Rules run top to bottom and the first match wins. Round-robin assignment spreads storm leads across the sales team.
The point is speed. A lead that arrives at 11pm is created, checked for duplicates, assigned and texted before anyone in the office sees it. That is the idea behind speed to lead, built into the intake itself.
3. Pipelines built around their process
The pipelines, stages, tasks, notifications and triggers that move a job forward are all custom. Each stage can fire its own automation, so the next step happens without anyone remembering to do it.
4. One job record
This is the core of the build. Once a lead becomes a job, a single record holds everything: the schedule, the crew, photos tagged by phase, estimates, documents, invoices and payments. Production, the office and sales all look at the same record, so there is no second copy to fall out of date.
5. Commissions calculated from the job
Commission plans live in the app: tiered margin plans, flat rates and setter plans. Commission is calculated from the job’s real margin and held until the customer’s payment clears, then released in a pay run. Because it reads from the same job record as the invoice, nobody rebuilds it in a spreadsheet at the end of the month.
6. A customer portal
Homeowners get one link that works on any phone, with no app to install and no password. The portal shows the progress timeline, a photo feed filtered to the tags the company allows, documents to sign, invoices with a pay now button, and a way to message the crew. It is the same data as the job file, filtered to what the homeowner should see, and it updates by itself as the job moves.
7. Training built in
New software only helps if the team uses it. The app includes a guided walkthrough and a 14-lesson training track, each lesson short enough to finish between appointments.
What Other Roofing Companies Can Take From It
- Let leads create themselves. Every lead typed in by hand is a lead that waited.
- Write routing as rules, with a catch-all. The Unrouted list is what keeps a missed rule from becoming a missed job.
- Keep one record per job. Photos, money and schedule in one place removes most of the office’s phone calls.
- Tie commission to payment. Paying on cleared money settles most commission disputes before they start.
- Give the homeowner a window. A portal answers “where are we at?” before they pick up the phone.
FAQ
Is a custom roofing CRM worth it over an off-the-shelf one? It depends on how set your process is. If your pipelines, commission plans and reporting already work and you are tired of bending them to fit a product, a custom build follows your process instead.
Can it take leads from Facebook and Google automatically? Yes. Inbound webhooks from Meta, Google and the website create the lead record and run the routing rules the moment it lands.
How are duplicate leads handled? The same phone number or address within 30 days merges into the existing lead instead of creating a new one.
Does the homeowner need to download an app? No. The portal is a single link that opens on any phone, with no password.
Want an Operations App Built Around Your Roofing Company?
We build custom CRMs, lead routing and customer portals for roofing and home service contractors, built to the way your team already works.
Or call us directly: (888) 330-1434.
D1TechCreative builds custom software, CRM systems, AI voice agents and lead generation funnels for service businesses across the United States. Based in Fort Lauderdale, FL.

