编辑导语:在跨境电商海外仓业务中,批次、库龄等数据都是业务中的关键指标,然而,你知道这些数据是如何得出,又是如何被应用的吗?本篇文章里,作者结合自己以往的认知,对批次、库龄和仓租等因素做了重新解读,一起来看一下吧。

跨境电商海外仓:批次属性,库龄和仓租 | 人人都是产品经理 - 图1

这一篇文章和之前写的《跨境电商海外仓(10):WMS 的库龄与仓租功能设计》是姊妹篇,两篇内容侧重点不一样,但是说的都是一个事情。而且近期我在调研国内一些知名的 WMS 系统的过程中发现,有一些观点我可能需要调整一下,所以我决定再写一篇关于批次、库龄和仓租这一块的内容。

一方面是对之前文章的补充和说明,另一方面也是记录一下自己知识的更新和迭代。产品经理应该多 “怀疑” 过去的自己,这样才会有更谦卑的心态去接纳和学习更多的内容。

一、WMS 的批次号和库龄无「直接关系」

库龄是指仓库中的货物在仓库中存放的时间,一般是用天来统计。

之前我一直认为库龄和批次号是必然的关系,如果要统计库龄那么就一定要先生成批次号。

例如在入库上架的时候,根据上架日期生成批次号,然后和仓位关联,批次库存就会增加;在出库的时候,再根据库位的信息带出批次号,然后扣减对应的批次库存。这样一增一减之后,批次会动态的变化,然后每日固定一个时间点去统计当前的批次库存,最后就可以算不同的批次的库龄是多少了。

这个方案是对的,可行的。但是我的理解太狭隘了,为了实现不同时期入库上架的商品有不同的库龄,不一定非要引入批次号,只需要记录入库 / 上架日期即可

将上架日期看做是一个和批次号同级别的字段,每次上架和下架的时候都对应的增加或扣减,也能达到计算库龄目的。

跨境电商海外仓:批次属性,库龄和仓租 | 人人都是产品经理 - 图2

引入「上架日期」

也就是说:上架日期不等同于批次号。

而之所以我说之前的方案是对的,是因为在 WMS 的批次属性中,经常会把入库日期或者上架日期当作一个系统预设的批次属性。所以在误打误撞之间,按上架日期来生成批次号,也实现了计算库龄的作用。

二、WMS 的批次属性才更加重要

那么,什么又是批次属性呢?

关于批次属性,初次我看到是在富勒的 WMS 操作手册中,一开始我也没看懂,直到最近我在钻研批次和库龄的事情,我才有了一个更加深刻的理解。

跨境电商海外仓:批次属性,库龄和仓租 | 人人都是产品经理 - 图3

摘自富勒 WMS 操作手册

简单理解就是同一批入库的同一款产品,虽然长得都一样,但是可能会生产日期不同,生产批次不同,颜色不同,或者来自不同的供应商等,在方便仓库管理的前提下,又要做一些精细化的区分,于是将这些「能区分相同商品的不同_的属性」都定义为批次属性。

举个栗子,一个入库单预报了 300 件优衣库的衬衫,实际收货了 300 件,如果不引入批次属性的话,那么就直接将这 300 件上架即可,对应的可用库存也是 300。但是如果引入了批次属性的话,可以将产地作为批次属性,也可以将生产日期或者批号作为批次属性,这样实际增加库存的时候,总的可用库存还是 300,但是不同的批次下的可用库存是不一样的。

跨境电商海外仓:批次属性,库龄和仓租 | 人人都是产品经理 - 图4

批次属性示意图

在富勒 WMS 系统中,定义了 12 个批次属性,其他 WMS 也纷纷借鉴了这一种定义的方式。具体到底最开始这样定义的是哪个,我就不知道了。

跨境电商海外仓:批次属性,库龄和仓租 | 人人都是产品经理 - 图5

富勒 WMS 的 12 个批次属性

跨境电商海外仓:批次属性,库龄和仓租 | 人人都是产品经理 - 图6

菜鸟大宝 WMS 也是 12 个批次属性

WMS 的批次属性可以做到很灵活,在后续的分波和拣货策略中,批次属性会很大程度的影响作业的策略。而批次属性越多,也就会越精细,带来的后果就是开发难度很大,维护成本很高,管理成本也很高。

所以一般的仓库比较常用的就是入库日期,批次号,生产日期和失效日期这几个,而最最最常见的就是按入库日期或者上架日期来生成批次号了,但这并不意味着算库龄一定需要批次号

跨境电商海外仓:批次属性,库龄和仓租 | 人人都是产品经理 - 图7

摘自 C-WMS 操作手册

三、库龄和仓租在哪里算?

前面解释了批次号和库龄并无「直接关系」,只不过是刚好很多 WMS 的批次号生成规则就是用入库 / 上架日期来生成的而已。

那么库龄和仓租是否有直接关系呢?

答案是:有直接关系,而且是必然的直接关系。

因为仓租其实就是库龄单价计费单位(体积或重量)算出来的,知道了库龄,那么结合单价和计费单位就一定可以算出仓租来。

关于库龄如何计算,我之前写的文章《跨境电商海外仓:WMS 的库龄与仓租功能设计》已经有很详细的介绍了,大家在看的时候注意理解我那篇文中所说的「批次号」即可。

那篇文章中的批次号一般是指入库 / 上架日期,但是如果你的批次号是通过其他方式生成的,有其他用处,那么就需要单独用一个入库 / 上架日期来记录库龄。如果没有其他用处,那么就用批次号来计算库龄也是可以的。

在这里我想额外来补充聊聊关于仓租的计算应该放在哪里,放在什么系统会更好?

库龄数据来自于 WMS,按理说放在 WMS 上去算肯定是最好的,或者说由 WMS 去提供数据,然后在 BMS 中计算。

但是按照我之前的设计方案我发现了这样做会有一个弊端,理解起来可能会有点绕,大家可以仔细阅读,揣摩一下。

当 WMS 根据上架日期来生成批次号之后,在拣货的时候,由于系统会根据先进先出的规则进行库位的推荐,但是由于没有做「强推荐」,仓库还是可以根据自己的实际经验去拣货,也就是不按推荐的库位来拣货,所以此刻在扣减库存的时候并没有做到完全的先进先出。

这个问题会导致在计算库龄的时候,并不是严格的先进先出,只是做到了「库位上的先进先出」,于是当客户在查看库龄的时候会发现,有一些更早的批次没有出库,反而更晚一些的批次已经出库了。

这个问题一般的解决方案是:优化拣货推荐的策略,对仓库拣货实行「强推荐」,即强制客户在推荐的库位拣货,确保一定可以先进先出。

但是在实际的仓库管理中,要做到严谨的先进先出其实很难,付出的成本也会很高,而且对于海外仓来说,本来管理仓库就已经是一件难事了,还要加上一些精细化的管理(严格先进先出),那无异于难上加难,几乎不太能实现。

即使是解决了上述问题之后,还会遇到另外一个问题,那就是跨境电商海外仓系统随着业务发展,很容易出现「第三方海外仓」或者「代理海外仓」的概念。

客户使用了我的美国仓,但是他还需要使用英国仓,但是我没有办法提供英国仓。要么他继续去找另外的海外仓,然后分别使用两套系统操作,这样会很麻烦;要么我去对接其他家的海外仓,然后把自己当做一个「代理仓」的角色,客户可以从我这里推送订单到其他仓库,实现一套系统接入多个仓库。

当有了上述的业务之后,如果客户要使用我的 OMS 向其他海外仓推送数据,那么他大概率是不会用第三方海外仓的 OMS,也就是我需要承担部分第三方海外仓的功能。

其中库龄和仓租的计算需求也就开始有了差异化的解决方案了

综合上述背景,我个人建议在哪里统计库龄和仓租,要结合自身的业务来考量,方案都会有利弊:

  1. 如果拣货没有做到「强推荐」,那么建议在 OMS 端;
  2. 如果有「第三方海外仓」,那么建议在 OMS 端;
  3. 如果拣货可以「强推荐」,也没有「第三方海外仓」,则在 WMS 和 OMS 端都可以;

OMS 端统计库龄可以采用自己计算或者让 WMS 推送数据的方式。

如果是让 WMS 推送数据,那么 OMS 端只是展示一个结果,数据应该是会和 WMS 端保持一致的。那么就要重点考虑 WMS 的一些出库策略是否会对库龄的计算有所影响,按理说库龄的统计应该是先进先出的,这样可以确保用户花费的钱最少。

如果是让 OMS 端自己计算库龄并存储,那么 OMS 就需要根据入库 / 上架,出库完成的时间节点分别去计算不同批次的库存的变化。这样可能会出现 OMS 计算的库龄和 WMS 端计算的库龄不一样的情况,因为扣减批次库存的逻辑可能会不一样,最后导致受影响的库存批次会不太一样。

四、总结

对于批次,库龄和仓租,之前我一直感觉不太踏实,总感觉自己有一些东西没想透彻,没理解到位。经过这几天查阅资料,再加上整理成文的过程,我发现我对这个东西不踏实感已经逐渐地消失了。

最早的时候,我以为批次很简单,无非就是按日期记录然后保证全流程都考虑到它的变化就好了。

后来看到了别人很复杂的批次属性,我又发现自己好像对批次的理解不太到位,不太确定方案是否有坑。导致对做出来的功能总是不太满意,隐约觉得会出问题。

到了现在,当我写完了好几篇关于这个东西的文章之后,我发现我基本上理解了这些东西,不再模糊,也不再恐惧,反而觉得好像也不是很难。

这个心路历程刚好对应了:「看山是山,看山不是山,看山还是山」 的故事。

看完我的分享,希望屏幕前的你,也可以做到!

#专栏作家

我叫维他命(Vitamin),微信公众号:PM 维他命。前 PHPer,做过在线教育类产品,也做过 4 年多的跨境仓储物流方向的产品,目前是一位外贸 SaaS 领域的供应链产品经理。主要专注于 WMS/OMS/TMS/BMS/ERP 等领域,分享供应链相关的产品知识。

本文原创发布于人人都是产品经理,未经作者许可,禁止转载

题图来自 Unsplash,基于 CC0 协议
http://www.woshipm.com/pd/5267743.html