1
0

apps: simplify table

This commit is contained in:
Simon Michael
2026-02-06 14:02:41 -10:00
parent f18968df3d
commit 0973c6ad14

View File

@@ -14,10 +14,10 @@ toc: false
<div id="intro" style="font-size:larger;"> <div id="intro" style="font-size:larger;">
Welcome! Welcome!
***Plain text accounting*** is a way of doing bookkeeping and accounting ***Plain text accounting*** is a way of doing bookkeeping and accounting
with plain text files and scriptable, command-line-friendly software, such as with plain text files and scriptable, command-line-friendly software, such as
Ledger, hledger, or Beancount. Ledger, hledger, or Beancount.
This site collects the PTA community's tools, docs and practices. This site collects the PTA community's tools, docs and practices.
It is maintained by Simon&nbsp;Michael (hledger project leader, PTA fan) It is maintained by Simon&nbsp;Michael (hledger project leader, PTA fan)
and contributors like you. See also our [discussion forum and chat rooms](#news-discussion). and contributors like you. See also our [discussion forum and chat rooms](#news-discussion).
@@ -292,48 +292,48 @@ th:first-child, td:first-child { white-space:nowrap; }
Markdown table syntax: https://pandoc.org/README.html#tables Markdown table syntax: https://pandoc.org/README.html#tables
Active projects are sorted by committers then stars/activity. Inactive projects are sorted by start date then last release date. Active projects are sorted by committers then stars/activity. Inactive projects are sorted by start date then last release date.
--> -->
| Project | Start | Last release | Code | Committers | ~Stars | Mail list, size | Chat, size | | Project | Code | Start | Last release | ~Stars | ~Committers | Discussion, ~size
|--------------------|--------|:------------:|------------------------------|-----------:|-------:|----------------------------------|------------------------------------------------------------------------------------------------------| |--------------------|------------------------------|--------|:------------:|-------:|------------:|-----------------------------------------------------------------------------------------------------
| **Popular** | | | | | | | | | **Popular** | | | | | |
| [Ledger] | 2003 | 2025 | [C++][ledger-src] | 226 | 5.8k | [ledger][ledger-mail]&nbsp;~900 | [IRC][#ledger:libera.chat]&nbsp;~70 | | [Ledger] | [C++][ledger-src] | 2003 | 2025 | 5.8k | 226 | [mail list][ledger-mail]&nbsp;900, [IRC][#ledger:libera.chat]&nbsp;70
| [hledger] | 2007 | 2026 | [haskell][hledger-src] | 178 | 3.8k | [hledger][hledger-mail]&nbsp;~250 | [matrix][#hledger:matrix.org]&nbsp;~250, [IRC][#hledger:libera.chat]&nbsp;~70 | | [hledger] | [haskell][hledger-src] | 2007 | 2026 | 3.8k | 178 | [mail list][hledger-mail]&nbsp;250, [matrix][#hledger:matrix.org]&nbsp;250, [IRC][#hledger:libera.chat]&nbsp;70
| [Beancount] | 2008 | 2023 | [python][beancount-src] | 84 | 5.2k | [beancount][beancount-mail]&nbsp;~700 | [matrix][beancount-matrix]&nbsp;~30, [matrix&nbsp;(fava)][fava-matrix]&nbsp;~240, [IRC][#beancount:libera.chat]&nbsp;~30 | | [Beancount] | [python][beancount-src] | 2008 | 2023 | 5.2k | 84 | [mail list][beancount-mail]&nbsp;700, [matrix][beancount-matrix]&nbsp;30, [matrix&nbsp;(fava)][fava-matrix]&nbsp;240, [IRC][#beancount:libera.chat]&nbsp;30
| **Small userbase** | | | | | | | | | **Small userbase** | | | | | |
| [Ledger (Go)] | 2013 | 2025 | [go][ledger-go-src] | 12 | 470 | | | | [Ledger (Go)] | [go][ledger-go-src] | 2013 | 2025 | 470 | 12 |
| Abandon | 2013 | 2024 | [scala][abandon-src] | 11 | 180 | | [matrix][abandon-matrix] | | Abandon | [scala][abandon-src] | 2013 | 2024 | 180 | 11 | [matrix][abandon-matrix]
| [zhang] | 2023 | 2024 | [rust/ts][zhang-src] | 5 | 180 | | | | [zhang] | [rust/ts][zhang-src] | 2023 | 2024 | 180 | 5 |
| [Tackler] | 2017 | 2026 | [rust][tackler-src] | 3 | 120 | | [matrix][#tackler:matrix.org], [GH][tackler-discussions] | | [Tackler] | [rust][tackler-src] | 2017 | 2026 | 120 | 3 | [matrix][#tackler:matrix.org], [github][tackler-discussions]
| knut | 2020 | 2024 | [go][knut-src] | 3 | 60 | | | | knut | [go][knut-src] | 2020 | 2024 | 60 | 3 |
| [ledg] | 2021 | 2025 | [typescript][ledg] | 1 | 45 | | | | [ledg] | [typescript][ledg] | 2021 | 2025 | 45 | 1 |
| coin | 2019 | 2025 | [go][coin-src] | 1 | 13 | | | | coin | [go][coin-src] | 2019 | 2025 | 13 | 1 |
| [rustledger] | 2025 | 2026 | [rust][rustledger-src] | 1 | 66 | | [GH][rustledger-discussions] | | [rustledger] | [rust][rustledger-src] | 2025 | 2026 | 66 | 1 | [github][rustledger-discussions]
| limabean | 2025 | 2026 | [clojure/rust][limabean-src] | 1 | 9 | | [GH][limabean-discussions] | | limabean | [clojure/rust][limabean-src] | 2025 | 2026 | 9 | 1 | [github][limabean-discussions]
| **Past/inactive** | | | | | | | | | **Past/inactive** | | | | | |
| [placc] | 2024 | 2024 | nim (closed source) | 1 | | | | | [placc] | nim (closed source) | 2024 | 2024 | | 1 |
| budget-cli | 2023 | | [typescript][budget-cli] | 3 | 12 | | | | budget-cli | [typescript][budget-cli] | 2023 | | 12 | 3 |
| mynt | 2023 | | [rust][mynt-src] | 1 | | | | | mynt | [rust][mynt-src] | 2023 | | | 1 |
| awk-pta | 2022 | | [awk][awk-pta-src] | 1 | 20 | | | | awk-pta | [awk][awk-pta-src] | 2022 | | 20 | 1 |
| ubal | 2022 | | [uxntal][ubal-src] | 1 | | | | | ubal | [uxntal][ubal-src] | 2022 | | | 1 |
| bankroll | 2020 | 2020 | [rust][bankroll-src] | 1 | 1 | | | | bankroll | [rust][bankroll-src] | 2020 | 2020 | 1 | 1 |
| [pta] | 2020 | 2020 | [perl][pta-src] | 1 | | | | | [pta] | [perl][pta-src] | 2020 | 2020 | | 1 |
| blossom | 2020 | | [F#][blossom-src] | 1 | 30 | | | | blossom | [F#][blossom-src] | 2020 | | 30 | 1 |
| ledger.bash | 2020 | | [bash/awk][ledger.bash] | 1 | 7 | | | | ledger.bash | [bash/awk][ledger.bash] | 2020 | | 7 | 1 |
| acc | 2020 | | [rust][acc-src] | 1 | 1 | | | | acc | [rust][acc-src] | 2020 | | 1 | 1 |
| rust\_ledger | 2019 | 2021 | [rust][rust_ledger-src] | 4 | 90 | | | | rust\_ledger | [rust][rust_ledger-src] | 2019 | 2021 | 90 | 4 |
| Goledger (mescanne)| 2019 | 2020 | [go][goledger-mescanne-src] | 1 | 30 | | | | Goledger (mescanne)| [go][goledger-mescanne-src] | 2019 | 2020 | 30 | 1 |
| [beans] | 2019 | 2019 | [haskell][beans-src] | 2 | 24 | | | | [beans] | [haskell][beans-src] | 2019 | 2019 | 24 | 2 |
| Transity | 2018 | 2020 | [purescript][transity-src] | 8 | 571 | | [matrix][transity-matrix] | | Transity | [purescript][transity-src] | 2018 | 2020 | 571 | 8 | [matrix][transity-matrix]
| [Prudent] | 2018 | | js, [addons][prudent-src] | 1 | | | [\@PrudentLedger][prudent-chat] | | [Prudent] | js, [addons][prudent-src] | 2018 | | | 1 | [\@PrudentLedger][prudent-chat]
| .Net Ledger | 2017 | 2021 | [C#][nledger-src] | 1 | 164 | | [matrix][nledger-matrix] | | .Net Ledger | [C#][nledger-src] | 2017 | 2021 | 164 | 1 | [matrix][nledger-matrix]
| [monescript] | 2017 | 2018 | [javascript][monescript-src] | 1 | 12 | | | | [monescript] | [javascript][monescript-src] | 2017 | 2018 | 12 | 1 |
| Go Ledger (abourget) | 2016 | | [go][go-ledger-abourget-src] | 3 | 40 | | | | Go Ledger (abourget| [go][go-ledger-abourget-src] ) | 2016 | | 40 | 3 |
| uledger | 2015 | | [python][uledger-src] | 1 | 17 | | | | uledger | [python][uledger-src] | 2015 | | 17 | 1 |
| pacioli | 2013 | | [python][pacioli-src] | 1 | 31 | | | | pacioli | [python][pacioli-src] | 2013 | | 31 | 1 |
| ledger.pl | 2013 | | [perl][ledger.pl-src] | 1 | 6 | | | | ledger.pl | [perl][ledger.pl-src] | 2013 | | 6 | 1 |
| Penny | 2012 | 2014 | haskell | | | | | | Penny | haskell | 2012 | 2014 | | |
| UMM | 2009 | 2010 | [haskell][UMM-hackage] | | | | | | UMM | [haskell][UMM-hackage] | 2009 | 2010 | | |
| sm-Ledger | 2007 | | [squeak][smalltalk-src] | | | | | | sm-Ledger | [squeak][smalltalk-src] | 2007 | | | |
| cl-ledger | 2007 | | [lisp][cl-ledger-src] | 4 | 66 | | | | cl-ledger | [lisp][cl-ledger-src] | 2007 | | 66 | 4 |
[plaintextaccounting.org]: https://plaintextaccounting.org [plaintextaccounting.org]: https://plaintextaccounting.org
[/r/plaintextaccounting]: https://www.reddit.com/r/plaintextaccounting [/r/plaintextaccounting]: https://www.reddit.com/r/plaintextaccounting
@@ -449,12 +449,12 @@ Active projects are sorted by committers then stars/activity. Inactive projects
There are also some documented/reproducible setups, integrated docker images etc, based on the above. There are also some documented/reproducible setups, integrated docker images etc, based on the above.
| Name | Uses | Start | Last update | ~Stars | Name | Uses | Start | Last update | ~Stars
|-----------------------------|------------|-------|:-----------:|-------- |-----------------------------|------------|-------|:-----------:|-------:
| [Full-fledged hledger][ffh] | hledger | 2019 | 2025 | 500 | [Full-fledged hledger][ffh] | hledger | 2019 | 2025 | 500
| [hledger-flow][hflow] | hledger | 2019 | 2026 | 200 | [hledger-flow][hflow] | hledger | 2019 | 2026 | 200
| [Lazy Beancount][lazyb] | beancount | 2024 | 2026 | 100 | [Lazy Beancount][lazyb] | beancount | 2024 | 2026 | 100
| [rtrLEDGER] | hledger | 2020 | 2020 | 20 | [rtrLEDGER] | hledger | 2020 | 2020 | 20
| [docker-finance][dfi] | hledger | 2024 | 2026 | 2 | [docker-finance][dfi] | hledger | 2024 | 2026 | 2
[ffh]: https://github.com/adept/full-fledged-hledger [ffh]: https://github.com/adept/full-fledged-hledger
[hflow]: https://github.com/apauley/hledger-flow [hflow]: https://github.com/apauley/hledger-flow
@@ -484,34 +484,34 @@ td:first-child strong a {
| | Ledger | hledger | Beancount | | Ledger | hledger | Beancount
|---------------------------------|------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------- |---------------------------------|------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------
| |
| <br>**<a name="user-interfaces" href="#user-interfaces">User interfaces</a>** | <br>**<a name="user-interfaces" href="#user-interfaces">User interfaces</a>**
| [CLI]: | [ledger] | [hledger] | [beanquery] | [CLI]: | [ledger] | [hledger] | [beanquery]
| [TUI]: | *[regdel]* | [hledger add], [hledger-ui], *[hledger-iadd]*, *[puffin]* | *[bean-add]* | [TUI]: | *[regdel]* | [hledger add], [hledger-ui], *[hledger-iadd]*, *[puffin]* | *[bean-add]*
| [GUI]: | *[Prudent]*, *[ledgerble]*, *[addtrans]* | *[fruit-credits]* | | [GUI]: | *[Prudent]*, *[ledgerble]*, *[addtrans]* | *[fruit-credits]* |
| [WUI]: | *[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]* | [WUI]: | *[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]*
| [Android]: | *[cashier]*, *[NanoLedger]* | *[cashier]*, *[MoLe]*, *[NanoLedger]* | *[Beancount Mobile CE]*, *[beancount-mobile (xuhcc)]* | [Android]: | *[cashier]*, *[NanoLedger]* | *[cashier]*, *[MoLe]*, *[NanoLedger]* | *[Beancount Mobile CE]*, *[beancount-mobile (xuhcc)]*
| [IOS]: | | | *[Beancount Mobile CE]* | [IOS]: | | | *[Beancount Mobile CE]*
| |
| <br>**<a name="help" href="#help">Help</a>** | <br>**<a name="help" href="#help">Help</a>**
| CLI help: | general --help, also available as [man page][ledger man] | general and command-specific --help, [commands summary][hledger commands summary], [built-in asciinema demos][hledger demo] | command-specific --help | CLI help: | general --help, also available as [man page][ledger man] | general and command-specific --help, [commands summary][hledger commands summary], [built-in asciinema demos][hledger demo] | command-specific --help
| [TLDR] short help: | [ledger][ledger tldr] | [hledger][hledger tldr] and [commands][hledger balance tldr], also built-in | | [TLDR] short help: | [ledger][ledger tldr] | [hledger][hledger tldr] and [commands][hledger balance tldr], also built-in |
| User manual formats: | [web][ledger manual web] | [web][hledger manual web], info, [man][hledger man], also built-in info/man/text with [jump to topic] | [web][beancount manual web] | User manual formats: | [web][ledger manual web] | [web][hledger manual web], info, [man][hledger man], also built-in info/man/text with [jump to topic] | [web][beancount manual web]
| Active support channels: | | [chat][hledger chat], [mail list][hledger mail list], [forum], [reddit] | [mail list][beancount mail list] | Active support channels: | | [chat][hledger chat], [mail list][hledger mail list], [forum], [reddit] | [mail list][beancount mail list]
| Easy install and setup: | yes | yes | no | Easy install and setup: | yes | yes | no
| |
| <br>**<a name="data-formats" href="#data-formats">Data formats</a>** | <br>**<a name="data-formats" href="#data-formats">Data formats</a>**
| Input formats: | [journal (ledger)], [timeclock][timeclock (ledger)], [csv][csv (ledger)] | [journal (hledger)], [timeclock][timeclock (hledger)], [timedot], [csv, tsv, ssv, \*sv][csv (hledger)] | [journal (beancount)] | Input formats: | [journal (ledger)], [timeclock][timeclock (ledger)], [csv][csv (ledger)] | [journal (hledger)], [timeclock][timeclock (hledger)], [timedot], [csv, tsv, ssv, \*sv][csv (hledger)] | [journal (beancount)]
| Output formats: | text, [csv, xml, lisp][ledger output format] | [text, html, csv, tsv, fods, beancount, sql, json][hledger output format] | text, ? | Output formats: | text, [csv, xml, lisp][ledger output format] | [text, html, csv, tsv, fods, beancount, sql, json][hledger output format] | text, ?
| |
| <br>**<a name="commands" href="#commands">Commands</a>** | <br>**<a name="commands" href="#commands">Commands</a>**
| Commands: | [accounts][l accounts], [balance][l balance], [cleared][l cleared], [commodities][l commodities], [convert][l convert], [csv][l csv], [entry][l entry], [emacs][l emacs], [equity][l equity], [lisp][l lisp], [payees][l payees], [pricemap][l pricemap], [pricedb][l pricedb], [prices][l prices], [print][l print], [register][l register], [select][l select], [source][l source], [stats][l stats], [tags][l tags] | [accounts][h accounts], [activity][h activity], [add][h add], [aregister][h aregister], [balance][h balance], [balancesheet][h balancesheet], [balancesheetequity][h balancesheetequity], [cashflow][h cashflow], [check][h check], [close][h close], [codes][h codes], [commodities][h commodities], [demo][h demo], [descriptions][h descriptions], [diff][h diff], [files][h files], [help][h help], [import][h import], [incomestatement][h incomestatement], [payees][h payees], [prices][h prices], [print][h print], [notes][h notes], [register][h register], [rewrite][h rewrite], [roi][h roi], [stats][h stats], [tags][h tags], [test][h test] | beancount: [check][b check], [doctor][b doctor], [example][b example], [format][b format] | Commands: | [accounts][l accounts], [balance][l balance], [cleared][l cleared], [commodities][l commodities], [convert][l convert], [csv][l csv], [entry][l entry], [emacs][l emacs], [equity][l equity], [lisp][l lisp], [payees][l payees], [pricemap][l pricemap], [pricedb][l pricedb], [prices][l prices], [print][l print], [register][l register], [select][l select], [source][l source], [stats][l stats], [tags][l tags] | [accounts][h accounts], [activity][h activity], [add][h add], [aregister][h aregister], [balance][h balance], [balancesheet][h balancesheet], [balancesheetequity][h balancesheetequity], [cashflow][h cashflow], [check][h check], [close][h close], [codes][h codes], [commodities][h commodities], [demo][h demo], [descriptions][h descriptions], [diff][h diff], [files][h files], [help][h help], [import][h import], [incomestatement][h incomestatement], [payees][h payees], [prices][h prices], [print][h print], [notes][h notes], [register][h register], [rewrite][h rewrite], [roi][h roi], [stats][h stats], [tags][h tags], [test][h test] | beancount: [check][b check], [doctor][b doctor], [example][b example], [format][b format]
| Add-on commands: | | [bar][h bar], [check-fancyassertions][h check-fancyassertions], *[edit][h edit]*, [git][h git], *[iadd][h iadd]*, *[interest][h interest]*, *[lots][h lots]*, [move][h move], [pijul][h pijul], *[plot][h plot]*.. | beanquery: [balances][b balances], [journal][b journal], [print][b print], [select][b select] | Add-on commands: | | [bar][h bar], [check-fancyassertions][h check-fancyassertions], *[edit][h edit]*, [git][h git], *[iadd][h iadd]*, *[interest][h interest]*, *[lots][h lots]*, [move][h move], [pijul][h pijul], *[plot][h plot]*.. | beanquery: [balances][b balances], [journal][b journal], [print][b print], [select][b select]
| |
| <br>**<a name="configuration" href="#configuration">Configuration</a>** | <br>**<a name="configuration" href="#configuration">Configuration</a>**
| Config file: | [general options][l config] | [general and command-specific options][h config] | ? | Config file: | [general options][l config] | [general and command-specific options][h config] | ?
| Extensibility: | [built-in expression language][l expression lang], [embedded python][l python], *[HTTP-JSON][l http api]* | [add-on commands][h addons], [haskell library][h lib], [HTTP-JSON][h http api] | [data-modifying plugins][b plugins], [python library][b lib] | Extensibility: | [built-in expression language][l expression lang], [embedded python][l python], *[HTTP-JSON][l http api]* | [add-on commands][h addons], [haskell library][h lib], [HTTP-JSON][h http api] | [data-modifying plugins][b plugins], [python library][b lib]
| |
| <br>**<a name="other-features" href="#other-features">Other features</a>** | <br>**<a name="other-features" href="#other-features">Other features</a>**
| Account names: | [any][l account names] | [any][h account names] | [capitalised, no spaces, english top level names][b account names] | Account names: | [any][l account names] | [any][h account names] | [capitalised, no spaces, english top level names][b account names]
| Account types awareness: | no | [yes][h account types] | yes | Account types awareness: | no | [yes][h account types] | yes
@@ -534,16 +534,16 @@ td:first-child strong a {
| Price fetching: | *[pricehist]* | *[pricehist][h pricehist]* | [beanprice], *[pricehist]* | Price fetching: | *[pricehist]* | *[pricehist][h pricehist]* | [beanprice], *[pricehist]*
| Querying: | [cli options][l query opts], [custom query expressions][l query args] | [cli options][h query opts], [custom query expressions][h query args], *[sql][h sql]* | [SQL-like beancount query language][b query] | Querying: | [cli options][l query opts], [custom query expressions][l query args] | [cli options][h query opts], [custom query expressions][h query args], *[sql][h sql]* | [SQL-like beancount query language][b query]
| REPL: | built-in | [haskell GHCI][h ghci] | [beanquery][beanquery repl], python | REPL: | built-in | [haskell GHCI][h ghci] | [beanquery][beanquery repl], python
| Shell completions: | [bash (commands, flags, maybe accounts)][l bash completions] | [bash (commands, flags, flag values, query types, journal data)][h bash completions] | | Shell completions: | [bash (commands, flags, maybe accounts)][l bash completions] | [bash (commands, flags, flag values, query types, journal data)][h bash completions] |
| Unrealised gains report: | [--unrealized][l ugains] | [--gain][h ugains], [roi][h roi] | *[fava]* | Unrealised gains report: | [--unrealized][l ugains] | [--gain][h ugains], [roi][h roi] | *[fava]*
| Validation: | [configurable][l validation] | [configurable][h validation] | [always strict][b validation] | Validation: | [configurable][l validation] | [configurable][h validation] | [always strict][b validation]
| Miscellaneous: | ? | [standard financial reports][h std financial reports] | ? | Miscellaneous: | ? | [standard financial reports][h std financial reports] | ?
| | | [customisable account display order][h account display order] | | | | [customisable account display order][h account display order] |
| | | customisable amount styles for [input][h input amount styles] and [output][h output amount styles] | | | | customisable amount styles for [input][h input amount styles] and [output][h output amount styles] |
| | | [documentation-first development][h doc-first dev] | | | | [documentation-first development][h doc-first dev] |
| | | [regular releases][h releases] | | | | [regular releases][h releases] |
| | | [regression bounties][h reg bounties] | | | | [regression bounties][h reg bounties] |
| | | | | | | |
<!-- Link targets used in the above table and elsewhere. Checked 2024-09-27. --> <!-- Link targets used in the above table and elsewhere. Checked 2024-09-27. -->
@@ -902,7 +902,7 @@ td:first-child strong a {
#### YNAB #### YNAB
- [beancount-ynab](https://github.com/hoostus/beancount-ynab) Import YNAB4 (legacy desktop-based version) into beancount - [beancount-ynab](https://github.com/hoostus/beancount-ynab) Import YNAB4 (legacy desktop-based version) into beancount
- [beancount-ynab5](https://github.com/hoostus/beancount-ynab5) Import YNAB5 (cloud-based version) transactions into beancount - [beancount-ynab5](https://github.com/hoostus/beancount-ynab5) Import YNAB5 (cloud-based version) transactions into beancount
- [ynab-to-ledger](https://github.com/jaredtconnor/ynab-to-ledger) YNAB5 (transactions) to *ledger converter (2025) - [ynab-to-ledger](https://github.com/jaredtconnor/ynab-to-ledger) YNAB5 (transactions) to *ledger converter (2025)
- [ynab-to-ledger](https://github.com/vermiceli/ynab-to-ledger) You Need A Budget (YNAB) to *ledger converter. Handles multiple currencies, multiple number formats, reconciliation, memos, transfers, and split transactions - [ynab-to-ledger](https://github.com/vermiceli/ynab-to-ledger) You Need A Budget (YNAB) to *ledger converter. Handles multiple currencies, multiple number formats, reconciliation, memos, transfers, and split transactions
- [ynab_to_ledger](https://github.com/pgr0ss/ynab_to_ledger) YNAB to *ledger converter - [ynab_to_ledger](https://github.com/pgr0ss/ynab_to_ledger) YNAB to *ledger converter
@@ -917,7 +917,7 @@ td:first-child strong a {
- [market-prices.hs](https://gist.github.com/maralorn/a288329af50955dff353e5529f377488) small, easy to adapt script to scrape market data from the internet (Haskell) - [market-prices.hs](https://gist.github.com/maralorn/a288329af50955dff353e5529f377488) small, easy to adapt script to scrape market data from the internet (Haskell)
- [pricehist](https://gitlab.com/chrisberkhout/pricehist) fetch and format historical price data, with support for multiple sources and output formats (python) - [pricehist](https://gitlab.com/chrisberkhout/pricehist) fetch and format historical price data, with support for multiple sources and output formats (python)
- [the-solipsist/scripts](https://github.com/the-solipsist/scripts/) download prices for your hledger commodities, including indian commodities (bash) - [the-solipsist/scripts](https://github.com/the-solipsist/scripts/) download prices for your hledger commodities, including indian commodities (bash)
- [update-stocks-hledger in .net](https://github.com/oraculum/update-stocks-hledger) fetching stocks market prices and currency exchange rates from Yahoo Finance - [update-stocks-hledger in .net](https://github.com/oraculum/update-stocks-hledger) fetching stocks market prices and currency exchange rates from Yahoo Finance
### Data generation ### Data generation
@@ -1005,9 +1005,9 @@ td:first-child strong a {
- [cash](https://github.com/jon49/cash) offline-capable web UI for data entry to CSV (js/html) - [cash](https://github.com/jon49/cash) offline-capable web UI for data entry to CSV (js/html)
- [fava](https://github.com/beancount/fava) web UI for beancount browsing (python, [demo](https://fava.pythonanywhere.com/)) - [fava](https://github.com/beancount/fava) web UI for beancount browsing (python, [demo](https://fava.pythonanywhere.com/))
- [finfetch](https://github.com/natepmay/finfetch) local web app for downloading csv from your banks via Plaid (categorised, deduplicated, plus edits and deletions) - [finfetch](https://github.com/natepmay/finfetch) local web app for downloading csv from your banks via Plaid (categorised, deduplicated, plus edits and deletions)
- [hledger-web](https://hackage.haskell.org/package/hledger-web) web UI for *ledger browsing, data entry - [hledger-web](https://hackage.haskell.org/package/hledger-web) web UI for *ledger browsing, data entry
(haskell, (haskell,
[demo](https://demo.hledger.org), [demo](https://demo.hledger.org),
[Sandstorm app](https://apps.sandstorm.io/app/8x12h6p0x0nrzk73hfq6zh2jxtgyzzcty7qsatkg7jfg2mzw5n90)) [Sandstorm app](https://apps.sandstorm.io/app/8x12h6p0x0nrzk73hfq6zh2jxtgyzzcty7qsatkg7jfg2mzw5n90))
- [hledger-web-rs](https://gitlab.com/shivjm/hledger-web-rs) web UI for hledger reports (rust) - [hledger-web-rs](https://gitlab.com/shivjm/hledger-web-rs) web UI for hledger reports (rust)
- [Paisa](https://paisa.fyi) web UI or desktop app for ledger, hledger and beancount (go, javascript, [demo](https://demo.paisa.fyi)) - [Paisa](https://paisa.fyi) web UI or desktop app for ledger, hledger and beancount (go, javascript, [demo](https://demo.paisa.fyi))
@@ -1043,7 +1043,7 @@ td:first-child strong a {
- [beancount-txn-elisp](https://sr.ht/~trs-80/beancount-txn-`) a library to read/parse and write/insert individual Beancount transactions, implemented in Emacs Lisp - [beancount-txn-elisp](https://sr.ht/~trs-80/beancount-txn-`) a library to read/parse and write/insert individual Beancount transactions, implemented in Emacs Lisp
- [beanhub-forms](https://github.com/LaunchPlatform/beanhub-forms) a library provides data types and processors of custom beancount forms for inputting repeating similar entries easily - [beanhub-forms](https://github.com/LaunchPlatform/beanhub-forms) a library provides data types and processors of custom beancount forms for inputting repeating similar entries easily
- [beanhub-web-react](https://github.com/LaunchPlatform/beanhub-web-react) react components for beancount entry input forms and [beanhub-forms](https://github.com/LaunchPlatform/beanhub-forms) - [beanhub-web-react](https://github.com/LaunchPlatform/beanhub-web-react) react components for beancount entry input forms and [beanhub-forms](https://github.com/LaunchPlatform/beanhub-forms)
- [magicbeans](https://github.com/ericaltendorf/magicbeans/) Beancount extensions for cryptocurrency tax tracking and reporting - [magicbeans](https://github.com/ericaltendorf/magicbeans/) Beancount extensions for cryptocurrency tax tracking and reporting
### Utilities ### Utilities
@@ -1058,4 +1058,3 @@ td:first-child strong a {
- [ledgerhelpers](https://github.com/Rudd-O/ledgerhelpers) extends Ledger's python library (python) - [ledgerhelpers](https://github.com/Rudd-O/ledgerhelpers) extends Ledger's python library (python)
- [node-hledger](https://github.com/rstacruz/node-hledger) Node.js API for *ledger files (javascript) - [node-hledger](https://github.com/rstacruz/node-hledger) Node.js API for *ledger files (javascript)
- [BeanHub API](https://api.beanhub.io/redoc) proprietary SaaS API for operating on hosted beancount repositories and [beanhub-forms](https://github.com/LaunchPlatform/beanhub-forms) - [BeanHub API](https://api.beanhub.io/redoc) proprietary SaaS API for operating on hosted beancount repositories and [beanhub-forms](https://github.com/LaunchPlatform/beanhub-forms)