|
|
|
Description |
A compound data type for efficiency. A Ledger caches information derived
from a RawLedger for easier querying. Also it typically has had
uninteresting LedgerTransactions and Postings filtered out. It
contains:
- the original unfiltered RawLedger
- a tree of AccountNames
- a map from account names to Accounts
- the full text of the journal file, when available
This is the main object you'll deal with as a user of the Ledger
library. The most useful functions also have shorter, lower-case
aliases for easier interaction. Here's an example:
> import Ledger
> l <- readLedger "sample.ledger"
> accountnames l
["assets","assets:bank","assets:bank:checking","assets:bank:saving",...
> accounts l
[Account assets with 0 txns and $-1 balance,Account assets:bank with...
> topaccounts l
[Account assets with 0 txns and $-1 balance,Account expenses with...
> account l "assets"
Account assets with 0 txns and $-1 balance
> accountsmatching ["ch"] l
accountsmatching ["ch"] l
[Account assets:bank:checking with 4 txns and $0 balance]
> subaccounts l (account l "assets")
subaccounts l (account l "assets")
[Account assets:bank with 0 txns and $1 balance,Account assets:cash...
> head $ transactions l
2008/01/01 income assets:bank:checking $1 RegularPosting
> accounttree 2 l
Node {rootLabel = Account top with 0 txns and 0 balance, subForest = [...
> accounttreeat l (account l "assets")
Just (Node {rootLabel = Account assets with 0 txns and $-1 balance, ...
> datespan l -- disabled
DateSpan (Just 2008-01-01) (Just 2009-01-01)
> rawdatespan l
DateSpan (Just 2008-01-01) (Just 2009-01-01)
> ledgeramounts l
[$1,$-1,$1,$-1,$1,$-1,$1,$1,$-2,$1,$-1]
> commodities l
[Commodity {symbol = "$", side = L, spaced = False, comma = False, ...
|
|
Synopsis |
|
|
|
Documentation |
|
|
Convert a raw ledger to a more efficient cached type, described above.
|
|
|
Given a list of transactions, return an account name tree and three
query functions that fetch transactions, balance, and
subaccount-including balance by account name.
This is to factor out common logic from cacheLedger and
summariseTransactionsInDateSpan.
|
|
|
Add subaccount-excluding and subaccount-including balances to a tree
of account names somewhat efficiently, given a function that looks up
transactions by account name.
|
|
|
Convert a list of transactions to a map from account name to the list
of all transactions in that account.
|
|
|
|
|
List a ledger's account names.
|
|
|
Get the named account from a ledger.
|
|
|
List a ledger's accounts, in tree order
|
|
|
List a ledger's top-level accounts, in tree order
|
|
|
Accounts in ledger whose name matches the pattern, in tree order.
|
|
|
List a ledger account's immediate subaccounts
|
|
|
List a ledger's transactions, ie postings with transaction info attached.
|
|
|
Get a ledger's tree of accounts to the specified depth.
|
|
|
Get a ledger's tree of accounts rooted at the specified account.
|
|
|
The (fully specified) date span containing all the ledger's (filtered) transactions,
or DateSpan Nothing Nothing if there are none.
|
|
|
Convenience aliases.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Produced by Haddock version 2.7.2 |