起因:账面 800 米,实物 700 米
7 月底盘库,王姐把我叫住:”你看这表——斜纹缎账面 800 米,我数下来只有 700 米。100 米去哪了?”
不少服装厂的库存当时都有两份账,本意是”互相校验”:生产出库减一笔、采购入库加一笔,两份应该对上。可 7 月一盘差出 100 米。逐笔追查发现不是系统漏了,是规则本身有毛病。
三处坑,把账面撑虚了
坑一:入库按”明细行”同步,一张单挂多物料。 一张采购单进 5 卷布(300 米斜纹缎+200 米棉布+100 米里料),我们按明细行同步给财务。单条物料都对得上,账面看似正常。
坑二:改了明细,整单重推,重复累加。 采购发现棉布实际只到 180 米,把 200 改成 180。系统按”全单重推”再同步一次——棉布被加两回(200+180=380),里料也多加一回。斜纹缎没改所以对,棉布里料虚高。100 米就是这么堆出来的。
坑三:两边流水颗粒度不一样,对账必然互相覆盖。 生产表按”明细行+工序领料”记录,财务表按”采购单+成品结转”记录。看似都在讲库存,颗粒度却不同。本想每晚跑对账兜底,跑了 3 天就崩——”以谁为准”永远扯不清。
我们一开始的误区:想用”两边对账”解决。 结果越对越乱——因为两边都有流水,又不是同一份流水,对账只会互相覆盖。对账是症状不是病因:库存差 100 米时,要改的不是”发现差的能力”,是”不会产生差的规则”。
解法:加法账本 + 减法账本分工
想清楚后重做:只留一份权威、一份流水,不再两份平级对账。
减法账本(权威):当前库存。 想知道”还剩多少”只看它。不存流水,只存”当前数+最后更新时间”,谁动它必须带单号+原因+时间戳。
加法账本(流水):所有动账记录。 入库、出库、盘库调整,每笔一条。不直接出当前库存,只用来审计、复盘、出报表。
关系:入库写一条加法流水,再改减法账本加 N;出库写加法流水改减法减 N;调整写一条”修正”流水再差额调整。
关键设计一:入库单号做幂等键。 同一张单只能入一次,管它后来改几次明细。改明细不重推原单,而是生成”修正流水”——减法账本按单号查重,写过的直接跳过,从根上杜绝”改一次虚高 180 米”。
关键设计二:入库按”单号”同步,不按”明细行”同步。 一张单进 600 米,财务就记一条”PO 入 600 米”,物料明细只在生产系统内部发料用,不参与库存同步。
关键设计三:15 分钟自动同步。 出库/入库实时生效到减法账本;加法账本作审计流水每 15 分钟同步一次,遇重复单号跳过。
一周后:误差从 100 米降到 5 米以内
9 月 5 日上线,一周后盘库:斜纹缎账面 720、实物 716,差 4 米;棉布账面 410、实物 413,差 3 米。全在 5 米内——剩下的是布卷卷头卷尾的物理零头误差,不该靠系统消掉,接受它系统反而稳。
我们想明白的几件事
1. 一份权威+一份流水,比两份对账安全。 只要有两份平级表达就有口径差异。做一份权威+一份历史,从根上消除”以谁为准”。
2. 别追着”零差异”死磕。 布卷有物理误差,接受 5 米以内的差,系统反而稳。
工单小结:库存同步从”两边平级对账”改成”加法流水+减法权威”分工,入库单号做幂等键,按单号不按明细行同步。一周盘库误差稳定在 5 米内(物理误差级),固化为库存同步标准。