pub enum BillingPositionKind {
Show 25 variants
NneAbschlag,
NneArbeit,
NneArbeitHt,
NneArbeitSt,
NneArbeitNt,
NneArbeitModul1,
NneArbeitModul2,
NneArbeitModul3,
NneLeistung,
NneGasGrundpreis,
Konzessionsabgabe,
Mehrmenge,
Mindermenge,
MsbGrundgebuehr,
Messdienstleistung,
GasAwhSperrung,
GasAwhEntsprrung,
GasAwhSonstige,
Blindmehrarbeit,
Sect19StromNevUmlage,
OffshoreNetzumlage,
KwkgUmlage,
DezentraleEinspeisung,
Sect19IndividuellesEntgelt,
GasKapazitaetsentgelt,
}Expand description
Semantic kind of a billing position — used by the service layer to derive
the correct BdewArtikelnummer for the BO4E Rechnungsposition.
grid-billing has no rubo4e dependency, so this enum is the bridge:
the service layer maps BillingPositionKind → BdewArtikelnummer in
into_rechnung(). Every position in every SettlementResult must carry
a kind so the INVOIC Rechnungsposition.artikelnummer is never missing.
§BDEW INVOIC AHB requirement
BDEW INVOIC AHBs (FV2025-10-01) mandate artikelnummer in every
SG28 PIA line item. Missing or wrong Artikelnummern cause counterparty
APERAK rejection. The invoic-checker checks 6 plausibility rules;
Artikelnummer matching is part of the tariff-found rule (check 5).
§Mapping to BdewArtikelnummer
BillingPositionKind | BdewArtikelnummer | INVOIC AHB ref |
|---|---|---|
NneArbeit | Wirkarbeit | PID 31002 (NN-Rechnung) Arbeit |
NneArbeitHt | Wirkarbeit | PID 31002 §14a Modul 3 HT |
NneArbeitSt | Wirkarbeit | PID 31002 §14a Modul 3 ST |
NneArbeitNt | Wirkarbeit | PID 31002 §14a Modul 3 NT |
NneArbeitModul2 | Wirkarbeit | PID 31002 §14a Modul 2 (rate reduced) |
NneArbeitModul1 | Wirkarbeit | PID 31002 §14a Modul 1 (rate reduced) |
NneLeistung | Leistung | PID 31002 RLM kW charge |
NneGasGrundpreis | Grundpreis | PID 31002 Gas monthly base fee |
Konzessionsabgabe | Konzessionsabgabe | PID 31002 KAV §2 |
Mehrmenge | Mehrmenge | PID 31005 positive imbalance |
Mindermenge | Mindermenge | PID 31005 negative imbalance (credit) |
MsbGrundgebuehr | EntgeltEinbauBetriebWartungMesstechnik | PID 31009 MSB monthly fee |
Messdienstleistung | EntgeltMessungAblesung | PID 31009 reading service |
GasAwhSperrung | Sperrkosten | PID 31011 AWH disconnection |
GasAwhEntsprrung | Entsperrkosten | PID 31011 AWH reconnection |
GasAwhSonstige | EntgeltAbrechnung | PID 31011 other AWH |
Blindmehrarbeit | Blindmehrarbeit | Reactive energy excess |
Variants§
NneAbschlag
The single line of an Abschlagsrechnung — a payment on account.
Carries an amount and nothing else: no quantity, no unit price, because an Abschlag prices no energy. What it is for is the delivery period on the settlement.
NneArbeit
Netznutzungsentgelt Arbeit — flat-rate active energy charge (kWh).
SLP or Gas. → BdewArtikelnummer::Wirkarbeit
NneArbeitHt
§14a Modul 3 Hochtarif (HT) Arbeit — zeitvariables Netzentgelt, high band.
→ BdewArtikelnummer::Wirkarbeit
NneArbeitSt
§14a Modul 3 Standardtarif (ST) Arbeit — zeitvariables Netzentgelt, middle band.
→ BdewArtikelnummer::Wirkarbeit
NneArbeitNt
§14a Modul 3 Niedertarif (NT) Arbeit — zeitvariables Netzentgelt, low band.
→ BdewArtikelnummer::Wirkarbeit
NneArbeitModul1
§14a Modul 1 Arbeit — pauschale Reduzierung applied to the Arbeitspreis.
→ BdewArtikelnummer::Wirkarbeit (same article, different rate)
NneArbeitModul2
§14a Modul 2 Arbeit — prozentuale Reduzierung of the device’s Arbeitspreis.
→ BdewArtikelnummer::Wirkarbeit (same article, different rate)
NneArbeitModul3
§14a Modul 3 Spotpreis-NNE — per-dispatch-interval variable rate position.
One InvoicePosition is generated per dispatch interval from
NneInput::sect14a_modul3_intervals. Each carries a
lastvariable_preisposition_json with the BO4E LastvariablePreisposition
COM data (pricing formula parameters) for ERP-side validation and portal
display of the per-interval tariff breakdown.
Regulatory basis: BNetzA BK6-22-300 Anlage 2 §3 — Spotpreis-Netzentgelt.
→ BdewArtikelnummer::Wirkarbeit
NneLeistung
Netznutzungsentgelt Leistung — RLM peak demand charge (kW).
→ BdewArtikelnummer::Leistung
NneGasGrundpreis
Gas NNE monthly base fee (Grundpreis / Verrechnungspreis).
GasNEV §14. → BdewArtikelnummer::Grundpreis
Konzessionsabgabe
Konzessionsabgabe — KAV §2 municipal concession fee.
→ BdewArtikelnummer::Konzessionsabgabe
Mehrmenge
Mehrmengen — positive imbalance (actual > profiled).
PID 31005 GPKE (BK6-24-174) Teil 1 Kap. 8.4 / GaBi Gas 2.1 (BK7-24-01-008). → BdewArtikelnummer::Mehrmenge
Mindermenge
Mindermengen — negative imbalance credit note (actual < profiled).
PID 31005. → BdewArtikelnummer::Mindermenge
MsbGrundgebuehr
MSB Grundgebühr Messstellenbetrieb — monthly metering base fee.
MsbG §§6–7. → BdewArtikelnummer::EntgeltEinbauBetriebWartungMesstechnik
Messdienstleistung
Messdienstleistung — periodic reading service fee.
MsbG §2. → BdewArtikelnummer::EntgeltMessungAblesung
GasAwhSperrung
Gas AWH Sperrung — abrechnungswürdige Handlung disconnection.
BK7-24-01-009 §5.4. → BdewArtikelnummer::Sperrkosten
GasAwhEntsprrung
Gas AWH Entsperrung — abrechnungswürdige Handlung reconnection.
BK7-24-01-009 §5.4. → BdewArtikelnummer::Entsperrkosten
GasAwhSonstige
Gas AWH sonstige — other abrechnungswürdige Handlung.
BK7-24-01-009 §5.4. → BdewArtikelnummer::EntgeltAbrechnung
Blindmehrarbeit
Blindmehrarbeit — reactive energy beyond the free share.
Charged from the Netzbetreiber’s published Preisblatt; StromNEV §17
governs how those Netzentgelte are formed. Not §18, which is the
Entgelt für dezentrale Erzeugung, and not §19, which is Sonderformen der
Netznutzung. → BdewArtikelnummer::Blindmehrarbeit
Sect19StromNevUmlage
Aufschlag für besondere Netznutzung (§19 StromNEV-Umlage).
Funds the reduced individual network charges granted under §19 Abs. 2 StromNEV. Rate depends on the Letztverbrauchergruppe (EnFG).
OffshoreNetzumlage
Offshore-Netzumlage (§17f EnWG).
Funds offshore connection cost and the compensation owed to offshore wind farms for unavailable connections.
KwkgUmlage
KWKG-Umlage (§26 KWKG).
Funds the KWK-Zuschlag paid to CHP operators.
DezentraleEinspeisung
Entgelt für dezentrale Erzeugung — §18 StromNEV, under Abschmelzung
(GBK-25-02-1#1). A payment out, so its net_eur is negative.
Sect19IndividuellesEntgelt
§19 Abs. 2 StromNEV individual-charge reduction over the Netzentgelt. Negative: it takes the published charge down to the agreed fraction.
GasKapazitaetsentgelt
Gas Kapazitätsentgelt — booked capacity at the price sheet’s annual rate, pro-rated over the period. §15 GasNEV.
Implementations§
Source§impl BillingPositionKind
impl BillingPositionKind
Sourcepub fn artikelnummer(
self,
settlement_type: SettlementType,
) -> Option<&'static str>
pub fn artikelnummer( self, settlement_type: SettlementType, ) -> Option<&'static str>
The BDEW Artikelnummer that codes this position, as its codelist name.
Which article number applies depends on both what was charged and what
kind of settlement it appears in — Gas NNE keeps the classic WIRKARBEIT
code, while Strom NNE moved to Artikel-IDs under BK6-20-160 and carries
no Artikelnummer at all.
Returned as the codelist name rather than a BO4E enum so that this
crate stays free of BO4E types. A consumer parses it into whatever it
renders — rubo4e::current::BdewArtikelnummer implements FromStr over
exactly these names.
None means the position carries an Artikel-ID instead, resolved from
the price sheet by the renderer.
Source: BDEW Codeliste der Artikelnummern und Artikel-IDs v5.6.
Trait Implementations§
Source§impl Clone for BillingPositionKind
impl Clone for BillingPositionKind
Source§fn clone(&self) -> BillingPositionKind
fn clone(&self) -> BillingPositionKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more