库存交易逻辑
本篇文章先详细地介绍了库存相关系统的模块,然后分别介绍了库存交易的流程及其系统处理的逻辑。
一、库存相关的系统交互
在介绍库存的交易逻辑之前,先整体讲下与库存相关系统的数据交互:
与库存相关的模块很多,现逐一简介:
1. 采购系统
采购系统主要是采购人员用于采购进货之用,一般流程为采购人员发起采购申请,财务人员审核通过后会生成有效的采购订单,供应商根据采购订单发货,待货物到达仓库后,由仓库人员验货、收货、入库。
2. WMS
WMS(Warehouse Management System)仓库管理系统,主要用于入库、出库的业务操作,与库存中心不一样的是,WMS更多是业务操作,相当于一个后台,供仓库人员使用,而库存中心是一个中台服务,关注库存数量和变动流水。
3. 财务系统
顾名思义,财务系统是供财务人员使用,主要有单据审核、财务报表、账本核算、应收应付账款等等,对于仓库的盘点作业,产生了盘盈盘亏,需要增加、扣减相应的库存数量。
4. PDA手持设备
PDA手持设备主要用于仓库人员进行拣货下架、收货上架之用,当收到拣货/上架任务后,根据调度中心的路线指引,使用PDA做相应的业务操作,拣货下架、上架之后,库位库存的数据会发生变动。
5. 调度中心
调度中心其实就是中台服务,主要负责一些调度任务的执行,比如拣货路径、上架路径等等。
二、库存交易
1. 采购入库
通过采购系统发起的采购单,到货之后,在WMS操作入库,需增加库存,一般采购会有批次控制,所以会增加批次库存及仓库总库存。
2. 提交订单
电商前台一般不会显示具体的库存数据(防止暴露数据给竞争对手),用户在电商平台从商品页面提交订单之后,为保障用户支付之后有货可发,这时候会预占库存,也就是锁定库存,如果不锁定库存,将导致用户支付后高并发的扣减库存,可能导致用户因库存不足而支付失败,从而影响用户体验,一般电商提交订单锁定时长为30分钟,超过30分钟,系统自动释放库存。
3. 取消订单
用户提交订单之后,因各种原因导致不想购买,选择取消订单,这时候系统需将锁定的库存进行释放,让别的订单可以进行占用。
4. 拣货过机
仓库人员使用PDA设备,将货物拣到拣货车,交给配送人员之后,相当于商品从仓库出库,需扣减库存。
5. 报损
仓库人员的定期/不定期盘点,如果发现有商品损坏或超过保质期,需使用PDA设备进行报损处理,对于报损的商品需扣减相应的可用库存数量,从而增加报损商品库存数量,方便仓库人员/财务人员/负责人进行查询。
三、系统处理逻辑
1. 库存流水
每一笔库存的变动,都需要记录详细的变动流水,而库存流水的特别需要注意以下几点:
- 单据号及来源:引起库存变动的单据号及其来源,比如引起沃尔玛北京仓库存变动的单据号是W20181108234w,单据来源是淘宝商城;
- 业务类型:标记该变动的业务类型,比如外卖销售、门店自提等等;
- 变动的方向:是增加库存、扣减库存、锁定库存还是释放库存;
- 变动的数量:当次单据号引起了多少数量库存的变动
- 流水时间:库存流水变动的时间;
- 变动商品信息:商品ID、SKU、所属货主、所在仓库、所在库位等等
2. 库存同步
库存的变动,建议优先记录流水,这样当高并发发生时,可以后台采用MQ消息列队来消费流水记录,进行相应数据的变更,同时,需要库存数据的多个平台的库存数据需要实时同步,否则会导致因库存同步不及时,发生超卖缺货的问题。(企荣之路)