pub struct Invoice {Show 13 fields
pub meta: Bo4eMeta,
pub invoice_number: Option<String>,
pub invoice_type: Option<InvoiceType>,
pub status: Option<InvoiceStatus>,
pub division: Option<Division>,
pub invoice_date: Option<NaiveDate>,
pub due_date: Option<NaiveDate>,
pub billing_period: Option<TimePeriod>,
pub net_amount: Option<Amount>,
pub tax_amount: Option<Amount>,
pub gross_amount: Option<Amount>,
pub positions: Vec<InvoicePosition>,
pub recipient: Option<Box<BusinessPartner>>,
}Expand description
An invoice for energy services.
German: Rechnung
§Example
use bo4e_core::bo::Invoice;
use bo4e_core::com::Amount;
use bo4e_core::enums::{InvoiceStatus, InvoiceType};
let invoice = Invoice {
invoice_number: Some("RE-2024-001234".to_string()),
invoice_type: Some(InvoiceType::EndCustomerInvoice),
status: Some(InvoiceStatus::CheckedOk),
gross_amount: Some(Amount::eur(1190.00)),
..Default::default()
};Fields§
§meta: Bo4eMetaBO4E metadata
invoice_number: Option<String>Invoice number (Rechnungsnummer)
invoice_type: Option<InvoiceType>Invoice type (Rechnungstyp)
status: Option<InvoiceStatus>Invoice status (Rechnungsstatus)
division: Option<Division>Energy division (Sparte)
invoice_date: Option<NaiveDate>Invoice date (Rechnungsdatum)
due_date: Option<NaiveDate>Due date (Faelligkeitsdatum)
billing_period: Option<TimePeriod>Billing period (Abrechnungszeitraum)
net_amount: Option<Amount>Net amount (Nettobetrag)
tax_amount: Option<Amount>Tax amount (Steuerbetrag)
gross_amount: Option<Amount>Gross amount (Bruttobetrag)
positions: Vec<InvoicePosition>Invoice line items (Rechnungspositionen)
recipient: Option<Box<BusinessPartner>>Invoice recipient (Rechnungsempfaenger)
Trait Implementations§
Source§impl Bo4eObject for Invoice
impl Bo4eObject for Invoice
Source§fn type_name_german() -> &'static str
fn type_name_german() -> &'static str
Returns the German type name as used in the
_typ field. Read moreSource§fn type_name_english() -> &'static str
fn type_name_english() -> &'static str
Returns the English type name. Read more
Source§impl<'de> Deserialize<'de> for Invoice
impl<'de> Deserialize<'de> for Invoice
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Invoice
Auto Trait Implementations§
impl Freeze for Invoice
impl RefUnwindSafe for Invoice
impl Send for Invoice
impl Sync for Invoice
impl Unpin for Invoice
impl UnwindSafe for Invoice
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more