报销与小微记账里,收据照片是常见输入。多模态模型能直接看图出字段,但要把「能认出」变成「敢入账」,需要流水线:拍摄 → 抽取 → 校验 → 抽检。

目标输出

典型字段:商户名、日期、币种与金额、税号或订单号(若有)、支付方式、是否含税。缺字段要显式标记,而不是猜。

流水线步骤

  1. 拍摄规范:平整、补光、避免裁切金额行;一单一图
  2. 抽取:多模态模型按 Schema 输出 JSON
  3. 规则校验:日期格式、金额合计与分项(若有)、币种
  4. 低置信升级:模糊、手写、外币 → 人工
  5. 抽检:按日随机复核若干张

提示词示意

你将看到一张收据图像。只提取可见信息,输出 JSON:
merchant, date, currency, total, line_items[], payment_method, notes
看不清的字段填 null,并在 notes 说明原因。
禁止根据常识补全商户全称或税号。

与既有能力的关系

传统文档 OCR 管线仍适合批量扫描件;拍照场景更适合多模态端到端。基础讨论见文档 OCR 与文档智能,表单字段抽取可参考视觉表单字段抽取。

技巧与坑

  • 不要把身份证、银行卡等误拍进报销图
  • 小费与合计分行时,明确要哪一个字段
  • 多页小票先拼接策略或分页抽取再合并

小结

收据识别的产品价值在校验与升级路径,不在单次演示识别。Schema + 人工抽检,才能上账。

入账前的人工策略

全量人工不现实,全自动又危险。按金额阈值与置信标记抽检:高金额必检,低金额抽样。模型 notes 里写「模糊」的单据提高抽检优先级。

多币种与小费

明确 Schema 要不要小费字段、要不要分税。规则校验比再问模型「帮我算对不对」更可靠。

隐私与保留

收据含地址、卡号后四位等。存储与模型调用需符合你的公司政策:能本地推理则本地;用云 API 则脱敏或裁剪。保留期限到账期结束后按制度删除。流水线日志不要默认存全图到公共桶。

端到端联调时准备三类样张:清晰机打、皱折阴影、手写金额。每类看字段空值率与人工改写率,再决定是否上线自动入账。供应商或门店抬头经常简称,可用商户别名表做后处理,而不是让模型猜全称。发票与小票混用时,Schema 要能区分单据类型。

相关阅读