ReportGenerator

Trait ReportGenerator 

Source
pub trait ReportGenerator: Send + Sync {
    // Required methods
    fn generate_balance_sheet<'life0, 'async_trait>(
        &'life0 self,
        as_of_date: NaiveDate,
    ) -> Pin<Box<dyn Future<Output = LedgerResult<BalanceSheet>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn generate_income_statement<'life0, 'async_trait>(
        &'life0 self,
        start_date: NaiveDate,
        end_date: NaiveDate,
    ) -> Pin<Box<dyn Future<Output = LedgerResult<IncomeStatement>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn generate_cash_flow<'life0, 'async_trait>(
        &'life0 self,
        start_date: NaiveDate,
        end_date: NaiveDate,
    ) -> Pin<Box<dyn Future<Output = LedgerResult<CashFlowStatement>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Trait for report generation

Required Methods§

Source

fn generate_balance_sheet<'life0, 'async_trait>( &'life0 self, as_of_date: NaiveDate, ) -> Pin<Box<dyn Future<Output = LedgerResult<BalanceSheet>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Generate a balance sheet as of a specific date

Source

fn generate_income_statement<'life0, 'async_trait>( &'life0 self, start_date: NaiveDate, end_date: NaiveDate, ) -> Pin<Box<dyn Future<Output = LedgerResult<IncomeStatement>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Generate an income statement for a date range

Source

fn generate_cash_flow<'life0, 'async_trait>( &'life0 self, start_date: NaiveDate, end_date: NaiveDate, ) -> Pin<Box<dyn Future<Output = LedgerResult<CashFlowStatement>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Generate a cash flow statement for a date range

Implementors§