金额字段识别成 10800,实际是 10080,财务直接按识别结果付款,一个月多付了八千多。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,金额、账号这类字段没有二次校验,识别结果直接进业务表,也没人抽样复核。数字错位在视觉上很难发现,尤其千分位和小数点。

碰到「识别结果人工复核」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。别只看报错的最后一行,往上看几行,真正的起因通常在上面。

SELECT id, amount, ocr_amount FROM bills
WHERE abs(amount - ocr_amount) > 0.01;

同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。

具体做法是,金额字段进人工复核队列 超阈值必须双人确认;加校验规则 金额要与明细合计相等;关键字段保留原图坐标 便于对照;每周抽样一百条统计字段准确率。

最后用这个标准收尾,差异查询从每周三十条降到两条 付款金额与合同一致。

作者 9823189