Moving 1,800 Trade Customers Off Phone and Fax Ordering
Enterprise Software / Regulated Utilities
Utility Compliance & Asset Register
One Authoritative Record for 210,000 Regulated Network Assets
Background
A water utility held its regulated asset base across a GIS layer, an SAP maintenance module, three legacy inspection databases and a substantial volume of spreadsheets. Preparing the annual regulatory submission took a team six weeks of manual reconciliation, and the reconciled figure never quite matched what any single system held.
The problem
What made it hard.
The same physical asset existed in four systems under four identifiers with no reliable key between them, and each system held a different view of condition and installation date. None of the sources could simply be switched off — SAP drove maintenance scheduling and GIS drove field crews, so the register had to become authoritative without a big-bang cutover. Regulatory reporting also demanded full lineage: every figure in the submission had to be traceable to a source record and a point in time.
Approach
What we built.
We built an asset register that ingests all four sources through Kafka and resolves identity with a deterministic match on spatial proximity and attribute agreement, escalating anything ambiguous to a data steward queue rather than guessing. Probabilistic matching was used only to rank the steward queue, never to auto-merge, because a wrong merge in a regulated register is far more expensive than a slow one. The register is bitemporal — it records both when something was true in the world and when the system learned it — so a submission can be regenerated exactly as it stood on any past date. Sources remain systems of record for their own domains and the register reconciles continuously, so nothing had to be migrated in one step.
Outcome
What it measured.
Regulatory submission preparation dropped from six weeks to four days, with every figure traceable to source. Identity resolution collapsed 210,000 records across four systems into 148,000 distinct assets, revealing roughly 12,000 that had been maintained twice and about 3,400 with no maintenance history at all. The utility now runs its condition-based renewal planning against the register rather than against SAP alone.
Our role
Register architecture; identity resolution; bitemporal data model; SAP and GIS integration; steward tooling; regulatory reporting.
Technologies
Gallery
Inside the build.
Figure 1 — Identity resolution diagram.
Figure 2 — Bitemporal timeline showing valid-time versus transaction-time for a single asset record..
Figure 3 — Data steward review screen comparing four candidate records side by side..
Figure 4 — Regulatory submission view with per-figure lineage back to source records..
Next case study
Tell us what you’re building.
Send the constraint that worries you most — a latency budget, a power budget, a certification date. We’ll tell you straight whether we’re the right team.