Starter contract

ofgem_meter_reading

16 rules · plain YAML · starts in observation mode

OpenDQV Cloud starter template (v0.1) — your tenant inherits this baseline. First customer edit creates v1.0 in your audit trail; pin by yaml_hash for replay. Energy meter reading record validation aligned with Ofgem Smart Metering Implementation Programme (SMIP), MOSL (Market Operator Services Limited) UK energy market standards, and UK Finance metering code of practice. Enforces MPAN (Meter Point Administration Number) 13-digit format for electricity and MPRN (Meter Point Reference Number) 6-10 digit format for gas, read type classification (actual/estimated/smart/customer), monotonic reading progression (current register must be >= previous), anomaly detection on consumption values, and supply type classification. Prevents billing disputes, energy theft masking, and Ofgem settlement system rejections caused by invalid meter identifiers or out-of-sequence readings.

These are starting points you own. Every rule below ships in the trial, starts in observation mode, and is yours to read, edit, or delete from day one. Rules that reference a lookup list (lookup_file) validate against reference data you control in your tenant.
Rules as at 29 August 2026 — starting points you own, not a maintained regulatory feed. We correct errors in these samples; tracking regulatory change in your active contracts is yours.
RuleFieldSeverityWhat it enforces (the message your team sees)
meter_id_requiredmeter_iderrormeter_id is required
mpan_formatmpanwarningmpan must be a 13-digit MPAN (Meter Point Administration Number). e.g. 1012345678900 — invalid MPANs are rejected by ECOES and DCC smart metering systems
mprn_formatmprnwarningmprn must be a 6-10 digit MPRN (Meter Point Reference Number) — invalid MPRNs cause Xoserve/UK Link gas data flow rejection
reading_date_formatreading_dateerrorreading_date must be a valid date (YYYY-MM-DD)
kwh_reading_minkwh_readingerrorkwh_reading must be >= 0
kwh_reading_anomalykwh_readingwarningkwh_reading exceeds 100,000 kWh — verify for meter rollover, unit error (Wh vs kWh), or data entry mistake. UK average annual household consumption is ~2,700 kWh.
current_reading_monotonickwh_readingerrorkwh_reading must be >= previous_reading — a lower current reading indicates meter rollover, meter replacement, or data entry error. All three cases must be resolved before Ofgem settlement submission.
read_type_valuesread_typeerrorread_type must be one of: actual, estimated, customer, smart, check, initial, final, corrected (Ofgem BSCP — estimated reads cannot be used for final billing settlement)
tariff_code_requiredtariff_codeerrortariff_code is required
customer_id_requiredcustomer_iderrorcustomer_id is required
supply_address_requiredsupply_addresserrorsupply_address is required
meter_type_requiredmeter_typeerrormeter_type is required
meter_type_validmeter_typeerrormeter_type must be one of: electricity, gas, heat, solar_export, ev_charger
reading_unit_validreading_uniterrorreading_unit must be one of: kWh, m3, MJ, kVArh, kW
supply_type_valuessupply_typewarningsupply_type must be one of: domestic, sme, i_c, micro_generation, unmetered (Ofgem BSC — i_c sites above 100 MWh/year require half-hourly settlement)
previous_reading_minprevious_readingerrorprevious_reading must be >= 0

Run your own data against this contract in the free trial — drop a CSV in the dashboard, no code, no credit card. Start free trial →