Enterprise Software / Regulated Utilities

Utility Compliance & Asset Register

One Authoritative Record for 210,000 Regulated Network Assets

Utility Compliance & Asset Register
Enterprise Software
Industry
16 months
Duration
5 → 9
TRL
4
Disciplines

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.

6 weeks → 4 days
regulatory submission preparation
148,000
distinct assets resolved from 210,000 records
3,400
assets found with no maintenance history

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

Java Spring BootPostgreSQL / PostGISKafkaReactElasticsearchKubernetesSAP PM

Gallery

Inside the build.

Identity resolution diagram: four source systems converging on one asset with a steward queue branch.

Figure 1 — Identity resolution diagram.

Bitemporal timeline showing valid-time versus transaction-time for a single asset record.

Figure 2 — Bitemporal timeline showing valid-time versus transaction-time for a single asset record..

Data steward review screen comparing four candidate records side by side.

Figure 3 — Data steward review screen comparing four candidate records side by side..

Regulatory submission view with per-figure lineage back to source records.

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.