hledger-lib-1.19: A reusable library providing the core functionality of hledger

Safe HaskellNone
LanguageHaskell2010

Hledger.Reports.BudgetReport

Contents

Description

 
Synopsis

Documentation

type BudgetCell = (Maybe Change, Maybe BudgetGoal) Source #

A budget report tracks expected and actual changes per account and subperiod.

budgetReport :: ReportOpts -> Bool -> DateSpan -> Day -> Journal -> BudgetReport Source #

Calculate budget goals from all periodic transactions, actual balance changes from the regular transactions, and compare these to get a BudgetReport. Unbudgeted accounts may be hidden or renamed (see budgetRollup).

budgetReportAsText :: ReportOpts -> BudgetReport -> String Source #

Render a budget report as plain text suitable for console output.

Helpers

reportPeriodName :: BalanceType -> [DateSpan] -> DateSpan -> String Source #

Make a name for the given period in a multiperiod report, given the type of balance being reported and the full set of report periods. This will be used as a column heading (or row heading, in a register summary report). We try to pick a useful name as follows:

  • ending-balance reports: the period's end date
  • balance change reports where the periods are months and all in the same year: the short month name in the current locale
  • all other balance change reports: a description of the datespan, abbreviated to compact form if possible (see showDateSpan).

Tests