Safe Haskell | None |
---|---|
Language | Haskell2010 |
A Ledger
is derived from a Journal
by applying a filter specification
to select Transaction
s and Posting
s of interest. It contains the
filtered journal and knows the resulting chart of accounts, account
balances, and postings in each account.
Synopsis
- nullledger :: Ledger
- ledgerFromJournal :: Query -> Journal -> Ledger
- ledgerAccountNames :: Ledger -> [AccountName]
- ledgerAccount :: Ledger -> AccountName -> Maybe Account
- ledgerRootAccount :: Ledger -> Account
- ledgerTopAccounts :: Ledger -> [Account]
- ledgerLeafAccounts :: Ledger -> [Account]
- ledgerPostings :: Ledger -> [Posting]
- ledgerDateSpan :: Ledger -> DateSpan
- ledgerCommodities :: Ledger -> [CommoditySymbol]
- tests_Ledger :: TestTree
Documentation
nullledger :: Ledger Source #
ledgerFromJournal :: Query -> Journal -> Ledger Source #
Filter a journal's transactions with the given query, then build a Ledger, containing the journal plus the tree of all its accounts with their subaccount-inclusive and subaccount-exclusive balances. If the query includes a depth limit, the ledger's journal will be depth limited, but the ledger's account tree will not.
ledgerAccountNames :: Ledger -> [AccountName] Source #
List a ledger's account names.
ledgerAccount :: Ledger -> AccountName -> Maybe Account Source #
Get the named account from a ledger.
ledgerRootAccount :: Ledger -> Account Source #
Get this ledger's root account, which is a dummy "root" account above all others. This should always be first in the account list, if somehow not this returns a null account.
ledgerTopAccounts :: Ledger -> [Account] Source #
List a ledger's top-level accounts (the ones below the root), in tree order.
ledgerLeafAccounts :: Ledger -> [Account] Source #
List a ledger's bottom-level (subaccount-less) accounts, in tree order.
ledgerPostings :: Ledger -> [Posting] Source #
List a ledger's postings, in the order parsed.
ledgerDateSpan :: Ledger -> DateSpan Source #
The (fully specified) date span containing all the ledger's (filtered) transactions, or DateSpan Nothing Nothing if there are none.
ledgerCommodities :: Ledger -> [CommoditySymbol] Source #
All commodities used in this ledger.