电商库存设计:销售层、调度层、仓库层,三层详解电商库存体系

50 评论 59395 浏览 565 收藏 10 分钟

库存管理作为供应链管理的重要组成部分,不论对于电商企业还是实体企业都至关重要。库存体系的构建异常复杂,目前没见到特别满意的库存体系介绍。笔者有幸参与多系统的搭建,特从电商供应链产品体系总结了库存体系,希望能够给电商同仁一定的帮助。

先说重点:

  • 电商库存体系分为三层:销售层、调度层、仓库层;
  • 库存的变动又分为自上而下、自下而上两种;
  • 每一层库存数量的变化有可总结为增加、锁定、解锁、扣减、返还等。

库存数据的变动都需要有相关单据依据,例如销售订单、发货单、采购入库单等等。下面再进行具体解释。

1.库存的概念

库存:狭义来讲就是仓库里存储的货物,为了满足未来需要而准备的储备资源。除了携程、艺龙等酒店、旅游服务提供商,美团、拉手网等服务信息团购商以外,基本上各家电子商务公司都面临着实物库存管理的需求。

电商中的库存管理是为了保证前台商品的正常售卖,库存的管理和仓库密不可分,而仓库又和销售、采购相关,以下是简单的示意库存变动的影响因素。

库存变动的影响因素

2.库存分层:销售层、调度层、仓库层

将库存管理体系分层为销售层、调度层、仓库层,主要是各层的职能不同,驱动库存发生变化的单据也不一样。

库存分层

销售层

这一层主要面对前端用户,一般情况下,前端库存要和实物库存保持一致,即不能超卖。但是做预售时,就是虚拟库存,下单时涉及到的库存动作只在销售层,待到备货之后,再推送至调度层。

销售层的库存决定是否可售卖,下单是否能成功。在秒杀时,活动库存决定了是否可以秒杀成功;预售时,预售库存决定是否可下定金预定。

  • 可销售库存:网站前台显示的库存,可以对外售卖的库存。当“可销售库存>0”时,前台网站则会显示商品可销售;而“可销售库存=0”时,前台网站则会显示商品缺货。
  • 锁定库存:用户下单锁定库存,支付后扣减库存。锁定库存指的下单时占用库存,保证客户下单后支付的订单都是有货可发,而不会相互冲突。
  • 已销售库存:统计商品已售数量。当支付成功,商品就算作已销售库存。如果取消订单或售后就需要走相应的库存变动流程变动。
  • 活动库存:主要是做促销活动(例如秒杀)时,分配固定数量的商品给相应的活动,这时候就需要从可销售库存中占用相应数量给活动库存。这部分库存也是走相应的锁定、扣减逻辑。
  • 预售库存:这部分是虚拟库存,主要是拉动式需求,例如B端订货、双十一定金预售等。预售同样走相应的锁定、扣减逻辑。不同的是,预售的订单需要备货之后,再推送至调度层。

调度层

调度层相当于订单的分配中心,将订单转化为发货单,按照调度规则决定哪些sku由哪个仓库发货。

调度层的库存分为单仓、区域、总库存三个维度,区域库存指的是这些仓库只发某一区域的,例如京东华中地区的仓库配送华中地区,北京就无法从华中地区的仓库发货。总库存即所有仓库的sku库存总计。

  • 账面库存:仓库中的实物库存,只要是未出库的都算在账面库存中。
  • 可用库存:仓库中可供发货的库存。这部分库存是可供调度的库存。
  • 在途库存:下了采购单但是尚未入库的库存,在途库存理论上部分是可供销售的,例如T+1的在途库存,就是1日之后就可以入库的sku。
  • 不可销售库存:仓库盘损的库存,仓库中的不良品,无法售卖的库存。这部分库存需要通过特定途径处理。
  • 已用库存:在调度层已分配的库存。

调度层在某些方面上和前端库存有些重叠,前端库存也会分区域和总库存,但是不同的是,调度层对应的是实物,不会存在虚拟库存,流到调度层的订单经由调度后推动至仓库发货。

仓库层

仓库层的库存对应的是实物库存,出库入库盘点都会引起仓库库存的变动。

  • 可用库存:发货单推至仓库后,仓库可以用于发货的库存,不包括锁定的库存。
  • 锁定库存:发货单推送至仓库后锁定库存,锁定时同时去锁定库位库存。
  • 已出库库存:已经确认出库的实物库存。
  • 不可用库存:盘点时发现的不良品,需要报损,从可用库存转化为不可用库存。

库位:仓库中的库存是由库位库存组成的,库位上分为可用库存、锁定库存两种。由于WMS中的库存逻辑较为复杂,这里不做详细论述。

3.库存同步:库存的变动又分为自上而下、自下而上两种

由于触发库存发生变动的点不一样,库存的变动有两种流向,自上而下(销售层 → 调度层 → 仓库层)、自下而上(仓库层 → 调度层 → 销售层)两种。

  • 自上而下:用户下单后,首先会生成订单,扣减销售层的库存;然后流转到调度层进行调度,生成发货通知单,调整调度层的库存;然后推送至仓库,WMS系统同步响应,扣减库存进行出库。
  • 自下而上:仓库的实物入库可以算是从下到上引起的库存变动。主要有三种单据:采购入库单、退货入库单、调拨入库单的实物入库,会连锁引起仓库层 、调度层、销售层的可用库存逐步增加。

4.库存数量的变化:增加、锁定、解锁、扣减、返还等

库存系统的操作主要包含库存的增加、锁定、解锁、扣减、返还、异常处理。

库存变动动作

  • 增加:自有仓库通过采购入库,协同仓通过代销采购协议入库。
  • 锁定:下单之后锁定库存
  • 解锁:订单取消之后释放锁定库存。
  • 扣减:支付成功之后扣减库存,扣减锁定库存。
  • 返还:退货/换货后返还库存。相当于增加库存。

这些对于库存的操作在销售层、调度层、仓库层都是需要的,相应的变动都需要相应的单据依据,这对库存的管理是非常必要的,对财务管理相当有用。

本文大体介绍了电商的库存体系,还有许多细节未涉及到,还有各层的库存同步,对账;还有定金预售库存、售后订单、仓库盘点等引起的库存变动。下文将重点介绍库存相关的细节,望持续关注更新。

稍微画了一下库存变动,可参考下

PS:这周和朋友探讨了一个很有意思的问题,电商发展这么多年,有着很成熟的产品体系,市面上却找不到成体系、详细的电商各系统的产品设计文档,书或博客都几乎没有,也许真的是第一代PM懒得总结,所以我打算坚持下去,不间断分享电商产品的相关设计细节和逻辑,总结成一个系列。

#专栏作家#

作者:Bouny_Yuan,公众号:碎碎恋产品。人人都是产品经理专栏作家、电商产品经理。专注于电商产品设计、商业分析以及后台挖坑。

本文由 @Bouny_Yuan 原创发布于人人都是产品经理。未经许可,禁止转载。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 刘志远老师讲解电商库存设计的一篇经典文章~~除此之外,刘志远老师在人人都是产品经理&起点学院《电商产品经理精进计划》课程的库存一章中,也详细讲解了电商的库存系统——包括销售下单过程中的详细库存变化、各种类型库存(活动库存、销售库存)及应用场景;销售层、调度层、仓库层的内部结构与库存变动过程,分仓调度的规则;发货仓库选择的调度规则,多渠道库存管理,销售预测与补货,库存与各系统之间的交互等等。

    来自广东 回复
    1. 感兴趣的小伙伴可以关注刘老师主讲的《电商产品经理精进计划》(了解戳>http://996.pm/Mkl86);也可以联系蘑菇老师(ID:qdxymg)咨询~

      来自广东 回复
  2. 大神,改天能写一篇关于调度层占用库存的逻辑么?

    回复
  3. 电商宝典这本书也是这么写的

    回复
  4. 下单之后直接扣减库存,取消订单时再把库存加回来,中间不经过锁定这一步,这两种做法有什么区别吗?

    来自安徽 回复
    1. 如果你的扣减库存操作等于出库,那如果用户取消订单还要再重新做返还入库的操作,这个成本就相对比较高了。
      如果你的扣减库存只是扣减,仓储层不做出库操作,那你在订单支付完成后还是要再下推到调度层、仓储层做出库操作。那你的扣减和锁定就没啥区别了。

      来自浙江 回复
    2. 我觉得锁定存在的意义是表明有用户有强烈的购买意愿了,但仓库存量不变,扣减部分在支付完成之后。模拟一个场景,若库存显示100个,有100个用户下单未支付,如果直接扣除库存,前端页面怎么显示? 其他用户是不是无法购买了,而支付完成之后再扣除库存,库存扣减,前端页面显示数量减少,这样其他用户在购买的时候就能明确知道是否可以购买了?

      来自上海 回复
    3. 支付完成后在扣除库存,会面临超卖现象。

      来自河北 回复
    4. 说的在理,没考虑这个情况

      来自上海 回复
  5. 是否也可以这样,在下单时不锁定库存,在支付时判断是否有足够库存,这样也不会造成超卖吧。

    来自广东 回复
    1. 这样用户已经下过的订单,最后还可能买不到商品,用户体验不好。另外,订单具有法律效力,所以在付款的时候,告知用户没有商品了,是不可以的。只能给订单付款增加结束时间,减少锁单不付款情况。欢迎讨论。

      来自河北 回复
  6. 讲的很不错,电商领域也确实是这么玩的,但是对于新零售领域不知道适不适用?
    举个例子:仓库的采购的商品A是以大批次维度入库的,比如按箱采买,但是线上销售是按份销售的,中间会有加工转换的过程,这个库存又该怎么同步管理呢?

    来自浙江 回复
    1. 采购入库的时候,就把整箱的库存换算成最小销售单位的库存。

      来自浙江 回复
  7. 还是不明白锁定库存是什么意思,锁定库存的作用是什么?

    回复
    1. 不锁库存,负卖了发不了货,你不得投诉

      来自江苏 回复
    2. 懂了,谢谢

      来自湖南 回复
    3. 锁定库存会存在扣减库存吗?

      来自上海 回复
    4. 盘点的时候也会用到锁库

      来自海南 回复
  8. 作者大大可不可以谈一下,在采购系统和WMS系统中间架设调度中心的出发点?我的意思是,从产品架构上来讲,小型一点的电商是不是可以把调度中心和WMS合在一起?架设调度中心的用意在于什么呢?

    来自湖北 回复
    1. 关注这个问题。

      来自北京 回复
  9. 下一篇在哪 😥

    来自江苏 回复
  10. 前端库存的扣减节点支付成功之后,调度层库存扣减节点是WMS出库之后,两个节点不一样,会有时间差吧

    来自美国 回复
    1. 前端库存扣减成功之后,即锁定调度层/仓库层的库存。仓库打包发货后,才会扣减锁定的仓库库存。

      来自浙江 回复
  11. 这和刘志远《电商产品经历宝典》里面的内容十分相似啊 😀

    来自四川 回复
    1. 《电商产品经理宝典:电商后台系统产品逻辑全解析》

      来自四川 回复
    2. 就是博主写的

      来自浙江 回复
    3. 不是相识,其实就是一模一样,丝毫没看出来不一样的地方

      来自上海 回复
  12. 库存方面全网最优秀文章

    回复
  13. 分三层有点抽象,文中指出的销售层为查看库存总体概况吗? 应该有一个库存系统来维护库存的锁、解锁、扣减等动作;所有动作执行完应该体现在wms里库存状态上

    来自江苏 回复
  14. 个人觉得太宏观了,最好由具体的流程,原型等加以辅助说明

    来自浙江 回复
  15. 干货满满,全网最佳文章了;
    问下:
    第一行中间 反光(下单后面) 部分的文字是啥;
    第一行后面 反光 部分的文字是啥;

    来自上海 回复
    1. 支付完成。

      回复
  16. 第一行中间,下单 后面 是啥(反光部分)?

    来自上海 回复
    1. 支付完成

      回复
  17. 作者写的不错,留个记号,慢慢欣赏。

    来自广东 回复
  18. 【下文将重点介绍库存相关的细节】 下文呢

    来自宁夏 回复
  19. 假如没有调度层会怎么样呢?

    来自江苏 回复
  20. 请问销售层、调度层、仓库层三个层面的库存分别在什么系统呢?还是说都在一个系统

    来自北京 回复
  21. 【下文将重点介绍库存相关的细节】 下文呢 😮

    来自上海 回复
  22. 分析很透彻,理解电商库存,看此文章足矣。

    来自广东 回复
  23. 第一次打赏,我都好激动哈哈,因为写的太清晰太干了。持续关注你,辛苦了。

    来自辽宁 回复
  24. 分拣会腾出锁定的库位?库位数有什么用途?

    来自江苏 回复
  25. 支持

    来自广东 回复
  26. 期待更多电商干货 😳

    来自广东 回复
  27. 大赞一个,你的每一篇文章,都给我提供了极好的养分。太感谢啦。

    来自广东 回复
  28. 库存被锁定时,其他用户还能购买吗?

    回复
    1. 不能购买

      来自广西 回复
  29. 功力深厚

    来自广东 回复
  30. 作者写的不错,可以求个微信吗? 😳

    来自上海 回复