plain text accounting

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.

Welcome! This site together with wiki.plaintextaccounting.org is an entry point to the PTA community's tools, docs and practices. It is maintained by Simon Michael (hledger project leader, Ledger contributor, PTA fan) and contributors like you. Updates are helpful; join the chat or send an edit. github

Overview:
2022-06: FAQs and Common Tasks links have moved to the wiki.

What is this ? ... Newcomer FAQ ... Objections and Concerns ... Getting started FAQ

Tools ... PTA apps ... Editor support ... Data import/conversion ... Price fetching ... Data generation ... Reports ... Time logging ... UI, console ... UI, curses ... UI, GUI ... UI, web ... UI, mobile ... API

Docs ... Accounting ... Plain Text Accounting ... Presentations ... Wiki/Cookbook

Videos ...
Articles & blog posts ...
News & discussion ...



Tools

PTA apps

To do Plain Text Accounting, choose one of the apps below. Generally it's relatively easy to migrate data from one to another.

Project Start Last release Code Committers Stars Mail list, ~size Chat, ~size
 
Popular
Ledger 2003 2021-05 C++ 189 4.3k ledger ~900 irc 60
hledger 2007 2022-06 haskell 148 2.1k hledger ~200 matrix/irc 120
Beancount 2008 2020-06 python 64 2k beancount ~600 irc 20, fava gitter/matrix 40
 
Smaller userbase
Abandon 2013 2019-09 scala 11 162 gitter/matrix
Transity 2018 2019-05 purescript 8 571 gitter/matrix
Ledger in Go 2013 2019-11 go 8 323
rust_ledger 2019 2020-09 rust 4 90
.Net Ledger 2017 2018-08 C# 1 134 gitter/matrix
goledger 2019 go 1 23
blossom 2020 F# 1 20
Tackler 2017 2021-01 scala 1 8 gitter/matrix
ledg 2021 2021-04 javascript 1 30
pta 2020 2020-09 perl 1
Prudent 2018 js (closed); addons 1 @PrudentLedger
knut 2020 go 3 39
 
Inactive
bankroll 2020 2020-08 rust 1 1
acc 2020 rust 1 1
beans 2019 2019 haskell
monescript 2017 2018-01 javascript 1 12
uledger 2015 python
pacioli 2013 python
ledger.pl 2013 perl
Penny 2012 2014 haskell
UMM 2009 2010 haskell
sm-Ledger 2007 squeak smalltalk
cl-ledger 2007 common lisp 4 66

Editor plugins

Helpers which make your text editor or IDE more aware of PTA apps and file formats. These often also work well for PTA apps other than the one they are named for.

Atom language-ledger, ledger
Emacs beancount-mode, hledger-mode, ledger-mode
IntelliJ Ledger Plugin
Nano scopatz/nanorc
Sublime sublime-ledger-syntax
TextMate Ledger.tmbundle
VIM vim-ledger, vim-beancount, hledger-vim
VS Code hledger-vscode, ledger, vscode-beancount

Data import/conversion

Additional helper tools complementing the PTA apps, by category.

Price fetching

Data generation

Reports

Time logging

UI, console

UI, curses

UI, GUI

UI, web

UI, mobile

API

Docs

Accounting

Plain Text Accounting

PTA app official docs:

Ledger | hledger | Beancount | Ledger in Go | Tackler | pta

PTA app comparisons:

Cheatsheets:

Introductory docs:

Presentations

Wiki/Cookbook

Videos

Articles & blog posts

In 2021

In 2020

In 2019

In 2018

In 2017

In 2016

In 2015

In 2014

In 2013

In 2012

In 2011

In 2010

In 2009

In 2006

News & discussion

Chat Matrix or IRC (bridged), app-specific chats
Mail lists app-specific mail lists
Twitter #plaintextaccounting, #ledgercli, #hledger, #beancount, @LedgerTips
Reddit /r/plaintextaccounting
Hacker News stories, comments
Stack Exchange [ledger-cli], "ledger-cli", [hledger], "hledger"


(c) 2016-2022 Simon Michael & contributors | Send updates via github (latest changes)