12 份票据 5 个坑:用 Work 模式整理报销单的可验收流程
每到月底,报销都是一件很消耗耐心的事。
发票有 PDF,有手机截图,还有随手拍的照片;有的邮件里附了行程单,有的餐厅小票夹在中间;同一张发票可能既有原件又有拍照版。
整理的人要一张张看金额、日期、税号,再按类别汇总。做慢了耽误报销,做快了容易出错。
这篇文章用一个虚构的演示案例,说明怎样把这类任务交给 ZCode 的 Work 模式,并且把“AI 整理”变成一份可以逐项验收的报销单。
重点不是证明 AI 不会出错,而是设计一条出错后能查出来的流程。
先说明样本和边界
演示数据一共 12 份票据,全部为虚构内容,不包含真实公司或个人信息。
文件类型混合了 PDF、截图和照片,模拟最常见的报销材料形态。
为了让验收有对照,材料里预先埋了 5 类问题:
| 编号 | 预设问题 | 期望的处理方式 |
|---|---|---|
| 1 | 同一张发票同时有 PDF 原件和手机拍照版 | 只计一次,标记重复 |
| 2 | 打车行程单只是发票附件 | 不重复计费,作为附件关联 |
| 3 | 一张发票的购买方税号错了一位 | 标出税号不一致,提示退回重开 |
| 4 | 一张发票的大写金额和小写金额对不上 | 标出金额不一致,要求人工核对 |
| 5 | 一张餐厅结账小票不是发票 | 标为不可报销,提示补开发票 |
公司抬头和税号也使用虚构值:
这里要先划一条边界:AI 可以做识别、分类、汇总和异常提示,但不能替代财务审核。
税号规则、发票真伪、报销制度和税务口径,最终要由公司财务或责任人确认。
本文只讨论“怎样把材料整理成可核对的初稿”。
为什么选 Work 模式
这类任务有三个特征:
- 输入是十几份文件,规模不大,但格式杂。
- 目标明确:生成一份按类别汇总的 Excel。
- 过程中需要人看一眼,发现字段不对可以马上补要求。
这正好落在 Work 模式的适用范围里。
它不需要先写工作流脚本,也不需要装专业插件,重点是读取材料、理解字段、生成表格,再把异常项摆到人面前。
ZCode 更新日志显示,3.14.0 新增了办公和编程两种模式切换。
公开演示记录把办公入口称为 Work 模式,本文沿用这个叫法;具体按钮名称和位置可能随版本变化,操作时以当前界面为准。
来源:ZCode 更新日志,访问日期:2026-10-20。
准备材料:先让输入可控
在把文件夹拖进对话框之前,建议先做四件事。
1. 使用只读副本
把原始票据复制到一个单独的演示目录,不要直接对原始文件夹做批量改名或删除。
AI 生成的是新表格,原始文件应该保持不动。
这样即使分类错了,也能回到原文件重新核对。
2. 文件名尽量保留信息
如果文件名本身看不出内容,先不要花太多时间整理。
但至少保留扩展名和来源,比如 打车行程单_0712.pdf、餐费小票_0715.jpg。
文件名不是唯一依据,但能在排查时提供线索。
3. 先列一份输入清单
在提示词里要求 AI 先输出“读到了哪些文件”,再开始做表。
这一步能发现漏读、重复读或格式不支持的问题。
如果输入清单和文件夹里的文件数量对不上,先停下来排查,不要直接看汇总金额。
4. 明确哪些信息不能猜
以下字段必须来自票据本身,不能由模型补全:
- 发票号码。
- 开票日期。
- 价税合计。
- 购买方名称和税号。
- 销售方名称。
- 费用类别。
如果票据模糊、字段缺失,正确做法是标记“待确认”,而不是让模型猜一个看起来合理的值。
提示词:把交付物说清楚
Work 模式的提示词不需要很长,但要把输入、输出、字段和异常处理讲清楚。
下面是一份可以直接改用的模板:
这份提示词有三个作用。
第一,先定义输出结构。
如果只说“整理成 Excel”,模型可能给你一张大表,也可能按自己的分类方式汇总,后面很难核对。
第二,把异常处理写成规则。
重复票据、税号错误、金额不一致、非发票小票,都是报销场景里的常见问题。
提前说清楚,模型更容易在识别阶段就标出来。
第三,保留来源。
每一行都要有文件名,这样汇总金额对不上时,可以回到具体票据。
执行过程:从读取到出表
根据公开演示记录,这次任务的处理过程大致分成四段。
第一段:逐份读取
ZCode 先读取 12 个文件,PDF、截图和照片都进入识别流程。
演示记录提到,读取阶段大约用了 1 分钟。
这个时间只代表那一次任务的文件大小、网络和本机环境,不能当作固定耗时。
读取阶段已经开始发现异常。
比如一张烧烤发票的税号尾号与公司税号不一致,模型在识别时就标了出来。
这说明“先读一遍再制表”比“直接生成汇总”更有价值,因为异常可以在早期暴露。
第二段:加载表格技能
接下来,ZCode 加载表格技能开始制作 Excel。
第一次使用会先安装 LibreOffice 等处理库,用来重新计算公式。
所以第一次执行可能比后续慢,这是环境准备成本,不是模型本身的速度。
这一步很关键。
报销单里如果只有静态数字,没有公式,汇总表看起来对,实际可能加错。
重新计算公式,能让“明细之和”和“分类汇总”互相对上。
第三段:生成工作表
最终交付的 Excel 包含 3 个工作表:
| 工作表 | 用途 |
|---|---|
| 报销明细 | 一行一张票据,保留文件名和疑点 |
| 分类汇总 | 按费用类别汇总金额和数量 |
| 行程单明细 | 记录行程单与发票的关联,避免重复计费 |
三个表各有用途,不建议合并成一张。
明细负责追溯,汇总负责看总数,行程单负责处理附件关系。
合在一起会让字段变得很宽,也不利于财务复核。
第四段:视觉验收和自主修复
表格做完后,ZCode 会把每个工作表渲染成图片,让视觉验收子代理检查排版。
如果发现列宽不合适、文字被截断、数字格式不对,它会尝试修复。
这一步不是“锦上添花”。
办公表格的很多问题不是算错,而是看不见:列太窄导致金额显示不全,日期格式混用,表头换行后难以阅读。
渲染成图片再检查,能发现纯文本检查发现不了的问题。
5 个坑,实际找到了几个
公开演示记录给出的结果是:5 个预设问题找到 4 个。
| 预设问题 | 结果 |
|---|---|
| 重复的 PDF 和拍照版 | 只计一次,标注重复 |
| 行程单当附件 | 关联到发票,没有重复计费 |
| 购买方税号错一位 | 标出税号不一致 |
| 餐厅小票不是发票 | 标为不可报销或待补票 |
| 大小写金额不一致 | 漏检 |
漏掉的是大小写金额不一致的图书发票。
这类问题确实不显眼:小写金额看起来正常,大写金额只差一个汉字,模型很容易把它当成排版差异。
这个结果应该怎样理解?
它说明 Work 模式可以承担第一轮整理和异常初筛,能显著减少逐张录入的时间。
它不说明模型已经达到财务审核水平,也不说明每次都能找到 4 个。
样本只有 12 份,且是人为设计的演示数据,不能外推为准确率。
正确的结论是:把 AI 当“整理员 + 初筛员”,不要当“审批人”。
人工验收清单
拿到 Excel 后,建议按下面顺序检查。
1. 输入是否完整
- 文件数量是否与文件夹一致。
- 有没有重复读取同一个文件。
- 不支持的格式是否被单独列出。
- 模糊图片是否标记为待确认。
2. 明细是否可追溯
- 每一行是否有文件名。
- 发票号码、日期、金额是否来自票据。
- 费用类别是否合理。
- 销售方名称是否完整。
3. 异常是否被标出
- 同一发票号是否出现多次。
- 行程单是否被重复计费。
- 购买方税号是否与公司税号一致。
- 大写金额和小写金额是否一致。
- 非发票材料是否被标为不可报销。
4. 汇总是否算得对
- 明细金额之和是否等于分类汇总。
- 分类汇总之和是否等于总金额。
- 公式是否重新计算过。
- 有没有隐藏行、隐藏列或手工覆盖的数值。
5. 版式是否可读
- 金额列是否显示完整。
- 日期格式是否统一。
- 表头是否清楚。
- 长文本是否被截断。
6. 关键金额再扫一遍
这一步不能省。
至少把总金额、税额、重复票据和大额票据再核对一次。
如果发票数量多,可以按金额从大到小排序,优先检查头部。
敏感数据和合规边界
报销材料通常包含姓名、电话、地址、银行账号、公司税号等信息。
在把文件交给任何云端 AI 之前,先确认三件事:
- 公司是否允许把这类材料上传到外部服务。
- 是否可以先用虚构数据或脱敏数据测试流程。
- 任务结束后,临时文件和历史会话是否需要清理。
本文使用的是虚构演示数据,就是为了避免把真实票据直接暴露给模型。
如果必须处理真实材料,建议只上传必要的页面,去掉与报销无关的个人信息,并保留操作记录。
另外,AI 给出的“可报销”“不可报销”只是基于材料外观的判断。
最终是否符合公司制度,仍要由财务确认。
这套流程适合什么,不适合什么
适合:
- 票据数量在十几到几十份,格式以 PDF、图片为主。
- 需要快速生成明细和分类汇总。
- 需要把明显异常先标出来,减少人工逐张比对。
- 有明确的公司抬头、税号和费用类别规则。
不适合:
- 票据涉及复杂税务处理或跨主体报销。
- 材料严重模糊、缺页,无法确认关键字段。
- 公司禁止把票据上传到外部服务。
- 需要 AI 直接完成审批、付款或记账。
如果任务长期重复,比如每月都有几十份票据,可以考虑把提示词、字段和验收清单固化成模板。
但不要一开始就上工作流:先用手动任务跑两三次,确认字段和异常规则稳定,再决定要不要脚本化。
结论
Work 模式在报销场景里的价值,不是“替人做决定”,而是把重复劳动压缩成一份可检查的初稿。
它能把 PDF、截图和照片读成结构化明细,能生成带公式的汇总表,能在识别阶段提示税号错误、重复票据和非发票材料。
它也可能漏掉大小写金额不一致这种不显眼的问题。
所以正确的用法是:
- 让 AI 负责读取、分类、汇总和异常提示。
- 让人负责关键金额、合规判断和最终审批。
- 用文件名、明细表和异常列保留追溯路径。
下一步验证建议:用 10 到 20 份脱敏票据跑一遍,记录漏检项和人工修正时间。
如果漏检集中在某一类字段,再针对这一类字段补充提示词或验收规则,而不是笼统地要求“再仔细一点”。




