Skip to content

Awesome Beancount Awesome

A curated list of resources for Beancount, an open-source double entry bookkeeping system — ideal for plain text accounting users and Python software developers.


Plain Text Accounting

Official Resources

Alternative Implementations

  • rustledger - Pure Rust implementation, drop-in replacement, 10x faster

Books

User Interfaces

Importers

China

Germany

France

India

The Netherlands

Switzerland

UK

US

Blockchain Transactions

Misc

Exports

How to export (the "inferred" extended form of) *.beancount to other formats:

Commercial Services

  • Beancount.io: Out-of-box Beancount and Fava SaaS that you can use instantly
  • BeanHub: A modern accounting service based on Git and Beancount

Commercial Apps

Community

Editor Support

Plugins

Beancount

  • autobean.include: Includes external beancount ledgers without disabling their plugins
  • autobean.narration: Generates transaction narration from posting narration and posting narration from comments
  • autobean.share: Expense split, joint bookkeeping, and debt management for personal use cases
  • autobean.sorted: Checks that transactions are in non-descending order in each file
  • autobean.truelayer: Imports transactions from banks via TrueLayer, a bank API aggregator
  • autobean.xcheck: Cross-checks against external ledgers
  • beancount-balancechange - Checks change in balance between two dates
  • beancount-balexpr - Check balances against simple expressions combining accounts in Beancount
  • beancount-checkclosed - Automatically insert a 0 balance check for closed balance sheet accounts
  • beancount-lazy-plugins.filter_map - apply operations to group of transactions selected by Fava filters
  • beancount-lazy-plugins.valuation - track total value of the opaque fund over time
  • beangrow computes investment returns on a variety of assets
  • metadata-spray use a regex pattern to add metadata to entries
  • portfolio_allocation reports on portfolio asset allocations; useful for risk analysis and for rebalancing purposes.
  • portfolio-returns calculates money-weighted and time-weighted returns for a portfolio
  • reds capital_gains_classifier: rebooks capital gains into separate long and short accounts, and separate gains and losses accounts
  • reds effective_date: enables per-posting dates (each posting in a transaction can have a different date)
  • reds opengroup: Inserts open statements for sets of accounts based on specifiable rules.
  • reds rename_accounts: rename arbitrary accounts on the fly (eg: move Taxes from Expenses to Income when you temporarily want to view all your Expenses except taxes)
  • reds zerosum: find matching pairs of postings that sum up to zero. Useful in de-duplication, and tracking things such as reimbursements, rebates, etc.

Fava

Tools

Price Sources

Blog Posts

Discussions

Talks

Misc