pub struct InvoiceLineItem {
pub id: Uuid,
pub expense_id: Uuid,
pub description: String,
pub quantity: f64,
pub unit_price: f64,
pub amount_excl_vat: f64,
pub vat_rate: f64,
pub vat_amount: f64,
pub amount_incl_vat: f64,
pub created_at: DateTime<Utc>,
}Expand description
Représente une ligne de facture détaillée Permet de décomposer une facture en plusieurs postes avec quantité et prix unitaire
Fields§
§id: Uuid§expense_id: Uuid§description: String§quantity: f64§unit_price: f64§amount_excl_vat: f64§vat_rate: f64§vat_amount: f64§amount_incl_vat: f64§created_at: DateTime<Utc>Implementations§
Source§impl InvoiceLineItem
impl InvoiceLineItem
pub fn new( expense_id: Uuid, description: String, quantity: f64, unit_price: f64, vat_rate: f64, ) -> Result<Self, String>
Sourcepub fn recalculate(&mut self) -> Result<(), String>
pub fn recalculate(&mut self) -> Result<(), String>
Recalcule les montants si quantity ou unit_price changent
Sourcepub fn total_excl_vat(items: &[InvoiceLineItem]) -> f64
pub fn total_excl_vat(items: &[InvoiceLineItem]) -> f64
Calcule le total HT pour toutes les lignes
Sourcepub fn total_vat(items: &[InvoiceLineItem]) -> f64
pub fn total_vat(items: &[InvoiceLineItem]) -> f64
Calcule le total TVA pour toutes les lignes
Sourcepub fn total_incl_vat(items: &[InvoiceLineItem]) -> f64
pub fn total_incl_vat(items: &[InvoiceLineItem]) -> f64
Calcule le total TTC pour toutes les lignes
Trait Implementations§
Source§impl Clone for InvoiceLineItem
impl Clone for InvoiceLineItem
Source§fn clone(&self) -> InvoiceLineItem
fn clone(&self) -> InvoiceLineItem
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for InvoiceLineItem
impl Debug for InvoiceLineItem
Source§impl<'de> Deserialize<'de> for InvoiceLineItem
impl<'de> Deserialize<'de> for InvoiceLineItem
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
Source§impl PartialEq for InvoiceLineItem
impl PartialEq for InvoiceLineItem
Source§impl Serialize for InvoiceLineItem
impl Serialize for InvoiceLineItem
impl StructuralPartialEq for InvoiceLineItem
Auto Trait Implementations§
impl Freeze for InvoiceLineItem
impl RefUnwindSafe for InvoiceLineItem
impl Send for InvoiceLineItem
impl Sync for InvoiceLineItem
impl Unpin for InvoiceLineItem
impl UnwindSafe for InvoiceLineItem
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
§impl<T> Chain<T> for T
impl<T> Chain<T> for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Fake for T
impl<T> Fake for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.