pub struct NneInput {Show 20 fields
pub malo_id: String,
pub nb_mp_id: String,
pub lf_mp_id: String,
pub rechnungsnummer: String,
pub period_from: Date,
pub period_to: Date,
pub invoice_date: Date,
pub due_date: Date,
pub arbeitsmenge_kwh: Decimal,
pub arbeitspreis_ct_per_kwh: Decimal,
pub arbeitsmenge_ht_kwh: Option<Decimal>,
pub arbeitspreis_ht_ct_per_kwh: Option<Decimal>,
pub arbeitsmenge_nt_kwh: Option<Decimal>,
pub arbeitspreis_nt_ct_per_kwh: Option<Decimal>,
pub spitzenleistung_kw: Option<Decimal>,
pub leistungspreis_eur_per_kw: Option<Decimal>,
pub ka_satz_ct_per_kwh: Option<Decimal>,
pub tariff_sheet_id: Option<String>,
pub sparte: Sparte,
pub ka_klasse: Option<KaKlasse>,
}Expand description
Input for NNE (Netznutzungsentgelt) invoice calculation.
Covers:
- PID 31001 — NNE Strom (NB → LF, monthly network usage billing)
- PID 31005 — NNE Gas (NB → LF, monthly gas network usage billing)
For RLM (Leistungsmessung) meters:
- Set
spitzenleistung_kwto the peak demand in kW. - Set
leistungspreis_eur_per_kwto the published tariff.
For SLP meters:
- Leave both fields as
None(Arbeitspreisanteil only).
For §14a Modul 2 time-variable NNE (BNetzA BK6-22-300):
- Set
arbeitsmenge_ht_kwh+arbeitspreis_ht_ct_per_kwhfor Hochlast periods. - Set
arbeitsmenge_nt_kwh+arbeitspreis_nt_ct_per_kwhfor Niedertarif periods. - Leave
arbeitsmenge_kwh/arbeitspreis_ct_per_kwhas the base fallback.
For Gas:
- The
arbeitsmenge_kwhshould already be converted from m³ usingbrennwert × zustandszahlbefore being supplied here. (mako-edmMeterBillingPeriod.arbeitsmenge_kwhcarries this converted value.)
Fields§
§malo_id: String11-digit Marktlokations-ID.
nb_mp_id: StringInvoice sender — Netzbetreiber or Gasnetzbetreiber MP-ID.
lf_mp_id: StringInvoice recipient — Lieferant MP-ID.
rechnungsnummer: StringUnique invoice number (operator-generated).
period_from: DateStart of billing period (inclusive, German local date).
period_to: DateEnd of billing period (inclusive, German local date).
invoice_date: DateInvoice issue date.
due_date: DatePayment due date (Zahlungsziel).
arbeitsmenge_kwh: DecimalTotal energy consumption in kWh for the billing period.
For Gas: already converted from m³ (brennwert × zustandszahl × volume). Used when HT/NT split is not available (SLP, Gas, or pre-§14a deployments).
arbeitspreis_ct_per_kwh: DecimalPublished NNE Arbeitspreis in ct/kWh (from PreisblattNetznutzung).
Used as the single Arbeit rate when HT/NT split is absent.
arbeitsmenge_ht_kwh: Option<Decimal>Hochlast (HT) consumption in kWh — §14a Modul 2 periods (higher-price band).
None when ToU metering is not configured for this MaLo.
arbeitspreis_ht_ct_per_kwh: Option<Decimal>HT Arbeitspreis in ct/kWh (from PreisblattNetznutzung.zeitvariablePreispositionen).
Required when arbeitsmenge_ht_kwh is set.
arbeitsmenge_nt_kwh: Option<Decimal>Niedertarif (NT) consumption in kWh — §14a Modul 2 off-peak periods.
None when ToU metering is not configured for this MaLo.
arbeitspreis_nt_ct_per_kwh: Option<Decimal>NT Arbeitspreis in ct/kWh (from PreisblattNetznutzung.zeitvariablePreispositionen).
Required when arbeitsmenge_nt_kwh is set.
spitzenleistung_kw: Option<Decimal>Peak demand in kW (spitzenleistung_kw from MeterBillingPeriod).
None for SLP meters and Gas MaLos.
leistungspreis_eur_per_kw: Option<Decimal>Published NNE Leistungspreis in EUR/kW (from PreisblattNetznutzung).
None when spitzenleistung_kw is None.
ka_satz_ct_per_kwh: Option<Decimal>Published Konzessionsabgabe rate in ct/kWh (from PreisblattKonzessionsabgabe).
None when KA does not apply (Gas or exempt customer class).
tariff_sheet_id: Option<String>Optional tariff sheet identifier for audit tracing.
When set, each position’s trace.tariff_source references this sheet.
sparte: SparteCommodity — drives legal references (StromNEV vs GasNEV) and SettlementType.
Sparte::Strom(default) →StromNEV §21Arbeit,StromNEV §17Leistung,SettlementType::NneStromSparte::Gas→GasNEV §14,SettlementType::NneGas
ka_klasse: Option<KaKlasse>KAV rate class applied to this metering point.
Included in the calculation trace for KA positions so auditors can verify
the rate matches the correct KAV §2 tier. None when KA is absent.