One grid: every building down the side, every obligation across the top. Obligation categories such as fire safety, electrical testing and lifts are yours to define, each with its own warning lead time and grace period, and every cell reads compliant, due soon, overdue, or nothing on file. Cells are computed live rather than stored, so they cannot go stale. Against any date or cadence you can declare a reminder rule, warning a named audience sixty days ahead in the app and by email, which a nightly dispatcher acts on and logs one row at a time. Underneath all of it sits a tamper-evident audit trail: every creation, change, sign-off and privileged action, queryable per record.
This is the screen that tells a multi-site operator where the exposure actually is, and the state that catches people out is the empty one. A missing certificate looks like a blank cell in a spreadsheet, so it reads as nothing to do; here it reads as a gap. Declaring warnings against the obligation rather than against a person means the reminder survives staff turnover, and the dispatch log answers the uncomfortable audit question of whether the responsible manager was warned before the deadline passed. When something does go wrong, the question is rarely what the system says today, but what it said in March and who changed it since. That is what the audit trail is for.
In practice
One building is amber on fire safety and grey on gas, and only one of those is the real problem.
The dispatch ledger answers that question with a date and a name, which is a different kind of answer from “we always send reminders”. Nothing in the matrix can go stale, because no cell is ever stored as a value somebody has to remember to update.
Illustrative walkthrough. Not a customer record.
Next step
Thirty minutes on your own estate: your buildings, your obligations and your numbers. We will show you where the time and the money are going.
Book a demo