费用报销全流程自动化处理。当用户提到报销、发票处理、提交审批、付款记录配对、飞书审批时触发。支持:(1) 统一入口自动分拣各类文件;(2) 发票识别与信息提取;(3) 付款记录与订单截图 OCR;(4) 按报销类型自动配对;(5) 组装审批表单并提交飞书审批。
所有配置集中在 .env 文件(skill 根目录)。首次部署参考 .env.example 和 README.md。
脚本通过 config.js 统一读取配置,代码中无硬编码密钥或路径。
报销主目录(BASE_DIR,在 .env 中配置):
BASE_DIR/
├── 00_未识别未配对文件/ ← 暂存 / 无法识别的文件
├── 01_已识别未配对文件/ ← reimbursement.db + 已识别的文件
├── 02_已配对文件/ ← matched.db, 按费用类型分子目录
├── 03_已提交报销文件/ ← submitted.db, 按费用类型分子目录
├── 04_替票不报销/
├── 05_人工待处理/
└── 06_人工复制待处理文件/
用户输入(图片/PDF/zip/链接/目录)
↓
intake.js(统一入口 + 五分类路由)
↓
┌─────┼─────────────┐
↓ ↓ ↓
发票 付款记录/订单截图 无法识别
↓ ↓ ↓
step1 step2_receipt → 未识别目录 + 通知
↓ ↓
DB + 飞书多维表格
↓
step2_poll(轮询用户分类 → 计算归类)
↓
step3_match(配对引擎)→ step3_5_batch(生成批次)→ step4_submit(提交审批)
| 脚本 | 功能 |
|---|---|
scripts/intake.js | 统一入口:接收任意文件 → 解压/下载 → 五分类 → 路由 |
scripts/step1_invoice.js | 发票处理:信息提取、校验、重命名、入库、写多维表格 |
scripts/step2_poll.js | 轮询飞书表格,同步分类到 DB → 自动触发 step3 |
scripts/step2_receipt.js | 付款记录/订单截图处理:OCR + 入库 → 自动触发 step3 |
scripts/step3_match.js | 配对引擎:按类型匹配发票+付款+订单,归档+写专属表+通知 |
scripts/step3_5_batch.js | 批次生成:从飞书表读取已填写记录 → 生成 BT-xxx 批次号 |
scripts/step4_submit.js | 审批提交:上传附件 → 组装表单 → 提交飞书审批 → 归档 |
scripts/config.js | 统一配置入口(读 .env) |
scripts/feishu_api.js | 飞书 API 封装 |
scripts/vlm_recognize.js | 千问 VLM 图片识别(可选增强) |
scripts/source_qq_mail.js | QQ 邮箱 IMAP 扫描(可选) |
scripts/source_qrcode.js | 二维码识别 + 发票 PDF 下载 |
scripts/db_helpers.js | 数据库通用操作 |
scripts/db_fsck.js | 数据一致性检查 |
# 处理文件(图片/PDF/压缩包)
cd scripts && node intake.js "<文件路径>"
# 扫描邮箱
node step1_invoice.js scan-mail
# 轮询用户分类
node step2_poll.js
# 查看待提交批次
node step4_submit.js --list
# Dry-run 预览
node step4_submit.js BT-xxx --dry-run
# 提交审批
node step4_submit.js BT-xxx
用户通过任何渠道发送文件时,OpenClaw 自动调用 intake.js 处理。
详见 AGENTS.md 中的「文件自动处理规则」。
| Cron Job | 间隔 | 功能 |
|---|---|---|
| 每日邮箱扫描 | 每天 9:00 | step1_invoice.js scan-mail |
| 报销轮询 | 每 30 分钟 | step2_poll.js |
| 步骤 | 文档 |
|---|---|
| Step 1 | references/step1_获取报销材料_v4.7.md |
| Step 2 | references/step2_报销类型选择与材料收集_v2.4.md |
| Step 3 | references/step3_按类型配对_v2.5.md |
| Step 4 | references/step4_提交飞书审批_v2.3.pdf |