← 返回
未分类

出差报销整理向导

出差报销整理向导。按类别+时间整理发票、重建行程日志、生成报销单、自动计算差补、税额分离、退改签/红字发票处理、合规审查(连号发票/人均超标/证据链/住宿缺失/交通断链/抬头核对/发票章检测)。触发:帮我整理报销、做报销单等。
出差报销整理向导。按类别+时间整理发票、重建行程日志、生成报销单、自动计算差补、税额分离、退改签/红字发票处理、合规审查(连号发票/人均超标/证据链/住宿缺失/交通断链/抬头核对/发票章检测)。触发:帮我整理报销、做报销单等。
Shy
未分类 community v1.0.4 5 版本 99187 Key: 无需
★ 3
Stars
📥 62
下载
💾 0
安装
5
版本
#latest

概述

出差报销整理向导(Expense Report Wizard)

30 秒上手

直接说下面任何一句,向导自动走完全流程:

> 「帮我整理这次出差报销」

> 「我刚出差回来,一堆发票要整理」

> 「帮我做个报销单,发票照片我发你」

> 「我有个文件夹里全是发票,帮我整理——路径是 ~/Downloads/出差发票」

然后把发票照片拖进对话窗口、告诉文件夹路径、或者逐条口述,剩下的交给向导。

📖 快速导航: 遇到问题怎么办 · 反模式/避坑指南 · 常见问题


设计理念

  1. 没有依据,不判定 — 合规检查的每一条结论都必须可追溯到用户提供的财务制度。没有制度则仅做结构化检查,绝不杜撰标准
  2. 给 AI 装上眼睛 — 发票智能识别三层调度 + 类型识别 + 有效性检测 + 抬头核对
  3. 把经验固化为技能 — 合规规则引擎化,阈值全部来自用户制度,规则库独立可更新
  4. 让使用者零门槛 — 无配置即用,腾讯文档/会议/企微开箱即用,三层降级兜底
  5. 整理即是归档 — 不仅整理数据,还帮用户把文件本身整理好——规范命名、分类归档

能力边界

✅ 擅长

  • 从发票图片/文字描述/本地文件夹中提取结构化数据
  • 识别发票类型:增值税专用/普通/电子发票、手撕票、火车票、机票行程单等
  • 开票抬头核对:检测发票抬头与公司名称是否一致
  • 发票有效性检测:手撕票是否盖有发票章、是否为非发票凭证
  • 按类别+时间整理费用清单
  • 自动推断出差行程,生成行程日志(可直接当出差报告初稿)
  • 发票文件规范化重命名:把 IMG_001.jpg 变成 2026-05-10_交通_北京→上海高铁_553.50.jpg
  • 生成多种格式的报销单(标准版/简版/项目分摊版/CSV/自定义)
  • 自动计算差旅补贴/补助:根据行程天数和公司标准,自动核算并计入报销总额
  • 税额分离与专票抵扣支持:智能提取专票/电票的税额,分列含税与不含税金额,便于财务抵扣
  • 退改签与红字发票处理:自动识别退款、改签扣费及红字冲销发票,精准冲抵报销金额
  • 结构化合规审查:连号发票、住宿缺失、交通断链、日期异常、发票有效性、抬头核对、行程冲突预警
  • 阈值合规审查:餐饮人均、住宿单价、大额单笔(需用户提供财务制度
  • 对接腾讯文档、腾讯会议、企业微信:OCR 识别、在线文档导出、企微通知、会议日程核对

⚠️ 需素材

  • 完整报销需要:发票照片或文字清单、出差大致日期、常驻城市
  • 精准合规审查需要:贵公司财务制度(没有制度仅做结构化检查,不做阈值判定)
  • 开票抬头核对需要:公司全称(没有则跳过抬头检查)
  • 自定义报销单需要:公司模板格式(字段列表)
  • 腾讯文档 OCR / 腾讯会议日程:需要在对应平台登录授权

❌ 超出范围

  • 不替代财务审批流程(只辅助整理和检查)
  • 不对接 ERP/财务系统(可导出 Excel 但不直连 SAP/用友等)
  • 不判断发票真伪(只检查格式和逻辑一致性,验真需税务系统)
  • 不判断税款能否实质抵扣(仅做汇总整理,最终抵扣以税务局规则为准)
  • 不处理境外发票(当前仅支持中国大陆发票格式)
  • 不自动提交报销(只生成材料,提交由用户操作)

遇到问题怎么办

遇到任何问题,按这个顺序排查:

症状原因建议
------------------
发票照片识别模糊图片不清晰或字迹潦草说「用专业 OCR 重新识别第 X 张」升级到 Layer 2/3
某张发票金额/日期识别错误OCR 准确率非 100%直接说「第 X 张金额是 XX 元」即可修正
腾讯文档/企业微信连接不可用未开启对应功能自动降级为本地处理:报销单存 Markdown,合规结果在对话展示
文件夹读取失败路径错误或无权限检查路径是否正确,或改用逐张上传
OFD 文件无法识别格式较新,部分环境不支持在开票平台导出为 PDF 后提供
大量发票处理慢分批识别需要时间耐心等待,向导会逐批汇报进度
以上都不行把已完成步骤的结果发给你确认,你手动补充后继续

统一规则:任何异常都不会导致流程中断——搞不定就降级,降级不了就交给你确认。


支持的文件格式

向导可读取以下格式的发票文件:

类别格式说明
------------------
图片JPG/JPEG、PNG、HEIC/HEIF、BMP、TIFF/TIF、WEBP拍照/扫描件
文档PDF电子发票常见格式
发票专用OFD增值税电子发票官方格式
压缩包ZIP自动解压后识别内部文件

> 💡 推荐使用 PDF(电子发票)或清晰拍照(纸质发票)。OFD 格式如无法直接读取,建议导出为 PDF 后提供。


完整示例:从头到尾做一次报销整理

以下用一个具体出差案例,演示向导全部 6 步的执行过程。

背景: 张三(常驻上海)于 5 月 12-14 日出差北京,拜访客户并交付项目。返程后整理报销。


Step 1:场景感知(对话)

> 用户: 「帮我整理这次出差报销」

>

> 向导: 「来整理出差报销!先确认几个信息:你常驻哪个城市?这次出差什么时候到什么时候?去哪里?公司全称是什么?」

>

> 用户: 「常驻上海,5月12日到14日去北京,客户拜访+项目交付,公司全称上海云智科技有限公司」

>

> 向导: 「收到!我记录一下:

> - 常驻:上海 出差:5月12-14日 北京 公司:上海云智科技有限公司

> 有差旅报销制度吗?有的话发我,合规检查会更精准——没有的话我先做结构化检查。」


Step 2:发票收集 + 识别

> 用户: 「发票在 ~/Downloads/北京出差发票/ 这个文件夹里,一共 8 张」

向导读取文件夹,自动 OCR 识别,结果如下:

✅ 识别到 8 张发票:
  1. 5月12日 机票(上海→北京)¥553.50  同行人:李明、王芳
  2. 5月12日 住宿(北京如家)¥388         同住人:张三
  3. 5月12日 晚餐工作餐(3人)¥240        同行人:李明、王芳
  4. 5月13日 出租车费 ¥86
  5. 5月13日 客户接待餐(5人)¥850        同行人:李明、王芳、赵海、刘芳
  6. 5月13日 住宿补差价 ¥120
  7. 5月14日 高铁(北京→上海)¥553.50   同行人:李明、王芳
  8. 5月14日 午餐工作餐(2人)¥120        同行人:李明

Step 3:分类清单 + 行程日志

分类清单:

🚂 交通(3笔)小计 ¥1,193.00
  5月12日  上海→北京 机票 ¥553.50  同行人:李明、王芳
  5月14日  北京→上海 高铁 ¥553.50  同行人:李明、王芳
  5月13日  出租车 ¥86.00

🏨 住宿(2笔)小计 ¥508.00
  5月12日  如家酒店 1晚 ¥388.00  同住人:张三
  5月13日  住宿补差价 ¥120.00

🍽️ 餐饮(3笔)小计 ¥1,210.00
  5月12日  工作餐(3人)¥240.00  同行人:李明、王芳
  5月13日  客户接待餐(5人)¥850.00  同行人:李明、王芳、赵海、刘芳
  5月14日  工作餐(2人)¥120.00  同行人:李明

📦 其他(0笔)

行程日志(节选):

## 📅 出差行程日志
5月12日(周一)北京
  - 🚂 09:30 上海 → 北京(机票,**同行人:李明、王芳**)
  - 🏨 如家酒店,北京(**同住人:张三**)
  - 🍽️ 工作餐 ¥240(3人,**同行人:李明、王芳**,人均¥80)

5月13日(周二)北京
  - 🚕 市内交通 ¥86
  - 🍽️ 客户接待餐 ¥850(5人,**同行人:李明、王芳、赵海、刘芳**,人均¥170)
  当日小计:¥936.00

Step 4:报销单生成

## 出差费用报销单

| 报销人 | 张三 | 部门 |  | 报销日期 | 2026-05-15 |
|--------|------|------|------|----------|--|
| 出差事由 | 客户拜访+项目交付 | 出差时间 | 2026-05-12 至 2026-05-14 | 共计天数 | 3天 |

## 费用明细
| 序号 | 日期 | 费用类别 | 用途说明 | 金额(元)| 同行人/同住人 | 备注 |
|------|------|----------|----------|-----------|------------|------|
| 1 | 2026-05-12 | 交通费 | 上海→北京机票 | 553.50 | 李明、王芳 | |
| 2 | 2026-05-12 | 住宿费 | 如家酒店1晚 | 388.00 | 张三 | |
| 3 | 2026-05-12 | 餐饮费 | 工作餐(3人) | 240.00 | 李明、王芳 | |
| 4 | 2026-05-13 | 交通费 | 出租车 | 86.00 | — | |
| 5 | 2026-05-13 | 餐饮费 | 客户接待餐(5人)| 850.00 | 李明、王芳、赵海、刘芳 | |
| 6 | 2026-05-13 | 住宿费 | 补差价 | 120.00 | — | |
| 7 | 2026-05-14 | 交通费 | 北京→上海高铁 | 553.50 | 李明、王芳 | |
| 8 | 2026-05-14 | 餐饮费 | 工作餐(2人) | 120.00 | 李明 | |

## 费用汇总
| 类别 | 金额(元) |
|------|-----------|
| 交通费 | 1,193.00 |
| 住宿费 | 508.00 |
| 餐饮费 | 1,210.00 |
| 合计 | ¥2,911.00 |

Step 5:合规审查

## 🔍 合规审查摘要
| 检查项 | 类型 | 状态 | 发现 |
|--------|------|------|------|
| 连号发票 | 结构化 | ✅ | 无 |
| 发票有效性 | 有效性 | ✅ | 全部有效 |
| 抬头核对 | 有效性 | ✅ | 全部正确 |
| 住宿覆盖 | 结构化 | ✅ | 完整 |
| 交通断链 | 结构化 | ✅ | 无断链 |
| 餐饮人均 | 阈值 | ⏭️ | 未提供制度,跳过 |
| 同行人缺失 | 数据关联 | ⚠️ | 1条缺失(序号4出租车)|

⚠️ [同行人缺失] 5月13日出租车(¥86)人数未知且无同行人记录 → 如为拼车出行,建议补充同行人信息

📋 [住宿覆盖] 5月12日、13日均有住宿发票,完整
📋 [行程连续] 5月12日北京→5月14日上海,无断链

Step 6:拓展菜单

> 向导: 「报销单已生成!还需要以下增强功能吗?告诉我编号即可:

>

> A. 📤 一键导出到腾讯文档(直接生成在线文档提交审批)

> B. 📊 费用统计图表

> D. 🏷️ 项目/成本中心分摊」


现在继续阅读完整的文档结构:


核心流程(6 步自动推进)

Step 1: 场景感知 + 财务制度采集 + 抬头信息
  ↓
Step 2: 发票收集(📷 OCR / 📁 文件夹 / 💬 对话 / 📋 批量粘贴)
  ↓ [三层 OCR 智能调度] → [发票类型识别 + 有效性检测]
  ↓
Step 3: 分类整理 + 行程重建 + 📁 文件整理(可选重命名/归档)
  ↓ [可融合腾讯会议日程]
Step 4: 报销单生成
  ↓ [可一键导出腾讯文档]
Step 5: 合规审查(结构化检查始终执行,阈值检查需有制度依据)
  ↓ [可推送企微通知]
Step 6: 拓展菜单(用户自选)

每一步自动推进,无需手动触发。


Step 1:场景感知 + 财务制度采集

流程启动时,主动采集以下信息(缺项不阻塞,后续可补):

采集项用途示例
--------------------
常驻城市住宿缺失检测豁免"上海"
出差起止日期行程范围、日期有效性检查"5月10日到5月20日"
出差目的地行程推断、交通断链判断"北京、广州"
出差事由行程日志封面"客户拜访+项目交付"
同行人/同住人同行人/同住人记录,餐饮合规关联"李明、王芳"(一起出差的同事)
公司全称开票抬头核对"XX科技有限公司"
公司税号(可选)增值税发票税号核对"91110108MA01XXXXX"
差旅补贴标准(可选)自动计算每日出差补助"每天补助100元,出发/返程半天"
财务制度阈值合规检查的判定依据上传制度文件/口述标准

开场语:

> "来整理出差报销!先确认几个信息:你常驻哪个城市?这次出差什么时候到什么时候?去哪里?公司全称是什么?公司有每天的差补标准吗(例如每天100元)?——不确定的先跳过,后面再补。"

财务制度采集

紧接着询问:

> "有你们公司的差旅/报销制度吗?有的话发我,合规检查会更精准——没有也没关系,我会做结构化检查(连号发票、住宿缺失、交通断链、发票有效性、抬头核对),只是餐饮人均这类需要标准的检查就跳过。"

三种采集方式:

方式操作适用场景
---------------------
上传制度文档用户上传 PDF/Word/图片,向导自动解析有正式制度文件
对话式问答向导逐项询问关键阈值,用户口头提供记得标准但没有文件
使用模板引导用户填写 references/policy-template.md 后上传想一次填完所有标准

制度解析后必须确认:

> "我从制度中提取到以下标准,确认一下:

> - 工作餐:150元/人

> - 接待餐:300元/人

> - 住宿上限:一线城市500/晚,其他350/晚

> 以上对吗?有需要调整的直接说。"

没有制度时:

  • 明确告知用户:仅执行结构化检查,阈值检查跳过
  • 行程日志中不出现任何杜撰的标准判断
  • 用户后续随时可以补充制度,触发阈值检查

Step 2:发票收集 + 类型识别 + 有效性检测

请用户以任意方式提供发票信息:

  • 📷 拍照上传(OCR 模式)
  • 📁 指定本地文件夹路径(批量读取模式——一次搞定所有发票)
  • 💬 手动逐条描述(对话录入模式)
  • 📋 粘贴已有清单(批量录入模式)

引导语:

> "把你的发票信息告诉我,格式不限——可以拍照、一条条说、粘贴清单,或者告诉我发票图片在电脑上的文件夹路径,我直接读取。"

2.1 文件夹批量读取(推荐大批量场景)

当用户有大量发票文件(十几张甚至几十张)时,最方便的方式是指定本地文件夹

> "我有个文件夹里全是发票——路径是 ~/Downloads/出差发票"

处理流程:

1. 用户提供文件夹路径
2. 向导扫描该路径下所有支持格式的文件:
   - 图片:JPG/JPEG、PNG、HEIC/HEIF、BMP、TIFF/TIF、WEBP
   - 文档:PDF
   - 发票专用:OFD
   - 压缩包:ZIP(自动解压后识别内部文件)
3. 列出找到的文件数量和格式分布:
   "找到 23 个文件:18张图片、3个PDF、2个OFD"
4. 逐个/逐批识别:
   - ≤9 个文件 → 三层 OCR 一次性处理
   - >9 个文件 → 按 9 个一组分批处理
5. 全部识别完毕后,汇总展示让用户确认

扫描规则:

  • 递归扫描子文件夹
  • 忽略隐藏文件(以 . 开头)
  • 忽略 macOS 系统文件(._ 前缀、.DS_Store
  • ZIP 文件自动解压到临时目录后识别
  • 非支持格式的文件跳过并提示

降级:文件夹路径无效或无权限时,提示用户检查路径,或改用逐张上传。

2.2 三层 OCR 智能调度

识别发票图片时,采用三层调度——先用最轻量的方式,搞不定再升级:

条件使用层级理由
---------------------
1-3 张清晰图片Layer 1 (AI 视觉)即时识别,零延迟
4-9 张图片Layer 2 (腾讯文档 OCR)批量处理更高效
>9 张图片Layer 2 分批 + Layer 1 兜底超过单次上限时分批
增值税专用发票(需税额/税号)Layer 3 (VatInvoiceOCR)专业模型更精准
AI 视觉识别模糊自动升级到 Layer 2/3提高准确率

Layer 1:AI 视觉识别(默认,零配置)

直接使用对话内置多模态能力,提取:发票号码、开票日期、金额(含税金额、不含税金额、税额)、项目名称、销售方、发票类型、开票抬头是否为红字/退款发票

Layer 2:腾讯文档 OCR(零配置,开箱即用)

调用 mcp__tencent-docs__ocr.extract 单张识别,或 mcp__tencent-docs__ocr.toexcel 批量识别(1-9张/次)。超过 9 张时分批调用。

Layer 3:VatInvoiceOCR(可选,最精准)

引用已上架的 tencentcloud-ocr-vatinvoice 官方 Skill,适用于增值税专用发票的结构化识别。需配置环境变量:

export TENCENTCLOUD_SECRET_ID="你的SecretId"
export TENCENTCLOUD_SECRET_KEY="你的SecretKey"

2.3 发票类型识别

OCR 识别完成后,对每张凭证进行类型分类(参照 references/invoice-types.md):

识别结果处理方式
------------------
增值税专用发票提取税额、购销双方税号,核对抬头
增值税普通发票提取校验码,核对抬头
增值税电子发票检查是否重复,核对抬头,提取税额用于抵扣
火车票/机票行程单核对乘车人/乘机人姓名,识别退票费/改签费
红字发票/退款单金额标记为负数,冲减对应正数发票的报销金额
定额发票(手撕票)检查是否加盖发票专用章
费用清单/收据/支付截图标注「📄 非发票,仅作佐证」
无法判断标注「⚠️ 类型待确认」

2.4 发票有效性检测 + 抬头核对

类型识别后,自动执行有效性检测:

抬头核对(如已提供公司全称):

  • 发票购买方名称 = 公司全称 → ✅ 通过
  • 简称/缩写(如"XX科技" vs "XX科技有限公司")→ 🟡 [抬头简称] 购买方"XX科技"与公司全称"XX科技有限公司"不完全一致 → 建议确认是否有效
  • 抬头为个人姓名 → 🔴 [抬头错误] 发票开成个人姓名,与公司名称不符 → 需重新开票
  • 完全不符 → 🔴 [抬头错误] 购买方"YY公司"与贵司"XX科技有限公司"完全不符 → 需重新开票

手撕票发票章检测

  • 有章 → ✅ 有效
  • 无章 → 🔴 [发票无效] 定额发票未加盖发票专用章 → 不可报销,需换开发票
  • 无法判断 → ⚠️ [待确认] 无法判断是否盖有发票专用章 → 请人工检查

非发票凭证标注

  • 费用清单/消费明细 → 📄 [非发票] 仅为消费明细,非正式发票 → 需补开发票
  • 收据 → 📄 [非发票] 收据不可作为报销凭证 → 需补开发票
  • 支付截图 → 📄 [非发票] 支付记录仅作佐证 → 需补开发票
  • 预订单 → 📄 [非发票] 预订单非发票 → 需补开发票

有效性检测完成后,输出汇总:

## 发票有效性检查

| # | 日期 | 类型 | 金额 | 有效性 | 说明 |
|---|------|------|------|--------|------|
| 1 | 05-10 | 增值税电子发票 | ¥553.50 | ✅ 有效 | |
| 2 | 05-11 | 定额发票 | ¥100.00 | 🔴 无效 | 手撕票未盖发票专用章 |
| 3 | 05-12 | 费用清单 | ¥286.00 | 📄 非发票 | 仅为消费明细,需补开发票 |
| 4 | 05-12 | 增值税普通发票 | ¥388.00 | 🔴 抬头不符 | 开成了个人姓名 |

> 🔴 无效和非发票凭证不计入报销金额,单独列出供用户跟进。

2.5 对话/文本录入

用户口述或粘贴文本时,直接解析为标准字段,无需 OCR。

标准数据结构

所有发票统一录入为:

ID | 日期 | 类别 | 总金额 | 不含税金额 | 税额 | 用途说明 | 商家/供应商 | 发票号码 | 发票类型 | 人数 | 同行人/同住人 | 抬头 | 有效 | 备注

类别枚举:🚂 交通 / 🏨 住宿 / 🍽️ 餐饮 / 📦 其他

发票类型枚举:增值税专用发票 / 增值税普通发票 / 增值税电子发票 / 定额发票 / 火车票 / 机票行程单 / 出租车票 / 费用清单 / 收据 / 其他


Step 3:分类整理 + 行程重建 + 文件整理

3.1 分类清单

分类顺序:交通 → 住宿 → 餐饮 → 其他,每类按日期升序,自动小计。

  • 🔴 无效发票和 📄 非发票凭证单独列出,不混入正常分类
  • 同行人/同住人信息附在对应条目后(交通显示同行人,住宿显示同住人,餐饮显示用餐人数)

3.2 行程重建

从发票时间线自动推断出差行程,输出逐日日志:

## 📅 出差行程日志

**出差目的地:** [从交通/住宿推断]
**出差时间:** YYYY-MM-DD 至 YYYY-MM-DD(共 X 天)

### 5月10日(周一)
- 🚂 08:30 北京南 → 上海虹桥(高铁G2,¥553.50,**同行人:李明、王芳**)
- 🏨 住宿:XX酒店,上海(¥388/晚,**同住人:张三**)
- 🍽️ 晚餐工作餐(¥126,3人,人均¥42)
- 💰 **当日差旅补贴**:¥100(按公司标准100/天计)

如果某天信息不完整,加注 ⚠️ 信息待补充

3.3 腾讯会议日程核对(可选)

调用 tmeet-skill 获取出差期间的会议日程,自动填入行程日志空白天,标注来源 📎 腾讯会议日程。

降级:腾讯会议功能不可用时跳过,空白天保留"建议补充当日活动记录"。

3.4 发票文件整理(可选)

发票数据整理完成后,主动询问用户是否需要整理发票文件本身:

> "发票数据整理好了!你的发票文件要不要也整理一下?比如把 IMG_001.jpg 改成 2026-05-10_交通_北京→上海高铁_553.50.jpg 这样一眼就认得出来的名字。"

用户可选的命名规则:

规则格式示例适合场景
---------------------------
A日期_类别_用途_金额2026-05-10_交通_北京→上海高铁_553.50.jpg最常用,一眼认出
B序号_日期_类别01_2026-05-10_交通.jpg简洁,适合归档
C类别_日期_序号交通_2026-05-10_01.jpg按类别归类
D日期_发票类型_金额2026-05-10_增值税电子发票_553.50.jpg区分发票类型

执行流程:

1. 向导展示预览表:原文件名 → 新文件名
2. 用户确认命名规则和预览结果
3. 选择操作方式:
   a. 在原文件夹内重命名(原文件名消失)
   b. 复制到新文件夹(推荐,原文件保留)
4. 执行并报告结果

安全设计:

  • 默认只预览不执行,用户确认后才操作
  • 推荐复制到新文件夹,原文件不受影响
  • 文件名中的特殊字符自动替换为下划线
  • 重名文件自动添加序号避免覆盖

脚本scripts/rename_files.py,支持 --preview / --execute / --output-dir 参数。

用户也可跳过:说"不用了"即跳过文件整理。


Step 4:报销单生成

默认输出 Markdown 格式。如用户有自定义格式,直接按格式排版。

读取 references/reimbursement-templates.md 获取预置模板(标准版/简版/项目分摊版/CSV/精细格式)。

差补与税额处理:

  • 差补计算:如果用户提供了差旅补贴标准,在报销单底部新增「差旅补贴」项,计算公式为:实际出差天数 × 每日补贴标准。(支持根据公司制度自动适配:自然日 / 工作日 / 出发返程按半天 / 含餐扣减等差异化规则
  • 税额分离:如果发票包含增值税专用发票或支持抵扣的电子发票,在费用明细表中分离出「可抵扣税额」列,并在底部汇总「可抵扣税额合计」,便于财务操作。(注:此处可抵扣税额仅作整理汇总,最终是否可实际抵扣以公司财务制度、发票类型和税务规则为准
  • 红字冲销:如遇到退改签发票或红字冲销发票,将该笔金额作为负数项列入明细表,并在总计中扣除。

一键导出到腾讯文档

生成报销单后主动询问:

> "报销单已生成!需要导出到腾讯文档吗?可以直接生成在线文档提交审批。"

支持三种格式:

  • 智能文档(推荐)— mcp__tencent-docs__create_smartcanvas_by_mdx,排版丰富
  • 在线表格mcp__kdocs__create_file_with_content,适合财务逐行审核
  • 标准文档 — 简洁,适合打印签字

行程日志也可单独导出为智能文档(兼作出差报告)。

降级:腾讯文档功能不可用时,保存为本地 Markdown。


Step 5:合规审查

参照 references/compliance-rules.md 执行合规检查。

核心原则:没有依据,不判定

合规检查分三类,执行逻辑完全不同:

类型检查项是否需要财务制度无制度时
----------------------------------------
结构化检查连号发票、住宿缺失、交通断链、日期异常❌ 不需要始终执行
发票有效性检查抬头核对、发票章检测、类型识别、重复检测❌ 不需要*始终执行
阈值检查餐饮人均、住宿单价、大额单笔✅ 必须有⏭️ 跳过并告知

*发票有效性检查中的抬头核对需要用户提供公司全称,没有则跳过该子项。

结构化检查(始终执行)

检查项逻辑输出格式
-----------------------
🔴 连号发票同一供应商 ≥3 张连续编号🔴 [连号预警] XX供应商发现3张连号发票(号码XXX-XXX) → 建议核实是否为正常开票
⚠️ 住宿缺失非常驻城市过夜无住宿发票⚠️ [住宿缺失] 5月12日在北京无住宿发票 → 建议补充或说明原因
⚠️ 交通断链A→B 城市移动无交通票⚠️ [交通断链] 5月10日上海→北京无交通票 → 建议补充交通凭证
🔴 行程冲突时间地点重叠、不合常理🔴 [行程冲突] 5月12日同时出现上海酒店和北京餐饮记录 → 请核实发票日期或归属
⚠️ 退改签说明出现退票费、改签费⚠️ [退改签费] 存在一笔机票退票费¥120 → 建议在备注中说明退改签原因
⚠️ 日期异常发票日期超出出差范围 ±7天⚠️ [日期异常] 5月3日发票不在出差期间(5月10-20日) → 请确认是否属于本次出差
⚠️ 同行人缺失多人用餐无同行人记录⚠️ [同行人缺失] 用餐X人但未标注同行人姓名 → 建议补充(便于证明非私人宴请)

发票有效性检查(始终执行)

检查项逻辑输出格式
-----------------------
🔴 抬头不符发票购买方名称 ≠ 公司全称🔴 [抬头错误] 购买方"XX"与公司全称"YY"不符 → 需重新开票(需用户提供公司全称,没有则跳过
🔴 手撕票无章定额发票未加盖发票专用章🔴 [发票无效] 定额发票未盖发票专用章 → 不可报销,需换开发票
🔴 重复发票发票号码+日期+金额完全相同🔴 [重复发票] 发票号XXX出现2次 → 保留一张,核实是否重复报销
📄 非发票凭证费用清单/收据/支付截图等📄 [非发票] 此为XX(费用清单/收据等),非正式发票 → 需补开发票,不计入报销金额
⚠️ 类型待确认无法判断发票类型⚠️ [类型待确认] 无法判断此凭证类型 → 请人工确认

阈值检查(有制度才执行)

检查项需要制度中的标准输出格式
---------------------------------
🟡/🔴 餐饮人均工作餐上限、接待餐上限🟡/🔴 [餐饮超标] 人均¥XX,贵司标准¥YY/人(依据:XX第X条)→ 建议附说明或调整
⚠️ 同行人缺失人数 > 1 时检查同行人记录⚠️ [同行人缺失] 用餐X人但未标注同行人姓名 → 建议补充(便于证明非私人宴请)
🟡/🔴 住宿单价各城市/级别住宿上限🟡/🔴 [住宿超标] 单价¥XX,贵司标准¥YY/晚(依据:XX第X条)→ 建议附说明或调整
ℹ️ 大额单笔大额界定金额ℹ️ [大额提醒] 单笔¥XX超过贵司大额标准¥YY(依据:XX第X条)→ 建议附说明

有制度时,每条结论标注依据(三段式:问题类型 → 具体原因 → 建议操作):

> 🔴 [餐饮超标] 5月12日工作餐人均 ¥180,贵司标准为 ¥150/人(依据:差旅管理办法第8条)→ 建议附说明或调整报销金额

无制度时,跳过并明确告知:

> ⏭️ [缺少依据] 餐饮人均检查:未提供财务制度 → 跳过。如需检查,请提供贵司餐饮标准

合规报告——分层输出

摘要表(始终展示):

## 🔍 合规审查摘要

| 检查项 | 类型 | 状态 | 发现 |
|--------|------|------|------|
| 连号发票 | 结构化 | ✅ / 🔴 | 0 / X 项 |
| 发票有效性 | 有效性 | ✅ / 🔴 | X项无效 / 全部有效 |
| 抬头核对 | 有效性 | ✅ / 🔴 / ⏭️ | 全部正确 / X项不符 / 未提供公司名称 |
| 住宿覆盖 | 结构化 | ✅ / ⚠️ | 完整 / X 天缺失 |
| 交通断链 | 结构化 | ✅ / ⚠️ | 无断链 / X 处 |
| 行程合理性 | 结构化 | ✅ / 🔴 / ⚠️ | 合理 / X 处行程冲突 / 包含退改签 |
| 餐饮人均 | 阈值 | ✅ / 🟡 / 🔴 / ⏭️ | 有制度时判定 / 无制度跳过 |
| 住宿单价 | 阈值 | ✅ / 🔴 / ⏭️ | 有制度时判定 / 无制度跳过 |
| 同行人缺失 | 数据关联 | ✅ / ⚠️ | 全部已标注 / X 条缺失 |

详细问题(仅异常时展开): 没问题的检查项不输出详情,减少噪音。

企微合规通知(企业微信集成)

仅当存在 🔴 严重问题时,通过 wecomcli-msg 推送企微提醒(🟡/⚠️ 不推送,避免消息疲劳)。

降级:企业微信功能不可用时仅在对话中展示。


Step 6:拓展菜单

核心流程完成后,可询问用户是否需要增强功能:

> "基础整理已完成!以下是一些可选功能,有需要告诉我:"

编号功能所需环境
---------------------
A📤 导出到腾讯文档腾讯文档
B📊 费用统计图表内置
C🔄 多次出差月度汇总内置
D🏷️ 项目/成本中心分摊内置
E📧 生成报销申请邮件QQ邮箱
F💾 保存报销单为模板内置
G📋 导出在线表格腾讯文档
H📅 同步会议日程腾讯会议
I📁 整理发票文件(如未在 Step 3 执行)内置

用户回复「不用了」或「完成」即退出。标注"内置"的无需额外配置。


常见指令速查

用户说处理方式
-----------------
「帮我整理这堆发票」进入完整流程 Step 1
「我有个文件夹全是发票——~/Downloads/出差发票」Step 2 文件夹批量读取
「只做合规检查」跳至 Step 5,先确认是否有财务制度
「只要报销单,格式用我们公司的」先收集数据,Step 4 询问自定义格式
「帮我补全行程」运行 Step 3 行程重建
「我们公司餐饮标准是XX元/人,差补每天100」设置合规阈值和差补标准,后续自动计算和核对
「发你我们公司的差旅制度」解析制度提取阈值,确认后用于合规检查
「我们公司全称是XX科技有限公司」设置抬头核对标准
「导出到腾讯文档」Step 4 一键导出
「帮我核对会议日程」Step 3.3 调用腾讯会议
「用专业OCR重新识别」升级到 Layer 2/3 重新识别
「帮我把发票文件也整理一下」Step 3.4 文件重命名

反模式(常见误用)

❌ 错误用法✅ 正确用法原因
-----------------------------
一张张上传50张发票照片指定文件夹路径让向导批量读取文件夹读取自动扫描+分批识别,效率高10倍
等所有信息完美才让向导开始先给部分信息,后面随时补充向导支持边整理边补,不要求一次完美
只说「帮我报销」不给任何发票信息至少提供发票照片/文件夹路径/文字清单没有原始数据,向导无法凭空生成报销单
把私人消费发票混在出差发票里出差发票单独整理,私人费用分开合规审查会标记出差范围外的发票
忽略合规审查中的 🟡 提醒即使 🟡 也应逐条确认🟡 只是建议级,但可能是合规隐患
不提供财务制度就期望精准合规判定先提供制度,或接受仅结构化检查阈值检查没有制度依据会误判
不提供公司全称就期望抬头核对先告诉公司全称,或接受跳过抬头检查抬头核对需要公司名称作为比对基准
直接在原文件夹执行重命名选择复制到新文件夹,保留原文件原文件是原始凭证,建议保留备份

常见问题

Q:需要什么配置才能用?

A:零配置。直接说「帮我整理报销」就行。发票照片拖进对话,AI 视觉直接识别。有大量发票的话,告诉向导文件夹路径即可批量处理。

Q:没有公司的财务制度能用吗?

A:能。向导会执行结构化检查(连号发票、住宿缺失、交通断链、日期异常、发票有效性),这些不依赖公司制度。但餐饮人均超标、住宿单价上限这类检查需要制度标准,没有制度会跳过并告知原因。

Q:怎么提供财务制度?

A:三种方式——① 上传制度文件(PDF/Word/图片),向导自动解析;② 口头告诉关键标准(「工作餐上限150,接待餐300」);③ 用模板(会发你一个模板填写后上传)。

Q:开票抬头核对怎么用?

A:在 Step 1 告诉向导你的公司全称(和税号,可选),向导会自动核对每张发票的抬头是否正确。没提供公司名称则跳过抬头核对。

Q:一次只能上传9张发票吗?

A:不是。三种方式绕开9张限制:① 告诉向导本地文件夹路径,向导直接批量读取所有文件;② 分批上传,每批9张;③ 粘贴文字清单。推荐文件夹方式,几十张发票一次搞定。

Q:发票文件可以重命名吗?

A:可以。Step 3 整理完成后,向导会询问是否需要把发票文件也整理一下——把 IMG_001.jpg 改成 2026-05-10_交通_北京→上海高铁_553.50.jpg 这样一眼就认出来的名字。支持4种命名规则可选,默认只预览,确认后才执行。建议复制到新文件夹,原文件保留。

Q:支持哪些文件格式?

A:图片(JPG/PNG/HEIC/BMP/TIFF/WEBP)、PDF、OFD(增值税发票专用格式)、ZIP压缩包(自动解压)。最常见的是手机拍照(JPG/PNG)和电子发票(PDF)。

Q:OFD格式是什么?

A:OFD是增值税电子发票的官方版式格式(类似PDF但国内专用)。如果向导无法直接读取OFD,建议用发票开具平台的"导出PDF"功能转为PDF后提供。

Q:手撕票(定额发票)没有盖章能用吗?

A:不能。定额发票必须加盖发票专用章才有效。向导会自动检测并标记无章定额发票为无效。

Q:费用清单/收据能当发票报销吗?

A:不能。费用清单、收据、支付截图等只是佐证材料,不是发票。向导会自动识别并标注,提醒你需要补开发票。

Q:连接了腾讯文档/企业微信/腾讯会议有什么额外好处?

A:连接后自动获得:批量 OCR 识别、一键导出在线文档、合规超标企微提醒、会议日程自动补全行程。

Q:发票照片拍得不清楚怎么办?

A:手动修正即可,直接说「第3张金额是128元」。或说「用专业OCR重新识别」,向导会升级到更精准的识别方式。

Q:有些发票忘记拍了怎么办?

A:用文字补录:「还有一张5月12日的出租车票,100元,从酒店到机场」。

Q:合规审查的结论可信吗?

A:结构化检查(连号/缺失/断链/有效性)基于逻辑一致性和发票规则,无需制度。阈值检查的每条结论都会标注依据来源(制度名称+条款号或「用户口述」),绝不使用杜撰的标准做判定。发票真伪验证需通过税务系统,本向导不提供验真服务。

Q:生成的行程日志能当出差报告吗?

A:能。行程日志已包含逐日活动、费用汇总,补充"工作成果与收获"部分即可提交。连接腾讯会议后,会议日程会自动填入。

Q:VatInvoiceOCR 收费吗?

A:腾讯文档 OCR 完全免费;VatInvoiceOCR 每月 1000 次免费额度(个人出差 20-50 张发票完全够用)。


注意事项

  • Step 1 必做:始终先采集上下文(常驻城市、出差日期),后续步骤依赖此信息
  • 财务制度优先:有制度才能做阈值检查,没有则仅做结构化检查并明确告知
  • 抬头核对需公司名称:有公司全称才能核对抬头,没有则跳过并告知
  • 发票有效性始终检测:类型识别、发票章、非发票标注不需要额外配置
  • 若用户未提供人数,餐饮合规检查注明缺失而非跳过
  • 发票号码如用户未提供,该检查项标注「数据不足,跳过」而非误报
  • 行程日志可直接当出差报告正文,提醒用户补充业务成果
  • 自定义报销单:若用户提供公司模板,直接适配,无需二次确认
  • 每个集成点都有降级策略,功能不可用时不阻塞主流程
  • OCR 批量上限:ocr.toexcel 单次最多 9 张,超过 9 张时分批调用
  • 三层 OCR 调度原则:能用 Layer 1 就不用 Layer 2,能用 Layer 2 就不用 Layer 3
  • 合规报告分层原则:摘要表始终输出,详细问题仅异常时展开
  • 环境变量统一:TENCENTCLOUD_SECRET_ID / TENCENTCLOUD_SECRET_KEY
  • 无效发票和佐证材料不计入报销金额,单独列出供用户跟进
  • 文件重命名默认只预览,用户确认后才执行,推荐复制到新文件夹保留原文件

版本历史

共 5 个版本

  • v1.0.4 1. 新增差旅补贴(Per Diem)自动核算: 依据公司出差标准(如 100元/天)自动计算并追加补贴汇总。 兼容复杂打卡规则,支持根据公司制度自动适配:“自然日”、“工作日”、“出发/返程按半天计算”、“含餐扣减”等差异化政策。 2. 新增专票/电票的税额分离支持: 智能提取发票的含税总金额、不含税金额及税额。 在费用明细与汇总处单独列出「可抵扣税额」,方便财务做进项抵扣;同时明确提示“实际能否抵扣遵循税务规则”的免责边界。 3. 新增退改签与红字冲销机制: 能够有效识别机票退票费、改签单及红字退款发票。 将对应金额做负数项处理,精确冲减正数发票产生的报销总额。 4. 升级合规检查(行程冲突预警): 在原有结构化检查(连号、住宿缺失、交通断链等)基础上,加入了行程冲突预警。 自动排查时间或地点上不合常理的发票行为(如同一天出现上海酒店退房和纯北京的高铁与餐饮记录),并在报告中报红提示人工复核。 当前
    2026-06-02 09:19 安全 安全
  • v1.0.3 新增完整端到端示例,同行人缺失独立结构化检查,重写README
    2026-05-31 15:29 安全 安全
  • v1.0.2 增加同行人备注与人均标准识别
    2026-05-31 14:46 安全 安全
  • v1.0.1 1. 新增「遇到问题怎么办」排查表,覆盖 7 类常见问题及降级方案。 2. 新增「30秒上手」下方快速导航链接,直达 FAQ / 反模式 / 故障排查。 3. 合规检查输出统一为三段式格式:[问题类型] → 具体原因 → 建议操作,覆盖所有检查项。 4. 修复:反模式与 FAQ 埋藏过深、可发现性不足的问题。 5. 修复:异常提示风格不统一,部分输出缺少可操作建议。
    2026-05-30 01:13 安全 安全
  • v1.0.0 首发版本。核心功能:6步全流程(收集→整理→报销单→合规→导出→拓展);发票智能识别(增值税/手撕票/电子发票/OFD,三层OCR调度);开票抬头核对+发票章检测+重复检测;合规审查政策驱动(无制度不杜撰标准);文件夹批量读取;行程日志重建(兼作出差报告);一键导出腾讯文档/企微通知;发票文件规范化重命名归档。
    2026-05-30 00:47 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

跨境合规速查

user_c7ccc21d
本 Skill 是一款专为跨境电商打造的产品合规前置诊断引擎。只需输入产品类别与目标国家,即可在一分钟内输出涵盖“认证、标签、包装、测试、限制”的全套合规要求(覆盖 8 大品类 × 8 大主流市场)。我们不仅为您解析国家海关的底线法规,还深
★ 3 📥 63

跨境电商注册地推荐

user_c7ccc21d
针对独立站创业者、亚马逊卖家及工厂出海痛点,提供秒级的海外公司设立方案决策。涵盖美国(Delaware / Wyoming)、英国、香港、新加坡等 8 大热门管辖区。通过横向比对税率、年费、开户难度与平台兼容性,为您量身推荐最优注册地,并直
★ 1 📥 41

跨境多国税务速查

user_c7ccc21d
面对错综复杂的全球跨境税务,本 Skill 为多国多渠道销售卖家提供精准的税务合规诊断。输入销售国家及营收情况,即可快速透视各国的标准税率、注册门槛、申报周期及截止日。无论是评估 EU OSS 一站式申报的优势,还是排查亚马逊 Market
★ 2 📥 39