Features
The majority of features from ledger and hledger are supported by ledger2beancount.
Fully supported
- Accounts
- Account declarations (
account ...) - Conversion of invalid account names
- Mapping of account names
- Directive
apply account - Account aliases (the
aliasdirective and thealiassub-directive ofaccountdeclarations)
- Account declarations (
- Balance assignments
- Balance assertions
- Comments
- Comments in and outside of transactions
- Directives
commentandtest
- Commodities
- Commodity declarations (
commodity ...) - Commodity symbols like
$,£and€ - Commodities placed in front and after the amount
- Conversion of invalid commodities
- Mapping of commodities
- Commodity declarations (
- Directives
bucket/AincludeYear/Y,apply year
- Flags
- Transaction state (transaction flags)
- Inline maths
- Lots
- Lot dates
- Lot notes
- Per unit and total costs and prices
- Conversion of ledger price to beancount cost
- Metadata
- Payees
- Obtain payee from metadata
- Split payee into payee and narration
- Assign payee based on narration
- Tags
- Directive
apply tag - Mapping
#tagsto^links
- Directive
Partly supported
- Amounts
- Amounts without commodities (not supported in beancount)
- Decimal comma (not supported in beancount)
- Dates
- Dates on posting-level (no equivalence in beancount)
- Auxiliary dates (no equivalence in beancount)
- Effective dates (no equivalence in beancount)
- Deferred postings (no equivalence in beancount)
- Directives
defineanddef(no functions)eval: skipped (not supported in beancount)import: skipped (not supported in beancount)payee: skipped (not needed in beancount)python: skipped (not supported in beancount)tag: skipped (not needed in beancount)value: skipped (not supported in beancount)
- Fixated prices (
=$10and thefixeddirective) - Lot value expressions (no equivalence in beancount)
- Tags and links on posting-level (not supported by beancount)
- Transaction codes: stored as metadata (no equivalence in beancount)
- Virtual postings: can be skipped or converted to real postings
- Virtual posting costs: recognised but skipped (no equivalence in beancount)
Unsupported in beancount
The following features are not supported in beancount and therefore commented out during the conversion from ledger to beancount:
- Automated transactions
- Checks and assertions (
checkandassert) - Commodity conversion (
C AMOUNT1 = AMOUNT2) - Commodity format (
D AMOUNT) - Commodity pricing: ignore pricing (
N SYMBOL) - Timeclock support (
I,i,O,o,b,h) - Periodic transactions
Supported features from hledger
The following syntax from hledger is supported if the hledger configuration variable is set:
- Account aliases can be regular expressions
- Amounts
- All digit group marks (space, comma, and period) are supported
- Number format can be specified via
commodityandDdirectives
- Narration: support for
payee | noteformat - Posting dates:
dateanddate2 - Tags:
tag1:, tag2:, tag2: info - Balance assertions
- Sub-account balance assertions
- Total balance assertions: recognised but no equivalent in beancount
- Directives
D(set default commodity)end aliases