Skip to content
Data flow diagram templates

DFD — Smart Metering (AMI)

Half-hourly meter reads travelling from the home area network through the DCC wide-area network into head-end validation, settlement and billing, with four network segments as trust zones and 9 crossings between them.

Template previewData flow diagram
Smart metering — meter to billLEVEL 1Home area networkDCC wide-area networkHead-end + MDMBilling platformSmart meter(SMETS2)In-home displayData commscompanyCustomerSettlement agency1Collect half-hourlyreads2Validate andestimate3Aggregate forsettlement4Rate and bill5Serve usage app6Apply tariff switchD1Raw interval readsD2Validated readsD3Tariff catalogueD4Billing ledger48 reads/daydevice credentialsraw register valuesreads + status flagsvalidated kWhsettlement volumesBM unit aggregatebillable kWhinvoice linemonthly billbalance + spend to dateusage graphtariff + spend pushtariff switch requestnew tariff assignmentunit rate + standing chargeapp login5 entities · 6 processes · 4 stores · 17 flows · 9 boundary crossingsCrossing — “48 reads/day”: Smart meter (SMETS2) (Home area network) → Collect half-hourly reads (DCC wide-area network).Crossing — “raw register values”: Collect half-hourly reads (DCC wide-area network) → Raw interval reads (Head-end + MDM).Crossing — “BM unit aggregate”: Aggregate for settlement (Head-end + MDM) → Settlement agency (outside).Crossing — “billable kWh”: Validated reads (Head-end + MDM) → Rate and bill (Billing platform).Crossing — “monthly bill”: Rate and bill (Billing platform) → Customer (outside).Crossing — “app login”: Customer (outside) → Serve usage app (Billing platform).Crossing — “usage graph”: Serve usage app (Billing platform) → Customer (outside).Crossing — “tariff + spend push”: Serve usage app (Billing platform) → In-home display (Home area network).Crossing — “tariff switch request”: Customer (outside) → Apply tariff switch (Billing platform).

Make it your own.

title "Smart metering — meter to bill"
level 1

entity "Smart meter (SMETS2)"
entity "In-home display"
entity "Data comms company"
entity Customer
entity "Settlement agency"

process 1 "Collect half-hourly reads"
process 2 "Validate and estimate"
process 3 "Aggregate for settlement"
process 4 "Rate and bill"
process 5 "Serve usage app"
process 6 "Apply tariff switch"

store D1 "Raw interval reads"
store D2 "Validated reads"
store D3 "Tariff catalogue"
store D4 "Billing ledger"

boundary "Home area network" { "Smart meter (SMETS2)", "In-home display" }
boundary "DCC wide-area network" { "Data comms company", 1 }
boundary "Head-end + MDM" { 2, 3, D1, D2 }
boundary "Billing platform" { 4, 5, 6, D3, D4 }

"Smart meter (SMETS2)" -> 1 : "48 reads/day"
"Data comms company" -> 1 : "device credentials"
1 -> D1 : "raw register values"
D1 -> 2 : "reads + status flags"
2 -> D2 : "validated kWh"
D2 -> 3 : "settlement volumes"
3 -> "Settlement agency" : "BM unit aggregate"
D2 -> 4 : "billable kWh"
D3 -> 4 : "unit rate + standing charge"
4 -> D4 : "invoice line"
4 -> Customer : "monthly bill"
D4 -> 5 : "balance + spend to date"
Customer -> 5 : "app login"
5 -> Customer : "usage graph"
5 -> "In-home display" : "tariff + spend push"
Customer -> 6 : "tariff switch request"
6 -> D3 : "new tariff assignment"