Beancount-Trans
作为 Beancount 的长期用户,在享受其财务清晰度带来的愉悦之余,我也长期被几个痛点折磨:
- 记录耗时,颗粒度难以权衡:海量的交易记录,逐条录入是噩梦;合并记录又失去了复式记账的精细度。
- 对账频率高,难以坚持:为了账目准确,需要每周甚至更频繁地对账,过程枯燥,极易半途而废。
- 账户体系混乱:支出科目(如
Expenses:Food:Delivery
)随意创建,导致账本混乱,无法通过 Fava 等工具进行有效的统计分析,记账的终极意义大打折扣。
为了解决这些痛点,我开发了 Beancount-Trans——一个智能账单解析平台。
🎯 它是什么?
一个能将你的支付宝、微信支付、银行账单(CSV/PDF/Excel)自动解析为 Beancount 标准格式 的在线工具。你只需要上传账单,它就能输出整洁、规范的账目条目。
✨ 核心价值:不止于解析
- AI 智能分类:利用本地化 NLP 模型,自动识别交易商户并归入正确的支出账户(如 " 麦当劳 " ->
Expenses:Food:Restaurant
)。 - 容器化隔离与报表生成:它为每个用户生成独立的 Beancount 账本文件,并自动启动一个 Fava 报表容器。你无需本地配置任何环境,点击即可查看完整的损益表、资产负债表和月度趋势图。
- 隐私优先:所有数据支持完全自托管,你的财务数据不会离开你的服务器。
🚀 效果展示
解析前(支付宝导出 CSV 的混乱数据):
2025-07-31 17:55:42,餐饮美食,淘宝闪购,e50***@alibaba-inc.com,宝岛便当(塘下店)外卖订单,支出,14.40,中信银行信用卡(6428),交易成功,2025073122001174561458647892 ,13170600725073164350878259894 ,,
解析后(标准的 Beancount 语法):
2025-07-31 * "淘宝" "宝岛便当(塘下店)外卖订单"
time: "17:55:42"
uuid: "2025073122001174561458647892"
status: "ALiPay - 交易成功"
Expenses:Food:Dinner 14.40 CNY
Liabilities:CreditCard:Bank:CITIC:C6428 -14.40 CNY
完成后,你可以在平台直接访问为你实时生成的专业财务报表:
💡 如何使用?
- 云平台体验:直接访问 Beancount-Trans 注册使用。
- 自托管部署:项目完全开源,提供 Docker Compose 脚本,适合爱折腾的用户在 NAS 或家用服务器上部署。
git clone --recurse-submodules https://github.com/dhr2333/Beancount-Trans.git
cd Beancount-Trans
docker compose up
总结一下,Beancount-Trans 解决了从原始账单到可视化报表的最后一步,极大降低了 Beancount 的使用门槛。让你能更专注于财务分析本身,而非繁琐的数据录入工作。
欢迎有记账需求的朋友们尝试体验,也希望能给各位开发者同道提供一个有趣的参考。项目已开源,期待你们的 Star 和反馈!