FapiaoAutoFlow
FapiaoAutoFlow 是一个自动化发票处理系统,通过邮件监控、智能解析、文件下载和按月归档来实现发票的自动化管理。
Install / Use
/learn @wangshub/FapiaoAutoFlowREADME
FapiaoAutoFlow
自动收取邮箱里的发票,一键归档整理。
再也不用手动点开每封发票邮件、复制链接、下载文件、重命名归档了。
效果演示
📧 收到发票邮件...
↓ 检测到京东发票
↓ 自动提取下载链接
↓ 下载 PDF 文件
↓ 重命名并归档
✅ invoices/2026-03/京东_20260315_88.00_FP12345678.pdf
发票会自动按月份归档,文件名统一为:平台_日期_金额_发票号.pdf
部署方式
方式一:直接安装
git clone https://github.com/yourname/FapiaoAutoFlow.git
cd FapiaoAutoFlow
pip install -r requirements.txt
方式二:Docker 部署(推荐)
- 克隆项目
git clone https://github.com/yourname/FapiaoAutoFlow.git
cd FapiaoAutoFlow
- 创建配置文件
cp .env.example .env
# 编辑 .env 文件,填写你的配置
- 启动服务
# 构建并启动(后台运行)
docker compose up -d
# 查看日志
docker compose logs -f
# 停止服务
docker compose down
数据持久化:以下目录会自动映射到宿主机:
./invoices- 下载的发票文件和 SQLite 数据库./logs- 运行日志
常用命令:
# 单次运行(检查一次邮箱)
docker compose run --rm fapiao-autoflow python -m src.main run
# 查看统计
docker compose run --rm fapiao-autoflow python -m src.main stats
# 列出发票
docker compose run --rm fapiao-autoflow python -m src.main list
配置说明
配置 LLM
推荐使用 DeepSeek,便宜好用(约 0.001 元/封邮件)。
- 注册 DeepSeek 并获取 API Key
- 编辑
.env文件:
LLM_API_KEY=sk-你的密钥
LLM_BASE_URL=https://api.deepseek.com/v1
LLM_MODEL=deepseek-chat
配置邮箱
在 .env 文件中配置邮箱:
# QQ邮箱(需要授权码,不是QQ密码)
QQ_EMAIL=你的QQ号@qq.com
QQ_APP_PASSWORD=授权码
# 或 163邮箱
EMAIL_163=yourname@163.com
EMAIL_163_APP_PASSWORD=授权码
# 或 企业邮箱(IMAP)
COMPANY_EMAIL=your@company.com
COMPANY_IMAP_HOST=imap.company.com
COMPANY_IMAP_PASSWORD=你的密码
命令说明
| 命令 | 说明 |
|------|------|
| python -m src.main run | 检查一次邮箱 |
| python -m src.main daemon | 后台运行(每 5 分钟检查) |
| python -m src.main stats | 查看统计信息 |
| python -m src.main list | 列出本月发票 |
| python -m src.main list -m 2026-03 | 列出指定月份发票 |
支持哪些发票?
由于使用 AI 智能解析邮件,理论上支持所有通过邮件发送的发票:
- 🛒 电商:京东、淘宝、美团、拼多多等
- 🚗 出行:滴滴、高德、12306 等
- ☁️ 云服务:阿里云、腾讯云、华为云等
- ⛽ 加油站、高速过路费
- 🍔 餐饮开票
- ...更多
其他 LLM 配置
除了 DeepSeek,还支持任意 OpenAI 兼容接口:
<details> <summary>🔧 配置其他 LLM 服务</summary>修改 .env 文件:
# OpenAI
LLM_API_KEY=sk-xxx
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4o-mini
# 智谱 AI
LLM_API_KEY=xxx.xxx
LLM_BASE_URL=https://open.bigmodel.cn/api/paas/v4
LLM_MODEL=glm-4-flash
# 月之暗面
LLM_API_KEY=sk-xxx
LLM_BASE_URL=https://api.moonshot.cn/v1
LLM_MODEL=moonshot-v1-8k
# Ollama 本地(免费)
LLM_API_KEY=ollama
LLM_BASE_URL=http://localhost:11434
LLM_MODEL=qwen2.5:7b
</details>
企业邮箱配置
<details> <summary>📧 配置企业邮箱(IMAP)</summary>编辑 config/accounts.yaml:
accounts:
- name: "公司邮箱"
enabled: true
type: "imap"
email: "your@company.com"
auth:
host: "imap.company.com"
port: 993
username: "your@company.com"
password: "你的密码"
use_ssl: true
</details>
常见问题
<details> <summary>❓ 邮箱连接失败?</summary>- 确认邮箱已开启 IMAP 服务
- 确认使用的是授权码,不是登录密码
- 检查网络是否能访问邮箱服务器
- 检查 API Key 是否正确
- 检查网络是否能访问 LLM API
- 查看日志:
logs/目录
- 部分发票链接有时效性,邮件收到后尽快运行
- 某些平台需要登录后才能下载,暂不支持
pip install pytest
python -m pytest tests/ -v
</details>
License
MIT
