美文网首页
B2B2C商城和ERP对接中的超卖问题

B2B2C商城和ERP对接中的超卖问题

作者: 汗青fullstack | 来源:发表于2021-03-26 15:39 被阅读0次
    1.什么是超卖问题?

    商城平台中超卖问题是经常发生的,那什么是超卖问题?超卖问题就是已售商品库存 > 实际库存,现实中存在哪些超卖的情况,1.产品设计逻辑不严密导致超卖;2.高并发导致商品超卖;今天我们讨论的是产品设计的超卖问题。

    2.超卖问题现状
    • 商城端用户下单扣减库存,下单未支付取消订单、支付未发货取消订单、已发货退货成功:商城库存+1;
    • ERP发货、退货库存+1,支付同步后会冻结库存,发货释放冻结库粗;采购出入库、盘点等也会更新库存;
    • ERP与商城对接:ERP库存发生变化会更通知商城更新更新商品库存(已ERP为主)


      image.png
    3.解决方案一
    image

    1.目前ERP在订单支付之后会冻结订单中商品库存,实际订单同步是ERP可售卖库存(ERP总库存-ERP冻结库存),因此订单支付之后理论上不存在超卖问题(极端情况除外),那么用户下单到用户支付之间的时间段可能会发生超卖情况,解决方案如下:
    (1) ERP同步可售库存到商城,ERP可售库存=ERP总库存-ERP冻结库存;BBC库存=ERP可售库存-BBC冻结库存;
    (2) 商城冻结库存逻辑及操作举例如下:
    下单:商城库存-1,商城冻结+1,ERP库存不变,ERP冻结不变;
    支付:商城库存不变,商城冻结-1,ERP库存不变,ERP冻结+1;
    发货:商城库存不变,商城冻结不变,ERP库存-1,ERP冻结-1;
    下单未支付取消订单成功:商城库存+1,商城冻结-1,ERP库存不变,ERP冻结不变;
    支付未发货取消订单成功:商城库存+1,商城冻结不变,ERP库存不变,ERP冻结-1;
    已发货退货成功:商城库存+1,商城冻结不变,ERP库存+1,ERP冻结不变;
    已发货退款成功:商城库存不变,商城冻结不变,ERP库存不变,ERP冻结不变;
    (3) 推演一下数据:商城初始库存10,ERP初始库存10,用户购买1个商品;

    模块 操作 商城库存 商城冻结 ERP库存 ERP冻结
    购物 发货下单 9=10-1 1=0+1 10 0
    购物 支付 9 0=1-1 10 1=0+1
    购物 发货 9 0 9=10-1 0=1-1
    取消订单 下单未支付取消订单 10=9+1 0=1-1 10 0
    取消订单 支付未发货取消订单 10=9+1 0 10 0=1-1
    售后退货、退款 已发货退货成功 10=9+1 0 10=9+1 0
    售后退货、退款 已发货退款成功 9 0 9 0

    相关文章

      网友评论

          本文标题:B2B2C商城和ERP对接中的超卖问题

          本文链接:https://www.haomeiwen.com/subject/hsmjhltx.html