File contents SKILL.md - 差旅报销数据处理
功能概述
自动归集微信/支付宝/招商银行信用卡的消费流水,匹配数电发票,标记公司垫款,生成报销核对清单。
用户支付结构
支付渠道
资金来源卡片
微信支付
微信钱包余额 / 招商银行2690(借记卡) / 兴业银行信用卡
支付宝
支付宝余额 / 招商银行8651(公司商务卡)
招商银行8651(公司商务卡)
所有餐饮、出差旅馆费用 走这张卡
所有>500元的消费 视为公司垫款,需对应发票报销
数电发票需上传至公司财务系统(发票云)验真留存
消费流水类型
类型
说明
公司垫款
⭐ 大额消费,需发票报销,需标记
个人消费
自费,无需报销
日常零星
小额,视情况处理
核心流程
消费流水导入 → 自动标记大额垫款 → 匹配数电发票 → 核对清单输出
数据来源
微信支付账单
路径:微信 → 我 → 服务 → 钱包 → 账单 → ··· → 账单下载
格式:CSV
支付宝账单
路径:支付宝 → 我的 → 账单 → ··· → 导出账单
格式:CSV
招商银行信用卡账单(商务卡8651)
路径:掌上生活 App → 账单 → 已出账单 → 导出
格式:CSV
数电发票
格式:XML 或 PDF
存储目录:用户指定(待配置)
核心字段
流水表字段
交易时间
交易金额
交易商户/对方
支付渠道(微信/支付宝/招行)
资金来源(卡片/余额)
是否公司垫款(是/否)
报销状态(未提交/已开发票/已报销)
关联发票号码
发票表字段
发票号码
开票时间
金额(含税)
销售方名称
购买方名称
关联流水ID
文件结构
skills/expense/
├── SKILL.md # 本文件
├── config.py # 配置文件(路径、阈值等)
├── import_statements.py # 流水导入模块
├── match_invoices.py # 发票匹配模块
├── mark_expenses.py # 垫款标记模块
├── main.py # 主入口脚本
├── templates/
│ └── expense_report.xlsx # 报销核对清单模板
└── data/ # 数据存放目录(用户创建)
├── statements/ # 银行流水CSV
├── invoices/ # 数电发票XML/PDF
└── output/ # 输出报表
使用方法
第一步:配置
编辑 config.py,设置:
发票存放目录
流水CSV目录
大额阈值(默认500元)
输出目录
第二步:导入流水
python main.py import --source wechat --file 微信支付账单202601.csv
python main.py import --source alipay --file 支付宝流水202601.csv
python main.py import --source cmb --file 招行商务卡账单202601.csv
第三步:匹配发票
python main.py match
第四步:标记垫款
python main.py mark
第五步:生成报表
python main.py report
匹配规则
发票与流水的匹配逻辑:
金额完全一致 (精确到分)
日期在±3天内
商户名称相似 (包含关系,去除"上海""北京"等地名干扰)
满足1+2为候选,同时满足3则高置信匹配。
输出报表
生成 报销核对清单_YYYY-MM-DD.xlsx,包含:
所有公司垫款记录
已匹配发票信息
未匹配消费(缺发票预警)
汇总金额统计
1 --- 2 name: expense 3 description: SKILL.md - 差旅报销数据处理 4 --- 5 # SKILL.md - 差旅报销数据处理 6 7 ## 功能概述 8 9 自动归集微信/支付宝/招商银行信用卡的消费流水,匹配数电发票,标记公司垫款,生成报销核对清单。 10 11 ## 用户支付结构 12 13 | 支付渠道 | 资金来源卡片 | 14 |---------|------------| 15 | 微信支付 | 微信钱包余额 / 招商银行2690(借记卡) / 兴业银行信用卡 | 16 | 支付宝 | 支付宝余额 / 招商银行8651(公司商务卡) | 17 18 ### 招商银行8651(公司商务卡) 19 - **所有餐饮、出差旅馆费用**走这张卡 20 - **所有>500元的消费**视为公司垫款,需对应发票报销 21 - 数电发票需上传至公司财务系统(发票云)验真留存 22 23 ## 消费流水类型 24 25 | 类型 | 说明 | 26 |------|------| 27 | **公司垫款** | ⭐ 大额消费,需发票报销,需标记 | 28 | **个人消费** | 自费,无需报销 | 29 | **日常零星** | 小额,视情况处理 | 30 31 ## 核心流程 32 33 ``` 34 消费流水导入 → 自动标记大额垫款 → 匹配数电发票 → 核对清单输出 35 ``` 36 37 ## 数据来源 38 39 ### 微信支付账单 40 - 路径:微信 → 我 → 服务 → 钱包 → 账单 → ··· → 账单下载 41 - 格式:CSV 42 43 ### 支付宝账单 44 - 路径:支付宝 → 我的 → 账单 → ··· → 导出账单 45 - 格式:CSV 46 47 ### 招商银行信用卡账单(商务卡8651) 48 - 路径:掌上生活 App → 账单 → 已出账单 → 导出 49 - 格式:CSV 50 51 ### 数电发票 52 - 格式:XML 或 PDF 53 - 存储目录:用户指定(待配置) 54 55 ## 核心字段 56 57 ### 流水表字段 58 - 交易时间 59 - 交易金额 60 - 交易商户/对方 61 - 支付渠道(微信/支付宝/招行) 62 - 资金来源(卡片/余额) 63 - 是否公司垫款(是/否) 64 - 报销状态(未提交/已开发票/已报销) 65 - 关联发票号码 66 67 ### 发票表字段 68 - 发票号码 69 - 开票时间 70 - 金额(含税) 71 - 销售方名称 72 - 购买方名称 73 - 关联流水ID 74 75 ## 文件结构 76 77 ``` 78 skills/expense/ 79 ├── SKILL.md # 本文件 80 ├── config.py # 配置文件(路径、阈值等) 81 ├── import_statements.py # 流水导入模块 82 ├── match_invoices.py # 发票匹配模块 83 ├── mark_expenses.py # 垫款标记模块 84 ├── main.py # 主入口脚本 85 ├── templates/ 86 │ └── expense_report.xlsx # 报销核对清单模板 87 └── data/ # 数据存放目录(用户创建) 88 ├── statements/ # 银行流水CSV 89 ├── invoices/ # 数电发票XML/PDF 90 └── output/ # 输出报表 91 ``` 92 93 ## 使用方法 94 95 ### 第一步:配置 96 编辑 `config.py`,设置: 97 - 发票存放目录 98 - 流水CSV目录 99 - 大额阈值(默认500元) 100 - 输出目录 101 102 ### 第二步:导入流水 103 ```bash 104 python main.py import --source wechat --file 微信支付账单202601.csv 105 python main.py import --source alipay --file 支付宝流水202601.csv 106 python main.py import --source cmb --file 招行商务卡账单202601.csv 107 ``` 108 109 ### 第三步:匹配发票 110 ```bash 111 python main.py match 112 ``` 113 114 ### 第四步:标记垫款 115 ```bash 116 python main.py mark 117 ``` 118 119 ### 第五步:生成报表 120 ```bash 121 python main.py report 122 ``` 123 124 ## 匹配规则 125 126 发票与流水的匹配逻辑: 127 1. **金额完全一致**(精确到分) 128 2. **日期在±3天内** 129 3. **商户名称相似**(包含关系,去除"上海""北京"等地名干扰) 130 131 满足1+2为候选,同时满足3则高置信匹配。 132 133 ## 输出报表 134 135 生成 `报销核对清单_YYYY-MM-DD.xlsx`,包含: 136 - 所有公司垫款记录 137 - 已匹配发票信息 138 - 未匹配消费(缺发票预警) 139 - 汇总金额统计
sunchenzheng/openclaw-skill/tree/main/expense commit 7bc41ffcb1
Frequently asked questions How do I install the Expense skill? Run npx skillmds@latest add sunchenzheng/expense in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Expense skill do? SKILL.md - 差旅报销数据处理 It is listed under Coding & Dev Tools on SkillMD.
Is Expense safe to use? This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Expense? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Expense free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Expense? sunchenzheng (@sunchenzheng) published this skill. Their other Agent Skills are listed on their SkillMD profile.