Every Irish FM operator has a PPM spreadsheet. Or several. One for each client, or one for each building, or one master sheet that is slowly becoming unmanageable as the portfolio grows. The sheet lists the assets, the maintenance intervals, and — in theory — the upcoming service dates.
In theory. In practice, the sheet is always slightly out of date. Someone completed a service two weeks ago and forgot to mark it done. The date for the next boiler service was calculated from the last one, but the last one was late, so the calculation is wrong. A new asset was added to a building but hasn’t made it onto the master sheet yet.
This is not a discipline problem. This is a systems problem. Spreadsheets are not designed to run maintenance schedules — they are designed to display data. The maintenance programme needs a system that generates work, tracks completion, and self-updates when circumstances change.
What a PPM system actually does
In a connected FM operations platform, PPM management works from an asset register. Every managed asset — every boiler, every HVAC unit, every fire alarm panel, every lift — is recorded with its service intervals and the date of its last service.
The system generates work orders automatically, based on those intervals. A boiler due a 6-monthly service on the 15th of next month appears in the work queue automatically on the 15th of next month. No spreadsheet update required. No reminder to a coordinator. No risk of it being missed.
The engineer assigned to the work order completes their inspection, records findings, attaches photos, and signs off on the system — from a mobile device on site. The completion date becomes the basis for calculating the next service date. The asset record updates itself.
The compliance record that builds itself
One of the most significant benefits of a connected PPM system is the compliance record it generates as a by-product of normal operations.
When a regulator or auditor asks for evidence that a fire alarm was tested quarterly, or that a boiler was serviced annually, the answer in a spreadsheet-managed operation involves hunting through email threads, service reports, and paper records. It takes time, and the record is often incomplete.
In a connected system, the full service history for every asset is stored against the asset record. Date of last service, engineer who completed it, findings recorded, photos attached, sign-off date. The compliance record is always current and always accessible.
Handling reactive maintenance within the same system
A common mistake in FM operations is managing PPM separately from reactive maintenance. PPM in one system (or spreadsheet), reactive jobs in another (email or a separate tool). This creates two problems:
First, there is no connection between reactive failures and PPM history. If a boiler fails reactively, the engineer attending has no visibility of when it was last serviced, what was found, or what work was done. They are starting from scratch.
Second, the cost picture is distorted. The true cost of maintaining an asset includes both PPM costs and reactive failure costs. Without both in the same system, the cost of poor maintenance decisions is invisible.
When PPM and reactive maintenance run through the same system, engineers attending reactive jobs can see the full asset history. FM managers can see the total cost per asset. The relationship between deferred maintenance and reactive failures becomes visible — and that visibility drives better decisions about where to invest in preventative maintenance.
The migration from spreadsheet to system
The practical question is how to move from a spreadsheet-based programme to a connected system without disrupting ongoing maintenance commitments.
The answer is a structured data migration. The asset register from the spreadsheet becomes the starting point. Services are loaded with their last completion dates. From those dates, the system calculates upcoming service dates and populates the work queue.
For most FM operators, this migration takes days, not weeks. The data already exists in the spreadsheet — it just needs to be structured and loaded. After that, the spreadsheet is retired, and the system manages the programme going forward.