Safe Haskell | None |
---|---|
Language | Haskell2010 |
Multi-column balance reports, used by the balance command.
- newtype MultiBalanceReport = MultiBalanceReport ([DateSpan], [MultiBalanceReportRow], MultiBalanceReportTotals)
- type MultiBalanceReportRow = (AccountName, AccountName, Int, [MixedAmount], MixedAmount, MixedAmount)
- multiBalanceReport :: ReportOpts -> Query -> Journal -> MultiBalanceReport
- multiBalanceReportValue :: Journal -> Day -> MultiBalanceReport -> MultiBalanceReport
- singleBalanceReport :: ReportOpts -> Query -> Journal -> BalanceReport
Documentation
newtype MultiBalanceReport Source #
A multi balance report is a balance report with one or more columns. It has:
- a list of each column's period (date span)
- a list of row items, each containing:
- the full account name
- the leaf account name
- the account's depth
- the amounts to show in each column
- the total of the row's amounts
- the average of the row's amounts
- the column totals and the overall total and average
The meaning of the amounts depends on the type of multi balance
report, of which there are three: periodic, cumulative and historical
(see BalanceType
and Hledger.Cli.Balance).
MultiBalanceReport ([DateSpan], [MultiBalanceReportRow], MultiBalanceReportTotals) |
type MultiBalanceReportRow = (AccountName, AccountName, Int, [MixedAmount], MixedAmount, MixedAmount) Source #
multiBalanceReport :: ReportOpts -> Query -> Journal -> MultiBalanceReport Source #
Generate a multicolumn balance report for the matched accounts, showing the change of balance, accumulated balance, or historical balance in each of the specified periods.
multiBalanceReportValue :: Journal -> Day -> MultiBalanceReport -> MultiBalanceReport Source #
Convert all the amounts in a multi-column balance report to their value on the given date in their default valuation commodities (which are determined as of that date, not the report interval dates).
singleBalanceReport :: ReportOpts -> Query -> Journal -> BalanceReport Source #
Generates a single column BalanceReport like balanceReport, but uses multiBalanceReport, so supports --historical. TODO Does not support boring parent eliding or --flat yet.