From 76dba32aead991f5309dd4320add9948c3b7c689 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Thu, 26 Sep 2024 12:04:23 -1000 Subject: [PATCH] home: add a feature matrix for the big 3 (moved from hledger.org: hledger and Ledger) --- src/index.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/src/index.md b/src/index.md index ad0c8bd..2cc62e7 100644 --- a/src/index.md +++ b/src/index.md @@ -42,6 +42,7 @@ and contributors like you. See also our [discussion forum and chat rooms](#news- **[[Cookbook]]**\ **[Software](#software):** [PTA apps](#pta-apps) +, [Feature matrix](#feature-matrix) , [Editor plugins](#editor-plugins) , [Data import/conversion](#data-importconversion) , [Price fetching](#price-fetching) @@ -196,6 +197,7 @@ Thank you sponsors, including: ### Comparisons - [PTA apps](#pta-apps) project stats +- [Feature matrix](#feature-matrix) - [[FAQ#which-pta-app-should-i-choose|FAQ: Which PTA app should I choose ?]] - [hledger and Ledger](https://hledger.org/ledger.html), [hledger and Beancount](https://hledger.org/beancount.html), @@ -450,6 +452,51 @@ Commit activity (from https://hledger.org/reporting-version-control-stats.html) +### Feature matrix + +A rough comparison of the big three PTA apps' features. Improvements welcome. + +| | Ledger | hledger | beancount +|--------------------------|------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------- +| CLIs: | ledger | hledger | beanquery +| TUIs: | (regdel) | hledger add, hledger-ui, (hledger-iadd), (puffin) | (bean-add) +| 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) +| GUIs: | (Prudent), (ledgerble), (ledgerhelpers: addtrans) | (gledger) | +| MUIs (Android): | (cashier), (NanoLedger) | (cashier), (MoLe), (NanoLedger) | (Beancount Mobile, stargately), (beancount-mobile, xuhcc) +| MUIs (IOS): | | | (Beancount Mobile, stargately) +| 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 +| Input formats: | journal (ledger), timeclock, csv | journal (hledger), timeclock, csv, timedot, tsv, ssv, *sv | journal (beancount) +| Output formats: | text, csv, xml | text, html, fods, csv, tsv, ssv, sql | text, ? +| Commands: | cleared, convert, entry, emacs, equity, pricemap, select, source | activity, add, aregister, balancesheet, balancesheetequity, cashflow, check, close, codes, demo, descriptions, diff, files, help, import, incomestatement, notes, rewrite, roi, test | beancount: check, doctor, example, format; beanquery: balances, journal, print, select +| Add-on commands: | | bar, check-fancyassertions, edit, git, iadd, interest, lots, pijul, plot.. | +| 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 +| 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, ? +| 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) | +| Validation: | configurable | configurable | always strict +| Active support channels: | | chat, mail list, forum, reddit | mail list +| | | | +| Other: | automatic 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 | +| | | | + ### Editor plugins **Atom**