Compliance Works Asset Class
Compliance Works Asset Class
The Compliance Works asset class is designed for regulatory or legally driven improvements that have a fixed statutory deadline — rather than a lifespan-based replacement cycle. Examples include EPC upgrades, fire safety remediation, Building Safety Act works, and accessibility improvements.
This asset class ensures that known regulatory obligations are always reflected in the capital expenditure forecast, making it impossible to produce a reserve fund plan that ignores compliance deadlines.
How it differs from other asset classes
| Standard assets (P&E, Building Fabric, etc.) | Compliance Works | |
|---|---|---|
| Replacement year source | Install date + estimated lifespan | Fixed regulatory deadline date |
| Key date field | Install / Last Replaced | Compliance Deadline Date |
| Linked record | Warranties, service records | Compliance certificate |
| Capex forecast driver | Lifespan projection | Deadline year |
| Data quality flag | Missing install date / lifespan | Missing compliance deadline date |
Creating a compliance works asset
- In the Asset Register, click Add Asset
- Set Asset Class to
Compliance Works - The form will reveal three compliance-specific fields:
Compliance Deadline Date (required for capex forecasting)
The fixed regulatory deadline by which the work must be completed. This date is used directly as the projected replacement year in the reserve fund forecast.
If no deadline date is set, the asset will not appear in the reserve fund year-by-year capex projection.
Regulation / Statute Reference (optional)
Free-text field for the legal basis driving the work. Examples:
Building Safety Act 2022 s.89EPC Minimum E rating — MEES 2018Fire Safety (England) Regulations 2022 reg.10
Linked Compliance Certificate (optional but recommended)
Select a certificate from the block's compliance certificate register. The dropdown is populated automatically once a block is selected. Linking a certificate allows the panel to display the certificate's current status (valid, expiring soon, expired) alongside the compliance deadline.
Select the block first — the certificate list is filtered to that block.
Asset detail view
For compliance works assets, the standard "Install / Last Replaced" card is replaced with a Compliance Deadline card showing:
- The deadline date
- Days remaining (or days overdue, shown in red)
- The regulation/statute reference
Below the summary cards, the ComplianceWorksPanel is displayed with three sections:
1. Compliance Deadline card
Colour-coded by urgency:
| Badge | Condition |
|---|---|
| 🔴 Overdue | Deadline has passed |
| 🔴 Critical | Deadline within 90 days |
| 🟡 Warning | Deadline within 180 days |
| 🟢 OK | Deadline more than 180 days away |
When a deadline is overdue, a prominent red warning banner is shown with the original deadline date and a prompt to take immediate action.
The card also shows:
- Regulatory deadline date
- Regulation / statute reference
- Estimated cost and the forecast year it is attributed to (with an "overridden" label if a manual replacement year is set)
2. Linked Certificate card
Displays the linked compliance certificate with:
- Certificate type (e.g. Gas Safety Certificate, EWS1 Form, Fire Risk Assessment)
- Status badge (Valid / Expiring Soon / Expired)
- Reference number
- Issuer
- Issued date, expiry date, and next review date
If no certificate is linked, a prompt guides the agent to edit the asset and select a certificate from the block's register.
3. Reserve Fund Integration notice
Confirms whether and how this asset contributes to the reserve fund forecast:
- If both a deadline and an estimated cost are set: shows the forecast year and cost that will appear in the reserve fund capex projection
- If no deadline is set: prompts the agent to set a deadline
- If a deadline is set but no cost: prompts the agent to add an estimated cost
Reserve fund integration
Compliance works assets feed into the reserve fund year-by-year capex projection using the deadline year as the forecast year:
- The
projectedReplacementYearfor acompliance_worksasset is set to the year of thecomplianceDeadlineDate - This year is used in the same capex projection logic as lifespan-based assets
- If a manual replacement year override is set, that takes precedence (as with other asset classes)
- Assets without a deadline date are excluded from the forecast
This design ensures agents cannot produce a reserve fund plan without accounting for known regulatory obligations.
Compliance audit trail
The following events are automatically logged to the compliance audit trail for compliance_works assets:
| Event | Logged when |
|---|---|
| Asset created | A new compliance works asset is created |
| Deadline changed | The compliance deadline date is updated |
| Certificate linked | A certificate is linked to the asset |
| Certificate unlinked | A certificate is removed from the asset |
| Replacement year overridden | A manual replacement year is set |
Data quality tracking
The data quality summary (used by the Outstanding Data Requests Tracker) now separately flags:
missingComplianceDeadlineCount— compliance works assets with no deadline date set
This is reported independently from the standard missingInstallDate count, which applies only to non-compliance assets. Compliance works assets are not flagged for missing install dates — only for missing deadline dates.
complianceWorksSummary API endpoint
The asset.complianceWorksSummary tRPC query returns a summary of all compliance works assets, scoped to the organisation and optionally to a single block.
Input
{ blockId?: string }
Output
{
totalComplianceWorks: number;
overdueCount: number; // deadline has passed
dueSoonCount: number; // deadline within 6 months
upcomingCount: number; // deadline beyond 6 months
noDeadlineCount: number; // no deadline date set
totalEstimatedCostPence: number;
costsByYear: Record<number, number>; // year → total pence
overdue: ComplianceWorksSummaryItem[];
dueSoon: ComplianceWorksSummaryItem[];
items: ComplianceWorksSummaryItem[];
}
Each item in overdue, dueSoon, and items contains:
{
id: string;
name: string;
blockId: string;
complianceDeadlineDate: Date | null;
regulationReference: string | null;
estimatedReplacementCostPence: number | null;
certificateId: string | null;
conditionRating?: number | null; // items only
earlyReplacementFlag?: boolean | null; // items only
}
costsByYear maps forecast year (integer) to total estimated cost in pence — this is used directly by the reserve fund year-by-year projection.
Urgency categories
The complianceWorksSummary endpoint and the UI panel both use the same urgency categorisation:
| Category | Condition |
|---|---|
| Overdue | complianceDeadlineDate is in the past |
| Due soon | Deadline is within the next 6 months |
| Upcoming | Deadline is more than 6 months away |
| No deadline | complianceDeadlineDate is null |
Supported certificate types
The linked certificate dropdown and panel support all certificate types in the compliance register:
- Gas Safety Certificate
- EICR (Electrical Installation Condition Report)
- Fire Risk Assessment
- EWS1 Form
- Asbestos Survey
- Legionella Risk Assessment
- Lift Inspection
- EPC
- PAT Testing
- Lightning Protection
- Water Hygiene
- Emergency Lighting
- Dry Riser
- Other Certificate