Most data types are defined here to avoid import cycles.
Here is an overview of the hledger data model:
Ledger -- hledger's ledger is a journal file plus cached/derived data
Journal -- a representation of the journal file, containing..
[Transaction] -- ..journal transactions, which have date, status, code, description and..
[Posting] -- ..two or more account postings (account name and amount)
Tree AccountName -- all account names as a tree
Map AccountName Account -- a map from account name to account info (postings and balances)
For more detailed documentation on each type, see the corresponding modules.
Terminology has been in flux:
- ledger 2 had entries containing transactions.
- hledger 0.4 had Entrys containing RawTransactions, which were flattened to Transactions.
- ledger 3 has transactions containing postings.
- hledger 0.5 had LedgerTransactions containing Postings, which were flattened to Transactions.
- hledger 0.8 has Transactions containing Postings, and no flattened type.