Regulatory

BNetzA determinations, the Prüfidentifikator catalog, and the legal basis behind each process.

Regulatory

BDEW market role model and identifier formats, BNetzA ruling index (BK6 / BK7), business-level process catalog, APERAK Fristen, and the complete Prüfidentifikator (PID) reference covering all 17 EDI@Energy message types.

PageContent
Domain ModelParty roles (LF, NB, MSB, BKV, …), market objects (MaLo, MeLo, NeLo, NeBe), identifier formats, EDIFACT encoding
BNetzA Regulatory ReferenceBK6 / BK7 rulings, APERAK Fristen, process scopes
Process CatalogBusiness-level catalog of all MaKo processes — GPKE, WiM, GeLi Gas, MaBiS, Redispatch 2.0 — with message flows and implementation status
PID ReferenceComplete Prüfidentifikator table for all process families, including the DVGW gas transport PIDs

Regulatory framework coverage

graph LR
    BNetzA["BNetzA<br/>Rulings"]

    subgraph strom ["Strom frameworks"]
        BK6_24["BK6-24-174<br/>GPKE + MaBiS"]
        BK6_22["BK6-22-024<br/>LFW24 · GPKE Teil 2+4"]
        BK6_20["BK6-20-059/060/061<br/>Redispatch 2.0"]
    end

    subgraph gas ["Gas frameworks"]
        BK7_24["BK7-24-01-009<br/>GeLi Gas 3.0"]
        BK7_14["BK7-24-01-008<br/>GaBi Gas 2.1 (DVGW)"]
    end

    subgraph retail ["Retail / LF"]
        ENW41["§41 EnWG<br/>Preisgarantie · Kündigung"]
        EEG["EEG 2000–2023<br/>KWKG · 10 schemes"]
        SOLA["§42b EnWG<br/>GGV Solarpaket I"]
    end

    subgraph transport ["Transport & Metering"]
        AS4["AS4-Profil v1.2<br/>BrainpoolP256r1"]
        BSI["BSI TR-03109<br/>iMSys · §14a CLS"]
        MsbG["§ 60 Abs. 2 MsbG<br/>Plausibilisierung · Ersatzwert"]
        NNNEV["StromNEV/GasNEV/KAV<br/>Grid charges"]
    end

    BNetzA --> strom
    BNetzA --> gas

    BK6_24 -->|"mako-gpke<br/>mako-wim<br/>mako-mabis"| GPKE_impl["GPKE Teil 1–4<br/>WiM Strom · MaBiS"]
    BK7_24 -->|"mako-geli-gas<br/>mako-wim"| GAS_impl["GeLi Gas 3.0<br/>WiM Gas"]
    BK7_14 -->|"mako-gabi-gas<br/>dvgw-edi"| DVGW_impl["8 DVGW messages<br/>GaBi Gas 2.1"]
    ENW41 -->|"vertragd"| LF_impl["B2C/B2B contracts<br/>GDPR Art. 15/17/20"]
    EEG -->|"eeg-billing<br/>einsd"| EEG_impl["10 settlement schemes<br/>§14 UStG Gutschrift"]
    BSI -->|"metering<br/>edmd"| IOT_impl["SmgwSession<br/>ClsChannel"]
    MsbG -->|"metering<br/>edmd"| SUB_impl["V01–V09/V11/V12 validation<br/>Fill gaps · Forecast"]
    NNNEV -->|"grid-billing<br/>netzbilanzd"| NNE_impl["NNE/KA/MMM<br/>§14a Modul 1/2/3"]

Implemented regulatory frameworks

RegulationDomainImplementation
BK6-24-174 (GPKE Teil 1–3 + MaBiS, in force 06.06.2025)Strommako-gpke, mako-mabis
BK6-22-024 (GPKE Teil 4, WiM Teil 1/2)Strommako-gpke, mako-wim
BK6-22-024 (LFW24 — 24h-Lieferantenwechsel, §20a EnWG; re-issued GPKE Teil 2 + Teil 4, MPES absorbed into GPKE, in force 06.06.2025)Strommako-gpke
BK7-24-01-009 (GeLi Gas 3.0, BK7 Beschluss 12.09.2025)Gasmako-geli-gas, mako-wim
BK7-24-01-008 (GaBi Gas 2.1 — Kapazitätsabrechnung, DVGW)Gasmako-gabi-gas, dvgw-edi
PARTIN AHB 1.0f (Kommunikationsdaten Strom + Gas)Bothmako-gpke (37000–37006), mako-geli-gas (37008–37014)
§42b Abs. 5 EnWG (Solarpaket I — GGV Gemeinschaftliche Gebäudeversorgung)Strommetering crate (GgvConstantAllocation, GgvProportionalAllocation), edmd
Residuallast (ordinary supply, no special §)Strommetering crate (Residual rule), edmd
EEG 2000–2023 / KWKG (Feed-in settlement)Stromeeg-billing crate (10 schemes), einsd
§14 Abs. 2 UStG (Gutschriftverfahren — NB issues the EEG Gutschrift)Stromeeg-billing (settlement_to_gutschrift), einsd (rechnung_json)
§ 60 Abs. 2 MsbG (Plausibilisierung und Ersatzwertbildung im Smart-Meter-Gateway)Bothmetering crate (V01–V09/V11/V12 validation, fill_gaps), edmd
§ 40a Abs. 2 EnWG (Verbrauchsschätzung) · § 13 Abs. 1 StromGVV (Abschlagshöhe)Strommetering::project_annual_consumption, edmd /api/v1/forecast
BSI TR-03109 (iMSys / SMGW lifecycle, §14a CLS channels)Strommetering (SmgwSession, ClsChannel), edmd
StromNEV / GasNEV / KAV (grid charge settlement)Bothgrid-billing crate, netzbilanzd
§14a EnWG (Steuerbare Verbrauchseinrichtungen — Modul 1/2/3)Stromgrid-billing (Sect14aModule), processd (produktcode check, GPKE Teil 3 Kap. 1.3)
§41 EnWG (Vertragsinhalte, Abs. 5 Preisänderungs-Unterrichtung + Sonderkündigungsrecht) / §5 Abs. 2 StromGVV/GasGVV (6-Wochen-Frist)Bothvertragd
§41a EnWG (Dynamic tariffs — EPEX Spot day-ahead)Stromproductd (EPEX prices), billingd (§41a iMSys guard)
GDPR Art. 15/17/20 (data export, pseudonymization, portability)vertragd (/export, /anonymize), accountingd (/anonymize)
XRechnung 3.0 CII / PEPPOL UBL (EN 16931 e-invoice)billingd
BK6-20-059/060/061 (Redispatch 2.0)Strommako-redispatch (8 workflows), redispatch-xml (9 document types), makod (AS4 EDIFACT+XML ingest), grid-billing (§13a Vergütung)
BK6-23-241 (BilAReM, Beschluss 07.05.2026 — Planwert-/Prognosemodell, Kap.-3 Ausfallarbeit)Strommako-redispatch (bilarem model/migration + ausfallarbeit engine), grid-billing (bilarem_finanzielle_korrektur), netzbilanzd (compute endpoints)
§19 Abs. 2/3 StromNEV + BK8-25-003-A / GBK-25-01 (AgNeS, draft)Stromgrid-billing::regulatory (regime turnovers as dates; AgNeS-era Entgelt settlements are refused until the Rahmenfestlegung supplies parameters)
§20b EnWG (Netzzugangsplattform, G. v. 18.12.2025 — no Festlegung/API yet)Bothmakod (netzzugang.* commands, outbox-reliable sender + signed ERP-webhook fallback), marktd (netzzugang_antraege registry)
BDEW AS4-Profil v1.2 (BrainpoolP256r1, sign+encrypt, ECDH-ES AES128-GCM)mako-as4
§ 20 Abs. 1 S. 1 EnWG (diskriminierungsfreier Netzzugang) + § 6a / § 7a Abs. 5 EnWG (informatorische Entflechtung, Gleichbehandlungsbericht by 31 March)Bothobsd (GET /api/v1/audit/gleichbehandlung), Cedar ABAC
MsbG §29 Abs. 3 / BSI TR-03109-4 §6.3 (SMGW certificate expiry monitoring)Stromedmd daily cert-expiry worker — tiered 90/30/7-day de.messwert.smgw.cert.expiry-warning (dedup per tier); agentd smgw-diagnostics-agent escalates renewal

Format version coexistence. Format releases ship on a semi-annual cadence with per-message, fv-dated profiles — e.g. fv20260401 (binding from 01.04.2026) and fv20261001 (binding from 01.10.2026). The directory is named after the Anwendungszeitpunkt, which Allgemeine Festlegungen 6.1d §2.5 puts six months after the Publikationsdatum printed on the document: published 01.04., applies 01.10.; published 01.10., applies 01.04. of the next year. Multiple format versions coexist in the same running instance. A process started under an older format version continues under those rules until it completes — no data migration required.

PID coverage. cargo xtask validate-pruefids checks that every Prüfidentifikator the workspace registers has an .edi fixture behind it and that no fixture is orphaned. CI runs it with --strict --min-coverage 100, so the floor is full coverage and the command prints the count it reached.

Coverage is reported twice: total, and the curated subset. A synthetic gen/ fixture carries the Prüfidentifikator and nothing else the AHB marks Muss, so it evidences that the PID is registered — only a curated valid/ fixture, asserted clean by the conformance suite, evidences that mako reads the Anwendungsfall.