新零售 SaaS 架构:中央库存系统架构设计
近年来,越来越多的零售企业大力发展全渠道业务。在销售额增长上,通过线上的小程序、直播、平台渠道等方式,拓展流量变现渠道。在会员增长方面,通过多样的互动方式,全渠道触达消费者,扩大会员规模。而全渠道的库存管理,逐渐变成零售商在渠道运营方面的核心活动,也是提高库存周转率,保证利润的关键所在。
在全渠道模式下,各渠道必须有足量的商品来满足客户需求,同时需有效管理总库存,平衡各渠道库存,以减少缺货或者滞销的情况发生。
全渠道模式下,库存管理面临的挑战
在线上线下渠道融合的大背景下,零售企业如果没有管理好全渠道库存,会带来诸多问题:
各渠道库存割裂,进行线上线下促销活动时,商品超卖,引起客诉。
各渠道库存分配不合理,要么缺货,要么库存积压。
各渠道库存数据更新不及时,有货却不能下单,销售机会大量流失。
各地库存数据分散在各系统中,数据不通,无法知晓库存分布情况,无法统一采购/调拨。
无法根据用户的下单信息,进行智能分仓、就近发货。
中央库存系统的定位
向下对接各地仓库/门店库存,将各地库存放在“一盘货”里,进行管理、统一调配。
向上打通所有销售渠道平台,实现全渠道库存共享、自动化运营。
中央库存系统的关键概念
中央库存整体业务框架
中央库存体系将库存管理分为三层,销售层、调度层、仓库层,实现库存利用最大化,支持多仓多渠道模式下的各种业务场景。
仓库层
仓库层的定位是管理仓库库存,一般使用仓库 WMS、门店系统或 ERP 系统来管理仓库的进销存,通过出入库单据变更仓库库存数量。
仓库库存的关键属性包括:货主、仓库/门店、SKU、批号、生产日期、库存状态、库位等。
货主:货物所有权的拥有者。
仓库/门店:存储货物的逻辑单元,这里需要与物理世界的仓库区分开,可能一个物理仓库包含多个逻辑仓库单元。
批号:用于区分每一批投料生产出来的产品,为了事后能追踪这批产品的责任,每一批产品都有相应的批号。
生产日期:生产线包装出可销售的成品的日期与时间。
库存状态:描述库存在不同业务场景下的不同状态,例如,可用、冻结、在途、不良品、废品等。
库位:一般是指在工厂仓库中实际存在的库位,比如一个个的货架。同时也是 SKU 库存的最小粒度。
调度层
调度层的定位是汇总各仓库/门店的所有库存状态的库存总量,但不同于仓库库存,调度层的实物库存无需管理批号、库位等细粒度的库存维度,只需要管理每个库存状态下的实物库存总数即可,这是一种解耦的设计方式。
实物库存的关键属性包括:仓库/门店、SKU、库存状态等。关键概念包括:
在途库存:指供应商发货但还未入库的库存,有时为了扩大销售机会,在途库存也会用于扩大销售库存数量。
可用实物库存:仓库实际可用于销售的库存。
不可用实物库存:即对应仓库中的不可用库存。
销售预占库存:订单提交并分仓成功后,会预占对应仓库的库存,订单取消或发货后,会扣减预占库存。
销售可用库存:销售可用库存=可用实物库存-销售预占库存。
销售层
销售层的定位是管理各个销售渠道的渠道库存,为销售平台提供库存计算与库存同步的服务,并通过各种渠道库存分配策略进行库存分配,防止超卖,保障利润最优。
销售库存的关键属性包括:
销售渠道:包括自营的网店、门店线下渠道,天猫,京东,美团,饿了么等三方平台等。
销售店铺:销售的店铺或门店。
发货方式:快递、同城配送、自提。
配送区域:由于各个仓库覆盖的配送区域不一样,所以 SKU 能支持的配送范围也不同。
销售库存的关键概念:
销售可用库存:按照仓库/门店的供货关系、渠道库存分配策略进行计算汇总的可销售的库存数量。订单提交成功扣减销售可用库存,当调度层的实物库存更新,需要触发销售层重新计算销售可用库存。
预售库存:如果商品未到货,可以开启预售模式,提前售卖。实物库存与预售库存是隔离开的,当实物到货后,预售库存统一推到实物库存进行履约。
预占库存: 订单已提交但未支付之前,为给顾客预留商品,会先预占商品库存,待支付以后再删除预占库存、扣减可销售库存。若长时间未支付,则会取消订单,释放预占库存。
活动库存:针对某些 SKU 做促销活动时,例如特价、秒杀活动,需要设置活动库存,可以从正常库存中预留部分库存,活动开始后释放预留库存。如果活动商品的下单数量等于活动计划的库存总数量,则活动终止。活动订单与普通订单,在库存处理逻辑上是一模一样的。如果没有特殊要求,没必要单独把活动库存单独分出来,作为独立的业务处理,这样会多出两套库存逻辑,三层库存架构需要都独立分开处理,极大地增加了复杂度。
预留库存:若需要提前为某些促销活动预留库存,以免活动开始以后库存不足,可设置预留库存。
可售库存 = 预售库存+销售可用库存 – 预占库存 - 预留库存。
销售渠道层
销售渠道层代表各个销售渠道平台,包括自营的网店、门店渠道,天猫,京东,美团,饿了么等三方平台等。
逻辑模型设计
库存的核心场景
调度层同步逻辑
调度层的实物库存来自各个仓库的库存,一般有两种同步模式:
流水同步模式:适用于内部系统打通,能够获取仓库/门店的库存流水,通过回传流水,变更调度层的实物库存数量。这样做的好处是,有很清晰的实物库存流水变更记录,便于追查到每次库存变化的明细,需要注意做好幂等处理,避免重复同步导致库存数量变更出错。
数量同步模式:适用于外部系统对接,一般获取不到详细的库存流水,通过商家后台或系统对接的方式同步库存实时数量。
销售库存计算逻辑
在新零售的多仓多渠道模式下,为了实现全渠道库存共享,库存汇总为“一盘货”管理,要充分考虑各个仓库/门店的特性,包括支持的发货方式,配送范围等,为了合理分配库存,需要考虑各个销售店铺的库存占比。下面针对几种常见的场景,说明销售库存的计算逻辑。
多仓供货场景
门店 A、门店 B 为两个线下门店,门店 A 有 100 件 iphone14,门店 B 有 50 件 iphone14。
假设商家有 1 个天猫旗舰店,门店 A、门店 B 均给天猫店供货。
天猫旗舰店仅支持快递发货方式,为了防止超卖,设置快递的最大分配比例为 80%。
如图例所示,最终天猫渠道的 iphone14 的库存数量为 120,并定期将数量同步到天猫平台。
单仓给多店供货场景
商家有 1 个电商仓,为商家的各个电商平台店铺提供仓储服务与发货服务,电商仓有 100 件 iphone14。
电商仓同时为京东旗舰店、天猫旗舰店供货,两个店铺仅支持快递发货方式,最大分配比例分别为 80%、60%。
如图例所示,最终京东渠道的 iphone14 的库存数量为 80,天猫渠道的 iphone14 的库存数量为 60。
门店全渠道库存共享场景
随着新零售线上线下渠道加速融合,门店线上线下全渠道销售,已经成为大部分零售商家的标配。
受益于微信生态和小程序电商的高速发展,越来越多的门店开启了云店模式,云店实际上就是门店的线上化交易渠道,或者称为门店的“线上货架”。
连锁企业把线下门店嫁接到微信生态中,将门店所有商品上架到云店小程序。借助云店,消费者无需到店,即可享受到门店的服务,同时,门店的导购可以向自己的会员推荐所有云店商品。
如图例所示,门店 A 有 100 份的草莓蛋糕,门店 A 为自己供货,并共享草莓蛋糕的库存到多个销售渠道(美团外卖、云店、门店线下渠道),实现门店“一盘货”全渠道销售。
渠道库存同步
销售库存计算完后,需要将渠道库存同步到各个平台渠道,这样,消费者才能完成交易流程。根据渠道类型不同,渠道库存同步有两种处理逻辑:
自营系统:如果自营渠道与库存系统是一体的,即一套系统,那么不需要过于复杂的库存同步逻辑,自营渠道直接读取中央库存系统的渠道库存即可。
三方平台系统:像天猫,京东,美团,饿了么等,这些三方平台系统属于外部系统,商家自身无法管控,就需要通过开发 API,向三方平台同步渠道库存。一般而言不会实时同步渠道库存,即只要有库存变动,就计算渠道库存,同步至三方平台。这种方式对系统压力较大,而且三方平台的 API 大多会按调用量收费,因此,会设定好时间间隔,定期同步渠道库存,例如 5 分钟一次。
组合商品库存计算
组合商品一般指人为将几个单独售卖的商品组合在一起,进行合并售卖的商品,例如:下午茶套餐、七夕美妆组合等。
组合商品会先在调度层,根据组合比例计算好虚拟库存,不影响子商品的供货逻辑,下单时,会根据组合商品标识,进行子商品的实物库存预占、扣减。
如图所示,电商仓中,商品 A 有 150 件,商品 B 有 200 件,根据组合关系,可以算出组合商品 C 有 100 件。当下一单商品 C 时,会预占 1 件商品 A+2 件商品 B 的实物库存。
中央库存系统的应用架构设计
小结
本文介绍了在全渠道模式下,库存管理面临的挑战。针对挑战,详细介绍了中央库存系统的整体业务框架,涉及的关键概念,以及库存核心业务场景的处理逻辑,最后简单介绍了中央库存系统的应用架构设计。期望对读者有所帮助。
版权声明: 本文为 InfoQ 作者【汤师爷】的原创文章。
原文链接:【http://xie.infoq.cn/article/5a5235f86526e512dd01515dc】。文章转载请联系作者。
评论