本文将简单聊一聊电商后台的库存管理。
根据我司的实际情况,我将新系统中的库存细分为几大类:
- 前台库存:用于控制商城前台能够售卖的数量。
- 订单占用库存:订单付款成功后,到实际出库之前,会占用一部分库存,这部分库存虽然还没从仓库运走,但已经不能作他用(如继续对外销售)。
- 物理库存:仓库中实际存在的库存,包括了订单占用库存。
- 可销售库存:物理库存减去订单占用库存
参考了其他家的OMS或WMS系统后,我发现,也有人分得更细,例如把采购但是还没入库的货物分成一类(采购在途库存)。我司的业务还没这么精细化,所以我认为我们不用分那么细。
前台库存是人工定期维护的,客户下单付款成功后,会自动扣减前台库存,实际上这就是一个虚拟库存而已。之前仓库同事反馈说,有时候他们没有及时更新前台库存,会造成客户无法下单,等客户来咨询才发现是前台显示缺货了。为此,我设计了一个前台库存预警功能,原理就是为每种商品设置一个阈值,低于此值时,系统就会在指定的页面自动展示预警商品信息。
前台库存与后台的物理库存之间没有直接的关联关系。在实际业务中,仓库会预留足够的安全库存,并不会把所有库存都放出去销售,所以前台能售卖的库存数一般是少于实际的可销售库存。在我的设想中,等这个系统足够完善、业务运行足够稳定后,我们可以预设一个比例,让系统自动去补充前台库存,省去人工维护的麻烦。
物理库存在订单实际出库后才会扣减。实际可用于继续销售的库存,需要在物理库存的基础上减去订单占用的那部分库存。你可能会有点疑惑,这个“可销售库存”具体有啥用途呢?我举个例子,可以帮助你理解:在我司的实际业务中,除了线上常规订单外,还有线下下单(代客下单)的渠道,理论上,线下下单的商品数量,应该要受到可用销售库存的限制。
物理库存的增加一般是通过采购入库、销售退货入库来实现,外加一个库存盘点。至于库存的减少,最主要是由销售订单带来的出库,少部分是由采购退货造成的。
一种商品是可以存放在多个仓库的。我司在深圳有两个仓库,这两个仓库对前台消费者而言是无感知的,他们并不会在下单时选择某个仓库(提示:这不太像京东这种按照区域配货的模式)。对他们而言,我司只有一个统一的发货点。因此,本文提到的“前台库存”指的是某种商品统一对外的库存概念,而后台工作人员看到的“物理库存”,是区分仓库的。举个例子:某商品在A仓库有500件,B仓库有400件,总的物理库存就是900件;仓管部门决定对外放出600件进行售卖,这600件的前台库存,意味着有可能需要从A、B两个仓库来分配发货。
另外,对于需要通过SN进行管理的商品来说,仅仅靠数量来管理库存,是不够的。我们需要在系统中对每个SN进行状态上的标记:采购入库时改为“在库”,销售出库时改为“出库”,退货重新入库时,再次修改状态为“在库”。SN的导入(无论是采购入库还是销售退货重新入库),需要进行验重,所以,SN的状态就是一个很重要的库存要素。
整个库存模块梳理下来,我觉得在逻辑上还是比较清晰的,关键是要能理解库存是如何扣减的。