CONTROLQORE FOR ROOFING CONTRACTORS.
Generic accounting software can't read cost per roofing phase against the bid, carry an open claim from ACV through recoverable depreciation, or price the workers comp burden into every hour worked on the roof. ControlQore can.
ControlQore for roofing contractors uses cost codes by roofing phase, meaning tear-off, dry-in and underlayment, shingle or membrane install, metal and flashing detail, and warranty callback work, so actual cost per phase is compared to the estimated cost weekly. Indirect labor, meaning supervision, safety, warranty crews, and drive time, carries its own cost codes instead of being absorbed into overhead. Every open insurance claim is tracked by stage: ACV received, recoverable depreciation outstanding, and supplements pending. The WIP schedule is produced monthly from cost-to-cost percentage complete.
The difference isn't the report list. It's when you find out. A roofing P&L tells you the month was good or it wasn't, and by then the crew is on the next building and the claim is still open. Cost codes built by roofing phase turn the same hours into a cost per phase you can read in week two against what you bid, and every open claim carries its own stage instead of sitting in a file drawer. Roofing contractors at $1M to $5M net 6.5 percent before taxes on the SPM 48-trade benchmark, and the CFOS target at that band is 10 percent. A cushion that thin can't absorb a cost code nobody is reading.
THE NUMBERS GENERIC SOFTWARE MISSES.
WHAT IT IS.
ControlQore is a job costing and WIP platform for contractors that tracks cost by job and cost code, so a roofing subcontractor can read actual cost per roofing phase against the estimated cost every week while the roof is still open.
The cost code structure is the whole system. Cost codes built to match the roofing estimate produce a direct actual against estimated comparison by phase, every week the job is open. Cost codes built from a generic template produce one labor total per job, and one labor total per job on a roof is four different jobs added together: demolition, dry-in, install, and detail work, each with its own production math and its own crew.
WHERE IT GOES WRONG.
No Cost Per Phase Visibility
QuickBooks job tracking shows total labor cost by job. Tear-off, dry-in, install, and flashing detail all post into that one total, and each of the four runs at a different crew size and a different production rate. ControlQore shows actual cost per phase against the estimated cost weekly, so a phase running hot is visible in week two while there's still time to change crew size, change the method, or open a change order conversation. At closeout the hours are already spent.
The Carrier's Calendar Is Not on the Books
Storm work pays on the insurance company's schedule. The first check covers actual cash value only, recoverable depreciation is withheld until the job is complete and documented, and supplements can sit in an adjuster's queue for weeks. When open claims live in a folder instead of on the cash forecast, the roofer is financing the difference on every one of them without knowing how much that comes to this month.
Material Paid Before the First Receivable
Roofing is material intensive, and suppliers collect at or before delivery. Crews get paid Friday. Commercial pay applications come back at net-60 to net-90 with retainage held on top, and subcontractors wait 56 days on average after submitting a pay application per Billd's 2025 State of Subcontractor Payments. The supplier bill and the payroll both clear before the first receivable does, so more work means more cash out before any of it returns.
Indirect Labor Absorbed Into Overhead
Supervision, safety, warranty crews, and drive time sit between direct labor and overhead, and when they aren't coded they leave through the middle of the income statement. Workers comp is among the highest rates in construction for this trade, so an hour priced at base wage underprices every hour worked. The SPM benchmark puts roofing overhead at 15 percent at $1M to $5M, a figure derived from the nearest comparable trade rather than measured on roofing books, and a bid built on base wage alone never recovers it.
Warranty Callbacks With Nothing Reserved
Callback and repair work is a real cost line most roofers never accrue. The crew hours get spent in a later year against revenue recognized long ago, so every callback is taken out of the current month's margin instead of the job that sold it. At 6.5 percent net before taxes, a season of unreserved callbacks is the whole cushion.
WHAT WE BUILD.
SPM builds ControlQore cost codes for roofing clients by phase: mobilization, tear-off and disposal, dry-in and underlayment, shingle or membrane install, metal and flashing detail, and warranty callback work. Labor, material, and equipment post to the correct phase, and each phase code points at the corresponding line in the roofing estimate. That's what makes the actual against estimated comparison a report rather than a reconciliation exercise. Variance over 10% for two consecutive weeks triggers a review while the job is still open.
Every open claim is carried as a receivable with a stage attached: ACV received, recoverable depreciation outstanding pending documented completion, and supplements submitted and pending. Those stages feed the 13 week cash flow forecast, so the money you're waiting on is dated rather than assumed. The documentation the carrier will ask for is collected as the phases close, which is what releases depreciation instead of delaying it.
Supervision, safety, warranty crews, and drive time get their own cost codes rather than disappearing into overhead or into direct labor. Workers comp and the rest of the burden are priced per hour and posted per hour, so the cost of an hour on the roof is the cost of an hour on the roof. Two things come out of that. The estimate gets calibrated against a burdened rate that held up, and the overhead recovery rate in the bid is measured against what the company spends instead of a number someone picked years ago.
SPM sets a warranty reserve on every roofing job at booking, sized from tracked callback history by system type. The reserve is a cost of the job that sold it, so a callback in year three hits the accrual rather than the current month. Over a few years the accrual stops being an estimate and becomes a number the callback history supports.
The WIP schedule for roofing clients is produced monthly from cost-to-cost percentage complete by job. Underbilled positions, meaning work performed but not yet billed, are visible immediately and trigger a corrected pay application. Overbilled positions, meaning billed ahead of the work performed, flag jobs where billing has outrun progress, which is how a busy season turns into a cash hole in a quiet one. Full overhead bills all 12 months whether the phone rings or not, and the forecast is built that way.
FLAT MONTHLY FEE. NO SOFTWARE INVOICE.
Three tiers, priced by your trailing twelve month revenue. ControlQore comes with Strategic, and it never appears as its own line item on an SPM invoice. Which tier you're in depends on how much of the work you want off your desk.
Pricing
| Last 12 months revenue | Monthly fee |
|---|---|
| Up to $1M | $1,900 to $2,900 |
| $1M to $3.5M | $2,600 to $3,900 |
| $3.5M to $6.5M | $3,800 to $5,700 |
| $6.5M to $9.5M | $5,100 to $7,100 |
| $9.5M to $12.5M | $6,100 to $8,500 |
| $12.5M to $15.5M | $7,400 to $11,000 |
| $15.5M to $18.5M | $9,400 to $13,500 |
| $18.5M+ | Quoted individually |
Range reflects the three tiers below. Which one you're in depends on how much of the work you want off your desk. No payroll. No hidden line items.
You stop guessing.
You get the CFO work. Job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a meeting every month that ends in decisions rather than a report.
Your bookkeeper keeps doing the books.
You stop touching the books.
Everything in Core, and we run the bookkeeping and the controllership as well. Nobody in your office is answering coding questions or chasing a reconciliation at month end.
We do the books. No payroll.
Every job shows its margin while it's still running.
Everything in Executive, plus the job costing and WIP platform set up, loaded with your cost codes, and managed for you every month. You never have to learn it.
We do the job costing.
