% Plain Text Accounting (PTA)
---
toc: false
...
Welcome!
***Plain text accounting*** is a way of doing bookkeeping and accounting
with plain text files and scriptable, command-line-friendly software, such as
Ledger, hledger, or Beancount.
This site collects the PTA community's tools, docs and practices.
It is maintained by Simon Michael (hledger project leader, PTA fan)
and contributors like you. See also our [discussion forum and chat rooms](#news-discussion).
**Site map**\
**[[What is Plain Text Accounting ?]]**\
**[News & discussion](#news-discussion)**\
**[Videos](#videos)**\
**[Slides](#slides)**\
**[Docs](#docs):**
[Accounting basics](#accounting-basics)
, [PTA app docs](#pta-app-docs)
, [comparisons](#comparisons)
, [intros](#intros)
, [cheatsheets](#cheatsheets)
, [cookbooks](#cookbooks)
, [FAQs](#faqs)
\
**[[FAQ]]**\
**[[Cookbook]]**\
**[Software](#software):**
[PTA apps](#pta-apps)
, [Feature matrix](#feature-matrix)
, [Editor plugins](#editor-plugins)
, [Data import/conversion](#data-importconversion)
, [Price fetching](#price-fetching)
, [Data generation](#data-generation)
, [Workflows](#workflows)
, [Formatting](#formatting)
, [Reporting](#reporting)
, [Time logging](#time-logging)
, [UI, console](#ui-console)
, [UI, curses](#ui-curses)
, [UI, GUI](#ui-gui)
, [UI, web](#ui-web)
, [UI, mobile](#ui-mobile)
, [Library](#library)
, [Utilities](#utilities)
, [API](#api)
This is a community-supported site; if you find it useful, why not contribute to the [github repo](https://github.com/plaintextaccounting/plaintextaccounting)
or help with [[finance]].
Thank you sponsors, including:
## News & discussion
**Chat**
- [matrix room](https://matrix.to/#/#plaintextaccounting:matrix.org)
- [matrix space](https://matrix.to/#/#plaintextaccounting-space:matrix.org)
- [IRC channel](https://web.libera.chat/#plaintextaccounting)
- [project chats](#pta-apps)
\
**Blogs & articles**
- See the PTA forum's [News category](https://forum.plaintextaccounting.org/c/news/6) and [RSS feed](https://forum.plaintextaccounting.org/latest.rss?order=created)
- [[blogs|Older blogs & articles, 2006-2024]]
\
**PTA forum**
- [forum.plaintextaccounting.org](https://forum.plaintextaccounting.org)
\
**Reddit**
- [/r/plaintextaccounting](https://www.reddit.com/r/plaintextaccounting/new)
\
**Lemmy**
- [lemmy.world/c/plaintextaccounting](https://lemmy.world/c/plaintextaccounting?sort=New)
\
**Hacker News**
- [stories](https://hn.algolia.com/?query=plain%20text%20accounting&sort=byDate&prefix=false&page=0&dateRange=all&type=story)
- [comments](https://hn.algolia.com/?query=plain%20text%20accounting&sort=byDate&prefix=false&page=0&dateRange=all&type=comment)
\
**Mastodon**
- [#plaintextaccounting](https://fosstodon.org/tags/plaintextaccounting)
- [#ledgercli](https://fosstodon.org/tags/ledgercli)
- [#hledger](https://fosstodon.org/tags/hledger)
- [#beancount](https://fosstodon.org/tags/beancount)
\
**Twitter**
- [#plaintextaccounting](https://twitter.com/hashtag/plaintextaccounting?f=live)
- [#ledgercli](https://twitter.com/hashtag/ledgercli?f=live)
- [#hledger](https://twitter.com/hashtag/hledger?f=live)
- [#beancount](https://twitter.com/hashtag/beancount?f=live)
- [LedgerTips 2014-2018](https://twitter.com/LedgerTips)
\
**Stack Exchange**
- [ledger-cli tag](https://money.stackexchange.com/questions/tagged/ledger-cli?tab=newest)
- [ledger-cli search](https://money.stackexchange.com/search?tab=newest&q=ledger-cli)
- [hledger tag](https://money.stackexchange.com/questions/tagged/hledger?tab=newest)
- [hledger search](https://money.stackexchange.com/search?tab=newest&q=hledger)
\
**Project specific**
- [Project mail lists](#pta-apps)
- [This Week In Hledger](https://hledger.org/news.html)
\
**plaintextaccounting.org site**
- [commits](https://github.com/plaintextaccounting/plaintextaccounting/commits/master)
- [contributors](https://github.com/plaintextaccounting/plaintextaccounting/graphs/contributors)
- [issues](https://github.com/plaintextaccounting/plaintextaccounting/issues?q=is%3Aissue+)
- [email the site admin](mailto:webmaster@plaintextaccounting.org)
## Videos
- [Thanga Ayyanar: Ledger CLI](https://www.youtube.com/watch?v=PQKOiU_spHg) (in Tamil) 2024
- [Edwin Espinoza: Ledger CLI, Personal finance in the command line](https://www.youtube.com/watch?v=EWjoblLoD3k) 2023
- [Prakash Joshi Pax: How to Use Obsidian to Track Your Expenses](https://www.youtube.com/watch?v=UPyy52MfC3Q) 2022
- [Peter Berger: Plain Text Accounting: An Opinionated View](https://www.youtube.com/watch?v=ZDF7xVtKLu0&t=1s) 2022
- [Glenn Ramsey: Plain text accounting for fun and profit](https://youtube.com/watch?v=lazZwTmAEHs) 2022
- [季路LJ: Beancount |简略记账说明](https://www.youtube.com/watch?v=tmkR6umON4A) 2021
- [Robert Nielsen: hledger fan channel](https://www.youtube.com/channel/UCZLxXTjOqLzq4z5Jy0AyWSQ) short hledger beginner lessons, 2019-2021
- [Brian Ryall: Managing Your Finances Using Python](https://www.youtube.com/watch?v=mFzctYkktXQ) 2020
- [Steve Anderson: Plain Text Accounting: How to do Signed Number Accounting](https://www.youtube.com/watch?v=FLbe3X3FiT8) 2019
- [Quiliro Ordóñez: ledger-mode lightning talk](https://archive.org/details/ledger-mode_EmacsConf2019) 2019
- [Dickson S. Guedes: Cuide de suas FINANÇAS pessoais ou profissionais usando TEXTO](https://www.youtube.com/watch?v=HmbZh8lWnmE&list=PLqkknzu_rt6mxltdQ4XBS9AEuL8c-JLUH) 2019
- [John Nduli: Plain Text Accounting](https://www.youtube.com/watch?v=GpcD1iH-ZJg) 2019
- [Jean Louis: GNU Emacs database accounting and rant on text ledgers](https://www.youtube.com/watch?v=ixbUQ2wikM0) 2019
- [Cindy Zimmerman: Triple Entry Accounting, Ledger-cli, The blocktree hash tree - Guld Ledger File Format](https://www.youtube.com/watch?v=C0ie2v_FiNU) 2018
- [Colin Dean: Plaintext Accounting with the ledger ecosystem](https://www.youtube.com/watch?v=FJtaM43PgXQ) 2017
- [Colin Dean: Plain Text Accounting](https://www.youtube.com/watch?v=8r5Cp66k4PA) 2017
- [Simon Michael: Hands-on with hledger](https://www.youtube.com/watch?v=H_CdGzLbc7A) 2016
- [Chris Vollick: hledger, an open source accounting tool](https://www.youtube.com/watch?v=-WahFvxhCRc) 2016
- [Austin Walker: Conquering Your Finances with Emacs and Ledger](https://www.youtube.com/watch?v=cjoCNRpLanY) 2016
- [Simon Michael, Randal Schwartz, Simon Phipps: FLOSS Weekly 375: hledger](https://www.youtube.com/watch?v=Xjl-wVJcYpE)
([3m overview](https://www.youtube.com/watch?v=qS2UcDV_lbs),
[show notes](https://twit.tv/shows/floss-weekly/episodes/375))
2016
- [John Wiegley, Randal Schwartz, Aaron Newcomb: FLOSS Weekly 150: Ledger](https://www.youtube.com/watch?v=TDqrrH-gTt0)
([show notes](https://twit.tv/shows/floss-weekly/episodes/150))
2011
## Slides
- [Simon Michael: Inside hledger: an architectural tour and how-to](https://rawcdn.githack.com/simonmichael/hledger/4013a81af8dd2804c73ecac18fb3e7e4745a4275/doc/haskellerz/haskellerz.slidy.html) 2021
- [Michael Lynch: An introduction to plaintext accounting](https://decks.mtlynch.io/plaintext-acccounting/) 2021
- [Andreas Pauley: Purely Functional Personal Finance](https://pauley.org.za/functional-finance-hledger/) 2018
- [Matthew Turland: Hacking Your Finances for Fun and Profit](https://matthewturland.com/slides/ledger-stats/) 2013
## Docs
**[Accounting basics](#accounting-basics)
, [PTA app docs](#pta-app-docs)
, [Comparisons](#comparisons)
, [Intros](#intros)
, [Cheatsheets](#cheatsheets)
, [Cookbooks](#cookbooks)
, [FAQs](#faqs)
**
### Accounting basics
- [hledger: Accounting basics](https://hledger.org/accounting.html)
- [hledger: Accounting links](https://hledger.org/accounting.html#accounting-links)
- [Beancount: The Double-Entry Counting Method](https://docs.google.com/document/d/100tGcA4blh6KSXPRGCZpUlyxaRUwFHEvnz_k9DyZFn4)
- [Accounting for Computer Scientists](https://martin.kleppmann.com/2011/03/07/accounting-for-computer-scientists.html)
- [Accounting for Dragons](https://podcastle.org/2009/10/09/pc-miniature-38-accounting-for-dragons)
- [[FAQ]]
### PTA app docs
- [Ledger](https://www.ledger-cli.org/docs.html)
- [hledger](https://hledger.org/)
- [Beancount](https://beancount.github.io/docs/)
- [Ledger in Go](https://howeyc.github.io/ledger/)
- [Tackler](https://tackler.e257.fi/docs/)
- [pta](https://mandoc.bsd.lv/pta/)
### 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),
[hledger and other software](https://hledger.org/cookbook.html#other-software) 2014, 2019, 2022, 2023..
- [Matthias Kauer: Command Line Accounting – A look at the various ledger ports](http://www.matthiaskauer.com/2015/08/command-line-accounting-a-look-at-the-various-ledger-ports/) 2015
- [beancount mail list: Another Ledger user's perspective](https://groups.google.com/d/msg/beancount/QV4qgpFbtJ8/9fSgMw-XGC8J) 2015
- [Beancount: A Comparison of Beancount and Ledger](https://docs.google.com/document/d/1dW2vIjaXVJAf9hr7GlZVe3fJOkM-MtlVjvCO1ZpNLmg) 2014
- [ledger list: ledger vs hledger vs beancount or how to choose the right cli client](https://groups.google.com/d/topic/ledger-cli/__yuMVjrOH0/discussion) 2014
### Intros
- [[What is Plain Text Accounting?]]
- [Getting Started With Ledger](https://rolfschr.github.io/gswl-book/latest.html)
- [hledger: Get Started](https://hledger.org/start.html)
- [Getting Started with Beancount](https://beancount.github.io/docs/getting_started_with_beancount.html)
- [Tackler: Quickstart](https://tackler.e257.fi/docs/quickstart/)
- [[Don't Sink Your First Attempts at Plaintext Accounting]]
- [Program your Finances: Command-line Accounting](https://www.petekeen.net/keeping-finances-with-ledger)
- [Plain Text Accounting Workshop](https://github.com/colindean/plaintextaccounting_workshop)
- [[Cookbook.html#getting-started|Cookbook: Getting started]]
- [BeanHub Academy: the definitive guide to learning double-entry accounting with Beancount — the Zen of Balance](https://academy.beanhub.io)
- [Lazy Beancount: an opinionated guide on Beancount](https://lazy-beancount.xyz/)
### Cheatsheets
- [Syntax Quick Reference](quickref/)
- [Ledger CLI cheatsheet](https://devhints.io/ledger)
- [Beancount Syntax Cheat Sheet](https://beancount.github.io/docs/beancount_cheat_sheet.html)
- [Beginners corner: a basic hledger transaction](https://hledgerfan.com/beginners-corner-a-basic-hledger-transaction/)
- [(Almost) everything you wanted to know about hledger transactions](https://hledgerfan.com/almost-everything-you-wanted-to-know-about-hledger-transactions/)
- [hledger: Journal cheatsheet](https://hledger.org/hledger.html#journal-cheatsheet)
- [hledger: CSV rules cheatsheet](https://hledger.org/hledger.html#csv-rules-cheatsheet)
### Cookbooks
- [[Cookbook]] the Plain Text Accounting Cookbook; more docs, examples...
- [Beancount cookbook](https://beancount.github.io/docs/command_line_accounting_cookbook.html)
- [hledger cookbook](https://hledger.org/cookbook.html)
- [Ledger wiki](https://github.com/ledger/ledger/wiki)
- [PTA Forum](https://forum.plaintextaccounting.org)
- [Reddit: plaintextaccounting](https://www.reddit.com/r/plaintextaccounting/new)
### FAQs
- [[FAQ]] the Plain Text Accounting FAQ
- [hledger FAQ](https://hledger.org/faq.html)
- [Ledger FAQ](https://github.com/ledger/ledger/wiki/FAQ)
## Software
**[PTA apps](#pta-apps)
, [Editor plugins](#editor-plugins)
, [Data import/conversion](#data-importconversion)
, [Price fetching](#price-fetching)
, [Data generation](#data-generation)
, [Workflows](#workflows)
, [Formatting](#formatting)
, [Reporting](#reporting)
, [Time logging](#time-logging)
, [UI, console](#ui-console)
, [UI, curses](#ui-curses)
, [UI, GUI](#ui-gui)
, [UI, web](#ui-web)
, [UI, mobile](#ui-mobile)
, [Library](#library)
, [Utilities](#utilities)
, [API](#api)
**
### PTA apps
To do Plain Text Accounting, try one (or more) of the apps below.
Generally it's possible to migrate data between them.
| Project | Start | Last release | Code | Committers | Stars | Mail list, size | Chat, size | Issues |
|--------------------|--------|:------------:|------------------------------|-----------:|------:|----------------------------------|------------------------------------------------------------------------------------------------------|------------------------------|
| | | | | | | | | |
| **Popular** | | | | | | | | |
| [Ledger] | 2003 | 2023 | [C++][ledger-src] | 226 | 4.9k | [ledger][ledger-mail] ~900 | [IRC][#ledger:libera.chat] ~60 | [1.5k][ledger-issues] |
| [hledger] | 2007 | 2024 | [haskell][hledger-src] | 171 | 2.9k | [hledger][hledger-mail] ~250 | [matrix][#hledger:matrix.org] ~200, [IRC][#hledger:libera.chat] ~60 | [1.4k][hledger-issues] |
| [Beancount] | 2008 | 2023 | [python][beancount-src] | 84 | 3.1k | [beancount][beancount-mail] ~700 | [matrix][beancount-matrix] ~10, [matrix (fava)][fava-matrix] ~190, [IRC][#beancount:libera.chat] ~30 | [0.5k][beancount-issues] |
| | | | | | | | | |
| **Small userbase** | | | | | | | | |
| [Ledger (Go)] | 2013 | 2023 | [go][ledger-go-src] | 11 | 409 | | | |
| Abandon | 2013 | 2020 | [scala][abandon-src] | 11 | 178 | | [matrix][abandon-matrix] | |
| knut | 2020 | 2022 | [go][knut-src] | 3 | 49 | | | |
| [zhang] | 2023 | 2023 | [rust/ts][zhang-src] | 1 | 105 | | | |
| [ledg] | 2021 | 2021 | [javascript][ledg] | 1 | 37 | | | |
| Goledger | 2019 | 2020 | [go][goledger-mescanne-src] | 1 | 25 | | | |
| blossom | 2020 | | [F#][blossom-src] | 1 | 25 | | | |
| awk-pta | 2022 | | [awk][awk-pta-src] | 1 | 15 | | | |
| [Tackler] | 2017 | 2022 | [scala][tackler-src] | 1 | 9 | | [matrix][#tackler:matrix.org] | |
| coin | 2019 | | [go][coin-src] | 1 | 7 | | | |
| budget-cli | 2023 | 2023 | [typescript][budget-cli] | 1 | 2 | | | |
| mynt | 2023 | | [rust][mynt-src] | 1 | | | | |
| [placc] | 2024 | | nim | 1 | | | | |
| | | | | | | | | |
| **Inactive** | | | | | | | | |
| bankroll | 2020 | 2020 | [rust][bankroll-src] | 1 | 1 | | | |
| [pta] | 2020 | 2020 | [perl][pta-src] | 1 | | | | |
| acc | 2020 | | [rust][acc-src] | 1 | 1 | | | |
| rust\_ledger | 2019 | 2021 | [rust][rust_ledger-src] | 4 | 90 | | | |
| [beans] | 2019 | 2019 | [haskell][beans-src] | 2 | 24 | | | |
| Transity | 2018 | 2020 | [purescript][transity-src] | 8 | 571 | | [matrix][transity-matrix] | |
| [Prudent] | 2018 | | js, [addons][prudent-src] | 1 | | | [\@PrudentLedger][prudent-chat] | |
| .Net Ledger | 2017 | 2021 | [C#][nledger-src] | 1 | 164 | | [matrix][nledger-matrix] | |
| [monescript] | 2017 | 2018 | [javascript][monescript-src] | 1 | 12 | | | |
| Go Ledger | 2016 | | [go][go-ledger-abourget-src] | 3 | 37 | | | |
| uledger | 2015 | | [python][uledger-src] | 1 | 17 | | | |
| pacioli | 2013 | | [python][pacioli-src] | 1 | 31 | | | |
| ledger.pl | 2013 | | [perl][ledger.pl-src] | 1 | 6 | | | |
| Penny | 2012 | 2014 | haskell | | | | | |
| UMM | 2009 | 2010 | [haskell][UMM-hackage] | | | | | |
| sm-Ledger | 2007 | | [squeak][smalltalk-src] | | | | | |
| cl-ledger | 2007 | | [lisp][cl-ledger-src] | 4 | 66 | | | |
[plaintextaccounting.org]: https://plaintextaccounting.org
[/r/plaintextaccounting]: https://www.reddit.com/r/plaintextaccounting
[#plaintextaccounting:libera.chat]: https://web.libera.chat/#plaintextaccounting
[#plaintextaccounting:matrix.org]: https://matrix.to/#/#plaintextaccounting:matrix.org
[abandon-src]: https://github.com/hrj/abandon
[abandon-matrix]: https://matrix.to/#/#hrj_abandon:gitter.im
[acc-src]: https://github.com/rudolfschmidt/acc
[awk-pta-src]: https://github.com/filiphanes/awk-pta
[mynt-src]: https://git.sr.ht/~kmaasrud/mynt
[placc]: https://dolfi.dev/placc
[Beancount]: https://github.com/beancount/
[Beancount2]: https://beancount.github.io
[beancount-src]: https://github.com/beancount/beancount/
[beancount-issues]: https://github.com/beancount/beancount/issues
[beancount-mail]: https://groups.google.com/forum/#!forum/beancount
[#beancount:libera.chat]: https://web.libera.chat/#beancount
[beancount-matrix]: https://matrix.to/#/#beancount:matrix.org
[fava-matrix]: https://matrix.to/#/#beancount_fava:gitter.im
[beans]: https://sboehler.github.io/beans
[beans-src]: https://github.com/sboehler/beans
[blossom-src]: https://github.com/blossom-hub/blossom
[budget-cli]: https://github.com/joshcanhelp/budget-cli
[cl-ledger-src]: https://github.com/ledger/cl-ledger
[coin-src]: https://github.com/mkobetic/coin
[Ledger (Go)]: https://howeyc.github.io/ledger/
[ledger-go-src]: https://github.com/howeyc/ledger
[goledger-mescanne-src]: https://github.com/mescanne/goledger
[go-ledger-abourget-src]: https://github.com/abourget/ledger
[hledger]: https://hledger.org
[hledger-src]: https://github.com/simonmichael/hledger
[hledger-code]: https://code.hledger.org
[hledger-issues]: https://github.com/simonmichael/hledger/issues
[hledger-mail]: https://mail.hledger.org/
[#hledger:matrix.org]: https://matrix.to/#/#hledger:matrix.org
[#hledger:libera.chat]: https://web.libera.chat/#hledger
[knut-src]: https://github.com/sboehler/knut
[Ledger]: https://www.ledger-cli.org
[ledger-src]: https://github.com/ledger/ledger
[ledger-issues]: https://github.com/ledger/ledger/issues
[#ledger:libera.chat]: https://web.libera.chat/#ledger
[ledger-mail]: https://list.ledger-cli.org/
[ledger.pl-src]: https://github.com/dimonf/ledger.pl
[monescript]: https://monescript.github.io/
[monescript-src]: https://github.com/monescript/monescript
[nledger-src]: https://github.com/dmitry-merzlyakov/nledger
[nledger-matrix]: https://matrix.to/#/#nledger_Lobby:gitter.im
[pacioli-src]: https://github.com/mdipierro/pacioli
[pta]: https://mandoc.bsd.lv/pta
[pta-src]: https://cvsweb.bsd.lv/pta/
[prudent]: https://prudent.me
[prudent-src]: https://github.com/PrudentMe
[prudent-chat]: https://twitter.com/PrudentLedger
[rust_ledger-src]: https://github.com/ebcrowder/rust_ledger
[bankroll-src]: https://gitlab.com/dantuck/bankroll
[smalltalk-src]: https://gist.github.com/simonmichael/bb611dba654ccb1573e1
[Tackler]: https://tackler.e257.fi
[tackler-src]: https://gitlab.com/e257/accounting/tackler
[#tackler:matrix.org]: https://matrix.to/#/#tackler:matrix.org
[transity-src]: https://github.com/feramhq/transity
[transity-demo]: https://www.feram.io/transity
[transity-matrix]: https://matrix.to/#/#feramhq_transity:gitter.im
[uledger-src]: https://github.com/danpat/uledger
[UMM-hackage]: https://hackage.haskell.org/package/UMM
[ledg]: https://github.com/SitanHuang/ledg
[zhang-src]: https://github.com/zhang-accounting/zhang
[zhang]: https://zhang-accounting.github.io/zhang
### Feature matrix
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 *italic*.
| | Ledger | hledger | Beancount
|---------------------------------|------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------
|
|
**User interfaces**
| [CLI]: | [ledger] | [hledger] | [beanquery]
| [TUI]: | *[regdel]* | [hledger add], [hledger-ui], *[hledger-iadd]*, *[puffin]* | *[bean-add]*
| [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]*, *[BeanHubA]*
| [Android]: | *[cashier]*, *[NanoLedger]* | *[cashier]*, *[MoLe]*, *[NanoLedger]* | *[Beancount Mobile CE]*, *[beancount-mobile (xuhcc)]*
| [IOS]: | | | *[Beancount Mobile CE]*
|
|
**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 |
| 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
| Easy install and setup: | yes | yes | no
|
|
**Data formats**
| 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, fods, csv, tsv, ssv, json, sql][hledger output format] | text, ?
|
|
**Commands**
| 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]
|
|
**Configuration**
| 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]
|
|
**Other features**
| Budget report: | [yes][l budget] | [yes][h budget] |
| Charting tools: | *[paisa]*, etc.. | [activity][h activity], [hledger-bar][h bar], [hledger-web][hledger-web], *[hledger-plot][h plot]*, *[paisa]*, etc.. | *[paisa]*..
| Data importing: | [built-in from CSV][l convert], *[others][import tools]*.. | [built-in from any input format][h import], *[others][import tools]*.. | [beangulp] framework, *[beancount_reds_importers] framework*, *[beancount-import] library*, *[others][import tools]*..
| Data deduplication: | [checksum-based (requires unique CSV records)][l convert] | [date-based (requires date-ordered CSV records)][h dedupe] | ?
| Generate postings by rule: | [yes][l gen postings] | [yes][h gen postings] | ?
| Generate transactions by rule: | [yes][l gen transactions] | [yes][h gen transactions] | ?
| International number notations: | no | [yes][h intl numbers] | no
| Lot management: | [lot matching syntax][l lot matching], [lots report][l lot report], [revaluation transactions][l lot revaluation], *[lotter]* | [manual][h lot manual], *[hledger-lots][h lots]*, *[hledger-move][h move]*, *[lotter]* | [lot matching syntax][b lot matching], ?
| Multi-period balance reports: | no | [yes][h multiperiod bal] | no
| Pivoting: | [on single tag][l pivot] | [on one or more tags/other fields][h pivot] | ?
| 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-like beancount query language][b query]
| 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] |
| Unrealised gains report: | [--unrealized][l ugains] | [--gain][h ugains], [roi][h roi] | ?
| Validation: | [configurable][l validation] | [configurable][h validation] | [always strict][b validation]
| Miscellaneous: | ? | [account types awareness][h account types] | ?
| | | [standard financial reports][h std financial reports] |
| | | [customisable account display order][h account display order] |
| | | customisable amount styles for [input][h input amount styles] and [output][h output amount styles] |
| | | [documentation-first development][h doc-first dev] |
| | | [regular releases][h releases] |
| | | [regression bounties][h reg bounties] |
| | | |
[CLI]: https://en.wikipedia.org/wiki/Command-line_interface
[TUI]: https://en.wikipedia.org/wiki/Text-based_user_interface
[GUI]: https://en.wikipedia.org/wiki/Graphical_user_interface
[WUI]: https://en.wikipedia.org/wiki/Web_application
[Android]: https://en.wikipedia.org/wiki/Android_(operating_system)
[IOS]: https://en.wikipedia.org/wiki/IOS
[ledger]: https://ledger-cli.org/doc/ledger3.html
[hledger]: https://hledger.org/hledger.html
[beanquery]: https://github.com/beancount/beanquery
[regdel]: https://github.com/guillaumechereau/regdel
[hledger add]: https://hledger.org/hledger.html#add
[hledger-ui]: https://hledger.org/hledger-ui.html
[hledger-web]: https://hledger.org/hledger-web.html
[hledger-iadd]: https://github.com/hpdeifel/hledger-iadd
[puffin]: https://github.com/siddhantac/puffin
[bean-add]: https://github.com/simon-v/bean-add
[Prudent]: https://prudent.me
[ledgerble]: https://github.com/sbridges/ledgerble
[addtrans]: https://github.com/Rudd-O/ledgerhelpers/blob/master/doc/addtrans.md
[fruit-credits]: https://codeberg.org/dz4k/fruit-credits
[ledgeraccounting]: https://github.com/thecount2a/ledgeraccounting
[paisa]: https://paisa.fyi
[cashier]: https://gitlab.com/alensiljak/cashier
[ledgible]: https://github.com/lipidity/ledgible
[ledger (howeyc)]: https://github.com/howeyc/ledger
[ledger-web (vifon)]: https://vifon.github.io/ledger-web
[ledger-web (peterkeen)]: https://github.com/peterkeen/Ledger-Web
[NanoLedger]: https://f-droid.org/en/packages/be.chvp.nanoledger
[ledger-pyreport]: https://yingtongli.me/git/ledger-pyreport/about
[ledger-analytics]: https://github.com/kendricktan/ledger-analytics
[node-ledger-web]: https://github.com/slashdotdash/node-ledger-web
[Beancount Mobile CE]: https://beancount.io
[beancount-mobile (xuhcc)]: https://github.com/xuhcc/beancount-mobile
[MoLe]: https://fossdroid.com/a/mole.html
[BeanHub]: https://beanhub.io
[fava]: https://github.com/beancount/fava
[tldr]: https://tldr.sh
[ledger tldr]: https://tldr.inbrowser.app/pages/common/ledger
[hledger tldr]: https://tldr.inbrowser.app/pages/common/hledger
[hledger balance tldr]: https://tldr.inbrowser.app/pages/common/hledger-balance
[ledger manual web]: https://ledger-cli.org/doc/ledger3.html
[hledger manual web]: https://hledger.org/start.html#manuals
[beancount manual web]: https://beancount.github.io/docs/
[jump to topic]: https://hledger.org/hledger.html#help
[forum]: https://forum.plaintextaccounting.org
[reddit]: https://reddit.com/r/plaintextaccounting
[hledger chat]: https://matrix.hledger.org
[hledger mail list]: https://list.hledger.org
[beancount mail list]: https://groups.google.com/g/beancount
[hledger commands summary]: https://hledger.org/hledger.html#commands
[hledger demo]: https://hledger.org/hledger.html#demo
[hledger quick start]: https://hledger.org/start.html
[ledger quick start]: https://ledger-cli.org/doc/ledger3.html#Start-a-Journal-File
[ledger install]: https://ledger-cli.org/download.html
[hledger install]: https://hledger.org/install.html
[ledger man]: https://manned.org/man/ledger
[hledger man]: https://manned.org/man/hledger
[bean-query man]: https://manned.org/man/bean-query
[bean-check man]: https://manned.org/man/bean-check
[journal (ledger)]: https://ledger-cli.org/doc/ledger3.html#Journal-Format
[journal (hledger)]: https://hledger.org/hledger.html#journal
[journal (beancount)]: https://beancount.github.io/docs/beancount_language_syntax.html
[csv (ledger)]: https://ledger-cli.org/doc/ledger3.html#The-convert-command
[csv (hledger)]: https://hledger.org/hledger.html#csv
[timeclock (ledger)]: https://ledger-cli.org/doc/ledger3.html#Time-Keeping
[timeclock (hledger)]: https://hledger.org/hledger.html#timeclock
[timedot]: https://hledger.org/hledger.html#timedot
[ledger output format]: https://ledger-cli.org/doc/ledger3.html#Basic-Reporting-Commands
[hledger output format]: https://hledger.org/hledger.html#output-format
[l accounts]: https://ledger-cli.org/doc/ledger3.html#accounts
[l balance]: https://ledger-cli.org/doc/ledger3.html#The-balance-command
[l cleared]: https://ledger-cli.org/doc/ledger3.html#Cleared-Report
[l commodities]: https://ledger-cli.org/doc/ledger3.html#commodities
[l convert]: https://ledger-cli.org/doc/ledger3.html#The-convert-command
[l csv]: https://ledger-cli.org/doc/ledger3.html#The-csv-command
[l entry]: https://ledger-cli.org/doc/ledger3.html#xact
[l emacs]: https://ledger-cli.org/doc/ledger3.html#The-lisp-command
[l equity]: https://ledger-cli.org/doc/ledger3.html#The-equity-command
[l lisp]: https://ledger-cli.org/doc/ledger3.html#The-xml-command
[l payees]: https://ledger-cli.org/doc/ledger3.html#payees
[l pricemap]: https://ledger-cli.org/doc/ledger3.html#The-pricemap-command
[l pricedb]: https://ledger-cli.org/doc/ledger3.html#prices-and-pricedb-commands
[l prices]: https://ledger-cli.org/doc/ledger3.html#prices-and-pricedb-commands
[l print]: https://ledger-cli.org/doc/ledger3.html#The-print-command
[l register]: https://ledger-cli.org/doc/ledger3.html#The-register-command
[l select]: https://ledger-cli.org/doc/ledger3.html#select
[l source]: https://ledger-cli.org/doc/ledger3.html#source
[l stats]: https://ledger-cli.org/doc/ledger3.html#stats
[l tags]: https://ledger-cli.org/doc/ledger3.html#tags
[h accounts]: https://hledger.org/hledger.html#accounts
[h activity]: https://hledger.org/hledger.html#activity
[h add]: https://hledger.org/hledger.html#add
[h aregister]: https://hledger.org/hledger.html#aregister
[h balance]: https://hledger.org/hledger.html#balance
[h balancesheet]: https://hledger.org/hledger.html#balancesheet
[h balancesheetequity]: https://hledger.org/hledger.html#balancesheetequity
[h cashflow]: https://hledger.org/hledger.html#cashflow
[h check]: https://hledger.org/hledger.html#check
[h close]: https://hledger.org/hledger.html#close
[h codes]: https://hledger.org/hledger.html#codes
[h commodities]: https://hledger.org/hledger.html#commodities
[h demo]: https://hledger.org/hledger.html#demo
[h descriptions]: https://hledger.org/hledger.html#descriptions
[h diff]: https://hledger.org/hledger.html#diff
[h files]: https://hledger.org/hledger.html#files
[h help]: https://hledger.org/hledger.html#help
[h import]: https://hledger.org/hledger.html#import
[h incomestatement]: https://hledger.org/hledger.html#incomestatement
[h payees]: https://hledger.org/hledger.html#payees
[h prices]: https://hledger.org/hledger.html#prices
[h print]: https://hledger.org/hledger.html#print
[h notes]: https://hledger.org/hledger.html#notes
[h register]: https://hledger.org/hledger.html#register
[h rewrite]: https://hledger.org/hledger.html#rewrite
[h roi]: https://hledger.org/hledger.html#roi
[h stats]: https://hledger.org/hledger.html#stats
[h tags]: https://hledger.org/hledger.html#tags
[h test]: https://hledger.org/hledger.html#test
[h bar]: https://hledger.org/scripts.html#hledger-bar
[h check-fancyassertions]: https://hledger.org/scripts.html#hledger-check-fancyassertions
[h edit]: https://hledger.org/scripts.html#hledger-edit
[h git]: https://hledger.org/scripts.html#hledger-git
[h iadd]: https://hledger.org/scripts.html#hledger-iadd
[h interest]: https://hledger.org/scripts.html#hledger-interest
[h lots]: https://hledger.org/scripts.html#hledger-lots
[h move]: https://hledger.org/scripts.html#hledger-move
[h pijul]: https://hledger.org/scripts.html#hledger-pijul
[h plot]: https://hledger.org/scripts.html#hledger-plot
[b check]: https://beancount.github.io/docs/running_beancount_and_generating_reports.html#bean-check
[b doctor]: https://beancount.github.io/docs/running_beancount_and_generating_reports.html#bean-doctor
[b example]: https://beancount.github.io/docs/running_beancount_and_generating_reports.html#bean-example
[b format]: https://beancount.github.io/docs/running_beancount_and_generating_reports.html#bean-format
[b balances]: https://github.com/beancount/beanquery/blob/7577b6c1b93cfdecd76e9c5f466e0ab96bddd045/beanquery/shell.py#L585
[b journal]: https://github.com/beancount/beanquery/blob/7577b6c1b93cfdecd76e9c5f466e0ab96bddd045/beanquery/shell.py#L570
[b print]: https://github.com/beancount/beanquery/blob/7577b6c1b93cfdecd76e9c5f466e0ab96bddd045/beanquery/shell.py#L490
[b select]: https://github.com/beancount/beanquery/blob/7577b6c1b93cfdecd76e9c5f466e0ab96bddd045/beanquery/shell.py#L512
[l config]: https://ledger-cli.org/doc/ledger3.html#Basic-options
[h config]: https://hledger.org/hledger.html#config-files
[l expression lang]: https://ledger-cli.org/doc/ledger3.html#Value-Expressions
[l python]: https://ledger-cli.org/doc/ledger3.html#Extending-with-Python
[l http api]: https://vifon.github.io/ledger-web/
[h addons]: https://hledger.org/dev/hledger.html#add-on-commands
[h lib]: https://hledger.org/scripting.html#hledger-lib-scripts
[h http api]: https://hledger.org/hledger-web.html#json-api
[b plugins]: https://beancount.github.io/docs/external_contributions.html#plugins
[b lib]: https://beancount.github.io/docs/api_reference/index.html
[l budget]: https://ledger-cli.org/doc/ledger3.html#Budgeting
[h budget]: https://hledger.org/hledger.html#budgeting
[beangulp]: https://beancount.github.io/docs/beangulp.html
[beancount_reds_importers]: https://github.com/redstreet/beancount_reds_importers
[beancount-import]: https://github.com/jbms/beancount-import
[import tools]: https://plaintextaccounting.org/#data-importconversion
[h dedupe]: https://hledger.org/hledger.html#date-skipping
[l gen postings]: https://ledger-cli.org/doc/ledger3.html#Automated-Transactions
[h gen postings]: https://hledger.org/dev/hledger.html#auto-postings
[l gen transactions]: https://ledger-cli.org/doc/ledger3.html#Periodic-Transactions
[h gen transactions]: https://hledger.org/dev/hledger.html#periodic-transactions
[h intl numbers]: https://hledger.org/dev/hledger.html#amounts
[l lot matching]: https://ledger-cli.org/doc/ledger3.html#Buying-and-Selling-Stock
[l lot report]: https://ledger-cli.org/doc/ledger3.html#Lot-notes
[l lot revaluation]: https://ledger-cli.org/doc/ledger3.html#index-_002d_002drevalued
[h lot manual]: https://hledger.org/investments.html#what-about-lots-
[b lot matching]: https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices
[lotter]: https://src.d10.dev/lotter/doc/tip/README.md
[h multiperiod bal]: https://hledger.org/hledger.html#report-intervals
[l pivot]: https://ledger-cli.org/doc/ledger3.html#index-_002d_002dpivot-TAG-1
[h pivot]: https://hledger.org/dev/hledger.html#pivoting
[h pricehist]: https://hledger.org/scripts.html#pricehist
[pricehist]: https://gitlab.com/chrisberkhout/pricehist
[beanprice]: https://github.com/beancount/beanprice
[l query opts]: https://ledger-cli.org/doc/ledger3.html#Report-Filtering
[l query args]: https://ledger-cli.org/doc/ledger3.html#Building-Reports
[h query opts]: https://hledger.org/dev/hledger.html#options
[h query args]: https://hledger.org/dev/hledger.html#queries
[b query]: https://beancount.github.io/docs/beancount_query_language.html
[h ghci]: https://hledger.org/DEVWORKFLOWS.html#use-ghci
[beanquery repl]: https://beancount.github.io/docs/beancount_query_language.html#making-queries
[l bash completions]: https://github.com/ledger/ledger/blob/master/contrib/ledger-completion.bash
[h bash completions]: https://hledger.org/dev/hledger.html#shell-completions
[l ugains]: https://ledger-cli.org/doc/ledger3.html#index-_002d_002dunrealized
[h ugains]: https://hledger.org/dev/hledger.html#balance-report-types
[l validation]: https://ledger-cli.org/doc/ledger3.html#Error-Checking-and-Calculation-Options
[h validation]: https://hledger.org/dev/hledger.html#check
[b validation]: https://beancount.github.io/docs/getting_started_with_beancount.html#brief-syntax-overview
[h account types]: https://hledger.org/dev/hledger.html#account-types
[h std financial reports]: https://hledger.org/dev/hledger.html#part-4-commands
[h account display order]: https://hledger.org/dev/hledger.html#account-display-order
[h input amount styles]: https://hledger.org/dev/hledger.html#amounts
[h output amount styles]: https://hledger.org/dev/hledger.html#commodity-display-style
[h doc-first dev]: https://hledger.org/PULLREQUESTS.html#documentation-first
[h releases]: https://hledger.org/RELEASING.html#release-types
[h reg bounties]: https://hledger.org/REGRESSIONS.html
### Editor plugins
**Atom**
- [language-ledger](https://atom.io/packages/language-ledger)
- [ledger](https://atom.io/packages/ledger)
\
**Emacs**
- [beancount-mode](https://github.com/beancount/beancount-mode)
- [hledger-mode](https://github.com/narendraj9/hledger-mode)
- [ledger-mode](https://ledger-cli.org/doc/ledger-mode.html) (good for hledger also)
\
**IntelliJ**
- [Ledger CLI](https://plugins.jetbrains.com/plugin/15405-ledger-cli)
\
**Nano**
- [scopatz/nanorc](https://github.com/scopatz/nanorc/blob/master/ledger.nanorc)
\
**Sublime**
- [sublime-ledger-syntax](https://github.com/moeffju/sublime-ledger-syntax)
\
**TextMate**
- [Ledger.tmbundle](https://github.com/lifepillar/Ledger.tmbundle)
\
**VIM**
- [vim-ledger](https://github.com/ledger/vim-ledger)
- [vim-beancount](https://github.com/nathangrigg/vim-beancount)
- [hledger-vim](https://github.com/anekos/hledger-vim)
- [cmp-beancount](https://github.com/crispgm/cmp-beancount)
\
**VS Code**
- [hledger-vscode](https://github.com/mhansen/hledger-vscode)
- [ledger](https://marketplace.visualstudio.com/items?itemName=mariosangiorgio.ledger)
- [vscode-beancount](https://marketplace.visualstudio.com/items?itemName=Lencerf.beancount)
- [hledger: Editor configuration](https://hledger.org/editors.html)
### Data import/conversion
- [Ledger](https://www.ledger-cli.org/3.0/doc/ledger3.html#Comma-Separated-Values-files) and [hledger](https://hledger.org/csv.html) have CSV conversion built in. Also:
- bean-identify, bean-extract, bean-file - Beancount built-in tools
- [banks2ledger](https://github.com/tomszilagyi/banks2ledger) - CSV to *ledger converter
- [beancount-import](https://github.com/jbms/beancount-import) web app/framework for converting various formats to beancount (python)
- [beancount-reds-importers](https://github.com/redstreet/beancount_reds_importers) Simple importers and tools for Beancount. A framework to allow you to easily write your own importers.
- [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
- [beanhub-extract](https://github.com/LaunchPlatform/beanhub-extract) Simple Python library for extracting all kinds of bank export CSV files into standardized transaction data objects
- [beanhub-import](https://github.com/LaunchPlatform/beanhub-import) Declarative idempotent rule-based beancount transaction import engine in Python consumes data extracted by [beanhub-extract](https://github.com/LaunchPlatform/beanhub-extract)
- [buchhaltung](https://hackage.haskell.org/package/buchhaltung) CSV/FinTS/HBCI/OFX to *ledger conversion/deduplication (haskell)
- [Costflow](https://docs.costflow.io) convert one line message to beancount/*ledger format
- [csv2beancount](https://github.com/PaNaVTEC/csv2beancount) CSV to beancount converter (clojure)
- [CSV2Ledger](https://launchpad.net/csv2ledger) CSV to *ledger converter (perl)
- [double-entry-generator](https://github.com/deb-sig/double-entry-generator) Rule-based double-entry bookkeeping importer (from Alipay/WeChat/Huobi etc. to Beancount)
- [fints2ledger](https://github.com/MoritzR/fints2ledger) FinTS/HBCI to csv to *ledger or beancount journals (python)
- [gcash2ledger.py](https://gist.github.com/nonducor/ddc97e787810d52d067206a592a35ea7/) GNUCash XML to *ledger converter (python)
- [gnucash-to-beancount](https://github.com/henriquebastos/gnucash-to-beancount/) GNUCash sqlite to beancount converter (python)
- [gnucash2ledger.py](https://github.com/MatzeB/pygnucash/blob/master/gnucash2ledger.py) GNUCash sqlite to *ledger converter (python)
- [grisbi2Ledger](https://github.com/Hawk777/grisbi2ledger) Grisbi to *ledger converter
- [gsheet-csv.hs](https://github.com/simonmichael/hledger/blob/master/bin/gsheet-csv.hs) a script to download Google sheets (haskell)
- [hledger-Excel](https://github.com/phobo3s/hledger-Excel) Excel spreadsheet to *ledger journal converter (visual basic for applications)
- [hledger-import-dsl](https://github.com/hpdeifel/hledger-import-dsl) alternate, programmable CSV converter for hledger
- [hledger-to-influxdb](https://github.com/barrucadu/hledger-scripts#hledger-to-influxdb) hledger to InfluxDB converter (haskell)
- [hledger2beancount](https://github.com/tjroth/hledger2beancount) hledger to beancount converter (haskell)
- [homebank2ledger](https://github.com/chazmcgarvey/homebank2ledger) HomeBank to ledger and beancount converter (perl)
- [icsvledger](https://github.com/quentinsf/icsv2ledger) interactive CSV to *ledger converter (python)
- [into-ledger](https://github.com/manishrjain/into-ledger) CSV to *ledger converter
- [invoice2data](https://github.com/invoice-x/invoice2data) extract data from PDF invoices (python)
- [jali](https://git.darmstadt.ccc.de/jali/jali) downloader/importer to *ledger (python)
- [kmymoney2hledger](https://github.com/maridonkers/kmymoney2hledger) KMyMoney to *ledger converter (clojure)
- [kmymoney2ledgers](https://github.com/isabekov/kmymoney2ledgers) KMyMoney to *ledger/beancount converter (python)
- [kmymoney2ledgers.awk](https://github.com/isabekov/kmymoney2ledgers.awk) KMyMoney to *ledger/beancount converter (Awk)
- [ldgclip](https://gitlab.com/IanTwenty/ldgclip) import bank transactions via the clipboard with one click (bash/awk)
- [Ledger in Go](https://github.com/howeyc/ledger) has limport, a CSV to *ledger converter
- [ledger-autosync](https://gitlab.com/egh/ledger-autosync) OFX download, OFX to *ledger conversion, deduplication
- [ledger-guesser](https://github.com/j3k0/ledger-guesser) neural network for generating entries like past ones, can be used with ledger-autosync (javascript)
- [ledger-myexpenses](https://github.com/ony/ledger-myexpenses) MyExpenses android app sqlite db to *ledger conversion (python, 2017)
- [ledgermyexpenses](https://gitlab.com/IanTwenty/ledgermyexpenses) sync MyExpenses android app to/from Ledger (bash, 2023)
- [ledger-to-beancount](https://github.com/glasserc/ledger-to-beancount/) yet another simple ledger to beancount converter (python)
- [ledger-tutorials](https://github.com/tlvince/ledger-tutorials) convert Pete Keen's tutorials to ebook format
- [ledger2beancount.py](https://gist.github.com/travisdahlke/71152286b0a8826249fe) *ledger to beancount converter
- [ledger2beancount](https://github.com/beancount/ledger2beancount)/[beancount2ledger](https://github.com/beancount/beancount2ledger) the best converter between h/ledger and beancount formats (perl).
- [moneymoney-ledger](https://github.com/lukasbestle/moneymoney-ledger) MoneyMoney export extension for *ledger
- [outofit](https://github.com/rcaputo/outofit) QuickBooks to *ledger converter
- [piecash](https://github.com/sdementen/piecash) GNUCash SQL to *ledger converter (python)
- [plaid2qif](https://github.com/ebridges/plaid2qif) Download transactions from plaid as QIF or CSV files
- [plaid2text](https://github.com/madhat2r/plaid2text) Plaid API to *ledger/beancount download/conversion
- [qb2ledger](https://gist.github.com/genegoykhman/3765100) QuickBooks General Journal CSV to *ledger converter
- [QIFtoLedger](https://github.com/Kolomona/QIFtoLedger) (Bank of America's) QIF to *ledger converter
- [reckon](https://github.com/cantino/reckon) smart interactive/non-interactive CSV to *ledger converter
- [slc](https://github.com/marvinpinto/slc) generates Ledger accounting entries, works with generic CSV files as well as the Stripe API
- [smart_importer](https://github.com/johannesjh/smart_importer) library for building smarter CSV to beancount/Fava converters
- [Tiller](https://www.tillerhq.com) service to download from mostly-US banks to google or microsoft spreadsheets (commercial but pretty good)
- [total_recall](https://github.com/eval/total_recall) CSV to *ledger converter
- [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) You Need A Budget to *ledger converter
### Price fetching
- [bean-price](https://docs.google.com/document/d/1thYRAMell_QT1Da1F_laprSs6BlROZjyK_h3V8qHW9c) Beancount's price fetching tool (python)
- [hledger-stockquotes](https://github.com/prikhi/hledger-stockquotes) download market prices for your hledger commodities (haskell)
- [ledger-get-prices](https://github.com/nathankot/ledger-get-prices) download market prices (ruby)
- [LedgerStockUpdate](https://github.com/adchari/LedgerStockUpdate) update a Ledger price database (go)
- [market-prices](https://github.com/barrucadu/hledger-scripts#market-prices) download market prices from several sources (python)
- [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)
- [the-solipsist/scripts](https://github.com/the-solipsist/scripts/) download prices for your hledger commodities, including indian commodities (bash)
### Data generation
- [beancount-extract-price](https://github.com/Mayeu/beancount-scripts) generate prices transactions based on your beancount ledger (python)
- [DepreciateForLedger](https://github.com/tazzben/DepreciateForLedger) generate *ledger depreciation transactions (python)
- [hledger-interest](https://hackage.haskell.org/package/hledger-interest) generate *ledger interest entries (haskell)
- [ledger-ts](https://github.com/hamsterbase/ledger-ts) typescript EDSL for generating beancount journals (typescript)
- [ledgerbil](https://github.com/scarpent/ledgerbil) schedule recurring txns, interactive reconcile, date sorting
- [LedgerScheduler](https://github.com/tazzben/LedgerScheduler) move entries from one file to another when they come due (python)
- [lotter](https://src.d10.dev/lotter) generate postings for capital gain/loss (go)
- [recurring](https://hub.darcs.net/simon/ledgertools/browse/recurring) generate recurring *ledger entries (python)
- [reorder-journal.sh](https://github.com/amitaibu/hledger-example/blob/master/reorder-journal.sh) sort hledger entries, preserving directives/comments at top of file (bash)
- [sassetti](https://github.com/jvasile/sassetti) adds lisp macros to ledger files (common lisp)
### Invoicing
- [kairos](https://kairosdotapp.github.io) ([repo](https://github.com/kairosdotapp/kairos)) generate invoices from hledger timedot files (go)
### Workflows
- [docker-finance](https://gitea.com/EvergreenCrypto/docker-finance) hledger/hledger-flow/docker-based system for tracking and reporting on traditional and cryptocurrency finances
- [Full-fledged hledger](https://github.com/adept/full-fledged-hledger) scripts and detailed tutorial for generating hledger journals from CSV files (haskell, shell)
- [hledger-flow](https://github.com/apauley/hledger-flow) command-line tool to generate hledger (or Ledger) journals from CSV files (haskell)
- [rtrledger](https://github.com/rotorkunstkultur/rtrledger) another hledger journals from CSV files system, designed for chaotic German freelancers (shell etc.)
- [Lazy Beancount](https://github.com/Evernight/lazy-beancount) Beancount packaged in Docker with additional plugins and tools
### Formatting
- [beancount-black](https://github.com/LaunchPlatform/beancount-black) opinionated beancount file formatter
- [beancount-black web app](https://app.beanhub.io/tools/beancount-formatter) opinionated beancount file formatter as a web-based app
### Reporting
- [budget_report](https://github.com/sulemankm/budget_report) budget reporting with beancount (python)
- [gainstrack](https://github.com/glorat/gainstrack) personal wealth analysis app with beancount export (scala/typescript)
- [hledger-diff](https://hackage.haskell.org/package/hledger-diff) report differing transactions between two journals (haskell)
- [hledger-irr](https://hackage.haskell.org/package/hledger-irr) calculate an account's internal rate of return (superseded by [roi](https://hledger.org/hledger.html#roi)) (haskell)
- [hledger-sankey](https://github.com/adept/hledger-sankey) Script + HTML files to plot income next to expense money flows from an hledger ledger file (shell + javascript)
- [hledger-tools](https://github.com/rmuratov/hledger-tools) generating charts from hledger (typescript)
- [hledger-vega](https://github.com/xitian9/hledger-vega) makes configurable [vega-lite](https://vega.github.io/vega-lite/) charts from hledger (shell)
- [hreports](https://pypi.org/project/hreports) customise hledger reports with templates and PDF output (python)
- [ledger-plot](https://github.com/Tagirijus/ledger-plot) interactive tool for making GNUplot charts from Ledger (python)
- [ledger-plots](https://github.com/esovetkin/ledger-plots) R package & script to make charts from Ledger (R)
- [r-ledger](https://github.com/trevorld/r-ledger) an R package for reading and reporting on ledger/hledger/beancount files (R)
- [TaxingLots](https://framagit.org/jkepler/TaxingLots) calculates capital gains for a ledger journal (python)
### Time logging
- [org2tc](https://github.com/jwiegley/org2tc) org to timeclock converter
- [on-modify.timetrack.py](https://gist.github.com/wbsch/d977b0ac29aa1dfa4437) taskwarrior hook for timeclock output
- [t](https://github.com/nuex/t) ledger timeclock shellscript
- [tim](https://github.com/MatthiasKauer/tim) time logging/reporting tool using hledger
- [timekeeping-template](https://github.com/bbarker/timekeeping-template) time logging/reporting examples/how-to using hledger
- [tito](https://mostlyabsurd.com/files/tito) time logging bash scripts that avoid double clock-in
### UI, console
- [bean-add](https://github.com/simon-v/bean-add) interactive transaction entry tool (python)
- [hledger add](https://hledger.org/hledger.html#add) interactive transaction entry tool (builtin command)
- [ladd](https://github.com/ninewise/dotfiles/blob/master/local/bin/ladd) create and edit a new *ledger transaction by fuzzy-matching past descriptions
- [ldgr](https://github.com/brandonpittman/ldgr) command line tool to add/sort/tag ledger files (ruby)
- [ledger xact](https://www.ledger-cli.org/3.0/doc/ledger3.html#xact) history-aware transaction generator (builtin command)
### UI, curses
- [hledger-iadd](https://github.com/hpdeifel/hledger-iadd) TUI for *ledger transaction entry (haskell)
- [hledger-ui](https://hackage.haskell.org/package/hledger-ui) TUI for *ledger browsing (haskell, [video](https://asciinema.org/a/29665))
- [ledger-add](https://github.com/Tagirijus/ledger-add) TUI for *ledger transaction entry (python)
- [puffin](https://github.com/siddhantac/puffin) TUI for hledger browsing (go)
- [regdel](https://github.com/guillaumechereau/regdel) TUI for browsing Ledger files (python)
### UI, GUI
- [fruit-credits](https://codeberg.org/dz4k/fruit-credits) data entry/reporting GUI for hledger (Vala, GNOME)
- [ledgerble](https://github.com/sbridges/ledgerble) reporting GUI with charts & adjustable reports (Javascript)
- [ledgerhelpers](https://github.com/Rudd-O/ledgerhelpers) misc. GUI tools + helper library (Python, GTK)
- [Prudent][prudent] integrated journal editing/importing/reporting GUI for Ledger (Javascript, mac only, closed source)
### UI, web
- [fava](https://github.com/beancount/fava) web UI for beancount browsing (python, [demo](https://fava.pythonanywhere.com/))
- [hledger-web](https://hackage.haskell.org/package/hledger-web) web UI for *ledger browsing, data entry
(haskell,
[demo](https://demo.hledger.org),
[Sandstorm app](https://apps.sandstorm.io/app/8x12h6p0x0nrzk73hfq6zh2jxtgyzzcty7qsatkg7jfg2mzw5n90))
- [Paisa](https://paisa.fyi) web UI or desktop app for ledger, hledger and beancount (go, javascript, [demo](https://demo.paisa.fyi))
- [Ledger in Go](https://github.com/howeyc/ledger) web UI for browsing ledger transactions, reports, and porfolios
- [Ledger Web](https://github.com/peterkeen/Ledger-Web) ledger HTML reporting system (ruby, postgres)
- [Ledger Web](https://vifon.github.io/ledger-web) web UI/API for ledger browsing, data entry (python)
- [ledger-analytics](https://github.com/kendricktan/ledger-analytics) web UI for ledger data analytics (javascript)
- [ledger-dashboard](https://github.com/Ikke/ledger-dashboard) web UI for ledger browsing, data entry (python)
- [ledger-pyreport](https://yingtongli.me/git/ledger-pyreport/about/) web UI for standard accounting statements and unrealised gains (python)
- [ledgeraccounting](https://github.com/thecount2a/ledgeraccounting) web UI for hledger: data entry, basic reports and budgets (javascript)
- [ledgible](https://github.com/lipidity/ledgible) web UI for ledger browsing, data entry (python)
- [n4s](https://github.com/n4s-linux/n4s-gratis-regnskab/) danish-language ERP system (php)
- [node-ledger-web](https://github.com/slashdotdash/node-ledger-web) web UI for ledger browsing (javascript)
- [WealthPulse](https://github.com/readysetmark/WealthPulse) web UI for ledger browsing, price fetching (F#)
- [BeanHub](https://beanhub.io) web UI for beancount browsing, data entry with a Git repository (proprietary SaaS; some components open source)
### UI, mobile
- [Beancount](https://beancount.io) mobile app (Android, IOS)
- [beancount-mobile](https://github.com/xuhcc/beancount-mobile) data entry app (Android)
- [NanoLedger](https://f-droid.org/en/packages/be.chvp.nanoledger) data entry app supporting the ledger and hledger syntax (Android)
- [cashier](https://gitlab.com/alensiljak/cashier) mobile or desktop client for ledger and hledger-web (Android/Desktop, javascript, [app](https://cashier.alensiljak.eu.org/))
- [cone](https://f-droid.org/en/packages/info.tangential.cone/) data entry app for the h/ledger format (Android, [dart](https://github.com/bradyt/cone))
- [MoLe](https://fossdroid.com/a/mole.html) mobile client for hledger-web (Android, [java](https://git.ktnx.net/?p=mobile-ledger.git))
- [hledger.org: Mobile apps](https://hledger.org/mobile.html)
### Library
- [beancount-parser](https://github.com/LaunchPlatform/beancount-parser) standalone [Lark-based](https://github.com/lark-parser/lark) beancount syntax parser (not relying on the beancount library)
- [beancount-parser](https://docs.rs/beancount-parser/latest/beancount_parser/) a Beancount parser in Rust using [nom](https://docs.rs/nom/latest/nom/)
- [beancount-parser-lima](https://docs.rs/beancount-parser-lima/latest/beancount_parser_lima/) another Beancount parser in Rust using [Logos](https://docs.rs/logos/latest/logos/) and [Chumsky](https://docs.rs/chumsky/latest/chumsky/)
- [beancount-txn-elisp](https://sr.ht/~trs-80/beancount-txn-elisp) 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-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
### Utilities
- [beanhub-cli](https://github.com/LaunchPlatform/beanhub-cli) beancount command line tools come with features like formatter, [beanhub-import](https://github.com/LaunchPlatform/beancount-import) and a [beanhub-forms](https://github.com/LaunchPlatform/beanhub-forms) web app
### API
- [gledger](https://github.com/gledger/gledger) Go package to interface with Ledger (go)
- [hledger-lib](https://github.com/simonmichael/hledger/tree/master/hledger-lib) library for parsing and generating reports from *ledger files (haskell)
- [hledger-web](https://github.com/simonmichael/hledger/tree/master/hledger-web) the web app includes a JSON API server for *ledger files (haskell)
- [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)
- [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)