库存系统
2020-02-05 本文已影响0人
哓晓的故事
电商中的库存管理是为了保证前台商品的正常售卖
库存数据的变动都需要有相关单据依据,例如销售订单、发货单、采购入库单等
库存操作.png库存系统的操作主要包含:
- 增加
- 锁定: 下单后锁定库存
- 解锁: 取消订单释放库存
- 扣减: 订单支付后, 扣减锁定库存
- 返还: 退货后, 增加库存
- 异常处理
库存分层
库存分层.png销售层
主要面对前端. 销售层的库存决定是否可售卖,下单是否能成功。在秒杀时,活动库存决定了是否可以秒杀成功;在预售时,预售库存决定是否可下定金预定。
- 可销售库存: 普通商品库存
- 已销售库存
- 锁定库存
- 活动库存: 促销活动(例如秒杀)时,分配固定数量的商品给相应的活动,这时候就需要从可销售库存中占用相应数量给活动库存. 这部分库存也是走相应的锁定、扣减逻辑。
- 预售库存: 虚拟库存, 和可销售库存无关. 预售同样走相应的锁定、扣减逻辑。不同的是,预售的订单需要备货之后,再推送至调度层。
调度层
调度层相当于订单的分配中心,将订单转化为发货单,按照调度规则决定哪些SKU由哪个仓库发货。
调度层的库存分为:
- 单仓库存
- 区域库存: 区域库存指的是这些仓库只发某一区域的,例如华中地区的仓库只配送华中地区,北京就无法从华中地区的仓库发货。
- 总库存: 所有仓库的SKU库存总计。
调度层在某些方面上和前端库存有些重叠,前端库存也会分区域和总库存,但是不同的是,调度层对应的是实物,不会存在虚拟库存
- 账面库存:仓库中的实物库存,只要是未出库的都算在账面库存中(包括锁定库存)。
- 可用库存:仓库中可供发货的库存。这部分库存是可供调度的库存。
- 在途库存:下了采购单但是尚未入库的库存,在途库存理论上部分是可供销售的,例如“T+1”的在途库存,就是指1日之后就可以入库的SKU。
- 不可销售库存:仓库盘损的库存,通常是仓库中的不良品,是无法售卖的库存。这部分库存需要通过特定途径处理。
- 已用库存:在调度层已分配的库存。
仓库层
- 可用库存:发货单推至仓库后,仓库可以用于发货的库存,不包括锁定的库存。
- 锁定库存:发货单推送至仓库后锁定库存,锁定时同时去锁定库位库存。
- 已出库库存:已经确认出库的实物库存。
- 不可用库存:盘点时发现的不良品,需要报损,从可用库存转化为不可用库存。
库位的概念。仓库中的库存是由库位库存组成的,库位上分为可用库存、锁定库存两种
库存同步
- 自上而下(从销售层到调度层,再到仓库层)
- 用户下单
- 自下而上(从仓库层到调度层,再到销售层)
- 实物入库
销售库存管理
下单库存动作.png可销售库存=销售总库存-锁定库存