采购订单、入库单、供应商发票,这三张单据对不上,这笔业务就走不下去。金额差几分、数量差一件、日期差一天,人工就得介入。三单匹配是财务共享与供应链里出现频次很高的一类工作,也是很多企业在自动化改造时早早摸到的硬骨头。
一、先给结论
结论是:三单匹配慢,通常不是因为人算得慢,而是因为信息在 4 个层面上对不齐。把这四个层面分开处理,这也是企业级智能体自动化在供应链财务场景里绕不开的一环,单票处理时间可以从 10 分钟量级压到 2 分钟量级,月度节省的工时可以达到数千分钟。
二、第 1 层:主数据的对齐
很多匹配失败根子上是主数据问题。同一家供应商在不同系统里有不同编码,物料单位在采购侧用箱、在入库侧用个、在财务侧用千克。这一步不做,后面的匹配规则再细也算得不对。实践中我们先做供应商与# 物料两张映射表,明确统一识别口径,把单位统一到一个基准单位再做数量比较。
三、第二层:单据的对齐
单据对齐要解决"这几张单据是同一笔业务"的问题。关键是找对了关联键:采购订单号是常见的锚点,但当订单被拆单、被部分退货时,订单号会重复出现。我们的做法是给每笔业务生成一个内部业务号,在采购、入库、发票三个环节都写入这个号,匹配时以业务号为主、订单号为辅。
四、第三层:金额的对齐
金额对不齐的原因通常是含税与否、税率和汇率。不少企业同时存在本位币与外币结算,汇率取哪一天也影响结果。我们把金额拆解为不含税金额、税额、含税金额三个字段分别匹配,并约定税额的容差口径,比如单价区间内的尾差允许通过。容差不是放水,而是把人为舍入导致的正常差异排除在人工队列之外。
五、第四层:差异的分级与处理
剩下的差异要分级处理,而不是全部推给人。我们是这么分的:
- 规则可解释的差异,比如税率与台账不一致,交给规则修正后再跑一次。
- 需要业务确认的差异,比如数量短少,生成待确认任务并带上差异明细。
- 必须由供应商回复的差异,比如发票金额错误,进入对外沟通队列。
分级之后,人工只处理需要判断的部分,规则只处理需要修正的部分。六、我们踩过的三个具体坑
- 一开始只做自动匹配、不做差异分级,异常全堆到人工队列,反而比人工核对还慢。加上分级后才看到效果。
- 主数据映射表只建一次就没人维护。供应商编码变更之后映射失效,匹配准确率掉了一半。后来把映射的变更纳入日常流程。
- 用整单金额是否相等作为通过标准。含税拆分有尾差时整单不等但业务其实一致,大量误报。改为分字段匹配后误报明显减少。
七、怎么验证这套机制真的生效
- 自动通过率:不需要人工介入即可关闭的单据占比。
- 差错重开率:已匹配通过的单据在后续对账中被推翻的比例。
- 差异分级分布:自动修正、待确认、对外沟通三类各占多少。
- 单票平均处理时长:从单据入库到关闭的平均分钟数。
公开资料里可以查到相近的结果。某化工企业完成三单匹配的自动化改造后,单票处理时间从 10 分钟降到 2 分钟,月度节省工时 3360 分钟;某轴承企业的 BOM 校验单批耗时从 60 分钟降到 20 分钟。两者共同的做法都是先把 4 个层面分开处理,再谈提速。
这四项在上线前后对比,比抽象的满意度反馈更能说明问题。检查清单
- 供应商与物料映射是否有统一识别口径。
- 是否用统一基准单位比较数量。
- 金额是否按不含税、税额、含税三个字段分别匹配。
- 是否有明确的容差口径并书面约定。
- 差异是否分自动修正、待确认、对外沟通三档处理。