One of AssetLab's most underrated features is Compliance. We usually introduce it when a prospect raises a specific need: a fire marshal visit, an insurer asking for certificates, an elevator licence that nearly lapsed. The idea is simple. You define the preventive maintenance a requirement calls for, on a single asset or a whole system, and AssetLab tracks whether it is actually being done, in real time.
Recently a customer showed me a way of using it that I had not considered. He connected Claude to AssetLab through our MCP integration, asked it to find the city requirements that applied to his assets, and had it create the matching compliance records directly in AssetLab, each one linked to the right part of his asset registry.
As a founder, it is exciting to watch customers find uses for what you built that save them real time. This post explains what Compliance does, why the slow part has always been the setup, and how that customer took the slow part off his plate.
The short version: Compliance status in AssetLab is never typed in. It is earned by completed work orders. What an AI assistant changes is the first hour of reading bylaws and building the list, not the proof.
Here is what this post covers:
- How a compliance item turns an obligation into a live score
- Why requirements attach to building systems, not long asset lists
- What an inspector sees when they scan a placard on the wall
- How one customer used Claude and MCP to load his city requirements
- Where a person still has to check the work, and why
What Compliance does
Compliance tracks the obligations with someone else's clock on them: fire alarm inspections, sprinkler tests, elevator licences, boiler certificates, backflow tests, playground audits. Its only job is that nothing lapses quietly. It is built from three pieces.
- A compliance item is the obligation itself: a name, a regulation reference (the bylaw, code section or standard), what it applies to, and a compliance period in months.
- Linked PM schedulesare the work that fulfils it. Each link carries a required frequency in days and a weight for how much it counts toward the item's score.
- Completed work ordersare the evidence. The PM schedules generate work orders as usual, and when they are closed out the item's status moves. Nobody sets it by hand.
That last point is the design decision that matters most. In a spreadsheet, compliance is whatever someone typed in the status column. In AssetLab it is a calculation over work that was actually done, which is the only version worth showing an auditor.
How the score is earned
For each linked schedule, AssetLab counts the completed work orders inside the compliance period and compares them with how many the required frequency calls for. A monthly check over a 12-month period needs 12; if 11 were completed, that schedule scores 91.7%. The item's score is the weighted average of its schedules.
The item is compliant at 95% and above, in warning from 85%, and non-compliant below that. Weights let the annual third-party inspection count for more than the monthly walk past the panel. Two details keep the score fair. A schedule linked last week is only expected to have been done once, not twelve times. And an item with no schedules linked at all scores as non-compliant, because an obligation with nothing fulfilling it is exactly what the module exists to surface.
Systems, not asset lists
Most requirements are not about one asset. The fire code does not care about pull station 14; it cares about the fire alarm system. So a compliance item attaches to a system (or, for public works, an infrastructure network), and the PM schedule that fulfils it can be associated with that system too. A "Refrigeration monthly inspection" on the refrigeration system inspects every related asset under one work order, so nothing under the system escapes the audit trail and nobody maintains a list of forty assets by hand.
We wrote more about the reasoning in Introducing System-Based Compliance Tracking. It is also what made the customer's approach below work so well: his systems were already set up, so there was an obvious place for each requirement to land.
When the inspector arrives
A score is only useful if you can prove it. Every compliance item has a Documents tab for the certificate, report or sign-off, and a Reports tab that downloads a PDF audit report under your organization's name: the assessed status and the figures behind it, each schedule's performance and next due date, and a timeline of completions with overdue stretches marked.
New this week are placards: printable QR stickers for a room or piece of equipment, such as the fire riser room or the pool mechanical room, holding the compliance items that belong there.
- Anyone can scan itwith a phone camera, no AssetLab account needed, and see each item's status, when it was last done and when it is next due.
- An auditor PIN unlocks the completed work orders and their attached reports. File links expire after 15 minutes, and five wrong tries lock the detail for 15 minutes.
- It stays current without a reprint. The sticker holds only a link, so recording an inspection or changing the items shows up on the next scan. Only work completed at the placard's site counts, so one building's riser never shows another building's inspections.
How most CMMS handle compliance, and how AssetLab does
Almost every CMMS will tell you it does compliance. Look closer and in most of them it means a tag or a checkbox on a PM schedule: the inspection gets scheduled, the work order gets closed, and the regulation itself never exists as a record. Not every tool works that way, but it is the pattern we see most often when teams move to AssetLab, and it leaves three questions unanswered: which obligations do we have, which of them have nothing scheduled, and can we prove the rest were done on time?
| Attribute | Typical CMMS | AssetLab |
|---|---|---|
| What a requirement is | A tag or "compliance" flag on a PM schedule or work order | Its own record, with the regulation reference and compliance period |
| What it applies to | Individual assets, repeated on each one | A whole building system or infrastructure network |
| How status is decided | PM on-time rate, or a status field someone updates | Weighted score computed from completed work orders against required frequency |
| A requirement with nothing scheduled | Invisible: no PM means nothing to report on | Scores non-compliant and shows up on the list |
| Evidence | Attachments spread across individual work orders | Certificates on the item, plus the completion history behind it |
| Audit preparation | Export work orders and assemble the binder by hand | One-click PDF audit report with overdue stretches marked |
| Inspector on site | Printed binder, or a login on your laptop | QR placard on the wall, PIN for the underlying reports |
| Loading requirements | Typed in one by one, or a spreadsheet import | In the app, or researched and created by an AI assistant over MCP |
The common pattern, not every product. Check any tool you are evaluating against these rows.
The difference that matters most is the fourth row. A tool that only knows about scheduled work cannot tell you about the inspection nobody scheduled, and that is usually the one the fire marshal asks about.
The slow part was always setup
Once Compliance is running, it runs itself: schedules generate work orders, technicians close them, the score moves. The hard part is the first afternoon. Someone has to work out which requirements apply to this portfolio: the provincial fire code, the elevating devices regulation, the city's cross-connection bylaw, the pool regulation, whatever the insurer added. Then they have to read each one for the frequency, match it to the right system, and type it all in.
That work is real research, and it is the reason we usually only bring Compliance up when a prospect already has a specific requirement in mind. Teams know they should load the whole list. Few have the afternoon.
What one customer did
AssetLab has an MCP server that lets an AI assistant such as Claude read and write your AssetLab data with the permissions of an API key you issue. We built it with work orders, assets and reporting in mind. The customer pointed it at the setup problem instead.
He asked Claude to look at the systems in his account, find the city and provincial requirements that applied to them, and create the matching compliance records. Claude read his registry, did the research, came back with the list and the references, and once he was happy with it, created the compliance items against the right systems along with the PM schedules to fulfil them.
- 1Reads your sites, systems and assets from AssetLab
- 2Researches the city and provincial requirements that apply
- 3Shows you the list, with a reference for each, and waits
- 4Creates the compliance items, PM schedules and links
| Proposed requirement | Reference | System | Every |
|---|---|---|---|
| Backflow preventer annual test | City cross-connection bylaw | Domestic Water | 365 days |
| Sprinkler system inspection | Provincial fire code | Fire Suppression | 365 days |
| Emergency lighting monthly test | Provincial fire code | Emergency Lighting | 30 days |
| Elevator periodic inspection | Provincial elevating devices regulation | Vertical Transport | 365 days |
One honest detail: when he did this, the MCP server could create compliance items and PM schedules but could not yet link one to the other, so that last step fell back to clicks in the app. He told us, and we added the link tools the next day. The whole sequence now runs end to end.
Why it works: The assistant is good at the part people find slow (reading regulations and turning them into a structured list), and AssetLab is good at the part people find hard (tracking, week after week, whether the work was done). Neither replaces the other.
| Attribute | Setting it up by hand | With an assistant over MCP |
|---|---|---|
| Finding what applies | Reading bylaws and code books, or asking a consultant | The assistant researches and proposes a list with references |
| Matching to your assets | Cross-referencing the registry by eye | It reads your systems and places each item on one |
| Data entry | One form per item, one per schedule, one per link | Created in one pass after you approve the list |
| Who approves the list | You | Still you |
| What proves compliance | Completed work orders | Completed work orders |
Loading a portfolio's compliance requirements for the first time.
Where a person still decides
An AI assistant can cite the wrong edition of a code, miss a local amendment, or get a frequency wrong. Treat its list as a well-organized first draft, not a legal opinion. The regulation reference field on every compliance item is what makes that check quick: each record says where it came from, so you, your fire safety consultant or the authority having jurisdiction can confirm it line by line.
The assistant also cannot make anything compliant. It can create the obligation and the schedule. The status only moves when a person completes the work order, and the evidence is whatever that person attached. AssetLab tracks your obligations; it does not decide them for you, and it does not replace the inspection.
How to try it
Compliance is included on every AssetLab plan. The MCP server is part of the Enterprise plan. If you have both:
- Set up your systems first. The requirements need somewhere to land. Fire alarm, fire suppression, emergency lighting, domestic water, vertical transport and HVAC cover most buildings.
- Issue an API key in Settings with the compliance and PM scopes, and connect it to Claude.
- Name your city and province in the prompt and ask for a list with regulation references and frequencies before anything is created.
- Check the list against the source, or have whoever signs off on fire and life safety review it.
- Approve it and let the assistant create the items, schedules and links. Then open Compliance and see which items are already non-compliant because nothing was ever scheduled. That list is usually the most useful thing you will read all month.
Not on Enterprise? The same setup is a few forms per requirement in the app: create the item, pick the PM schedules that fulfil it, and set each one's frequency and weight.
How Compliance works in AssetLab
Compliance is not a separate checklist. It reads the systems, PM schedules and work orders you already keep, so the score reflects work that was actually done.
Requirement with a reference
Each item records its bylaw, code section or standard, and a compliance period.
Attached to systems
Apply a requirement to a whole building system or infrastructure network, not an asset list.
Earned, weighted score
Computed from completed work orders against each schedule, weighted by importance.
Audit report and documents
Certificates on the item and a branded PDF audit report with the full completion timeline.
Placards for inspectors
QR stickers show live status on a phone, with a PIN for the underlying evidence.
API and MCP access
Create items, schedules and links from your own systems or an AI assistant (Enterprise).
The list was the hard part
Tracking compliance was never difficult once the requirements were written down against the right equipment. Writing them down was. An assistant that can read the regulations and your registry at the same time makes that first step an hour instead of a project, and the proof stays where it belongs: in the completed work.
Let the assistant draft the list. Check it. Let the work orders prove it.
If you want to see Compliance on your own systems, including placards and the MCP setup flow, we can walk you through it in about 20 minutes.
Related Articles
ISO 55000 Asset Management: What It Is and How CMMS Supports Compliance
A practical guide to the ISO 55000 family of asset management standards. Learn what ISO 55001 requires and how CMMS software supports compliance.
Lifecycle Strategies: Pricing the Work That Defers a Replacement
Straight-line decline assumes you do nothing until an asset dies. Lifecycle Strategies model the recoat, retube, or reseal that defers a replacement: every asset projects a sawtooth condition curve anchored at its own assessed score, the planner ranks by extended life, and the dashboard prices the program by cost per year of life added.
The Build Communities Strong Fund: What the New $51B Means for Your AMP
Canada's Build Communities Strong Fund delivers $51 billion over 10 years starting in 2026-27, plus $3 billion per year ongoing. A guide to the three funding streams, the asset management plan requirements tied to the money, and how to position your asset data to qualify and report.