基于规则的复式记账导入器,支持将各种账单格式智能转换为 Beancount 或 Ledger 格式。
📖 完整文档: 访问 在线文档站点 获取详细的使用指南和配置说明。
- 🏦 多银行支持 - 支持建设银行、工商银行、中信银行、汇丰银行等主流银行账单
- 💰 支付工具 - 支持支付宝、微信等主流支付平台的账单导入
- 📈 证券交易 - 支持海通证券、华西证券等券商的交易记录
- 🪙 加密货币 - 支持火币等交易所的币币交易记录
- 🛒 生活服务 - 支持美团、京东等生活服务平台的账单
- ⚙️ 智能规则 - 基于规则的智能分类,支持自定义账户映射
- 🔧 可扩展架构 - 易于添加新的账单格式和记账语言支持
go install github.com/deb-sig/double-entry-generator/v2@latestbrew install deb-sig/tap/double-entry-generator在 GitHub Release 页面下载对应架构的二进制文件。
Tip
通过 Go 安装后,可使用 go version -m $(which double-entry-generator) 查看版本。
# 转换支付宝账单为 Beancount 格式
double-entry-generator translate -p alipay -t beancount alipay_records.csv
# 转换微信账单为 Ledger 格式
double-entry-generator translate -p wechat -t ledger wechat_records.xlsx
# 转换建设银行账单
double-entry-generator translate -p ccb -t beancount ccb_records.xls更多使用说明请参考 快速开始文档。
- 建设银行 (CCB) - 支持 CSV、XLS、XLSX 格式
- 工商银行 (ICBC) - 自动识别借记卡/信用卡
- 中信银行 (CITIC) - 信用卡账单
- 汇丰银行香港 (HSBC HK) - 香港汇丰银行
- 加拿大银行 (BMO) - Bank of Montreal
- 道明银行 (TD) - Toronto-Dominion Bank
- 招商银行 (CMB) - 支持储蓄卡和信用卡
- 支付宝 (Alipay) - 支持 CSV 格式
- 微信 (WeChat) - 支持 CSV 和 XLSX 格式
- 海通证券 (HTSEC) - 证券交易记录
- 华西证券 (HXSEC) - 证券交易记录
- 火币 (Huobi) - 币币交易记录
完整列表请查看 Providers 文档。
Double Entry Generator 使用 YAML 格式的配置文件来定义转换规则和账户映射。
defaultMinusAccount: Assets:FIXME
defaultPlusAccount: Expenses:FIXME
defaultCurrency: CNY
title: 我的账本配置
# Provider 特定配置
alipay:
rules:
- category: 餐饮美食
time: 11:00-14:00
targetAccount: Expenses:Food:Lunch
- peer: 滴滴
targetAccount: Expenses:Transport:Taxi项目提供了丰富的示例配置和账单文件,位于 example/ 目录下。
double-entry-generator translate \
--config ./example/alipay/config.yaml \
--output ./example/alipay/example-alipay-output.beancount \
./example/alipay/example-alipay-records.csvdouble-entry-generator translate \
--config ./example/wechat/config.yaml \
--provider wechat \
--output ./example/wechat/example-wechat-output.beancount \
./example/wechat/example-wechat-records.csv更多示例请查看 示例文档。
┌───────────┐ ┌──────────┐ ┌────┐ ┌──────────┐ ┌──────────┐
│ translate │->│ provider │->│ IR │->│ compiler │->│ analyser │
└───────────┘ └──────────┘ └────┘ └──────────┘ └──────────┘
alipay beancount alipay
wechat ledger wechat
huobi huobi
htsec htsec
icbc icbc
ccb ccb
td td
bmo bmo
hsbchk hsbchk
架构支持扩展:
完整的文档请访问:
- 🌐 在线文档站点 - 完整的在线文档
- 📖 快速开始 - 安装和基本使用
- 📋 Providers 列表 - 所有支持的数据源
- ⚙️ 配置指南 - 详细的配置说明
- 💡 示例 - 使用示例和最佳实践
如果遇到 "Failed to get the tx type" 错误:
- 在 GitHub Issues 上报问题
- 若该交易类型为支出,且版本 >=
v2.10.0,可使用--ignore-invalid-tx-types参数忽略该错误
各 Provider 的账单下载方式请参考:
更多问题请查看 GitHub Issues。
欢迎贡献代码和文档!请查看 贡献指南。
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目采用 Apache 2.0 许可证。
- dilfish/atb - 支付宝账单转 Beancount 的早期版本
- GitHub: deb-sig/double-entry-generator
- Issues: GitHub Issues