Safe Haskell | None |
---|---|
Language | Haskell2010 |
Balance report, used by the balance command.
Synopsis
- type BalanceReport = ([BalanceReportItem], MixedAmount)
- type BalanceReportItem = (AccountName, AccountName, Int, MixedAmount)
- balanceReport :: ReportOpts -> Query -> Journal -> BalanceReport
- flatShowsExclusiveBalance :: Bool
- sortAccountItemsLike :: [AccountName] -> [(AccountName, b)] -> [b]
- tests_BalanceReport :: Test ()
Documentation
type BalanceReport = ([BalanceReportItem], MixedAmount) Source #
A simple balance report. It has:
- a list of items, one per account, each containing:
- the full account name
- the Ledger-style elided short account name (the leaf account name, prefixed by any boring parents immediately above); or with --flat, the full account name again
- the number of indentation steps for rendering a Ledger-style account tree, taking into account elided boring parents, --no-elide and --flat
- an amount
- the total of all amounts
type BalanceReportItem = (AccountName, AccountName, Int, MixedAmount) Source #
balanceReport :: ReportOpts -> Query -> Journal -> BalanceReport Source #
Enabling this makes balance --flat --empty also show parent accounts without postings, in addition to those with postings and a zero balance. Disabling it shows only the latter. No longer supported, but leave this here for a bit. flatShowsPostinglessAccounts = True
Generate a simple balance report, containing the matched accounts and their balances (change of balance) during the specified period. This is like PeriodChangeReport with a single column (but more mature, eg this can do hierarchical display).
flatShowsExclusiveBalance :: Bool Source #
When true (the default), this makes balance --flat reports and their implementation clearer. Single/multi-col balance reports currently aren't all correct if this is false.
sortAccountItemsLike :: [AccountName] -> [(AccountName, b)] -> [b] Source #
A sorting helper: sort a list of things (eg report rows) keyed by account name to match the provided ordering of those same account names.
Tests
tests_BalanceReport :: Test () Source #