mayswind/ezbookkeeping
FinanceA self-hosted personal finance app for recording, importing, searching and analyzing daily transactions, aimed at privacy-conscious users running it on a home server, NAS or Raspberry Pi.
What it does
ezBookkeeping is a self-hosted personal bookkeeping application. You record income and expenses, attach images and locations to transactions, schedule recurring entries, and import existing bills from CSV, Excel, OFX, QFX, QIF, IIF, Camt.052/053, MT940, GnuCash, Firefly III and Beancount. Built-in charts and custom query dimensions turn that history into spending and cash-flow analysis.
The app is written in Go and ships a web interface with separate layouts for desktop and mobile; PWA support lets it be added to a phone home screen. Data lives in SQLite, MySQL or PostgreSQL, and the app runs on Windows, macOS, Linux and FreeBSD across x86, amd64 and ARM. There are also AI-assisted text and receipt recognition, custom chart generation, and MCP / Agent Skill / API script hooks for integrating external AI tools README lines 19–60.
It suits people who want their financial records on hardware they control — a home server, NAS or Raspberry Pi — rather than in a hosted service. A live demo shows the interface before you install anything.
Quick start with Docker
You need Docker installed on the host. The fastest way to try the latest release is:
$ docker run -p8080:8080 mayswind/ezbookkeeping
For daily use, mount a persistent volume so data survives container restarts; the project's Docker installation guide covers the volume and database configuration. Other images and tags are listed on Docker Hub.
Once the container is running, open http://{YOUR_HOST_ADDRESS}:8080/ in a browser and start adding accounts and transactions. If you prefer a binary, download a release from the releases page and run ./ezbookkeeping server run on Linux/macOS/FreeBSD or .\ezbookkeeping.exe server run on Windows; it also listens on port 8080 by default. Building from source requires Go, GCC, Node.js and NPM, followed by ./build.sh package -o ezbookkeeping.tar.gz (or the .bat/.ps1 equivalent on Windows).
Usage constraints
- Persistent storage must be mounted for any real use; the single
docker runcommand above is only suitable for evaluating the app. - The Docker image is the documented deployment path; binary and source builds are documented separately and require their own toolchains.
- Database choice is limited to SQLite, MySQL or PostgreSQL, and the supported operating systems are Windows, macOS, Linux and FreeBSD on x86, amd64 and ARM.
- Security features such as 2FA, OIDC login, login rate limiting and an application lock are available, but AI recognition features depend on external services and should be evaluated against your privacy expectations.
- The project is MIT licensed.
HotRepo's take
On 2026-11-01 the repository appeared on HotRepo's Go daily list at position 5, with 19 stars gained that day and 5,911 stars in total. That is the only snapshot HotRepo holds, so it supports a single-day observation rather than a trend claim. Discussion activity is modest: the v1.1.0 announcement thread drew 10 points and 5 comments on 2025-09-28, while the v1.2.0 thread a month later drew 2 points and 1 comment. In the v1.1.0 thread, commenter roscas highlighted that the only outbound connection is to the ECB for exchange rates unless you configure more, and noted 2FA, import/export and a mobile interface working as described HN comment; another commenter asked for automatic transaction import, and the maintainer replied that CSV import already supports custom column mapping or JavaScript scripts reply. Combined with the broad import format list and Docker-first setup, the project reads as a mature self-hosted bookkeeping option rather than a fast-moving newcomer.
Written by AI from the project's README, updated . The project's own docs are the source of truth.