hledger-lib-1.16.2: Core data types, parsers and functionality for the hledger accounting tools

Safe HaskellNone
LanguageHaskell2010

Hledger.Reports.BalanceReport

Contents

Description

Balance report, used by the balance command.

Synopsis

Documentation

type BalanceReport = ([BalanceReportItem], MixedAmount) Source #

A simple balance report. It has:

  1. 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
  1. the total of all amounts

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.

unifyMixedAmount :: MixedAmount -> Amount Source #

Helper to unify a MixedAmount to a single commodity value. Like normaliseMixedAmount, this consolidates amounts of the same commodity and discards zero amounts; but this one insists on simplifying to a single commodity, and will throw a program-terminating error if this is not possible.

perdivide :: MixedAmount -> MixedAmount -> MixedAmount Source #

Helper to calculate the percentage from two mixed. Keeps the sign of the first argument. Uses unifyMixedAmount to unify each argument and then divides them.

Tests