编辑导语:在电子商务系统中,库存系统是必不可少的系统之一。为了建立一个好的库存系统,我们需要理解几个重要的概念。本文从什么是库存、为什么要做库存、库存变化、缺货解决方案等方面介绍了电子商务背景下的库存系统。

电商系统有一个无法回避的系统,就是库存系统。库存系统的设计对电商的商品逆向起着非常重要的作用。如果你想设计一个库存系统,首先你需要知道库存是什么,为什么要做,库存的变化,缺货时怎么办。今天我就围绕以下几个方向来阐述一下电子商务中的库存系统。
广义来说:任何有经济价值的东西的停滞和储存,都是闲置的资源,以备后用。
狭义:就是仓库里存放的东西。
二、库存从何而来对于仓库来说,所有的库存都来自于一开始的采购和入库。
从各销售平台的层面来说,允许先库存后销售和先销售后库存(预售)两种模式。
三、为什么要做库存体系设计保持一定的商品库存,是为了降低供应商供应不足或不确定带来的风险,满足一些没有计划的、意外的或临时的需求,实际需求与预测有出入。
1)库存过少导致的风险
2)库存过多导致的风险
3)负库存带来的风险
四、电商系统的库存体系库存系统分为三个层次:销售层、调度层和仓库层。
1.销售水平
指的是我们前台的商品数量,也就是我们平时在电商app前台看到的库存数量。销售楼层库存不足时,前台会显示没货,无法销售。
这一层主要面对前端手机用户。一般情况下,前端库存要和实物库存一致,也就是不能超售。但是,预售的时候,是虚拟库存。下单时,涉及的库存动作只是在销售层面,备货后再推送到排产层面。
销售层面的库存决定了能不能卖出去,订单能不能下成功。在秒杀过程中,有效库存决定了秒杀能否成功;预售时,预售库存决定能否定金。
可售库存:网站前台展示的库存,可对外销售的库存。当“可销售库存>:0”时,前台网站会显示商品可以销售;当“可售库存=0”时,前台网站会显示商品缺货。
锁定库存:用户下单锁定库存,付款后扣除库存。库存锁是指下单时对库存的占用,保证客户下单后支付的订单全部可用,不会互相冲突。
已售存货:统计已售商品数量。当支付成功时,商品被计为已售存货。如果订单取消或售后,需要更改相应的库存更改流程。
活跃库存:主要用于在做促销活动(如秒杀)时,将固定数量的商品分配给相应的活动,此时需要从可售库存占用相应的数量到活跃库存。这部分库存也遵循相应的锁定和推演逻辑。
预售库存:这部分是虚拟库存,主要拉动需求,比如B端订单、双十一定金预售等。预售也遵循相应的锁定和扣费逻辑。不同之处在于,预售订单需要先备货,然后才能推送到调度级别。
2.调度层
调度层汇总所有仓库(可能有几个仓库)的库存。调度层负责将商品库存与销售层同步,使各大平台的订单下载后在OMS(订单管理系统)中占/扣/放/退,从而产生缺货信息。
调度层相当于订单的配送中心,将订单转化为发货单据,根据调度规则决定哪些SKU(商品编号-最小库存单位)由哪个仓库发货。(现在已经扩展为统一产品编号的缩写,每个产品都有唯一的sku号)。
调度层的库存分为三个维度:单仓、区域、总库存。区域库存是指这些仓库只配送到某个区域。例如,如果JD.COM的华中仓库配送到华中,北京将无法从华中仓库发货。总库存是所有仓库的总库存。
账面库存:仓库里的实物库存,只要没有发货,都算在账面库存里。
可用库存:仓库中可供发货的库存。这部分库存可用于计划。
在途库存:已经下采购订单但尚未入库的库存。理论上,部分在途库存可供销售。比如T+1的在途库存,就是一天之后可以入库的sku。
不可销售库存:在库损坏的库存,在库不良品,未售出的库存。这部分库存需要以特定的方式处理。
已用库存:在计划层分配的库存。
调度层级在某些方面与前端库存重叠,前端库存也分为区域和总库存。但不同的是,调度级别对应的是物理对象,没有虚拟库存。流向调度层的订单在调度后被推送到仓库进行交付。
3.仓库级别
仓库级负责将商品库存与调度级同步。每个仓库的账面库存与调度层仓库的总库存一致。通过调度级别的订单将被发送到WMS系统进行占用/扣除/释放/返回。
仓库级的库存对应的是实物库存,出入库都会引起仓库库存的变化。
可用库存:发货单推送到仓库后,仓库可以发货的库存,不包括锁定的库存。
锁定库存:发货单推送到仓库后锁定库存,同时锁定仓库中的库存。
已发出存货:已确认发出的实物存货。
不可用库存:盘点时发现的不良品需要进行报损,由可用库存转为不可用库存。
货位:仓库中的库存由货位库存组成,分为可用库存和锁定库存。
五、库存是如何变化的1.销售水平
在销售层,拍减少库存的照片,为减少库存买单。拍减少库存的照片会涉及到占用,而付费减少库存不会涉及占用。两种方式对库存的影响如下图所示(这里假设采购的商品为2件):
(拍下库存减少的照片)
(付款减去库存)
以上是销售层拥有的库存占用/释放/扣除/返还逻辑。此外,销售层还将接受来自调度层的库存同步,同步行为通常定期发生。
2.调度层和仓库层
由于调度层和仓库层之间有很多交互业务,这个地方就一起介绍了。
中间会有几个分支:
OMS层(订单管理系统):
缺货的处置需要企业内部运营层、客服、采购的配合。运营负责提供替代方案,如告知客服与客户协商更换其他同类型产品或告知客户取消退款;负责采购并反馈订单到货时间;客服负责联系采购客户,将运营提出的解决方案传达给客户,如果客户坚持,告知预计到达时间信息。
购买到货后,优先保证缺货订单中先下单的用户先发货。在产品层面,需要为三方提供一个协作平台,让相互的信息共享透明化。
WMS层(仓库管理系统):
缺货是指提货区缺货。系统需要通知仓库提货区的缺货数量。仓库操作员可以将货物从存储区补充到提货区,解决提货区的缺货问题。
本文由@今夜睡在桥底原创发布。每个人都是产品经理。未经许可,禁止转载。
图片来自PEPEPEELS,基于CC0协议。








