ezBookkeeping is a free, open source personal finance management project written in Go and released under MIT. It has 5,598 GitHub stars, 687 forks and 10 open issues, and was last pushed 9 hours ago. On this registry it ranks #7 of 12 tracked projects in Personal Finance Management, with 5 head-to-head comparisons available. It gained 34 stars over the last 6 tracked days.

What is ezBookkeeping?

What it is

ezBookkeeping is a self-hosted personal finance application written in Go and released under the MIT license. It lives in the self-hosted bookkeeping ecosystem, alongside the Docker, NAS and home-server tooling that its topics list names. The project records daily transactions, imports data from a range of external sources, and offers search, filtering, visualization and analysis over the resulting history. It ships separate interfaces for mobile and desktop, and it is packaged as a Progressive Web App so it can be added to a phone home screen and used in a native-like way. It is distributed primarily as a Docker image, with cross-platform builds for Windows, macOS and Linux on x86, amd64 and ARM architectures.

The concrete problem it solves is ownership of personal financial data. Rather than handing transaction history to a hosted service, a user runs ezBookkeeping on hardware they control — a home server, a NAS or a Raspberry Pi — and keeps the records there. It also solves the fragmentation problem that follows from that choice: bank and finance exports arrive in many incompatible formats, and the application absorbs them directly instead of leaving the owner to reconcile spreadsheets by hand. Built-in charts and custom chart dimensions turn the accumulated records into spending patterns and financial trends.

Key capabilities

  • Open source and self-hosted, built for privacy and control over financial data.
  • Lightweight and fast, with minimal resource usage suitable for home servers, NAS devices and Raspberry Pi.
  • Storage backends include SQLite, MySQL and PostgreSQL.
  • Two-level accounts and categories, with image attachments and location tracking with maps on transactions.
  • Scheduled transactions plus advanced filtering, search, visualization and analysis.
  • Localization covering multiple languages, currencies, timezones, exchange rate sources with automatic updates, and custom date, number and currency formats.
  • Security features including two-factor authentication, OIDC external authentication, login rate limiting and an application lock using a PIN code or WebAuthn.
  • AI-powered features covering text and receipt image recognition, plus MCP (Model Context Protocol), Agent Skill and API command-line script tools for AI integration.

Who uses it and how

  • Households running a home server, NAS or Raspberry Pi, deploying the Docker image and recording daily transactions through the web interface.
  • Users migrating existing records, importing CSV, Excel, OFX, QFX, QIF, IIF, Camt.052, Camt.053, MT940, GnuCash, Firefly III or Beancount data.
  • People reconciling messy exports, applying custom column mapping, rules and scripts during CSV and Excel imports.
  • Mobile users installing the PWA to their home screen and entering expenses like a native app.
  • Analysts of their own spending, querying history through built-in charts or custom chart dimensions.
  • Teams or individuals connecting AI tooling through MCP, Agent Skill and the API command-line script tools.

Getting started

The

project readme (upstream, from github) — read inline

ezBookkeeping

License Latest Release Latest Build Latest Docker Image Size Docker Pulls Ask DeepWiki

Recommend By HelloGitHub Trending

Introduction

ezBookkeeping is a powerful, lightweight, self-hosted personal finance app that is easy to use. It helps you record daily transactions, import data from various sources, and quickly search and filter your bills. You can analyze historical data using built-in charts or perform custom queries with your own chart dimensions to better understand spending patterns and financial trends. ezBookkeeping is easy to deploy, and you can start it with just one single Docker command. Designed to be resource-efficient, it runs smoothly on devices such as home servers, NAS and Raspberry Pi.

ezBookkeeping offers tailored interfaces for mobile and desktop devices. With PWA (Progressive Web Apps) support, you can add it to your mobile home screen and use it like a native app.

Live Demo: https://ezbookkeeping-demo.mayswind.net

Features

  • Open Source & Self-Hosted
    • Built for privacy and control
  • Lightweight & Fast
    • Minimal resource usage, suitable for home servers, NAS and Raspberry Pi
  • Easy Installation
    • Docker support
    • SQLite, MySQL and PostgreSQL support
    • 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
    • Customizable overview layouts
    • Dark mode
  • AI-Powered Features
    • Text and receipt image recognition
    • MCP (Model Context Protocol) for AI integration
    • Agent Skill and API command-line script tools for AI integration
  • Powerful Bookkeeping
    • Two-level accounts and categories
    • Image attachments for transactions
    • Location tracking with maps
    • Scheduled transactions
    • Advanced filtering, search, visualization and analysis
  • Localization & Internationalization
    • Multi-language and multi-currency support
    • Multiple exchange rate sources with automatic updates
    • Multi-timezone support
    • Custom formats for dates, numbers and currencies
  • Security
    • Two-factor authentication (2FA)
    • OIDC external authentication
    • Login rate limiting
    • Application lock (PIN code / WebAuthn)
  • Data Import & Export
    • Import CSV, Excel, OFX, QFX, QIF, IIF, Camt.052, Camt.053, MT940, GnuCash, Firefly III, Beancount and more
    • Custom column mapping, rules and scripts for CSV / Excel imports

For a full list of features, visit the Full Feature List.

Screenshots

Desktop Version

ezBookkeeping

Mobile Version

ezBookkeeping

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

For production use of ezBookkeeping, you need to mount a persistent volume when starting the container to prevent data loss. For more information, see documentation.

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

or

PS > .\build.ps1 package -Output 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

Contributing

We welcome contributions of all kinds.

If you find a bug, please submit an issue on GitHub.

If you would like to contribute code, you can fork the repository and open a pull request.

Improvements to documentation, feature suggestions, and other forms of feedback are also appreciated.

You can view existing contributors on the Contributor Graph.

Translating

Help make ezBookkeeping accessible to users around the world. We welcome help to improve existing translations or add new ones. If you would like to contribute a translation, please refer to the translation guide.

Currently available translations:

Tag Language Progress Contributors
de Deutsch Translation Progress @chrgm, @1270o1, @martinschilliger, @marcelweikum
el Ελληνικά Translation Progress @konet-gr
en English Translation Progress /
es Español Translation Progress @Miguelonlonlon, @abrugues, @AndresTeller, @diegofercri
fr Français Translation Progress @brieucdlf
it Italiano Translation Progress @waron97
ja 日本語 [![Translation Progress](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fmayswind%2FezBookke

readme truncated — read the full docs on github

Frequently asked questions

Is ezBookkeeping free to use?

ezBookkeeping is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does ezBookkeeping do?

Lightweight self-hosted bookkeeping with AI receipt scanning

What is ezBookkeeping written in?

ezBookkeeping is primarily written in Go. Its source is publicly available at https://github.com/mayswind/ezbookkeeping, and it has 5,598 GitHub stars.