slug: wcs-wms-count-discrepancy-troubleshooting-guide lang: zh title: WCS 报的数和 WMS 对不上:设备计数与系统库存的差异排查手册 excerpt: WCS 报的数和 WMS 对不上,九成跑不出 5 类原因。林晓给出一套 10 步排查清单:光电漏读、时钟不同步、逆向没闭环……按顺序查,九成问题在第 4 步前露馅。 section: software subcategory: wcs region: common tags: ['wcs','wms','系统对账','差异排查','设备计数'] author: 林晓

WCS 报的数和 WMS 对不上:设备计数与系统库存的差异排查手册

先说结论:WCS 和 WMS 计数对不上,九成的情况跑不出这 5 类原因——光电和扫码漏读、网络丢包和时钟不同步、逆向流程没闭环、人工干预没补扫、盘点口径压根没对齐。这个坑我见过三次,每次客户的第一反应都是"连夜重做一次盘点",每次都错。先说为什么,再给你一套 10 步排查清单,按顺序查,九成的问题在第 4 步之前就露馅。

一个真实的惨案:开仓前夜差了 3000 件

2024 年 10 月,一个 5 万平方英尺的电商仓(日均过机 2 万件)上线带 WCS 的分拣线第三周,WMS 库存和 WCS 过机数累计差了 3000 多件。运营总监当场要求"今晚全员盘点",我拦住了:盘点只能告诉你现在差多少,告诉不了你差从哪来。查了 3 个小时,根因是两个:一是分拣线上一对对射光电被纸箱碎屑糊住,漏计了约 1200 件;二是退货逆向流程走了线下,退回来的 1800 多件压根没过扫描口。加起来正好 3000 件左右。这个故事的教训就一句:先找差从哪来,再谈怎么把数抹平。

先说结论:WCS 和 WMS 对不上的 5 类真因

第 1 类:光电/扫码漏读。 最常见。光电传感器脏污、对射偏移、包裹间距太小导致连读。固定式扫码的读不出(no-read)本身是个概率问题,不是个故障问题。算笔账:假设一天过 2 万件,no-read 率 0.5%,一天就是 100 件对不上,一个月攒出 3000 件。上面那个仓的 3000 件差异,就是这么来的。

第 2 类:网络丢包和时钟不同步。 WCS 控制器和 WMS 服务器不在一个时钟上,事件顺序就乱了。WCS 发了"已分拣",WMS 按时间戳去重时以为是重复事件,直接丢弃。这个坑我见过三次,三次都是 IT 先说"网络没问题",最后发现控制器时钟慢了 40 多秒。

第 3 类:逆向流程没闭环。 退货、异常下线、合箱拆箱——这些不走主流程的件,WCS 没计数,但 WMS 库存动了。十个仓里有九个的逆向是线下手工的,这是差异的重灾区。

第 4 类:人工干预没补扫。 堵包了,操作员手动把箱子搬到异常格口,没扫码;抽检拿走几件,忘了登记。一次两次没事,旺季一天几十次,数就对不上了。

第 5 类:盘点口径不一致。 这是最冤的一种:两边都没错,但算的不是同一个东西。WCS 按"过机件数"算,WMS 按"库存件数"算——在途的、卡在异常格口的、放在复核区的,到底算哪边?口径没对齐,永远对不上。

有个反常识的判断:WCS 报的累计数本身不值得信任,值得信任的是带时间戳的事件流。 累计数丢一个事件就永远偏了,事件流丢了还能从日志里找回来。排查永远从事件查起,别盯着总数较劲。

10 步排查清单:按这个顺序查设备计数差异

  1. 拉差异报表,先切维度。 按 SKU、按格口/目的地、按时间段三个维度切开。差异集中在某几个格口,往设备方向查;均匀分散,往接口和口径方向查。
  2. 查 WCS 事件日志。 重点看读不出记录和光电计数异常的时间段,对上差异发生的时间。
  3. 查光电传感器。 遮挡测试逐个过一遍:脏污擦掉、对射偏移重新校准。包裹最小间距如果小于 300 毫米,连读是大概率事件——要么调间距,要么接受这个误差并做补偿逻辑。
  4. 查网络和时钟。 控制器和 WMS 服务器做一次时钟同步检查,时差超过 5 秒就先同步再谈别的。顺带查接口队列有没有堆积、重试、丢弃。
  5. 查逆向流程。 退货、异常下线、合拆箱最近一周的单子,逐票看有没有回传 WMS。
  6. 查人工干预记录。 异常格口的手工出入台账、堵包处理记录、抽检记录,一项一项对。
  7. 对盘点口径。 把两边的口径定义写下来逐条对:在途、异常格、复核区、待上架区,到底算哪边。这一条对完,一半的"差异"会自己消失。
  8. 查主数据。 SKU 条码重复、一物多码——扫码枪读对了条码,但条码绑错了 SKU,数一样对不上。
  9. 抓一段做全量复核。 选差异最大的 1 小时,调监控加日志逐件对。这是体力活,但这是唯一能定案的办法。
  10. 修完复测,再谈盘点。 根因修完,跑 4 小时看差异收不收敛。收敛了再做一次盘点把期初数抹平;不收敛说明根因没找对,回去重查。

工程师在仓库电控柜前排查设备计数问题

常见翻车点:这 4 个别犯

  • 一上来就盘点。 盘点把"事件差"盘成了"库存差",根因还在漏,第二天继续差。
  • 只查设备不查接口。 我的经验:超过一半的对不上是软件和接口问题,不是传感器问题。
  • 口径没对齐就开会。 两边各说各话,吵一下午没结论。先把口径定义写下来,吵架之前先对定义。
  • 修完不复测。 传感器擦干净了就宣布修好,三天后又差。必须跑 4 小时看收敛,拿数据说话。

上线前夜 checklist:让计数差异不再复发

这是我每个项目上线前夜必跑的单子,贴出来:

  1. 所有光电传感器逐个遮挡测试,有记录
  2. 扫码读不出率连续 2 小时压在项目验收线以下
  3. 控制器与 WMS 服务器时钟同步,时差 5 秒以内
  4. WCS 到 WMS 的事件队列清空,无堆积
  5. 逆向流程(退货/异常下线)完整走一遍,WMS 能收到事件
  6. 人工补扫的操作规范打印出来,贴在异常处理工位
  7. 差异报表试跑一遍,三个切分维度都有数
  8. 拍一张全量库存快照——这是你最后的回滚点

最后一句忠告:WCS 和 WMS 对不上,永远先问"差从哪来",再问"差多少"。顺序反了,神仙也救不了。

作者:林晓|WMS 实施顾问