diff --git a/src/index.md b/src/index.md index 14ad9a7..6778551 100644 --- a/src/index.md +++ b/src/index.md @@ -429,46 +429,56 @@ Active projects are sorted by committers then stars/activity. Inactive projects ### Feature matrix -A rough comparison of the big three PTA apps' features. +A rough comparison of the big three PTA apps' features. Corrections and suggestions are appreciated ([chat](https://matrix.to/#/#plaintextaccounting:matrix.org)). -Third-party things are parenthesised. Notable complementary tools likely to work with reasonable effort are mentioned. +Third-party things are parenthesised. Notable likely-to-work complementary tools are mentioned. | | Ledger | hledger | Beancount |--------------------------|------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------- +| **User interfaces** | | | | CLIs: | ledger | hledger | beanquery | TUIs: | (regdel) | hledger add,
hledger-ui,
(hledger-iadd),
(puffin) | (bean-add) | GUIs: | (Prudent),
(ledgerble),
(ledgerhelpers: addtrans) | (fruit-credits) | | WUIs: | (ledgeraccounting),
(paisa),
(cashier),
(ledgible),
(ledger, howeyc),
(ledger-web, vifon),
(ledger-web, peterkeen),
(ledger-pyreport),
(ledger-analytics),
(node-ledger-web) | hledger-web,
(ledgeraccounting),
(paisa),
(cashier) | (fava),
(paisa),
(BeanHub) | MUIs (Android): | (cashier),
(NanoLedger) | (cashier),
(MoLe),
(NanoLedger) | (Beancount Mobile, stargately),
(beancount-mobile, xuhcc) | MUIs (IOS): | | | (Beancount Mobile, stargately) +| **Help** | | | | CLI help: | general --help | general and command-specific --help, auto-paginated | command-specific --help | TLDR short help: | ledger | hledger and all commands, also built-in as --tldr | -| User manual formats: | web | web, info, man, built-in info/man/text | web +| User manual formats: | web | web, info, man, also built-in info/man/text with jump to topic | web +| | | built-in asciinema demos | +| | | commands summary | +| Active support channels: | | chat, mail list, forum, reddit | mail list +| Easy first setup: | yes | yes | no +| **Data formats** | | | | Input formats: | journal (ledger), timeclock, csv | journal (hledger), timeclock, timedot, csv, tsv, ssv, *sv | journal (beancount) | Output formats: | text, csv, xml | text, html, fods, csv, tsv, ssv, sql | text, ? +| **Commands** | | | | Commands: | accounts, balance, cleared, commodities, convert, entry, emacs, equity, payees, pricemap, prices, print, register, select, source, stats, tags | accounts, activity, add, aregister, balance, balancesheet, balancesheetequity, cashflow, check, close, codes, commodities, demo, descriptions, diff, files, help, import, incomestatement, payees, prices, print, notes, register, rewrite, roi, stats, tags, test | beancount: check, doctor, example, format; beanquery: balances, journal, print, select | Add-on commands: | | bar, check-fancyassertions, edit, git, iadd, interest, lots, pijul, plot.. | +| **Configuration** | | | | Config file: | general options | general and command-specific options | ? | Extensibility: | built-in expression language, embedded python snippets | add-on commands, haskell library | data-modifying plugins, python library | APIs: | C++, python, (HTTP-JSON) | haskell, HTTP-JSON | python +| **Other features** | | | +| Budget report: | built-in (budget command) | built-in (balance --budget) | | Data import support: | built-in (convert command) | built-in (*sv reader, import command) | beangulp framework, (beancount_reds_importers framework), (beancount-import library) | Data deduplication: | checksum-based (requires unique CSV records) | date-based (requires date-ordered CSV records) | ? -| Lot management: | automated matching syntax, `--lots` report | manual | automated matching syntax, ? +| Generate postings by rule: | built-in | built-in (--auto) | ? +| Generate transactions by rule: | built-in | built-in (--forecast) | ? +| International number notations: | no | yes | no +| Lot management: | automated matching syntax, balance --lots | manual | automated matching syntax, ? +| Multi-period balance reports: | not built-in | yes | not built-in | Pivoting: | on single tag | on one or more tags/other fields | ? | Price fetching: | (pricehist) | (pricehist) | beanprice | Querying: | cli options, custom query expressions | cli options, custom query expressions | SQL-like beancount query language | REPL: | built-in | haskell GHCI | beanquery, python | Shell completions: | bash (commands, flags, maybe accounts) | bash (commands, flags, flag values, query types, queryable journal data) | +| Unrealised gains report: | built-in (register --gain) | built-in (balance --gain) | ? | Validation: | configurable | configurable | always strict -| Active support channels: | | chat, mail list, forum, reddit | mail list -| | | | -| Other: | automatic revaluation transactions (`--revalued`) | account types awareness | ? +| Miscellaneous: | generate revaluation transactions (--revalued) | account types awareness | ? | | ? | standard financial reports | -| | | multi-period balance reports | | | | customisable account display order | -| | | international number notations | -| | | commands summary | -| | | built-in asciinema demos | | | | regular releases | | | | documentation-first process | | | | regression bounties |