ezBookkeeping
Introduction
ezBookkeeping is a lightweight, self-hosted personal finance app with a sleek, user-friendly interface and powerful bookkeeping features. Built with simplicity and portability in mind, it’s easy to deploy, easy to use, and requires minimal system resources — perfect for microservers, NAS devices, and even Raspberry Pi.
The app is fully cross-platform and device-friendly — you can use it seamlessly on mobile, tablet, and desktop devices. With support for PWA (Progressive Web Apps), you can even add it to your mobile home screen and use it like a native app.
Project url: https://github.com/mayswind/ezbookkeeping
Live Demo: https://ezbookkeeping-demo.mayswind.net
Features
- Open Source & Self-Hosted
- Built for privacy and control
- Lightweight & Fast
- Optimized for performance, runs smoothly even on low-resource environments
- Easy Installation
- Docker-ready
- Supports SQLite, MySQL, PostgreSQL
- Cross-platform (Windows, macOS, Linux)
- Works on x86, amd64, ARM architectures
- User-Friendly Interface
- UI optimized for both mobile and desktop
- PWA support for native-like mobile experience
- Dark mode
- AI-Powered Features
- Supports MCP (Model Context Protocol) for AI integration
- Powerful Bookkeeping
- Two-level accounts and categories
- Attach images to transactions
- Location tracking with maps
- Recurring transactions
- Advanced filtering, search, visualization, and analysis
- Localization & Globalization
- Multi-language and multi-currency support
- Automatic exchange rates
- Multi-timezone awareness
- Custom formats for dates, numbers, and currencies
- Security
- Two-factor authentication (2FA)
- Login rate limiting
- Application lock (PIN code / WebAuthn)
- Data Import/Export
- Supports CSV, OFX, QFX, QIF, IIF, Camt.053, MT940, GnuCash, Firefly III, Beancount, and more
Screenshots
Desktop Version
Mobile Version
Installation
Run with Docker
Visit Docker Hub to see all images and tags.
Latest Release:
$ docker run -p8080:8080 mayswind/ezbookkeeping
Latest Daily Build:
$ docker run -p8080:8080 mayswind/ezbookkeeping:latest-snapshot
Install from Binary
Download the latest release: https://github.com/mayswind/ezbookkeeping/releases
Linux / macOS
$ ./ezbookkeeping server run
Windows
> .\ezbookkeeping.exe server run
By default, ezBookkeeping listens on port 8080. You can then visit http://{YOUR_HOST_ADDRESS}:8080/
.
Build from Source
Make sure you have Golang, GCC, Node.js and NPM installed. Then download the source code, and follow these steps:
Linux / macOS
$ ./build.sh package -o ezbookkeeping.tar.gz
All the files will be packaged in ezbookkeeping.tar.gz
.
Windows
> .\build.bat package -o ezbookkeeping.zip
All the files will be packaged in ezbookkeeping.zip
.
You can also build a Docker image. Make sure you have Docker installed, then follow these steps:
Linux
$ ./build.sh docker
For more information about how to install ezBookkeeping, please visit our documentation.