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
alias
directive and thealias
sub-directive ofaccount
declarations)
- Account declarations (
- Balance assignments
- Balance assertions
- Comments
- Comments in and outside of transactions
- Directives
comment
andtest
- 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
/A
include
Year
/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
#tags
to^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
define
anddef
(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 (
=$10
and thefixed
directive) - 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 (
check
andassert
) - 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
commodity
andD
directives
- Narration: support for
payee | note
format - Posting dates:
date
anddate2
- 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