Skip to main content

MsbInput

Struct MsbInput 

Source
pub struct MsbInput {
    pub malo_id: String,
    pub nb_mp_id: String,
    pub msb_mp_id: String,
    pub period: SettlementPeriod,
    pub grundgebuehr_eur_per_month: Decimal,
    pub billing_months: u32,
    pub messdienstleistung_eur: Option<Decimal>,
    pub messstellen_kategorie: Option<MessstellenKategorie>,
    pub entgeltschuldner: Option<Entgeltschuldner>,
}
Expand description

Input for MSB (Messstellenbetreiber) invoice calculation.

Covers:

  • PID 31009 — MSB-Rechnung (NB → MSB, monthly metering service settlement)

The NB bills the MSB for the metering service period. Positions:

  1. Grundgebühr Messstellenbetrieb — flat monthly base fee × billing months.
  2. Messdienstleistung — optional per-period measurement service fee.

Fields§

§malo_id: String

11-digit Marktlokations-ID.

§nb_mp_id: String

Invoice sender — Netzbetreiber MP-ID.

§msb_mp_id: String

Invoice recipient — Messstellenbetreiber MP-ID.

§period: SettlementPeriod

The delivery period being settled.

§grundgebuehr_eur_per_month: Decimal

Grundgebühr Messstellenbetrieb in EUR/month (from PreisblattMessung).

§billing_months: u32

Number of full calendar months in the billing period.

§messdienstleistung_eur: Option<Decimal>

Optional Messdienstleistung flat fee in EUR for the full period.

None when the MSB provides only the meter, not a separate measurement service.

§messstellen_kategorie: Option<MessstellenKategorie>

Which §30 MsbG case this metering point falls under.

Fixes the Preisobergrenze the charge is checked against. None skips the check, which should be rare: a metering charge above the POG is an amount the customer is entitled to have refunded.

§entgeltschuldner: Option<Entgeltschuldner>

Whose share of the metering charge this settlement bills.

§30 MsbG splits the ceiling between the Netzbetreiber and the Letztverbraucher, so the applicable cap depends on who is being billed.

Trait Implementations§

Source§

impl Clone for MsbInput

Source§

fn clone(&self) -> MsbInput

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MsbInput

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.