1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
# Features
The majority of features from [ledger](https://ledger-cli.org/) and [hledger](https://hledger.org/) 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 the `alias` sub-directive of `account` declarations)
* Balance assignments
* Balance assertions
* Comments
* Comments in and outside of transactions
* Directives `comment` and `test`
* Commodities
* Commodity declarations (`commodity ...`)
* Commodity symbols like `$`, `£` and `€`
* Commodities placed in front and after the amount
* Conversion of invalid commodities
* Mapping of commodities
* 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`
## 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` and `def` (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 the `fixed` 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` and `assert`)
* 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](https://hledger.org/) 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` and `D` directives
* Narration: support for `payee | note` format
* Posting dates: `date` and `date2`
* 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`
|