Internal billing, product and industry notes for MHHS. Plain steps for common issue so we can fix it.
MHHS is the biggest electricity industry change in about 30 years. Every electricity customer moves to half-hourly settlement so we can use actual half-hourly data instead of estimates.
It is driven by Ofgem and implemented by Elexon. Industry savings are estimated between £1.6bn and £4.5bn by 2045.
The big rule: MHHS affects electricity only. Gas processes stay the same.
Consent for half-hourly data moves from opt-in to opt-out. Billing fundamentals stay the same. Most changes are back-end, like how estimates are produced and D0086 being replaced by IF-041 or D0010.
Octopus Energy migration started 22 October and is expected to last about 18 months. Aim is the full portfolio by June 2026. E.ON Next is migrating at the same time.
All UK electricity customers will eventually migrate, no matter the supplier. You will work accounts in two worlds at once: MHHS and Legacy.
| Old | New |
|---|---|
| Data Collector (DC) and Data Aggregator (DA) | Data Service (DS). Split into ADS, SDS and UMSDS |
| Meter Operator (MOP) | Meter Operator Agent (MOA). Split into MSA, MSS and UMSO |
| Distribution Network Operator (DNO) | Licensed Distribution System Operator (LDSO) |
| New | REGS is the Registration Service. It holds definitive MPAN standing data |
| ECOES | EES is the Electricity Enquiry Service. It is basically ECOES |
| New | DIP is the Data Integration Platform. It brokers the new message flows |
Five things to remember
PUB-006.D0367 is gone. Do not use it for 1 rate to 2 rate changes.#temp-MHHS-migration-help.What the issue is
Kraken can show an MHHS flag on accounts that have not migrated. Do not trust the flag alone.
What to think
ECOES is the source of truth. DIP messages on Kraken only show the last 30 days unless you change the date filter. IF messages are sent by us. PUB messages are received by us.
What to do
PUB-002 in DIP Messages. Other onboarding still sits in the usual flows section.Energy specialists sometimes ask for an MPAN to be migrated early. MPANs are selected on set criteria. We cannot add one into a run early unless maybe it is Ombudsman or an 8 week complaint but check with chappy. Registration issues when someone tries to sign a new connection up as a change of supplier should go to that specialist's Industry Pro or Master.
Each card is the same shape. What the issue is. What to think. How to fix it. Use the buttons to copy a Slack raise, copy the steps, or email an update.
Open one card at a time. Do the numbered steps in order. If a step is not possible, use Slack or Gmail at the bottom of that card.
What the issue is
You want to book a metering job, book siteworks, appoint an agent or make certain metering changes.
What to think
Those actions are blocked while migration is in progress. Same rule if Export is migrated but Import is still migrating or not migrated. Both MPANs need to be on the same arrangement.
How to fix it
#temp-MHHS-migration-help with the MPAN, effective date and what you tried to book.What the issue is
Processes shows Failed, or the effective date has passed, or you see Backfill Time Slot for Electricity Meter Registers or Backfill Time Slot for Estimate Annual Consumptions (EACs).
What to think
If ECOES already says Migrated, the problem is only on Kraken. Failed backfill is often a mismatch between SSC and TPRs on the current or a previous meter period. If Measurement Class is F you cannot amend PC or SSC yourself.
How to fix it
#temp-MHHS-migration-help with the failed step name.What the issue is
You send D0052, D0205, D0019 or D0367 and it rejects.
What to think
Those flows are no longer used the same way. D0367 no longer exists. Some flows are still kept, like D0225 for PSR, D0302 for customer details and D0381 for address updates.
How to fix it
#temp-MHHS-migration-help with the flow name and MPAN.What the issue is
Customer wants 2R to 1R or 1R to 2R. You cannot use D0367.
What to think
Memory trick: Bill. Amend. Issue tariff. Slack.
What to do
2R to 1R
#temp-MHHS-migration-help and ask them to edit the registers1R to 2R
#temp-MHHS-migration-help and ask them to edit the registersFor Eco 7 you can use the flat rate option so billing looks single rate while the meter stays 2 rate.
What the issue is
They need a manual reader on an MHHS electricity MPAN, or an appointment booked before migration is now after the migration date.
What to think
We do not currently hold contracts with MHHS agents to attend and read the meter. Gas is unchanged. If the appointment was booked before the migration date and the date has now passed, the job will fail or sit blocked.
How to fix it
What the issue is
Customer opted in but it does not work, or they cannot opt in.
What to think
Domestic Indicator or DPI is wrong. Kraken may show Domestic = No. ECOES may show Commercial. The system thinks it is a business account.
How to fix it
#temp-MHHS-migration-help and ask for the DPI update on Kraken and ECOES.What the issue is
Quote on the website fails.
What to think
Same DPI problem as Octoplus.
How to fix it
#temp-MHHS-migration-help.What the issue is
Kraken will not let you request a new In-Home Display.
What to think
The form wants 3 months of validated D0010s. MHHS smart meters send IF-041 instead, so Kraken thinks the history is missing.
How to fix it
What the issue is
Customer needs a new connection install, or a new connection MPAN is stuck de-energised.
What to think
Send them to the Octopus new connections webpage so the request goes to OES. New connections default to de-energised because there are no meter details on ECOES yet. Both MS and DS need to be appointed. Both Import and Export need to be MHHS before MS can issue updates.
What to do
PUB-006 for MTDs or PUB-008 for energisation only. If PUB-008 never arrives you may need a KMT update.What the issue is
Switch is rejected, or MS cannot update energisation status.
What to think
ECOES RMP status is Created instead of Operational. A Created MPAN can only be taken over when there is no current supplier.
How to fix it
#temp-MHHS-migration-help.What the issue is
You need to energise or de-energise. Old D0205 is not the way any more.
What to think
The Metering Service makes the change. Check ECOES against Kraken first so you know if both need updating.
How to fix it
PUB-008. That is the energisation status flow. IF-025 is the new D0205 request.#temp-MHHS-migration-help for a KMT status fix.What the issue is
You need to enrol export.
What to think
Same steps as the old world. Choose NHH Export New Connections Domestic. Set Consent granularity to Half-Hourly Consent Granted unless the customer said otherwise. It will show De-energised until a meter appears. That is expected.
How to fix it
What the issue is
Export is enrolled. There is no Metering Service and no Data Service.
What to think
Often DPI is No, Unknown or Commercial.
How to fix it
#temp-MHHS-migration-help and ask for that update.What the issue is
You need Meter Technical Details updated.
What to think
Process is the same. You still request through OES. The flow you watch for is different.
What to do
PUB-006.What the issue is
OESL marked the MTD request complete. You still cannot add or pull readings for the new meter.
What to think
MHHS sent PUB-006. Kraken still wants registers populated for billing even though MHHS itself does not need PC, SSC and so on in the old way.
What to do
#temp-MHHS-migration-help and ask for registers to be added in KMT.What the issue is
You cannot bill or pull a reading.
What to think
There is no time slot telling the meter which times and registers to use.
What to do
#temp-MHHS-migration-help and ask for the time slot group to be added.SSC_0151_TPR_00043.What the issue is
Bill or pull reading fails.
What to think
The Kraken backend is missing the MHHS flag.
How to fix it
#temp-MHHS-migration-help so they can set the backend flag.What the issue is
Bill or pull reading fails with Electricity Meter has no Smart Import electricity meter.
What to think
Required MHHS backend flag is missing. This should now be fixed for most accounts.
How to fix it
#temp-MHHS-migration-help.What the issue is
Drive Pack will not bill.
What to think
Known Kraken bug on the sub meter part of billing. A small number of Drive Pack accounts were migrated in December. Most of these products are currently unbillable under MHHS. New Drive Pack accounts are not being migrated until it is fixed.
What to do
What the issue is
You need to disconnect an MPAN, including Eco 10.
What to think
The process is unchanged. Follow the existing disconnection article.
What to do
D0125 work completed, for example meter removedD0352 two week warningD0171 final outcomeWhat the issue is
You need to know if a CoS reading dispute is valid.
What to think
MHHS is electricity only. Gas disputes stay the same. Right now Cos Gains still land in the legacy world. That is temporary.
What to do
PUB-041. Traditional meters use D0010.What the issue is
You need to know which reading flows still exist.
What to think
What the customer sees has not changed. Smart meters still send automatically. Estimates and actuals still work the same way for the customer.
What to do
Still used D0004 failure to obtain a reading for Advanced and Traditional. D0010 regular reading for Advanced and Traditional. It also replaces D0086. D0300 disputed or missing CoS readings.
Gone D0071, D0086, D0291.
New IF-041 registered reading for Advanced and Smart. Can be a cumulative reading or a single register reading.
How validation is sent:
Estimated readings do not go to the data service for validation. Checks include correct MSN, no negative consumption and no zero consumption. If something fails, the data service fills the half-hourly periods with estimated consumption instead of just rejecting the read. That data is called UTC Period Level Consumption Data.
What the issue is
No Metering Service, or the appointment was rejected.
What to think
Once PUB-036 is in, you can tidy the contract in KMT under Electricity Agent Contract. Contact Status should be Accepted. Response reason is Accepted for Import and ALG for Export.
What to do
What the issue is
No Data Service. Change of Service often fails because Kraken cannot identify the DPI.
What to think
Set domestic yes if it is a home. Set no if it is business. Consent granularity is Half-Hourly for smart, including when no meter is installed yet. No Consent for traditional meters. MDR is not needed if LINK is the DS. For other DS agents like UKDC, MDR is required and repeats the agent MPID.
What to do
What to think
What the issue is
Often a new export sharing MTDs with import. Or related MPANs.
What to think
LDSOs have now de-linked import and export, so you can appoint MS and DS on export without waiting for import. For related MPANs only the primary needs to migrate. You will see agent appointments on the secondary but no migration process.
What to do
What the issue is
Energy specialist cannot book a metering appointment even though migration looks done.
What to think
Once migration is complete there is no reason the booking itself should stay blocked. This usually means another error is still sitting on the account.
What to do
What the issue is
MHHS MTDs do not contain registers, so Kraken does not create them automatically when the meter arrives.
What to do
What to think
Active contracts for CT installs: SWEB, UKDC and UPLD. If the customer has their own agent contract, they need to give you the contract refs before you issue flows.
What to do
#Ct-metering-domestic or #help-connection.What the issue is
PUB-006 can arrive as MeterInstall, MeterRemoval, MeterExchange, MeterUpdate or MeterHistoryUpdate. If the code is MeterHistoryUpdate, Kraken ignores the flow. That happens when MTDs are effective from before the migration date or the MS appointment date.
What to do
What the issue is
PUB-040 can send bad annual consumption because MHHS ignores historic D0019 data. Kraken usually overrides these, but some slip through.
What to do
What the issue is
Error says Electricity Meter has no Smart Import electricity meter, or Register is not MHHS enabled.
What to do
What the issue is
PSR update fails. The MPAN needs both MS and DS appointed. Missing DS is the usual one.
What to do
What the issue is
CSS rejection on a new connection. Error 1069. The LDSO system does not hold the new MPAN yet. Updating ECOES alone is not enough.
What to do
What to do
What to think
A process only runs end to end once. If a step fails you must pick the right action.
What to do
What to do
#temp-MHHS-migration-help.#mhhs-help-channel-support.What the issue is
MS or DS is missing, or you think you need a change of agent.
What to think
We normally use one MS (OES) and one DS (Kraken or Link). You should not be changing agent unless the property changes market segment, like Advanced to Smart. CoS agent changes happen with the new supplier and are not actioned by energy specialists.
What to do
#temp-MHHS-migration-help.What the issue is
Meters look crossed.
What to think
Work them the same way as today. MTD updates work the same way too.
What to do
What to look for
IF-031 request appointment of MHHS agentsPUB-032 REGS confirms receipt of IF-031PUB-035 agent acceptsPUB-036 formal appointment confirmationPUB-041 validated reading. Replaces D0086. Shows as MHHS with a small bus iconPUB-006 smart segment meter technical detailsPUB-008 energisation statusPUB-021 half-hourly consumption dataPUB-002 new switch into usD0268 advanced meter technical detailsIF-025 the new D0205IF-041 registered reading for Advanced and SmartD0151 means legacy MOP, DA and DC are terminated| If you see | Think | Fix |
|---|---|---|
| MHHS flag | Check ECOES | ECOES is the source check |
| Migration in progress | Cannot book jobs | Wait for migration |
| Migration failed | Kraken process issue | MHHS help Slack |
| D0367 rejected | Old flow | Use the 1R / 2R process |
| Meter reading appointment | MHHS electricity | Cannot currently book |
| Octoplus will not work | DPI wrong | Help channel, update DPI |
| Heat pump quote fails | DPI wrong | Help channel, update DPI |
| IHD blocked | Missing D0010s | No current fix |
| RMP = Created | New connection | Appoint DS |
| Export missing MS or DS | DPI issue | Help channel, update DPI |
| MTD update | Look for PUB-006 | Normal MTD process |
| Missing MTD after exchange | PUB-006 received | Ask help to add registers |
| Missing timeslot group | Billing setup | MHHS help |
| Register not MHHS enabled | Backend flag missing | MHHS help |
| No import smart meter | Backend flag missing | MHHS help |
| Unable to bill Drive Pack | Kraken bug | Flag off, bill, flag back. Await full fix |
| PSR will not update | Missing MS or DS | Appoint agents first |
| RMP for MPxN could not be found | LDSO record missing | SDEP the LDSO then resubmit |
| PUB-006 ignored | MeterHistoryUpdate | Add the meter in Django |
| Weird AC values | PUB-040 | Create or Delete AC jobs. Fix EAC first |
| D0052 / D0205 / D0019 rejected | Old flow | Do not retry. Use the new process |
| Cannot book siteworks while migrating | Blocked until done | Wait. If date passed, Slack |
| Export migrated, import not | Mixed arrangement | Jobs stay blocked until both match |
| PUB-002 in DIP | New switch | Normal. Other onboarding still in flows |
| IF-031 then PUB-032 / 035 / 036 | Agent appointment path | 036 means appointed |
| Three D0151s | Old agents ended | Legacy MOP DA DC terminated |
| PUB-041 with bus icon | MHHS validated read | Replaces D0086 on migration date |
| New connection de-energised | No meter on ECOES yet | Appoint MS and DS then energise |
| CSS error 1069 | LDSO has no MPAN | SDEP LDSO then resubmit |
| Meter installed, no registers | MHHS MTDs have no registers | Create registers in KMT |
| Cannot book NSMR after migrate | Another error on account | If PUB-036 and ECOES ok, book outside siteworks |
| Missing MS | Need appointment | MHHS dropdown Appoint metering service |
| Missing DS | Often bad DPI | Fix DPI then appoint DS |
| Which scenario: CoS / MCA / CoMS | Date and meter type | MCA only if migration date is future |
| Related MPANs | Only primary migrates | May need meter end date tweak |
| IHD request blocked | Wants 3 months of D0010s | No workaround. Do not promise one |
| Manual meter reader on MHHS elec | No MHHS read contract | Be honest. Gas is fine |
| 1R to 2R or 2R to 1R | D0367 is gone | Bill. Amend. Issue tariff. Slack |
| Eco 7 wants single rate bill | Meter can stay 2 rate | Use flat rate option |
| CT install | Need the right agent | SWEB UKDC UPLD or #Ct-metering-domestic |
| PSR update fails | MS or DS missing | Appoint agents then resend |
| Process stuck | Do not cancel steps | Restart after a job. Progress parent to refresh |
| Cancel only when | Failed agent appointment | Cancel old then create new appointment |
| D0004 / D0010 still exist | Traditional and Advanced | D0010 also replaces D0086 |
| IF-041 | New registered read | Smart auto and Advanced manual |
| D0071 D0086 D0291 | Gone under MHHS | Do not chase those |
| MHHS to MHHS dispute | No D0086 | Reject a D86 dispute |
| Lose MHHS to legacy supplier | We send D10 with Y | They get their own D86. Do not chase ours |
| Electricity only | Gas unchanged | Do not apply MHHS rules to gas |
| DIP only last 30 days | Date filter | Widen the date range |
| IF vs PUB | Direction | IF we send. PUB we receive |
| Help channel | #temp-MHHS-migration-help | Oldest first. Click Investigating |
One line version
Check ECOES. Work out if it is migrated or migrating. Name the exact error. Follow the card above. If it is a known Kraken or industry issue, raise in #temp-MHHS-migration-help.