A free, open-source, local-first personal finance app for envelope budgeting, with sync across devices.
- Stars
- 2,601
- Forks
- 423
- Open issues
- 90
- Last commit
- 4 days ago
What is it?
Fava is a web frontend for Beancount, a double-entry bookkeeping system that stores ledgers as plain text files. Beancount itself is driven by text files and command-line tools, while Fava lets you browse accounts, journal entries and financial reports in a browser.
You install Fava with pip and point it at a ledger file, for example `fava ledger.beancount`, then open the local web interface on port 5000. The project is written in Python and is aimed at people who already keep their finances in Beancount and want a more visual way to explore them.
Fava is developed as a focused interface on top of Beancount rather than a standalone accounting system, so Beancount knowledge is needed to write the underlying ledger files.
Key features
- 01Browse accounts, journal entries and financial reports in a web browser.
- 02Runs locally from a single command pointed at a Beancount ledger file.
- 03Built on the plain-text Beancount double-entry bookkeeping format.
- 04Available as a Python package installable with pip.
Use cases
- Exploring personal finances kept in a Beancount ledger through a visual interface.
- Reviewing account balances and reports without editing text files directly.
- Self-hosting a plaintext accounting dashboard for a household or small business.
Quick start
- 1
Install Fava with pip
pip3 install fava - 2
Run Fava on your Beancount ledger file
fava ledger.beancount - 3
Open the web interface in your browser at localhost port 5000
Things to know
- You need an existing Beancount ledger, so familiarity with Beancount is assumed.
Topics
FAQ
- What is fava?
- A web interface for the Beancount double-entry bookkeeping software, focused on usability and reporting. Fava is a web frontend for Beancount, a double-entry bookkeeping system that stores ledgers as plain text files. Beancount itself is driven by text files and command-line tools, while Fava lets you browse accounts, journal entries and financial reports in a browser.
- Is fava free to use? What license does it have?
- fava is open source under the MIT license. Check the license terms before using it in commercial products.
- Is fava still maintained?
- Actively maintained. The last commit to fava was on Nov 3, 2026.
- What can I use fava for?
- Exploring personal finances kept in a Beancount ledger through a visual interface. Reviewing account balances and reports without editing text files directly. Self-hosting a plaintext accounting dashboard for a household or small business.
- How do I install fava?
- Install Fava with pip: pip3 install fava Run Fava on your Beancount ledger file: fava ledger.beancount Open the web interface in your browser at localhost port 5000
- Where can I get fava?
- The source code and installation instructions are on GitHub: https://github.com/beancount/fava
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
GnuCash is a free double-entry accounting application for personal finances and small businesses.
A web interface for controlling consumer 3D printers, letting you run and monitor prints from a browser.
A simple self-hosted bookmark manager written in Go, usable as a CLI or web app and distributed as a single binary.
Open-source developer platform for building and operating money flows, including a double-entry ledger, payments layer and Numscript DSL.
A browser extension wallet for the Ergo blockchain, with Ledger hardware signing and EIP-12 dApp connections.