PM Compliance
Open Reports → PM Compliance in Thermal →
What it's for
PM Compliance measures whether the maintenance you sold is being delivered. An agreement that bills every month and delivers two of four visits a year is a renewal you are going to lose, and this is the report that sees it coming.
Reach it from Reports → PM compliance, at /reports/pm-compliance.
Tabs
Reports links back to the hub.
Panels and controls
Monthly compliance
Month, Due, Completed, and Compliance % — the headline trend.
Obligation detail
Status, Customer / site, Equipment, Agreement / work order, Canonical template, and Technician. Every due visit is a row, so a compliance percentage can always be resolved to the specific visits that were missed and the customers they were owed to.
Canonical template matters more than it looks: it is which inspection checklist the visit was supposed to run. A visit completed against the wrong template is a visit that did not deliver what the agreement promised, even though somebody attended.
Export CSV takes it out; Apply and Reset work the filters.
No PM obligations in this range is the empty state.
What it accepts
| Field | Format | Required | Rule |
|---|---|---|---|
| Filters | Date range, branch, agreement, status | No | "Apply" runs them, "Reset" clears them |
The report is a read-out over agreements and the maintenance work orders raised against them.
How to configure it
- Agreements settings decide the cadence, which is what "due" is calculated from. An agreement with no cadence generates no obligations and so cannot be measured.
- Inspection templates supply the canonical template each PM visit should run.
- PM material requirements decide what a maintenance visit is expected to consume.
- Branches scope the report.
Who can see it
This screen sits behind the Reports area.
Owners, office managers and dispatchers can open it. Technicians cannot. The gate is checked on the server, not just hidden in the sidebar, so a direct link does not get around it.
The full role matrix is on Roles & permissions.