项目介绍
ezBookkeeping 是一款开源、轻量且可自托管的个人理财应用。它拥有用户友好的界面和强大的记账功能,旨在帮助用户记录日常交易、从各种来源导入数据,并快速搜索和过滤账单。用户还可以利用内置图表或自定义查询来分析历史数据,以更好地理解消费模式和财务趋势。

应用场景
-
个人财务管理:适用于个人用户管理日常收支,跟踪预算执行情况,进行财务规划和分析。 -
家庭记账:家庭成员可以共同使用,记录家庭开支,了解家庭财务状况。 -
小型企业/个体户记账:对于资源有限的小型企业或个体户,提供了一种经济高效的财务管理解决方案。 -
隐私保护需求:对于注重数据隐私和安全的用户,自托管的方式确保了数据的完全控制。
功能模块
基础记账功能
-
日常交易记录:记录每一笔收入和支出。 -
两级账户和分类:支持设置主账户和子账户,以及详细的交易分类。 -
图像附件:为交易添加收据或相关图片作为附件。 -
位置跟踪:利用地图记录交易发生的位置。 -
定时交易:设置定期重复的交易,如订阅服务、租金等。
数据分析与可视化
-
内置图表:提供多种图表类型,直观展示财务数据。 -
自定义查询:允许用户根据自己的需求定义查询维度,进行深入分析。 -
高级过滤和搜索:快速定位特定交易或账单。
数据导入与导出
-
支持多种格式:包括 CSV、OFX、QFX、QIF、IIF、Camt.052、Camt.053、MT940、GnuCash、Firefly III、Beancount 等。
安全与认证
-
**双因素认证 (2FA)**:增强账户安全性。 -
OIDC 外部认证:支持外部身份验证服务。 -
登录速率限制:防止暴力破解。 -
应用锁定:通过 PIN 码或 WebAuthn 保护应用访问。
国际化与本地化
-
多语言支持:支持多种语言,包括德语、英语、法语、意大利语、日语、韩语、荷兰语、葡萄牙语(巴西)、斯洛文尼亚语、泰米尔语、泰语、土耳其语、乌克兰语、越南语和中文(简体/繁体)。 -
多货币支持:支持多种货币,并自动更新汇率。 -
多时区支持:适应不同地区的时区需求。 -
自定义格式:允许用户自定义日期、数字和货币的显示格式。
功能特点
-
开源与自托管:代码完全开源,用户可以自行托管,确保数据的隐私和控制权。 -
轻量与快速:资源占用低,即使在低配置设备上也能流畅运行。 -
用户友好界面:界面针对移动和桌面设备进行了优化,支持 PWA(渐进式网页应用),提供类似原生应用的体验。 -
AI 集成:支持收据图像识别和 MCP(模型上下文协议),便于 AI 功能的集成。 -
丰富的 API 和命令行工具:为开发者提供了灵活的集成和自动化选项。
项目技术栈
-
后端语言:Go -
前端技术:可能涉及 HTML、CSS、JavaScript(具体框架未明确提及,但支持 PWA 表明使用了现代前端技术) -
数据库支持:SQLite、MySQL、PostgreSQL -
构建与部署工具:Docker、GCC、Node.js、NPM -
认证协议:OIDC(OpenID Connect) -
安全机制:双因素认证 (2FA)、WebAuthn
功能演示






开源地址
https://github.com/mayswind/ezbookkeeping

