Skip to content
Data flow diagram templates

DFD — Smart Meter Half-Hourly Settlement

Level-1 flow of SMETS2 meter reads from the consumer premises through the regulated data network into supplier aggregation and industry settlement, with every boundary crossing drawn as attack surface.

Template previewData flow diagram
Smart meter data — half-hourly settlementLEVEL 1Consumer premisesRegulated data networkSupplier platformIndustry systemsDomestic meter(SMETS2)DatacommunicationscompanyDistributionnetwork operatorSettlementadministratorConsumer1Collect half-hourlyreads2Validate andestimate3Aggregate bysupplier4Calculatesettlement volumes5Publish consumptionto appD1Meter and tariffregisterD2Half-hourly readstoreD3Estimation auditD4Settlement runshalf-hourly register readsread request (DCC adapter)raw half-hourly readscommissioning recordMPAN + meter configurationraw readsoutage and de-energisation no…estimation reason codeestimated volume flagsvalidated readssupplier aggregateaggregated volumessettlement volumesconsumer half-hourly seriestariff and meter detailsusage and cost breakdownsigned read payloadvalidated readsreconciliation run resultreconciled positiontariff comparison request5 entities · 5 processes · 4 stores · 21 flows · 8 boundary crossingsCrossing — “half-hourly register reads”: Domestic meter (SMETS2) (Consumer premises) → Collect half-hourly reads (Regulated dat…Crossing — “raw half-hourly reads”: Collect half-hourly reads (Regulated data network) → Half-hourly read store (Supplier platf…Crossing — “commissioning record”: Collect half-hourly reads (Regulated data network) → Meter and tariff register (Supplier pla…Crossing — “outage and de-energisation notices”: Distribution network operator (Industry systems) → Validate and estimate (Supp…Crossing — “settlement volumes”: Calculate settlement volumes (Supplier platform) → Settlement administrator (Industry systems).Crossing — “reconciliation run result”: Settlement administrator (Industry systems) → Calculate settlement volumes (Supplier pl…Crossing — “tariff comparison request”: Consumer (Consumer premises) → Publish consumption to app (Supplier platform).Crossing — “usage and cost breakdown”: Publish consumption to app (Supplier platform) → Consumer (Consumer premises).

Make it your own.

title "Smart meter data — half-hourly settlement"
level 1

entity "Domestic meter (SMETS2)"
entity "Data communications company"
entity "Distribution network operator"
entity "Settlement administrator"
entity Consumer

process 1 "Collect half-hourly reads"
process 2 "Validate and estimate"
process 3 "Aggregate by supplier"
process 4 "Calculate settlement volumes"
process 5 "Publish consumption to app"

store D1 "Meter and tariff register"
store D2 "Half-hourly read store"
store D3 "Estimation audit"
store D4 "Settlement runs"

boundary "Consumer premises" { "Domestic meter (SMETS2)", Consumer }
boundary "Regulated data network" { "Data communications company", 1 }
boundary "Supplier platform" { 2, 3, 4, 5, D1, D2, D3, D4 }
boundary "Industry systems" { "Settlement administrator", "Distribution network operator" }

"Domestic meter (SMETS2)" -> 1 : "half-hourly register reads"
1 -> "Data communications company" : "read request (DCC adapter)"
"Data communications company" -> 1 : "signed read payload"
1 -> D2 : "raw half-hourly reads"
1 -> D1 : "commissioning record"
D1 -> 2 : "MPAN + meter configuration"
D2 -> 2 : "raw reads"
"Distribution network operator" -> 2 : "outage and de-energisation notices"
2 -> D2 : "validated reads"
2 -> D3 : "estimation reason code"
D3 -> 3 : "estimated volume flags"
D2 -> 3 : "validated reads"
3 -> D4 : "supplier aggregate"
D4 -> 4 : "aggregated volumes"
4 -> "Settlement administrator" : "settlement volumes"
"Settlement administrator" -> 4 : "reconciliation run result"
4 -> D4 : "reconciled position"
D2 -> 5 : "consumer half-hourly series"
D1 -> 5 : "tariff and meter details"
Consumer -> 5 : "tariff comparison request"
5 -> Consumer : "usage and cost breakdown"