pub struct CustomerAging {
pub customer_id: String,
pub customer_name: String,
pub credit_limit: Option<Decimal>,
pub total_balance: Decimal,
pub bucket_amounts: HashMap<AgingBucket, Decimal>,
pub invoice_counts: HashMap<AgingBucket, u32>,
pub oldest_invoice_date: Option<NaiveDate>,
pub weighted_avg_days: Decimal,
pub invoices: Vec<AgingInvoiceDetail>,
}Expand description
Aging detail for a single customer.
Fields§
§customer_id: StringCustomer ID.
customer_name: StringCustomer name.
credit_limit: Option<Decimal>Credit limit.
total_balance: DecimalTotal balance.
bucket_amounts: HashMap<AgingBucket, Decimal>Amounts by bucket.
invoice_counts: HashMap<AgingBucket, u32>Invoice count by bucket.
oldest_invoice_date: Option<NaiveDate>Oldest invoice date.
weighted_avg_days: DecimalWeighted average days outstanding.
invoices: Vec<AgingInvoiceDetail>Invoice details.
Implementations§
Source§impl CustomerAging
impl CustomerAging
Sourcepub fn from_invoices(
customer_id: String,
customer_name: String,
invoices: &[&ARInvoice],
as_of_date: NaiveDate,
) -> Self
pub fn from_invoices( customer_id: String, customer_name: String, invoices: &[&ARInvoice], as_of_date: NaiveDate, ) -> Self
Creates customer aging from invoices.
Sourcepub fn with_credit_limit(self, limit: Decimal) -> Self
pub fn with_credit_limit(self, limit: Decimal) -> Self
Sets credit limit.
Sourcepub fn is_over_credit_limit(&self) -> bool
pub fn is_over_credit_limit(&self) -> bool
Checks if over credit limit.
Sourcepub fn credit_utilization(&self) -> Option<Decimal>
pub fn credit_utilization(&self) -> Option<Decimal>
Gets credit utilization percentage.
Sourcepub fn amount_in_bucket(&self, bucket: AgingBucket) -> Decimal
pub fn amount_in_bucket(&self, bucket: AgingBucket) -> Decimal
Gets amount in a specific bucket.
Sourcepub fn percentage_in_bucket(&self, bucket: AgingBucket) -> Decimal
pub fn percentage_in_bucket(&self, bucket: AgingBucket) -> Decimal
Gets percentage in a specific bucket.
Trait Implementations§
Source§impl Clone for CustomerAging
impl Clone for CustomerAging
Source§fn clone(&self) -> CustomerAging
fn clone(&self) -> CustomerAging
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 CustomerAging
impl Debug for CustomerAging
Source§impl<'de> Deserialize<'de> for CustomerAging
impl<'de> Deserialize<'de> for CustomerAging
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
Auto Trait Implementations§
impl Freeze for CustomerAging
impl RefUnwindSafe for CustomerAging
impl Send for CustomerAging
impl Sync for CustomerAging
impl Unpin for CustomerAging
impl UnwindSafe for CustomerAging
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