Awesome Beancount
A curated list of resources for Beancount, which is a command-line based double-entry bookkeeping system using plaintext files.
Plain Text Accounting
- Plain Text Accounting
- Accounting for the simple minds with plain text accounting
- The surprising ease of plain text accounting
- Command line accounting: From mint.com to Ledger
Official Resources
- Homepage
- Source Code
- Documentation
Books
User Interfaces
- Fava - Web interface for Beancount
- Fava-GTK - GNOME Desktop app for Fava and Beancount
- Beancount Mobile - Data entry app for Beancount plain-text accounting system
- SQL queries for Beancount - Example SQL queries for Beancount
- Beancount Telegram Bot - Telegram bot to track Beancount transactions on the go
Importers
China
Germany
France
India
The Netherlands
UK
US
- Amex
- Capital One (Credit, pip-installable)
- Chase (Checking, Credit, pip-installable)
- Chase (Checking, pip-installable)
- Chase (Checking, Credit)
- Citi
- Mercury
- Schwab
Misc
- Beancount importers for the F-Droid Budget app and for a bank CSV
- Web UI for semi-automatically importing external data into beancount
- Augment Beancount importers with machine learning
- Beancount Reds Ingestor
- Importers, plugins and price-fetchers for Beancount
- autobean.truelayer: Imports transactions from banks via TrueLayer, a bank API aggregator
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
- Beancount.io iOS App: Visualizes and connects to your Beancount.io ledger on iOS
- Beancount.io Android App: Visualizes and connects to your Beancount.io ledger on Android
Community
Editor Support
Plugins
- autobean.share: Expense split, joint bookkeeping, and debt management for personal use cases
- autobean.xcheck: Cross-checks against external ledgers
- autobean.narration: Generates transaction narration from posting narration and posting narration from comments
- autobean.include: Includes external beancount ledgers without disabling their plugins
- autobean.sorted: Checks that transactions are in non-descending order in each file
- beancount-balexpr - Check balances against simple expressions combining accounts in Beancount
- fava-envelope - Beancount Fava extension for envelope budgeting
- beancount-balancechange - Checks change in balance between two dates
- beancount-checkclosed - Automatically insert a 0 balance check for closed balance sheet accounts
- beancount-lazy-plugins.valuation - track total value of the opaque fund over time
- beancount-lazy-plugins.filter_map - apply operations to group of transactions selected by Fava filters
Tools
- Importer from YNAB to Beancount
- CSV to Beancount
- GnuCash to Beancount
- https://github.com/henriquebastos/gnucash-to-beancount/
- https://github.com/dtrai2/gnucash-to-beancount/
- Ledger to Beancount
- Beancount - Import and Sync
- Moneywiz3 to Beancount
- Costflow - Convert one line message to beancount/ledger format
- bean-add - Easily add transactions to your Beancount journal
- Beancount Bot - Telegram / Mattermost bot to generate new transactions with few words
- Beancount Categorizer - Automatically categorize your transactions using simple regex-based rules
- ofxtools - Python library for working with Open Financial Exchange (OFX) data
- double-entry-generator - Rule-based double-entry bookkeeping importer (from Alipay/WeChat/Huobi to Beancount).
- beancount-parser - Standalone Lark based Beancount syntax parser (not relying on Beancount library)
- beancount-black - Opinionated code formatter, just like Python's black code formatter but for Beancount
- beanhub-web-react - React components for beancount entry input forms and beanhub-forms
- beanhub-forms - Data types and processors of custom beancount forms for inputting repeating similar entries easily
- beanhub-cli - Beancount command line tools with features like formatter, beanhub-import and a beanhub-forms web app
- beanhub-extract - Simple Python library for extracting all kinds of bank export CSV files into standardized transaction data objects
- beanhub-import - Declarative idempotent rule-based beancount transaction import engine in Python consumes data extracted by beanhub-extract
- beanahead - Administer future transactions for a beancount ledger
Price Sources
- exchangeratesapi.io
- Cryptoassets
- pricehist - Multiple sources, for use via bean-price or independently
Blog Posts
- English
- Accounting automation with Beancount
- Counting beans - and more - with Beancount
- Manage your personal finance with beancount
- Managing my personal finances with beancount
- Managing Personal Finances using Python
- Moving on to Beancount
- No-Bullshit Beancount Introduction
- Plain text accounting with Beancount
- French
- Chinese