hledger-lib-0.17: Core data types, parsers and utilities for the hledger accounting tool.



A Posting represents a MixedAmount being added to or subtracted from a single Account. Each Transaction contains two or more postings which should add up to 0. Postings also reference their parent transaction, so we can get a date or description for a posting (from the transaction). Strictly speaking, "entry" is probably a better name for these.



postingCleared :: Posting -> BoolSource

Is this posting cleared? If this posting was individually marked as cleared, returns True. Otherwise, return the parent transaction's cleared status or, if there is no parent transaction, return False.

isPostingInDateSpan :: DateSpan -> Posting -> BoolSource

Does this posting fall within the given date span ?

postingsDateSpan :: [Posting] -> DateSpanSource

Get the minimal date span which contains all the postings, or DateSpan Nothing Nothing if there are none.

joinAccountNames :: AccountName -> AccountName -> AccountNameSource

Prefix one account name to another, preserving posting type indicators like concatAccountNames.

concatAccountNames :: [AccountName] -> AccountNameSource

Join account names into one. If any of them has () or [] posting type indicators, these (the first type encountered) will also be applied to the resulting account name.

accountNameApplyAliases :: [(AccountName, AccountName)] -> AccountName -> AccountNameSource

Rewrite an account name using the first applicable alias from the given list, if any.