WMS系统中,仓库异常该如何处理?

koi
6 评论 6180 浏览 79 收藏 17 分钟

想知道一个人对WMS系统是否足够了解,主要看他对仓库异常情况的处理方案和业务理解。本文作者对过去项目中出现过的异常情况进行了总结,一起来看一下吧。

俗话说是不是WMS系统的老司机,主要看个人对仓库异常情况的处理方案和业务理解,而且在面试相关产品的时候,也主要问相关的异常处理。

文本主要对我过去做过的项目中出现的异常情况做一个总结,在这里分享给大家,以便大家思考。

一、入库异常情况处理

1. 实际收货多于/少于采购数量

货多了和货少了,相应的业务流程如下:

1)实际收货少于应收数量

仓库在签收的时候发现签收数量<应收数量。

在业务层面,仓库一般都会将结果反馈给采购部门,是直接签收还是拒签。因为仓库只负责执行,不管结果是否正常,如果出现异常就把问题抛给其它部门,等待结果后继续执行。

在系统层面,如果签收数量≠应收数量,此时需要系统拦截,由仓库反馈给采购部门实际的情况。通常的做法是仓库将到货单打回,然后采购部门重新下推一个正确的到货通知单到仓库,给仓库成功签收。

2)实际收货多于采购数量

这种多收的情况很少见,多收最主要处理的就是采购单价怎么计算?举个栗子说明:采购了A产品10个,每个5元,总价就是50元。如果签收了11个,只服了50元,那么采购单价为4.5元。那么在使用先进先出货移动加权平均计算成本的时候就会出现误差。

在业务层面上,仓库可以收货11个,多的这1个是直接入库还是退给供应商,这看业务的决定。

在系统层面上,只签收10个,多的1个产品,走仓库的直接入库流程。

2. 签收时,托盘码托货品,货不足以满拖,该如何处理?

码托(堆垛)以下图为例:

以仓储服务商为例,货主送过来的货会以货主的维度进行打托,如果货主的货不足以满托,是与其它货主进行混放,还是直接入库?

如果混放,在后续的出库复杂一点,需要作业员识别货品的相应货主,但是可以节省托盘。

如果直接入库,在线下作业中是最简单的处理方式,主要是不知道下批货什么时候会到,一直放在一边,没有上架,占用地方。

这种特殊情况和系统设计没有关系,主要是做一个业务方面的科普。

3. 错货

在入库签收的时候,签收组的人是直接拿着PDA扫码签收。

作业人员扫描物流单号,如果物流单号不匹配,在PDA端签收不成功。此时需要判断是不是条码错了,但货是对的,这种情况可以直接在web端进行签收。

如果货错了,仓库会把情况反馈给业务部门,并走退货流程。

4. 质检时发现不良品

在质检的时候发现了不良品的处理流程如下:

产品系统的设计如下(仅供参考):

质检时发现次品,作业人员会将次品存在到次品区。后续的处理有2种方式,要么是直接将货退回供应商;要么就是等待下次供应商送货,直接将次品给供应商。

但是在系统的处理上就会涉及采购退货,采购退货的流程如下:

5. 在质检或上架环节还发现货少了

在质检或上架的时候发现货少了,通常是在运送的过程中货丢了,作业员通常是用小推车进行货物的运输,在运输的途中可能某个包裹丢失了。

这种情况也非常少见,如果丢失了,在系统层面的设计会比较复杂。在单据的质检状态和上架状态无法完结。举个栗子说明:

某个产品入库签收5个,但是丢失了1个。那么在质检和上架环节中最多处理4个。也就意味着相应入库单永远只有部分质检和部分上架。

这里介绍一下我当时的处理方案。遇到上述情况,手动输入质检和上架数量,保证单据完成质检和上架。然后再创建一个出库单,记录为报损,对上架的库位的库存进行修正。这种方案的好处就是系统处理比较简单,只需要创建一个出库单修正库存就行了。

但是这种方案不适用那种上架需要一个一个扫条码的仓库。

6. 上架时发现一个货位放不下

如果上架时候发现一个货位放不下,这种情况比较常见。系统通过上架策略推荐货位,作业员上架时发现货位满了,就需要存放在下一个货位。

按照仓库的作业要求,一般都是存放到目标货位的附近货位,方便日后出库。附件货位这个就不需要做系统推荐了,作业员直接自己找寻一个货位上架就行了。

产品设计可以参考店小秘的设计如下(仅供参考):

点击“+”号,给用户去填写新的货位和上架数量。

7. 在上架的环节仍然发现不良品

这也是一个低频事件,在业务层面是直接将不良品拣选出来,放置废品区。但是在系统层面,依旧是先上架,上架之后走移库。从拣货区转移到次品区。然后将货品从正品修改为不良品,此时就可以用到报废翻新功能,如下(仅供参考):

二、仓库出库异常情况处理

1. 拣货的时候发现货位库存不足

作业员根据系统推荐的拣货货位去拣货,有时会发生系统库存与实物库存不一致的情况。如:某个货品系统指定去A001货位拣货10个,但是实际去拣货时发现货位上只有8个库存,还缺少2个库存。此时就需要标记货位缺货,以PDA为例,界面如下(仅供参考):

这个介绍一个方案,如上图所示,点击“标记缺货”,出现一个弹框。点击是,系统检索仓库,是否还有可用库存满足拣货需求?若满足,系统重新推荐货位。点击否,不重新分配货位,则含有缺货货品的发货单会从波次中剔除。

如果是波次的某个订单,点击否,最好给波次打上“缺货”标识,方便识别。

那么重新分配货位的逻辑是什么呢?系统会把这个货品,重新执行一次命中的货位分配策略。

还有一种特殊情况就是如果标记缺货,推荐下一个货位,发现整个仓库都没有货了,怎么办?如果整个仓库没有货了,那就意味着订单不能发货了,订单直接从整个波次剔除。

那么缺货的货位怎么处理呢?因为是实物库存与系统库存不一致导致的这种情况,可以针对标记“缺货”的货位,自动生成一个盘点单。盘点后进行库存校验。

这里还有一种特殊情况需要举例来辅助说明。例:某个订单包含A、B、C商品,现在A拣货完成了,B拣货时发现货位缺货,同时整个仓库没有货,C还没有拣货。

B在货位标记缺货后,系统吧这个订单剔除波次。但是作业员不可能把已经拣号的A商品重新归还货位(因为这样操作的工作量太大)。

  • 如果是先拣后分,普遍的做法都是在下一个环节(二次分拣)进行拦截。
  • 如果是边捡边分,作业员可以直接将框放置异常处理区,不需要流转到下一个环节。

2. 拣货的时候用户取消了订单

在拣货的过程中,用户取消订单了,这种情况最常见,特别是大促的时候,像国内的平台是7天无理由退款,用户下单后就直接申请退款。

如果是波次拣货,直接将相应订单剔除波次,同时生成异常订单,异常订单原因为用户取消订单。同时异常处理与上述2.1的一致。

除了拣货的时候,理论上只要订单没有出库,用户可以在出库的任何一个环节取消订单。一旦订单取消,就在出库环节做拦截。拦截可以设置在2个节点,分别是拣货和打包。

还有一种比较特殊的情况,已经打包贴面单,等程承运商过来拉货。此时用户取消订单,此环节在系统中不作拦截。因为大部分WMS,已经打包就算做出库,而出库的打包时不拦截。但是在实际业务中作业员可以把货拣选出来。

3. 验货/打包时候发现错货、多拿、少拿等问题

这里将验货和打包放在一起说明,因为很多仓库打包验货是一个工作台,即一个作业员既要打包又要验货。

在打包验货的时候异常情况主要有订单拦截、错货、多拿/少拿、不良品。

  • 订单拦截:因为一些特殊情况不发货了,如用户取消订单;
  • 错货:发现货不对,或者商品错误;
  • 多拿/少拿:打包的时候发现货品的数量不对;
  • 不良品:打包时发现货品为不良品;
  • ……

在打包环节发现异常的订单,我们称为异常单。关于打包环节的异常处理,本人参考了公司仓库的SOP。在打包环节如果发现异常,就给包裹贴上标签,写明原因。

将这个SOP搬到线上就是设置一个打标签的功能,给订单打上相应的异常原因,如下图所示:

需要多个包裹:就是在打包的时候发现一个包裹装不下,需要多个包裹。这个算一种特殊情况,不算异常。

4. 二次分拣的时候发现货少了

在二次分拣的时候,作业员会根据语音播报,将货播种到对应的篮子,如下图所示:

但在二次分拣的时候有可能发现货少了,那么有些订单的二次分拣就不能完成。当结束分拣后,没有完成二次分拣的订单剔除波次,同时生成异常订单。

针对货多/少的情况,需要关注库存的变化。

以货少为例,通常来说仓库回去看监控,查看货丢在哪里了,能否找回来。如果找不回来,就需要去校对库存。

三、异常单

在出库环节生成的异常订单,进入【异常订单】页面,页面如下(仅供参考):

那么哪些情况的发生会给订单打上“异常”标识呢?WMS系统可以设置一个转入异常单的策略,如下图所示(仅供参考):

常见转入异常单的条件:

  • 用户取消订单
  • 发货超时
  • 波次配货标记缺货
  • 更新物流/备注
  • 收货地址变更
  • 验货/打包环节标记异常
  • ……

但是不同的异常单的处理流程不一样。比如:用户取消订单,此时系统做拦截,订单不在往下流转;收货地址变更,需要更换面单,然后继续流转。故不同的异常后续的处理流程不同,但最终的处理结果只有2个,要么停止发货,要么继续发货。

所以在异常单页面需要做【停止发货】和【取消异常】2个功能。

标记停止发货,发货单回到WMS系统的【发货单】页面,状态为新建的初始状态,但是此订单由于停止发货标记,不在往下流转。

标记取消异常,取消发货单异常,发货单将返回转异常前的界面。

四、总结

仓库的异常情况肯定不止我提到的这些,但这只是本人能够回想起来的一些异常处理方案。本人待过的几家公司深刻体会到的一点就是不同公司的仓储管理和部分细节作业完全不一致。作为仓储的产品经理一定要多下仓库,贴近业务。

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

题图来自 Unsplash, 基于 CC0 协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 如果是拣货的时候已经拣了波次中的ABC中的A发现B缺货,在边拣边分的情况下会将缺货订单的框放到异常处理区,那这些异常处理区的订单如何处理呢?如果是针对这些缺货的异常订单,等补货完成后再生成异常处理区的订单波次吗?通过弹框或者标签提醒这个波次的拣货员这些订单已经在异常处理区了?

    来自广东 回复
  2. 作者讲的还是比较详细的,说得也很对,方便提供下联系方式探讨吗?哈哈哈 ,以下我补充一个点:

    交寄异常订单的判断策略设计在WMS,这点没有问题。但大家在设计时要结合实际业务组织来设计这种异常订单谁来处理,怎么处理的问题。
    个人觉得比较好的流程是:WMS里命中交寄异常订单(缺货/面单打印失败/包裹超重等等)回传信息给OMS,由OMS进行信息展示(如缺货,则订单状态为缺货,原因:XXX,交寄环节的操作异常,可以归为交寄异常状态,体现具体原因),由前端业务来做跟进,具体是换物流渠道发亦或进行采购调拨处理缺货问题。

    之所以给前端业务来做跟进,这个是基于业务组织形态和能力要求,如果你的仓库异常处理人能妥善处理公司成本和顾客体验,那异常订单下放在WMS,由他们来做决策缺货订单如何处理/打面单环节异常(一般是不通邮或超体积超重)等

    来自广东 回复
    1. 好呀,只是个人的一些经验总结,肯定有不合适的地方,我的微信是s5818965,我们可以一起交流一下

      来自广东 回复
    2. 一般来说仓库只做执行,不作决策,你说的有道理。异常一般都是前端业务处理好后,告知仓库作业。

      来自广东 回复
  3. 您好 想转载您的文章如何联系呢?

    来自山东 回复
    1. 想转就转吧,不需要联系 哈哈

      来自广东 回复