Shopify 库存同步应先确定可售库存由哪个系统计算,再把商品变体与库存地点一一对应。同步频率再高,也不能修复错误 SKU 映射、两个系统同时覆盖数量或把在途货当成现货的问题。
区分账面数量与真正可售量
Shopify 将库存区分为 On hand、Available、Committed、Unavailable 与 Incoming 等状态。官方库存状态说明 解释:在途数量不等于可售量,已占用或不可售数量也不应再次出售。连接外部仓库前,先将其字段与这些含义对应。
为每个变体记录 Shopify 变体/库存对象、外部 SKU、地点标识、单位及可售规则。名称相同并不足以证明是同一件货;套装、拆件、尺寸和包装单位要单独核对。先找一件商品在一个地点的完整映射,再扩展到其它仓库。
明确谁写入,谁只读取
| 情况 | 写入规则应回答 | 容易出现的冲突 |
|---|---|---|
| 仓库为主 | 哪些地点由仓库供应可售量 | 员工直接改 Shopify 后被下一次同步覆盖 |
| Shopify 为主 | 外部渠道如何取得与扣减数量 | 渠道各自维护库存造成重复售出 |
| 手工盘点 | 盘点期间是否暂停自动写入 | 新盘点数与旧队列消息互相覆盖 |
| 退货回库 | 谁确认收到且重新可售 | 退款完成就自动增加库存 |
多渠道项目可先结合“Shopify 多渠道销售的商品与订单责任表”,明确数量如何服务各渠道。已有库存系统能承担主源时,应先修映射与写入流程,无需为了同步再建一个独立库存主系统。
消息成功不等于数据已经一致
为每次库存更新保留对象、地点、来源版本或时间、处理结果与错误原因。Shopify webhooks 可能重复投递,处理应具有幂等性,参见 Webhook delivery verification。同时准备定期对账,因为投递与处理不保证每次都成功;官方 Webhook 行为说明 也建议补充 reconciliation。
失败时先区分权限、映射、速率限制和数据版本问题,再重试。旧消息晚到时,不应覆盖新盘点结果。对账应比较同一时间与状态口径,输出需要人核查的差异,而不是把所有数量重新写一遍。
用有限库存演练异常
- 两个渠道接近同时下单,确认不会把同一可售量重复使用。
- 库存消息重复到达,最终数量不重复增减。
- 仓库断连后恢复,旧队列与当前盘点结果按规则处理。
- 退款但货未回库、收到破损退货、部分退货时,可售量符合实际。
- 员工手工修正库存后,有记录说明该修正是否会被自动覆盖。
现场活动共享同一货源时,可阅读“Shopify 快闪店的库存与收款准备”,将活动领用、售出和返仓纳入同一记录。
FAQ
库存同步慢,是否只需要缩短同步间隔?
先查映射、写入权和状态口径。只有数据关系正确且更新延迟确实影响交易时,才进一步处理队列与同步频率。
退款是否应该立即增加可售库存?
应依据真实退货与质检流程。退款、实物回库和恢复可售是不同事件,不能默认同步发生。
怎样判断断连恢复完成?
队列处理结束后,还需将当前对象与地点数量对账,解释差异,并确认旧消息不会再次覆盖新值。