季度末报销,最耗时间的从来不是贴票,而是录票——几十张发票,抬头、税号、金额、日期一个个敲进表格,敲完还要核对有没有重复。下面这套 5 步流程,能把 30 张发票压缩成 10 分钟左右的工作量。
先接受一个现实:报销出错,多半错在「录」
报销被打回,原因通常集中在三类:抬头或税号写错、金额与发票不一致、同一张发票报了两次。这三类都不是判断力问题,而是纯录入问题。只要是录入问题,就适合交给 AI 打头阵,人来兜底。
第 1 步:统一采集口径,别急着打开 AI
先把原始材料收干净,再动手。三条规则:
- 全部拍成正面、四角完整、无反光的图片,单张发票一张图,不要拼图;
- 文件按「日期_金额_事由」命名,例如
0912_486.00_客户拜访;
- 纸质票和电子 PDF 分两个文件夹放,电子票直接留 PDF,不要截图。
这一步花 5 分钟,能省掉后面一半的返工。
第 2 步:用多模态模型批量读数,提示词要卡死字段
目前主流多模态模型(GPT、Claude、Gemini、豆包、Kimi 等)都能直接读图提取文字。关键在于提示词必须把字段和格式卡死,否则每张票返回的结构都不一样,后面没法合表。
可以直接用这段:
你是财务票据录入助手。我会上传一张发票图片。请只输出一行 JSON,字段为:发票号码、开票日期(YYYY-MM-DD)、销售方名称、价税合计(数字,两位小数)、税额(数字)、购买方名称、购买方税号、发票类型(专票/普票/电子普票/其他)。无法确认的字段填 null,不要猜测,不要输出任何解释文字。
一次传 5~8 张,分批跑,比一次传 30 张稳定得多。
第 3 步:落成一张主表,字段一次定死
把返回的 JSON 贴进飞书多维表格、腾讯文档或 Excel,列就固定这几项:发票号码、开票日期、销售方、价税合计、税额、购买方、税号、费用类型、项目归属、备注。费用类型和项目归属建议用下拉选项,不要手打,否则后面的汇总统计全是脏数据。
第 4 步:三处自动校验,专治重复报销
表格搭好后,加三条规则:
- 查重:对发票号码列做条件格式,重复值标红;
- 抬头校验:把本公司抬头和税号写死在一个单元格,用公式逐行比对,不一致的标黄;
- 金额核对:表底做 SUM 求和,与你在报销单上填的总额比对,差一分钱都要查。
再加一条经验规则:同一销售方、发票号码连续超过 3 张的,单独拎出来看一眼。连续开票本身不违规,但值得确认是不是被拆单了。
第 5 步:让 AI 按模板生成报销单和拆分说明
最后把主表丢给模型,附上你公司的报销单模板,让它按项目归属分组汇总,生成一张「项目—金额—事由」的拆分表,以及一段 100 字以内的费用说明。模板固定的话,这一步的提示词可以存起来反复用。
两个必须人工复核的地方
AI 读数不是 100% 准确,尤其是折叠过的纸质票、跨行排版的金额。价税合计、税号、开票日期这三个字段必须逐张扫一眼:其他字段错了顶多改表,这三个错了会直接导致报销被退回。
另外,客户名称、员工姓名、银行账号这类信息,尽量不要上传到公共云端模型。能裁掉就裁掉,涉及敏感客户的改用本地部署模型处理。
搭一次,用一年
这套流程真正的价值不在这一次,而在于模板可以复用:采集规则、提示词、主表字段、校验公式全部固定下来,下个季度只剩「拍照—批量识别—贴数据」三步。第一次搭可能要一小时,之后就稳定在十分钟左右。