Agreement margin rollup
The agreement margin rollup report shows profitability per service agreement — contract revenue against the labor, parts, and subcontractor cost spent servicing it — rolled up across your whole agreement book. It's the report that answers which contracts are actually making money, not just which contracts are active.
The columns.
- Agreement revenueContract billing for each agreement — monthly, quarterly, or per-visit cadence.
- Cost to serveLabor, parts, and subcontractor cost accumulated against the agreement as visits close.
- MarginRevenue net of cost, rolled up by branch, technician, or agreement type — the read for maintenance contract margin.
How the report works.
What the rollup measures
Every service agreement bills on some cadence — monthly, quarterly, per-visit — and consumes cost on a different schedule: technician labor, parts, subcontracted work, warranty-covered replacements. The margin rollup nets those against each other per agreement, then rolls the whole book up by branch, technician, or agreement type so you can see where margin is concentrated and where it's eroding.
This is different from job costing on a single work order. An agreement can look fine job by job and still be a loser once the full visit cadence, unbilled emergency calls, and equipment failures are counted for the full term.
Why agreement margin erodes quietly
Agreement margin rarely collapses all at once. It erodes visit by visit — a PM visit that runs long because equipment wasn't properly scoped at signing, a callback that isn't chargeable under the agreement terms, parts pricing that hasn't been revisited since the contract was signed two renewal cycles ago.
Because none of these show up as a single bad invoice, they're invisible in invoice-level reporting. They only show up when you roll cost up against the agreement over its full term, which is what this report does.
How Thermal builds it
Thermal ties every work order, PM visit, and parts transaction back to the agreement it was performed under, so cost accumulates against the agreement automatically as work happens — no separate cost allocation step. Margin updates as visits close, not at renewal time when it's too late to reprice.
The report syncs with your accounting system for revenue recognition, but the cost-to-agreement linkage — the part that actually explains margin — lives in Thermal, because that's where the work orders, labor hours, and parts consumption already are.
Using it at renewal
The rollup is built to be read alongside agreement renewal rate. A contract with strong margin and a soon-to-expire term is a straightforward renewal at current pricing. A contract with thin or negative margin is a renewal conversation about scope or price — or a candidate to let lapse rather than renew at a loss.
Most operations leaders review this quarterly per branch, and again ahead of each renewal cohort, so pricing decisions are based on what the agreement actually cost to service, not what it cost when it was signed.
See it live in Thermal
Thermal's agreement margin rollup lives at app.trythermal.com/reports, built on the same agreement and work order records used for scheduling and billing — the margin number reflects real completed visits, not a projected estimate.
Questions about this report.
How does agreement margin differ from gross margin per job?
Gross margin per job looks at a single work order. Agreement margin rolls up every visit performed under a contract over its term, including PM visits, emergency calls, and warranty work, against what the agreement bills. A contract can have healthy per-job margins on paper and still lose money once the full visit cadence is counted.
Does the rollup include parts and subcontractor cost, or just labor?
All three. Labor hours, parts consumed, and any subcontracted work performed under the agreement all post against it, so the margin number reflects total cost to serve, not just technician time.
Can I see margin trend over the life of a multi-year agreement?
Yes. The rollup tracks margin by visit and by period, so you can see whether a long-term agreement is trending up or down over its term rather than only at a point in time.
Who typically owns this report?
Operations managers and mechanical contractors running agreement-heavy books use it most — it's built for organizations where recurring maintenance contracts are a meaningful share of revenue, not a side offering.
These reports, on your own data.
If you want to see how they read on your branch's actual work orders and billing, that's a demo.