A lightweight, self-hosted personal finance app with a user-friendly interface and powerful bookkeeping features.
Find a file
2026-04-12 22:45:01 +08:00
.gitea/workflows build script supports setting the build time and date through environment variables 2025-10-17 21:57:33 +08:00
.github delete all files before updating the translation progress files 2026-03-31 00:58:37 +08:00
cmd Support restricting API token access based on IP address 2026-03-04 23:49:14 +08:00
conf Support restricting API token access based on IP address 2026-03-04 23:49:14 +08:00
docker modify docker path 2021-06-06 23:38:32 +08:00
etc/systemd update description 2025-09-29 16:41:47 +08:00
pkg fix the transfer in transactions are not included when exporting transactions under some conditions (#550) 2026-04-12 01:09:44 +08:00
public update splash screen image file name 2025-09-24 23:11:50 +08:00
skills/ezbookkeeping move the agent skill files to the skills directory 2026-03-12 23:30:37 +08:00
src format the transaction hour of day using the user configured short time format 2026-04-12 22:45:01 +08:00
templates improve date time recognition in AI image recognition 2025-09-22 22:21:35 +08:00
testdata import transactions from Feidee Mymoney (Elecloud) 2025-03-15 21:00:53 +08:00
.editorconfig modify editor config 2020-10-20 01:17:33 +08:00
.gitignore move the agent skill files to the skills directory 2026-03-12 23:30:37 +08:00
build.bat build script supports setting the build time and date through environment variables 2025-10-17 21:57:33 +08:00
build.ps1 build script supports setting the build time and date through environment variables 2025-10-17 21:57:33 +08:00
build.sh build script supports setting the build time and date through environment variables 2025-10-17 21:57:33 +08:00
contributors.json add new contributor 2026-03-28 17:34:42 +08:00
docker-bake.hcl optimize github actions build speed 2025-10-13 00:21:32 +08:00
Dockerfile upgrade golang to 1.25.7, node.js to 24.14.0 and alpine base image to 3.23.3 2026-03-01 16:50:41 +08:00
eslint.config.mjs migrate transaction list page to composition API and typescript 2025-02-09 17:28:20 +08:00
ezbookkeeping.go move the variables set during the building process into the core package 2026-02-15 01:17:43 +08:00
go.mod upgrade third party dependencies 2026-04-01 00:32:45 +08:00
go.sum upgrade third party dependencies 2026-04-01 00:32:45 +08:00
jest.config.ts code refactor 2025-06-08 02:47:00 +08:00
LICENSE bump year 2026-01-01 23:55:34 +08:00
package-lock.json upgrade third party dependencies 2026-04-01 00:32:45 +08:00
package.json upgrade third party dependencies 2026-04-01 00:32:45 +08:00
postcss.config.js desktop version supports rtl 2025-08-18 00:45:26 +08:00
README.md click the translation progress badge to navigate to the list of untranslated entries 2026-04-12 00:46:03 +08:00
third-party-dependencies.json upgrade third party dependencies 2026-04-01 00:32:45 +08:00
tsconfig.jest.json code refactor 2025-06-08 02:47:00 +08:00
tsconfig.json support caching map data when map_data_fetch_proxy is set true 2026-02-28 21:35:28 +08:00
vite.config.ts support receiving images from the Web Share Target API Level 2 and directly opening AI image recognition on mobile version 2026-03-08 15:33:58 +08:00

ezBookkeeping

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

Recommend By HelloGitHub Trending

Introduction

ezBookkeeping is a lightweight, self-hosted personal finance app with a user-friendly interface and powerful bookkeeping features. 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 Raspberry Pi, NAS, and MicroServers.

ezBookkeeping offers tailored interfaces for both mobile 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.

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

Features

  • Open Source & Self-Hosted
    • Built for privacy and control
  • Lightweight & Fast
    • Minimal resource usage, runs smoothly even on low-resource devices
  • Easy Installation
    • Docker support
    • 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
    • Receipt image recognition
    • MCP (Model Context Protocol) support for AI integration
    • Agent Skill and API command-line script tools support 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
    • Supports CSV, OFX, QFX, QIF, IIF, Camt.052, Camt.053, MT940, GnuCash, Firefly III, Beancount and more

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

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
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 @tkymmm
kn ಕನ್ನಡ Translation Progress @Darshanbm05
ko 한국어 Translation Progress @overworks
nl Nederlands Translation Progress @automagics
pt-BR Português (Brasil) Translation Progress @thecodergus, @balaios
ru Русский Translation Progress @artegoser, @dshemin
sl Slovenščina Translation Progress @thehijacker
ta தமிழ் Translation Progress @hhharsha36
th ไทย Translation Progress @natthavat28
tr Türkçe Translation Progress @aydnykn
uk Українська Translation Progress @nktlitvinenko
vi Tiếng Việt Translation Progress @f97
zh-Hans 中文 (简体) Translation Progress /
zh-Hant 中文 (繁體) Translation Progress /

Documentation

  1. English
  2. 中文 (简体)

License

MIT