凌晨两点半,电话响了。客服小姑娘带着哭腔:"米哥,客人下的单,OMS 显示还有 40 件,拣货员跑到库位一看——空的,啥也没有,货架上连个纸箱角都看不见。"
这种电话我接过不止一次。每次出事,场面都一样:IT 说接口日志没问题,运营说账盘得没问题,两边在会议室里互相甩锅,最后挨骂的永远是仓库的人。超卖这事,伤的不只是这一单,平台处罚、店铺评分、客人差评,一套连招下来,损失比那 40 件货贵得多。
干了这么多年,我发现 OMS 和 WMS 库存对不上,根因翻来覆去就五种。排查也有固定套路,按顺序走一遍,大部分问题半小时内能定位。
数字不一样,根因就五种
先把锅分清楚。出事就吵架是最浪费时间的,先看属于下面哪一种。
第一种,同步延迟。OMS 和 WMS 之间多半是定时同步,不是实时。同步窗口里两边数字天然不一样,这是设计如此,不是 bug。很多"对不上"其实是拿 OMS 五分钟前的数据跟 WMS 实时的数据比, apples to oranges,自己吓自己。
第二种,在途库存没扣减。订单已分配、正在拣货、等着发运——这些货在 WMS 里已经从"可用"里扣掉了,但在 OMS 那边还躺在"在手库存"里。旺季一天几千单,在途量一大,两边差出几百件很正常。
第三种,退货收了没回传。退货在 WMS 做了收货上架,实物回来了,但回传 OMS 的那条消息丢了或者失败了。OMS 还以为这批货已经卖出去了,可售数量一直偏低,越积越多。
第四种,盘点调账没同步。WMS 做了 cycle count,盘盈盘亏调了账,调整单没推到 OMS。时间一长,两边越差越远,而且差得莫名其妙,查都不知道从哪查。
第五种,多仓映射配错。OMS 里的"洛杉矶仓"对应 WMS 里两个物理仓,或者新开的分仓在 OMS 建了、在 WMS 的映射表里没加。这种最隐蔽,单看每个系统内部都自洽,一对比全是错的。
记住一个判断:凡是两个系统"各自都对、一比就错"的,八成是映射或同步口径问题;凡是"越差越大"的,八成是退货或盘点回传断了。
举个真实例子。去年一家做家居用品的电商仓,连续三周每周一早上 OMS 和 WMS 差出两三百件,平时又没事。按上面的顺序查,时间戳、在途、退货、盘点都没问题,最后发现是周末的临时夜班在 WMS 里做了库位调整,调整单的仓库编码写的是旧分仓代码,同步到 OMS 时映射表里没有这个编码,整批调整单被静默丢弃了。周一早上差异最大,周中慢慢被日常出入库"稀释"掉,所以呈现出一周一循环的怪象。这种有规律的差异,盯着时间模式看,比盯着数字本身管用。
出事之后,先动手再吵架
定位到根因类型之前,别开会、别甩锅。一个人、一台电脑,按下面这个顺序查,叙述起来是五步,实际操作就是顺藤摸瓜。
先对时间戳。把 OMS 和 WMS 的数字都拉到同一个时间点再比,排除同步窗口的干扰。这一步能过滤掉至少三成的"假警报",很多人跳过这一步,直接查了两小时才发现是自己比错了时间。
时间对齐了还差,再查在途。去 WMS 里看已分配未拣、拣货中、待发运的数量,加总跟差异数对一下。对得上,说明口径问题,OMS 的可用量公式要把在途扣掉,或者给运营讲清楚"在手"不等于"可售"。
在途对不上,查退货。拉最近一周的退货收货记录,跟 OMS 的退货回传记录逐条对。重点看失败重试队列,很多集成是" fire and forget",消息丢了没人知道,队列里躺着一堆没人看。
退货没问题,查盘点。把 WMS 最近的盘点调整单导出来,看有没有同步到 OMS 的记录。盘点调账是低频但影响大的动作,一次漏推,差异能挂好几个月。

最后查映射。把 OMS 的仓库列表和 WMS 的物理仓列表并排放,逐个对映射关系。新开仓、大促临时启用的前置仓、第三方代发仓,这三个地方最容易漏配。映射错了,前面四步查得再细也没用,地基就是歪的。
这五步走完,九成的问题能定位到具体环节。定位到了再谈谁的责任:同步延迟是架构设计问题,归 IT;退货回传失败是集成问题,归 IT;盘点没推是流程问题,归运营;映射配错多半是开仓时两边没对齐,IT 和运营各打五十大板。分工我建议写死:日常对账归运营,接口和 job 归 IT,出事按这个顺序查,谁都别先喊冤。
别等下次半夜再被叫醒
排查是救火,防火靠机制。三件事,投入都不大。
第一,每天跑一次对账 job。OMS 可用量和 WMS 可用量按 SKU 对,差异超过阈值自动告警。阈值别设太敏感,我一般建议按 SKU 设,比如差异超过 5 件或单品可售量的 2% 再报,不然告警一多就没人看了。告警要进工作群,不要只发邮件,邮件是没人看的。
第二,盘点调账必须实时推 OMS。很多公司的盘点调整是月末批量推的,等于每个月有几天两边是错的。改成调账即推,技术上就是多调一次接口的事。
第三,在途状态在 OMS 可见。让客服和运营在 OMS 里能看到"在途多少、待发运多少",而不是只有一个干巴巴的在手数。超卖电话打进来的时候,客服能自己判断是真没货还是货在路上,半夜就不用再打电话摇人了。
这三件事做完,不敢说差异清零,但凌晨两点半的电话,至少能少一半。
最后问你一个问题:你们家 OMS 和 WMS 的库存准确率,现在是多少?别急着回答,先想想这个数字你从哪看、多久看一次、多大差异会有人管。要是这三个问题都答不上来,那今晚那通凌晨两点半的电话,迟早还会再响一次。











