Asset Install Date Tracker & Data Quality Alerts
Asset Install Date Tracker & Data Quality Alerts
Accurate install date records are essential for projected replacement year calculations and reserve fund modelling. When these dates are missing across a portfolio, financial projections become unreliable. v0.13.5 introduces a proactive data quality system that surfaces gaps in the asset register and makes it fast to work through the backlog.
Why install dates matter
The install (or last-replaced) date, combined with the estimated lifespan, drives two critical calculations:
- Projected replacement year — the year the asset is expected to require replacement
- Remaining useful life — the proportion of lifespan already elapsed, used to contextualise condition ratings
Without an install date, neither calculation is possible, and the asset cannot contribute accurate data to reserve fund models.
Outstanding Data Requests Banner
When assets in the register are missing install dates, an amber banner appears at the top of the asset register view.
⚠ Outstanding Data: 7 assets missing install date
Install dates are essential for projected replacement year calculations
and reserve fund modelling. Additionally, 3 assets are missing estimated
lifespan. 2 assets are missing replacement cost estimates.
[ Lift Mechanism ] [ Roof Covering ] [ Fire Panel ] +4 more Show missing only ›
What the banner shows:
- Count of assets missing install dates
- Secondary counts for missing lifespan and replacement cost fields
- Quick-access chip buttons linking directly to each affected asset (up to 10 listed; a
+N morelabel appears when there are additional records) - A "Show missing only" button to activate the filter instantly
The banner is hidden once the "Missing install date" filter is already active.
"Missing install date" Filter
Click "Show missing only" in the banner, or toggle the filter pill in the toolbar, to narrow the asset list to only records without an install date. An amber filter chip — Missing install date ✕ — is displayed while the filter is active. Click it to clear the filter.
The empty-state message adapts when this filter is active, prompting you to adjust filters rather than suggesting there are no assets.
"No Install Date" Badge in the List
Each row in the asset list now shows an amber No install date badge next to the asset name whenever the installDate field is absent. This allows quick visual scanning of incomplete records without needing to open each one.
Enhanced Install / Last Replaced Detail Card
The Install / Last Replaced card on the asset detail view now communicates far more than just the date.
When an install date is recorded
- Displays the formatted install date and estimated lifespan (e.g. 25-year lifespan)
- Shows a remaining useful life progress bar:
- 🟢 Green — less than 70% of lifespan elapsed
- 🟡 Amber — 70–89% of lifespan elapsed
- 🔴 Red — 90% or more of lifespan elapsed
- Shows the percentage of estimated lifespan elapsed beneath the bar (e.g. 64% of estimated lifespan elapsed)
- If the estimated lifespan is missing, an amber warning prompts you to add it so the replacement year can be calculated
When no install date is recorded
- The card border turns amber
- Displays "Not recorded" in amber text
- Shows: "Required for reserve fund modelling"
Form Guidance
Both the create and edit forms now include contextual hints on the install date field.
Create form:
Essential for replacement year projection and reserve fund modelling. Missing dates are flagged for follow-up.
The amber note only appears when the field is empty.
Edit form: When the install date field is blank, an inline amber warning reads:
⚠ Required for replacement year projection and reserve fund modelling
API Reference
asset.dataQualitySummary
Fetches a summary of missing critical fields across the portfolio.
Input:
{
blockId?: string // Optional: scope to a single block
}
Response:
{
totalAssets: number;
assetsWithIssuesCount: number; // Assets with at least one missing field
missingInstallDateCount: number;
missingLifespanCount: number;
missingConditionRatingCount: number;
missingReplacementCostCount: number;
missingBothDateAndLifespanCount: number; // Cannot calculate replacement year at all
missingInstallDateAssets: Array<{ // Top 10 for quick-access links
id: string;
name: string;
blockId: string;
}>;
}
asset.list — missingInstallDate filter
The list endpoint accepts a new optional filter:
{
missingInstallDate?: boolean // When true, returns only assets where installDate IS NULL
}
This filter can be combined with existing filters (blockId, assetClass, earlyReplacementOnly).
Recommended workflow for clearing the backlog
- Open the Asset Register
- If the amber banner appears, note the total count of assets with missing install dates
- Click a quick-access chip to jump directly to an affected asset, or click "Show missing only" to filter the list
- Open each asset, enter the install or last-replaced date, and add the estimated lifespan if known
- Save the record — it will disappear from the filtered list once complete
- Repeat until the banner clears