|
|
|
| Description |
Most data types are defined here to avoid import cycles.
Here is an overview of the hledger data model:
Journal -- a journal is derived from one or more data files. It contains..
[Transaction] -- journal transactions, which have date, status, code, description and..
[Posting] -- multiple account postings (entries), which have account name and amount.
[HistoricalPrice] -- historical commodity prices
Ledger -- a ledger is derived from a journal, by applying a filter specification and doing some further processing. It contains..
Journal -- the filtered journal, containing only the transactions and postings we are interested in
Tree AccountName -- account names referenced in the journal's transactions, as a tree
Map AccountName Account -- per-account postings and balances from the journal's transactions, as a map from account name to account info
For more detailed documentation on each type, see the corresponding modules.
Evolution of transaction/entry/posting terminology:
- ledger 2: entries contain transactions
- hledger 0.4: Entrys contain RawTransactions (which are flattened to Transactions)
- ledger 3: transactions contain postings
- hledger 0.5: LedgerTransactions contain Postings (which are flattened to Transactions)
- hledger 0.8: Transactions contain Postings (referencing Transactions..)
|
|
| Synopsis |
|
|
|
| Documentation |
|
| type SmartDate = (String, String, String) | Source |
|
|
|
| Constructors | | Instances | |
|
|
|
| Constructors | | DateSpan (Maybe Day) (Maybe Day) | |
| Instances | |
|
|
|
| Constructors | | NoInterval | | | Daily | | | Weekly | | | Monthly | | | Quarterly | | | Yearly | |
| Instances | |
|
|
| type AccountName = String | Source |
|
|
|
| Constructors | | Instances | |
|
|
|
| Constructors | | Commodity | | | symbol :: String | the commodity's symbol
display preferences for amounts of this commodity
| | side :: Side | should the symbol appear on the left or the right
| | spaced :: Bool | should there be a space between symbol and quantity
| | comma :: Bool | should thousands be comma-separated
| | precision :: Int | number of decimal places to display
|
|
| Instances | |
|
|
|
| Constructors | | Amount | | | commodity :: Commodity | | | quantity :: Double | | | price :: Maybe MixedAmount | unit price/conversion rate for this amount at posting time
|
|
| Instances | |
|
|
|
| Constructors | | Instances | |
|
|
|
| Constructors | | RegularPosting | | | VirtualPosting | | | BalancedVirtualPosting | |
| Instances | |
|
|
|
| Constructors | | Posting | | | pstatus :: Bool | | | paccount :: AccountName | | | pamount :: MixedAmount | | | pcomment :: String | | | ptype :: PostingType | | | ptransaction :: Maybe Transaction | this posting's parent transaction (co-recursive types).
Tying this knot gets tedious, Maybe makes it easier/optional.
|
|
| Instances | |
|
|
|
| Constructors | | Transaction | | | tdate :: Day | | | teffectivedate :: Maybe Day | | | tstatus :: Bool | | | tcode :: String | | | tdescription :: String | | | tcomment :: String | | | tpostings :: [Posting] | this transaction's postings (co-recursive types).
| | tpreceding_comment_lines :: String | |
|
| Instances | |
|
|
| data ModifierTransaction | Source |
|
| Constructors | | ModifierTransaction | | | mtvalueexpr :: String | | | mtpostings :: [Posting] | |
|
| Instances | |
|
|
| data PeriodicTransaction | Source |
|
| Constructors | | PeriodicTransaction | | | ptperiodicexpr :: String | | | ptpostings :: [Posting] | |
|
| Instances | |
|
|
|
| Constructors | | SetBalance | | | SetRequiredHours | | | In | | | Out | | | FinalOut | |
| Instances | |
|
|
|
| Constructors | | TimeLogEntry | | | tlcode :: TimeLogCode | | | tldatetime :: LocalTime | | | tlcomment :: String | |
|
| Instances | |
|
|
|
| Constructors | | Instances | |
|
|
|
| Constructors | | Instances | |
|
|
|
| Constructors | | Instances | |
|
|
|
| Constructors | | Instances | |
|
|
|
| A generic, pure specification of how to filter transactions and postings.
| | Constructors | | FilterSpec | | | datespan :: DateSpan | only include if in this date span
| | cleared :: Maybe Bool | only include if cleared/uncleared/don't care
| | real :: Bool | only include if real/don't care
| | empty :: Bool | include if empty (ie amount is zero)
| | costbasis :: Bool | convert all amounts to cost basis
| | acctpats :: [String] | only include if matching these account patterns
| | descpats :: [String] | only include if matching these description patterns
| | whichdate :: WhichDate | which dates to use (actual or effective)
| | depth :: Maybe Int | |
|
| Instances | |
|
|
| Produced by Haddock version 2.6.1 |