Skip to main content

InvoiceDocument

Struct InvoiceDocument 

Source
pub struct InvoiceDocument {
    pub settlement: SettlementResult,
    pub pid: u32,
    pub rechnungsnummer: String,
    pub correction_of: Option<String>,
    pub invoice_date: Date,
    pub due_date: Date,
}
Expand description

A settlement presented as an invoice.

Everything here is a property of the document rather than of the calculation: an invoice number, the dates it was issued and falls due, the Prüfidentifikator that routes it, and the reference to whatever it corrects. None of it affects what is owed.

Built by an adapter around a SettlementResult; the engine never produces one, which is why the engine can be run without inventing an invoice number.

Fields§

§settlement: SettlementResult

What the document presents.

§pid: u32

BDEW Prüfidentifikator.

§rechnungsnummer: String

Unique invoice reference.

§correction_of: Option<String>

The rechnungsnummer this corrects, if any.

§invoice_date: Date

Issue date.

§due_date: Date

Payment due date (Zahlungsziel, §271 BGB).

Implementations§

Source§

impl InvoiceDocument

Source

pub fn numbered_positions( &self, ) -> impl Iterator<Item = (u32, &SettlementPosition)>

Positions paired with their 1-based document numbers.

Numbering is assigned here, at rendering time, rather than carried through the calculation as mutable state.

Trait Implementations§

Source§

impl Clone for InvoiceDocument

Source§

fn clone(&self) -> InvoiceDocument

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 InvoiceDocument

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Serialize for InvoiceDocument

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. 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.