A lightweight, self-hosted personal finance app with a user-friendly interface and powerful bookkeeping features.
Find a file
2026-01-17 23:43:32 +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 upgrade golang to 1.25.5, node.js to 24.12.0 and alpine base image to 3.23.2 2025-12-26 00:07:50 +08:00
cmd support transaction tag group 2026-01-17 00:52:02 +08:00
conf use i18n resource item to replace ambiguous configuration item 2025-12-12 12:30:56 +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 add default value for newly added columns 2026-01-17 23:43:32 +08:00
public update splash screen image file name 2025-09-24 23:11:50 +08:00
src support pasting amount on number pad sheet for non-ios device 2026-01-17 22:16:30 +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 update git ignore file 2025-07-06 14:39:38 +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-01-17 14:29:46 +08:00
docker-bake.hcl optimize github actions build speed 2025-10-13 00:21:32 +08:00
Dockerfile upgrade golang to 1.25.5, node.js to 24.12.0 and alpine base image to 3.23.2 2025-12-26 00:07:50 +08:00
eslint.config.mjs migrate transaction list page to composition API and typescript 2025-02-09 17:28:20 +08:00
ezbookkeeping.go update description 2025-08-21 22:20:56 +08:00
go.mod upgrade third party dependencies 2025-12-12 23:24:05 +08:00
go.sum upgrade third party dependencies 2025-12-12 23:24:05 +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 2025-12-12 23:24:05 +08:00
package.json upgrade third party dependencies 2025-12-12 23:24:05 +08:00
postcss.config.js desktop version supports rtl 2025-08-18 00:45:26 +08:00
README.md add new translation contributor 2025-12-30 22:52:07 +08:00
third-party-dependencies.json show license type of third party dependency on about page 2026-01-01 23:55:35 +08:00
tsconfig.jest.json code refactor 2025-06-08 02:47:00 +08:00
tsconfig.json use a fixed browser version as the build target 2025-10-06 21:49:12 +08:00
vite.config.ts add contributors to the about page 2025-12-30 00:28:20 +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's easy to deploy, and you can start it with just one single Docker command. Designed to be resource-efficient and highly scalable, it can run smoothly on devices as small as a Raspberry Pi, or scale up to NAS, MicroServers, and even large cluster environments.

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
    • 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
    • Receipt image recognition
    • 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

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.

Found a bug? Submit an issue

Want to contribute code? Feel free to fork and send a pull request.

Contributions of all kinds — bug reports, feature suggestions, documentation improvements, or code — are highly appreciated.

Check out our Contributor Graph to see the amazing people who've already helped.

Translating

Help make ezBookkeeping accessible to users around the world. If you want to contribute a translation, please refer to our translation guide.

Currently available translations:

Tag Language Contributors
de Deutsch @chrgm
en English /
es Español @Miguelonlonlon, @abrugues
fr Français @brieucdlf
it Italiano @waron97
ja 日本語 @tkymmm
kn ಕನ್ನಡ @Darshanbm05
ko 한국어 @overworks
nl Nederlands @automagics
pt-BR Português (Brasil) @thecodergus
ru Русский @artegoser
sl Slovenščina @thehijacker
th ไทย @natthavat28
tr Türkçe @aydnykn
uk Українська @nktlitvinenko
vi Tiếng Việt @f97
zh-Hans 中文 (简体) /
zh-Hant 中文 (繁體) /

Don't see your language? Help us add it.

Documentation

  1. English
  2. 中文 (简体)

License

MIT