进销存与网站对接:库存为什么会对不上,又该怎么修
对接配置好了,导出按时跑,也没有报错——可网站上卖出去的商品,仓库里其实没有。本文拆解四个不会出现在日志里的偏差原因,以及一套一个晚上就能做完的自查方法。
进销存系统与网站之间的对接,几乎从不会「大声」损坏。它是局部损坏:大部分数据正常流动,少部分商品却各过各的。此时日志干净,同步显示成功,只有当客户付了款、而仓库里没货时,偏差才浮出水面。
下面是最常见的四个原因,以及不用拆开整套系统就能完成的自查方法。
同步为什么看不到全部变化
大多数对接遵循「把上次之后有变化的数据给我」这一原则,省资源也快。但这个变化集合通常不包含已归档和已删除的商品——它们压根不会出现在返回结果里。
于是连接变成单向的:新增和更新能同步过去,「消失」却同步不了。商品在进销存系统里已下架,网站上却还挂着。半年下来这类商品会累积到相当数量,每一个都可能带来一笔「买了没有的货」的订单。
解决办法不是重写对接,而是为它补上定期全量核对:每天比对一次完整清单,把状态标记重新对齐。
原因二:库存的口径不一致
在进销存系统里,库存不是一个数字。有仓库实物数量、有被订单占用的预留数量,还有可售数量。网站需要的是可售数量,但实际导出的常常是实物数量——因为它更容易取到。
结果就是:网站显示有十件,其中八件已经被别人的订单锁定。数据形式上没错,实际却是在卖别人的货。
- 先确认到底是哪个数字被送到网站,并与业务人员在系统里看到的数字核对。
- 单独检查仓库范围:导出里常常包含全部仓库,含在途和残次品。
- 如果同一商品线下和线上都在卖,要明确网站到底有权展示多少库存。
原因三:同步会静默失败
大目录是分批导出的。如果某一批没送到——连接断了、超时了、服务器返回错误——很多实现会直接跳到下一批。最终整个操作被记为成功,尽管部分数据已经丢失。
还有一种特殊情况:请求体积超过限制。超限的数据包会在网络层被截断,看起来不像程序报错,而像随机掉线。这类问题只能靠实测发现:发送不同大小的数据包,找出连接开始断开的临界点。
这个问题的特征是:偏差会「游走」。今天缺这一批商品,明天缺另一批,彼此既不同类目也不同供应商。系统性错误不会是这种表现。
原因四:两边用不同的字段匹配商品
网站与进销存系统必须用同一个字段来匹配商品。如果对接按货号匹配,而货号被改过、或录入时带了空格、大小写不统一,部分商品就会匹配不上。此时同步不会更新已有商品,而是新建一个重复条目。
重复条目通常就是第一个可见症状:目录里出现名称相同、库存不同的商品。正确做法是改用不会变动的内部标识来匹配,而不是用人看着方便的字段。
如何自查
这套检查一个晚上就能做完,也不需要接触对接的代码。
- 统计进销存系统里的在售商品数与网站上的商品页数。两个数字应当吻合,差距超过 1% 就值得深究。
- 挑五件商品手工核对库存:系统里、网站上、以及仓库里的实物。
- 把一件商品在系统里设为归档,观察 24 小时内网站会发生什么。
- 在网站目录里找同名重复商品——出现重复说明匹配字段有问题。
- 问服务商:当一批数据没送达时会怎样。对「同步会报错」这个回答,要实测验证。
结论很简单:没有定期核对的同步,时间一长一定会开始说谎。不是因为代码写得差,而是增量传输在原理上就看不到部分事件。做一次核对的成本,远低于一笔不得不取消的订单。
更多复盘
面向企业的 AI 助手:如何帮你管好销售团队企业买 AI 助手,多半冲着「替我回复客户」,但它最有价值的地方其实在团队内部——在负责人根本听不完、读不完的那部分。本文讲它能稳定接手的四类工作,以及用哪些数字判断成效。企业自动化到底多少钱:报价由哪些部分组成,又常在哪里失真自动化的价格很少是透明的:同一个需求,两家服务商的报价可能相差数倍。本文拆解报价的构成、上线之后才出现的费用,以及报价明显偏低时的几个信号。