plaintextaccounting.org

Plain Text Accounting (PTA)

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 collects the PTA community's tools, docs and practices. It is maintained by Simon Michael (hledger project leader, PTA fan) and contributors like you. Join the chat, or send an edit (here's the contributors' README). github

On this page:
News & discussion
Videos
Articles & blog posts
Docs: Accounting - PTA app official docs - PTA app comparisons - Cheatsheets - Introductory docs - Presentations
Software: PTA apps - Editor plugins - Data import/conversion - Price fetching - Data generation - Formatting - Reporting - Time logging - UI, console - UI, curses - UI, GUI - UI, web - UI, mobile - Library - Utilities - API

Elsewhere:
Newcomer FAQ: What is this - Objections and concerns
Cookbook: Getting Started - General usage - Accounting situations

News & discussion

Chat Matrix ~100, IRC ~50, Plain Text Accounting space on Matrix
Mail lists app-specific mail lists
Mastodon #plaintextaccounting
Twitter #plaintextaccounting, #ledgercli, #hledger, #beancount, @LedgerTips
Reddit /r/plaintextaccounting
Hacker News stories, comments
Stack Exchange ledger-cli tag, ledger-cli search, hledger tag, hledger search
Other This Week In Hledger, plaintextaccounting.org issues, plaintextaccounting.org changes

Videos

Articles & blog posts

A partial list, contributions welcome

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013

2012

2011

2010

2009

2006

Docs

Accounting

PTA app official docs

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

PTA app comparisons

Cheatsheets

Introductory docs

Presentations

Cookbook

Software

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 2023-03 C++ 189 4.9k ledger ~900 IRC ~60
hledger 2007 2023-09 haskell 167 2.6k hledger ~200 matrix ~150, IRC ~70
Beancount 2008 2023-10 python 64 3k beancount ~700 matrix ~10, matrix (fava) ~180, IRC ~30
 
Smaller userbase
Abandon 2013 2019-09 scala 11 162 matrix
Transity 2018 2019-05 purescript 8 571 matrix
Ledger in Go 2013 2022-07 go 8 333
rust_ledger 2019 2020-09 rust 4 90
knut 2020 2022-09 go 3 41
Go Ledger 2016 go 3 37
.Net Ledger 2017 2018-08 C# 1 134 matrix
pacioli 2013 python 1 31
ledg 2021 2021-04 javascript 1 30
Goledger 2019 2020-08 go 1 24
blossom 2020 F# 1 20
Tackler 2017 2022-12 scala 1 8 matrix
pta 2020 2020-09 perl 1
Prudent 2018 js (closed); addons 1 @PrudentLedger
awk-pta 2022 awk 1
mynt 2023 mynt 1
 
Inactive
bankroll 2020 2020-08 rust 1 1
acc 2020 rust 1 1
beans 2019 2019 haskell 2 24
monescript 2017 2018-01 javascript 1 12
uledger 2015 python 1 17
ledger.pl 2013 perl 1 6
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, cmp-beancount
VS Code hledger-vscode, ledger, vscode-beancount

Data import/conversion

Additional helper tools complementing the PTA apps, by category.

Price fetching

Data generation

Formatting

Reporting

Time logging

UI, console

UI, curses

UI, GUI

UI, web

UI, mobile

Library

Utilities

API


(c) 2016-2023 Simon Michael & contributors | Send updates via github