Files
wiki/Catalogue-Self-Hosted/apps/app-ezbookkeeping.md
T
2026-06-09 18:40:21 +02:00

166 lines
8.3 KiB
Markdown

---
title: ezBookkeeping
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, accounting, budget, personnel, multi-devises, go, finance]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Accounting, https://github.com/mayswind/ezbookkeeping, https://ezbookkeeping.mayswind.net/]
---
# ezBookkeeping 📒
> Application web de comptabilité personnelle et familiale, légère et rapide, écrite en Go — multi-devises, multi-comptes, mobile-friendly, conçue pour le suivi quotidien.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://ezbookkeeping.mayswind.net/ |
| **GitHub** | https://github.com/mayswind/ezBookkeeping |
| **License** | AGPL-3.0 |
| **Langage principal** | Go (backend) + Vue 3 (frontend) |
| **Étoiles GitHub** | ⭐559 |
| **Dernière MAJ** | 2026-05-19 |
| **Catégorie** | [[cat-accounting]] |
## Description
ezBookkeeping est une **application de comptabilité personnelle** écrite principalement en **Go** (backend) avec un frontend **Vue 3 / TypeScript**. C'est un projet mature et léger développé par MaysWind — un développeur chinois reconnu pour ses contributions open source (notamment Aria2, l'outil de téléchargement). L'objectif est de fournir un **logiciel de budget personnel rapide, simple, et multi-devises**, sans la complexité d'un Firefly III ou d'un GnuCash.
Les fonctionnalités de base couvrent l'essentiel du **suivi budgétaire personnel** : **comptes multiples** (courant, épargne, carte de crédit, espèces, crypto, etc.) avec soldes calculés en temps réel, **catégorisation des transactions** (revenus, dépenses, virements), **sous-catégories hiérarchiques**, **étiquettes** (tags) pour des analyses transversales, **transactions récurrentes** (loyer, salaires, abonnements), **règles de catégorisation automatique** (regex, plage de dates), **tableaux de bord** avec graphiques, et **export CSV / Excel**.
Le **support multi-devises** est particulièrement soigné pour un outil personnel : on peut avoir des comptes en EUR, USD, JPY, CNY, etc., et l'app convertit automatiquement dans la devise d'affichage via des **taux de change configurables** (saisie manuelle ou import depuis la BCE, la Banque du Canada, etc.). C'est un excellent choix pour les **expatriés, freelances multi-devises, ou familles** qui veulent suivre leur argent sans passer par un outil pro.
L'interface est **responsive et mobile-friendly** (PWA installable), ce qui la rend plus accessible au quotidien qu'un Firefly III. Le binaire Go unique consomme très peu de RAM (~30 Mo), ce qui permet de la faire tourner sur un Raspberry Pi ou un NAS.
## Installation
### Via Docker (recommandé)
```yaml
# docker-compose.yml
services:
ezbookkeeping:
image: mayswind/ezbookkeeping:latest
container_name: ezbookkeeping
restart: unless-stopped
depends_on:
db:
condition: service_healthy
ports:
- "8080:8080"
environment:
- EZBOOKKEEPING_SERVER_LISTEN_HOST=0.0.0.0
- EZBOOKKEEPING_SERVER_LISTEN_PORT=8080
- EZBOOKKEEPING_DATABASE_TYPE=sqlite3 # ou mysql/postgres
- EZBOOKKEEPING_DATABASE_SQLITE3_PATH=/data/ezbookkeeping.db
- EZBOOKKEEPING_LOG_LEVEL=info
- EZBOOKKEEPING_ENABLE_REGISTER=true # désactiver après création du 1er compte
volumes:
- ezbookkeeping-data:/data
- ezbookkeeping-backups:/backups
# Optionnel : MySQL pour de meilleures performances en multi-utilisateurs
# db:
# image: mysql:8.0
# container_name: ezbookkeeping-db
# restart: unless-stopped
# environment:
# - MYSQL_DATABASE=ezbookkeeping
# - MYSQL_USER=ezbookkeeping
# - MYSQL_PASSWORD=Change...ql
# - MYSQL_RANDOM_ROOT_PASSWORD=Change...ot
# volumes:
# - ezbookkeeping-db:/var/lib/mysql
# healthcheck:
# test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
# interval: 10s
# timeout: 5s
# retries: 10
volumes:
ezbookkeeping-data:
ezbookkeeping-backups:
# ezbookkeeping-db:
```
### Installation manuelle (binaire unique)
1. Télécharger le binaire depuis la page des releases : https://github.com/mayswind/ezbookkeeping/releases (Linux/amd64, ARM64 pour RPi, macOS, Windows).
2. `chmod +x ezbookkeeping` puis créer `/etc/ezbookkeeping/config.ini`.
3. Lancer en tant que service systemd :
```ini
# /etc/systemd/system/ezbookkeeping.service
[Unit]
Description=ezBookkeeping personal accounting
After=network.target
[Service]
Type=simple
User=ezbookkeeping
ExecStart=/usr/local/bin/ezbookkeeping --config /etc/ezbookkeeping/config.ini
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
```
4. `systemctl enable --now ezbookkeeping`, puis ouvrir `http://localhost:8080`.
## Configuration
- **Premier lancement** : créer le compte utilisateur (le premier est admin), puis **désactiver `EZBOOKKEEPING_ENABLE_REGISTER`** dans l'environnement pour bloquer les inscriptions sauvages.
- **Devise principale** : choisir la devise d'affichage et la devise de chaque compte (multi-devises par compte).
- **Taux de change** : saisie manuelle ou import via API (par défaut les taux ne sont pas auto-fetchés — option à activer si on le souhaite).
- **Catégories** : créer son arborescence (revenus / dépenses / virements), icônes colorées, sous-catégories.
- **Comptes** : solde initial, devise, type (épargne, courant, crédit, cash, crypto, investissement, autre), archivage.
- **Règles automatiques** : créer des règles basées sur des regex sur le libellé (ex : tout paiement `AMAZON.*` → catégorie `Achats / En ligne`).
- **Sauvegardes** : ezBookkeeping a un mécanisme intégré d'export/import en SQLite — sauvegarder régulièrement le volume `ezbookkeeping-data` (ou automatiser avec BorgBackup).
- **Mobile** : ajouter aux favoris du téléphone en mode PWA, l'app fonctionne hors-ligne.
## Alternatives
### Open source
- [[app-firefly-iii]] — référence de la gestion budget open source, plus puissant mais plus complexe et plus gourmand.
- [[app-actual-budget]] — budget envelope-based, sync bancaire, très moderne (Electron).
- [[app-akaunting]] — comptabilité entrepreneur, pas vraiment personnel.
- [[app-rotki]] — spécialisé crypto, pas budget généraliste.
- **GnuCash** — comptabilité double-partie desktop, courbe d'apprentissage raide.
- **Skrooge** — KDE, gestion budget personnel avec import OFX.
- **ihatemoney** — partage de dépenses entre amis, plus limité.
### Propriétaires
- **Mint** / **Credit Karma** (US) — fermés/migrés, freemium cloud.
- **YNAB (You Need a Budget)** — référence budget envelope, abonnement.
- **Mint Mobile** — idem.
- **Bankin'** — français, agrégateur bancaire avec budget, freemium.
- **Linxo** — français, agrégateur + budget, freemium.
## Sécurité
- **HTTPS obligatoire** : exposer l'app via un reverse proxy (Traefik, Caddy) avec Let's Encrypt — l'app gère des soldes et transactions financières.
- **Désactiver les inscriptions** : positionner `EZBOOKKEEPING_ENABLE_REGISTER=false` après création du compte admin.
- **2FA** : TOTP supporté — l'activer pour le compte admin.
- **Sauvegardes chiffrées** : le volume `ezbookkeeping-data` contient toute la base SQLite — sauvegarder en double (BorgBackup / Restic chiffré) sur un support externe.
- **Permissions fichiers** : si installé en bare-metal, isoler l'utilisateur système `ezbookkeeping` (pas de shell, dossier dédié).
- **Mises à jour** : suivre les releases — le projet a un cycle de release régulier avec correctifs de sécurité.
- **Journalisation** : ne pas logguer en mode `debug` en production (volumes de logs, fuite potentielle).
## Ressources
- Site officiel / démo : https://ezbookkeeping.mayswind.net/
- Documentation : https://github.com/mayswind/ezbookkeeping/wiki
- Dépôt GitHub : https://github.com/mayswind/ezbookkeeping
- Releases : https://github.com/mayswind/ezbookkeeping/releases
- Captures / changelog : https://github.com/mayswind/ezbookkeeping/blob/master/CHANGELOG.md
- selfh.st : https://selfh.st/apps/?tag=Accounting
## Pages Liées
- [[cat-accounting]] (catégorie parente)
- [[app-firefly-iii]] — gestion budget plus riche
- [[app-actual-budget]] — budget envelope moderne
- [[app-rotki]] — suivi crypto
- [[recettes-docker-compose]] — templates de déploiement
- [[securisation-home-lab]] — bonnes pratiques HTTPS / sauvegardes