跨境电商海外仓(OMS篇):库存锁定与释放,以及对在途库存的一些理解
编辑导语:在跨境电商OMS系统中,库存这一环节也十分重要,合理的库存设计有助于保障OMS出库的正常运转。那么针对库存的锁定和释放,应如何做好相对应的处理?在OMS中,在线库存的变化又应如何加入设计考量的范围?不妨来看看作者的总结。
OMS出库单会有好些个关键节点,在不同的节点需要完成相应的逻辑,才能确保单据后续的正常流转。
在跨境电商OMS中,一般比较关键的有:物流下单、预扣费资金冻结、库存的锁定、释放和扣减等,物流下单之前已经有一篇文章写过了,这次我们来聊聊库存的锁定、释放和扣减。
一、库存锁定的时机
针对跨境电商海外仓OMS来说,库存的锁定一般会有这么几个场景:
- 创建的时候就锁定库存;
- 物流下单,获取物流面单的时候锁定库存;
- 提交出库单到WMS的时候锁定库存。
针对不同的客户会有不同的业务场景,所以库存的锁定一般也是不一样的,这三种场景不是任选一种,而是三种都要,灵活组合。
有些客户如果是比较严谨的,希望创建出库单的时候就能把一些库存给占用了,那么在创建后就锁定库存。
有些客户对库存锁定没有特别的要求,那么正常情况应该是在拿到了物流面单的时候就锁定库存。
还有一些客户的物流面单可能自己上传或者是不要求要物流面单,那么就可以设定在提交出库单到WMS的时候再来锁定库存。
库存锁定的时机建议做成一个策略规则,每次有不同的客户引入的时候都可以配置对应的规则,如果没有配置规则,则采用默认的一个节点,这样可以很灵活地兼顾各种不同客户的需求。
二、库存锁定与释放
有库存的锁定,自然而然就会有库存的释放。库存的锁定与释放其实可以分成两组,第一组是锁定对应释放,第二组是锁定对应扣减。
库存锁定了,意思就是出库单占用了这一部分的库存,系统需要标记为锁定,防止被其他出库单给抢占。那么如果我取消了出库单,则需要释放这一块的锁定,所以库存锁定对应释放,其实就是指出库单取消或者拦截的场景。
如果这个出库单完成了,则需要扣减对应的库存。此时锁定的部分就会转化为扣减的部分,相当于先清空锁定的数量,然后增加扣减的数量(插入库存流水),最后可用库存还是保持不变。
库存锁定与释放示意图
在此处需要特别注意两个问题,一个是释放的时机,另一个是释放的数量。
关于释放的时机,对于出库单取消或者拦截来说,什么时候取消或者拦截成功了,那么就释放即可。对于出库单正常出库来说,需要关注一个问题:如何定义出库?
按表面意思来看,货物离开了仓库,才叫做出库。但是实际的业务场景中,很多时候货物拣货,打包完成之后,可能需要过一天或者两天才会被物流商提走,这个时候出库的节点就会比较晚。也有可能被物流商提走了之后,但是没有一个严谨的交接动作,导致有一些出库单没有标记为出库,所以一直处于一个待出库的状态,不能扣减库存。
WMS怎么定义出库会影响OMS什么时候扣减库存,所以这一块需要结合业务去探索一个最佳解法。如果「出库」太早,则客户可以拦截出库单的时间段就会很短,实际货物没有出去,但是却不能拦截出库,白白增加损失;如果「出库」太晚,则有可能某些出库单会标记为超时出库,影响平台店铺的评分。
关于释放的数量,对跨境电商海外仓而言,基本上没有所谓的部分出库或者多批次出库,大多数业务都是整单出,一次性完结。所以在此不做展开,只是做一个提醒而已。如果出库数量确实有差异,考虑到锁定的数量的问题,一定要确保实际可用库存数量是准确的,可以借助一些异常处理手段来调整差异。
三、在途库存的变化
在途库存是一个很容易被大家忽视的环节,有些时候甚至会感觉这个数据没啥用,然后在设计一些逻辑的时候直接忘记了还有这么一回事。
关于在途库存的资料,我在网络上也找了挺久的,结果发现好像很多文章都写得很浅或者很复杂,搞得理解起来特别难受。
在此我总结一下我个人认知范围内,跨境电商海外仓中的在途库存一般是怎么用的,仅为个人观点,大家注意辩证性看待。
如果是想简单地理解在途库存,那么直接从最常见的两种产生在途库存的方式来分析就够了,它们分别是:
- 调拨在途;
- 采购在途。
调拨在途就是从A仓库调拨到B仓库的过程中,产生的在途库存。对于A仓库来说,货物已经离开了A仓库,所以A仓库的库存是已经扣减了的;而对于B仓库来说,货物正在运输的路上,但是还没有入库上架,所以不能算作可用库存,只是在途库存。
采购在途和调拨在途有很多相似点,都是从某地发到另外的一个地方。只不过采购涉及到一些和外部供应商结算的问题,所以稍微有点麻烦。对于即将接收采购货物的仓库来说,货物还在路上并没有上架,所以也不能算可用库存,只是在途库存。
在途库存可以预估未来的一段时间内的库存量,用来指导销售的决策;在途库存也是会占用资金成本的,所以财务部门会关注和重视这一块的数据。
对于跨境领域来说,由于备货到海外仓的过程(头程)时间特别长,所以在途库存的可控性对卖家来说就显得尤为重要了。除了需要统计好各个海外仓的实际可用库存之外,还需要关注备货在途的这一部分库存,及时做好库存的计划方案。
对OMS的来说,在途库存的定义一般是指入库单提交到仓库后,但是仓库还没有收货上架前,这一段时间的库存总数。
如果仓库实际上架了之后,在途库存就会转化为可用库存。如果仓库实际收货少于预报数量,却又强制结束了入库单,那么在途库存也需要相应的减少。因为入库单已经关闭了,在途库存应该按实际上架的数量转化为可用库存,而多出来的部分因为不能再继续上架了,所以这部分应该作废释放。
在途库存变化示意图
对于OMS来说,重点需要关注入库单状态为已提交到已上架之间的入库单的SKU的数量,这一部分需要根据仓库反馈的实际上架数量来动态调整在途库存的数量,最后再特别注意一些差异收货和差异上架的节点即可。
四、总结
OMS出库这一块,物流下单和规则引擎是最复杂的,而库存的锁定和释放则是最基础的要求,所以也没写什么太深的内容,只是简单地对过往的项目经验做了一个总结和回顾。
库存的锁定和释放其实和出库单预扣费的逻辑是一样的,锁定了库存之后就要冻结相应的费用,库存释放了之后也需要对应地释放或者扣减冻结的费用。只不过计费这一块涉及的内容比较偏,而且内容也比较杂,在此就不多展开聊了。
而在途库存则是因为网上资料也确实太少了,所以我又献丑了一次,输出了一些自己的浅薄的观点和看法。
希望此文能对你有帮助,我们下篇再见!
#专栏作家#
我叫维他命(Vitamin),微信公众号:PM维他命。前PHPer,做过在线教育类产品,也做过3年半的跨境仓储物流方向的产品,目前是一位外贸SaaS领域的供应链产品经理。主要专注于WMS/OMS/TMS/BMS/ERP等领域,分享供应链相关的产品知识。
本文原创发布于人人都是产品经理,未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
专栏作家
维他命(Vitamin),微信公众号:PM维他命,人人都是产品经理专栏作家。前PHPer,做过在线教育类产品,也做过5年多的跨境供应链方向的产品,现任某跨境电商ERP的产品负责人。主要专注于WMS/OMS/TMS/BMS/ERP等领域,分享跨境和供应链相关的产品知识。
本文原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于 CC0 协议。
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
库存预报100 实收90,在途直接改成 0 不是到差异然后手动确认后修改? 那么真的是在途丢了10件 怎么搞?
文字有一些没说清楚,上架90的时候,就已经把这个单确认差异了(收货的时候才有差异),单据就已经完结了。
在途库存确实是库存里面最难的部分了
维他命老师威武,有个问题请教一下,有些网络节点,比如一些小的分拣中心或者中转站【一般是当天就配送了】,库存怎么管理呢?如果管理,来的东西都是按单的,也没有实际库位,一般库存都到库位批次,感觉还得弄一套单独库存系统;如果不管理,就只有履约维度管理,如果出现等待分批合并情况又不好处理…
这种可以考虑按包裹或者订单维度?单据已入仓,单据已出仓?这样可以吗?
在途库存在网上的资料真的太少了,很难得能看到一篇,感谢。
海外仓可能因为采购运输时效较长,所以不能将在途库存纳入可用库存中;可也有一种常见的T+1即将入库的在途库存是可以纳入可用库存的,感觉这部分的设计会更为复杂(因为可能会发生实际入库数小于计划入库数,然而已经将这部分差额作为可用库存给分配出去了)。
:(
涨姿势了;
有个问题想请教:如果客户预报入库单的时候,仓库还有余位,等货真正到仓时,仓库已经爆仓没有库位了,这种情况该如何规避呢?
爆仓了,对于系统来说是无能为力了。要么手动增加虚拟库位,要么提前做好入库计划,控制入库数量。大多数情况就是排队,等着入库了。
维他命老师的文章质量一如既往的高
哈哈 感谢夸奖,都是实战经验总结,如果对你有帮助,我也会很开心