Beancount
beancount.github.io
What it is
Beancount is a double-entry bookkeeping language for recording transactions in text files and producing reports. The `bean-check` command checks ledger files, while `bean-query` extracts tables of data from them. Documentation covers importing files downloaded from financial institutions and automating parts of that process. The `bean-price` tool can retrieve prices for commodities held in accounts, but ledger processing does not fetch prices automatically; reports can therefore run offline and remain deterministic. Beancount supports multiple currencies and documents portfolio export to external tracking websites. Version 3 is identified as the current stable, maintained branch, while version 2 is frozen and obsolete. The v3 guide notes that some tools were removed and that `bean-report` and `bean-web` are deprecated. Installation instructions cover uv, pipx, pip and source, including Windows instructions for v3. Contributed editor support includes Emacs, Sublime Text, Vim and two Visual Studio Code extensions. Beancount is open source under GNU GPLv2 only and has a free plan priced at free; it has no free trial.
Spec sheet
- Purpose
- Beancount is a double-entry bookkeeping language for recording financial transactions in text files and generating reports.Read 7 Oct 2026 · github.com
- Audience
- The author says the project began as a tool for doing personal accounting and is intended to be useful to others as open-source software.Read 7 Oct 2026 · github.com
- Platforms
- The installation guide includes Windows instructions and notes that Beancount uses Python 3.8 or above.Read 7 Oct 2026 · beancount.github.io
- Security
- The project page identifies the code license as GNU GPLv2 only.Read 7 Oct 2026 · github.com
- Support
- Users can ask questions on the Beancount mailing list or report problems through a GitHub issue.Read 7 Oct 2026 · beancount.github.io
- Founded
- 2007Read 28 Sep 2026 · beancount.github.io
- Data import
- The documentation describes importing external files downloaded from financial institutions and tools and libraries to automate parts of that process.Read 7 Oct 2026 · beancount.github.io
- Editor integrations
- The installation guide lists contributed support for Emacs, Sublime Text, Vim, and two Visual Studio Code extensions.Read 7 Oct 2026 · beancount.github.io
- External data
- Beancount documentation covers importing data from files downloaded from financial institutions and tools to automate parts of that process.Read 7 Oct 2026 · beancount.github.io
- Installation
- The documentation recommends running Beancount with uv and also describes installation with pipx, pip, or from source.Read 7 Oct 2026 · beancount.github.io
- Intended use
- The author says the project began as a tool for doing his own accounting and was built to be useful to others.Read 7 Oct 2026 · github.com
- Ledger checks
- The bean-check tool checks a Beancount ledger file.Read 7 Oct 2026 · beancount.github.io
- Ledger validation
- The bean-check command checks Beancount input files.Read 7 Oct 2026 · beancount.github.io
- License and cost
- The project README says Beancount is distributed under GNU GPLv2 only and describes its open source stance as free.Read 7 Oct 2026 · github.com
- Portfolio export
- The user manual includes documentation on exporting a portfolio to external portfolio-tracking websites.Read 7 Oct 2026 · beancount.github.io
- Price behavior
- Beancount does not fetch prices automatically when processing a ledger, so reports can be deterministic and run offline.Read 7 Oct 2026 · beancount.github.io
- Prices
- The bean-price tool can fetch price data for commodities held in accounts.Read 7 Oct 2026 · beancount.github.io
- Query
- Bean-query lets users extract tables of data from a Beancount ledger file.Read 7 Oct 2026 · beancount.github.io
- Querying
- The documentation describes bean-query as a command-line tool for extracting tables of data from a ledger file.Read 7 Oct 2026 · beancount.github.io
- Security and privacy
- The documentation says ledger processing uses the file contents and does not automatically retrieve prices from the internet.Read 7 Oct 2026 · beancount.github.io
- Version
- The project identifies branch v3 as its current stable version and says it is under continued maintenance and development.Read 7 Oct 2026 · beancount.github.io
- Version 3 limits
- The installation guide says some tools were removed from v3, and that bean-report and bean-web have been deprecated.Read 7 Oct 2026 · beancount.github.io
- Version status
- The project README identifies version 3 as the current stable version and says version 2 is frozen and obsolete.Read 7 Oct 2026 · github.com
- Web interface limit
- The installation guide says custom reports and bean-web are discontinued in v3, and notes that bean-report and bean-web have been deprecated.Read 7 Oct 2026 · beancount.github.io
- Windows support
- The installation guide includes Windows instructions for Beancount v3.Read 7 Oct 2026 · beancount.github.io
Plans and prices
Strong points and limits
Strong points
- Checks ledgers and queries their data.
- Supports multiple currencies.
- Ledger processing can run offline.
- Imports data from financial institutions.
- Free, open-source software under GNU GPLv2 only.
Limits
- No free trial is offered.
- `bean-report` and `bean-web` are deprecated in v3.
- Version 2 is frozen and obsolete.
Who it suits
Beancount suits people who want to keep financial records in text-based ledgers and generate reports. It may also suit users who value offline, deterministic processing and multiple-currency bookkeeping.
Beancount in depth
Read the full write-up
Beancount is a text-based double-entry bookkeeping system for people who want their financial record in an inspectable file rather than a conventional accounting interface. It is a strong fit for technically comfortable individuals and small teams managing multi-currency books, while users who depend on an integrated web reporting workflow should look elsewhere.
Overview
Beancount makes the ledger file the centre of bookkeeping. Transactions are recorded in a dedicated language, then processed into reports, checks and queries. That design gives users direct control over the underlying record and makes the accounting data portable, but it also assumes comfort with text files, command-line tools and a deliberate workflow rather than point-and-click entry.
The project began as its author’s personal accounting tool and is maintained as open-source software intended for wider use. Version 3 is the current stable branch and remains under development; version 2 is frozen and obsolete. New installations should therefore target v3 and account for its changed toolset: some utilities were removed, custom reports are discontinued, and bean-report and bean-web are deprecated.
Key features
Validation and querying:bean-check checks a Beancount ledger file, helping identify invalid input before relying on its reports. bean-query extracts tables from ledger data, which is useful when standard output is not enough and you need a focused view of transactions or balances.
Imports and prices: Documentation covers importing files downloaded from financial institutions, along with tools and libraries for automating parts of that process. bean-price can fetch prices for commodities held in accounts. Beancount does not retrieve prices automatically while processing a ledger, so reports remain deterministic and can run offline; the trade-off is that price updates require an explicit step. The manual also covers exporting a portfolio to external portfolio-tracking websites.
Editor support: Contributed integrations are documented for Emacs, Sublime Text, Vim and two Visual Studio Code extensions. These options suit users who want ledger editing inside a familiar development environment, but they do not replace the discontinued v3 web interface.
Pricing
Beancount costs free on its sole Beancount plan. It is free open-source software, with no trial period because there is no paid tier to evaluate. The GNU GPLv2-only license permits a self-managed deployment without subscription charges; support is directed to the project mailing list for questions and GitHub issues for bug reports.
Platforms
Beancount supports API, Linux, macOS, self-hosted, web and Windows environments. The v3 installation guide includes Windows instructions. Recommended installation uses uv, with pipx, pip and source installation also documented. The self-hosted and file-oriented model gives users control over where ledger contents are processed.
Who it's for
Choose Beancount if you want multi-currency bookkeeping built around plain text, need ledger validation and extractable tables, and value processing that does not automatically contact the internet for prices. It is particularly suitable for technically confident individuals or small teams willing to maintain imports and price updates themselves.
It is a poor fit for users who expect a maintained browser interface, built-in custom-report tooling or a conventional desktop accounting experience. The v3 removal and deprecation of web and reporting utilities make that expectation a reason to choose another product.
Pros and cons
Pros: Text files keep the accounting record inspectable and portable.
Pros: bean-check and bean-query provide explicit validation and tabular analysis.
Pros: Offline, non-automatic price handling makes reports reproducible.
Pros: Multi-currency support and documented financial-institution imports cover serious personal bookkeeping needs.
Cons: Users must be comfortable with a ledger language and command-line-oriented tools.
Cons: v3 discontinues custom reports and bean-web, while bean-report and bean-web are deprecated.
Cons: Price retrieval and parts of import automation require deliberate user-managed steps.
Alternatives
For a broader comparison, see General Ledger Software.
BUSY is the better choice for a free web billing and accounting plan with multiple companies and financial years.
Frappe Books suits users wanting free, open-source software installable on their own Frappe site across desktop, mobile and web platforms.
hledger is a direct free alternative with a similarly broad API, desktop, self-hosted and web platform footprint.
GNUKhata fits users seeking free open-source accounting with Docker-supported self-hosting.
Ledger is another free BSD-licensed command-line accounting option for Linux, macOS and Windows.
GnuCash is preferable when you want free desktop software for personal and small-business accounting.
Infor ERP targets organisations seeking an industry-specific paid CloudSuite package with custom pricing.
FrontAccounting is a free GNU-licensed web or self-hosted accounting choice.
Verdict
Beancount is the right choice for users who want rigorous, multi-currency bookkeeping in text files, with validation, querying and reproducible offline processing at no cost. Look elsewhere if a maintained web interface, custom reports or graphical accounting workflow is central to your requirements.
Verdict
Beancount provides text-ledger bookkeeping with checking, querying and import tools. Its v3 users should account for deprecated reporting and web tools when planning their workflow.
Where Specifiction places it
- General Ledger Software#1 of 258.9