WMS—盘点功能设计
前面对WMS系统的出入库设计进行了总结,而盘点是属于库内的一个重要点,是高频作业。本文就盘点的产品设计和需要注意的一些细节点进行总结,希望对你有所启发。
对WMS系统的出入库设计都做了一些总结,今天来说一说盘点,盘点属于一个库内的高频作业之一,本文主要讲解盘点的产品设计和需要注意的一些细节点。
一、盘点功能的流程
首先来看一下盘点单的主流程,如下图所示(仅供参考):
上图中的流程一些同学看了可能会有点疑惑,在盘点中为什么会出现盘点任务?本人是按照大仓库的盘点进行设计,一个大型仓库有几千上万平米,让一个人去盘点整个仓库,一天都盘点不完。所以需要团队合作,通常是按照区域,将盘点单拆分为N个盘点任务,每个月领取相应的任务,在自己负责的区域进行盘点。
二、方案设计
2.1 盘点单
盘点单的创建如下图所示(仅供参考):
对盘点单的一些元素进行说明:
盘点单的创建:
以“店小秘”的产品设计为例,盘点的创建有4种类型,分别是全盘、按照库区盘点、、按货位进行盘点、指定货品盘点。
1)全盘
顾名思义,盘点仓库中所有产品的库存,盘点的成本高,仓库需要停工半天或者1天,因此全盘的次数不会很多,一年或者半年进行一次。
2)按库区盘点
对指定的库区进行盘点,该功能主要是仓库使用,一些大型仓库中每个仓管只负责自己的一片库区,库管需要定期对自己负责的库区进行盘点。
3)货架进行盘点
按指定的货架进行盘点,在我最近这份工作中,该功能使用的频率较少。
4)按商品进行盘点
对指定的商品进行盘点,这种方式常用于校对库存。
还有一些额外的盘点方式,比如:在某个时间段进行出入库的货品进行盘点;对库存为0的货品进行盘点等等,这个就根据业务需要进行设计。
盘点单的创建:
盘点单的创建分手动创建和自动创建。
- 手动创建:手动创建很好理解就是人员手动创建盘点单;
- 自动创建:这个相对复杂一点,主要出现在2种场景,一种是仓库有严格的SOP,需要每周或每月进行盘点,可以设置一个规则,到了指定时间系统自动创建盘点单;另外一种常出现在拣货的时候,如果拣货的时候发现拣货货位缺货,货数量不对等情况,可以在PDA标记缺货,然后系统自动生成相应货位的盘点单。
盘点的类型:
1)明盘
盘点单内展示盘点产品当前的库存,这样用户在盘点的过程中就知道盘点单的差异,及时挖掘其原因。
2)暗盘
盘点单内不展示当前的库存,这样设计的目的是为了防止盘点人员作弊。
2.2 盘点任务
盘点任务的如下图所示(仅供参考):
盘点任务是由盘点单引申出来,在一些大型仓库上万平米,如果让一个作业员去盘点,几天都盘点不完,所以需要进行对盘点单进行任务的拆分。
故盘点单与盘点任务的关系为1:N
盘点任务主要根据库区进行拆分,如果有的仓库分为1楼、2楼…,就需要考虑到楼层因素,进行拆分。
拆分后的任务就需要下发给作业员,任务的下发有分配和认领2种设计方式;
- 分配:就是由系统自动分配盘点人员,一些公司,针对特贵货品的盘点,必须指定特定的人;
- 认领:由作业人员主动认领,当然1个盘点任务只能被认领1次。
开始盘点后,盘点的区域进行锁定,不能出入库。当盘点单下面的盘点任务完成后,对应盘点单的状态也是“完成”,完成状态的盘点单可以提交审核。但是在完成盘点时,系统会计算出来盘点的差异部分,也就是“盘盈盘亏”
若仓库没有PDA,只会进行纸质盘点,拣个盘点的结果记录在“盘点单”,然后将数据录入系统,为了支撑这种场景,需要做一个“盘点单打印”的功能,盘点单如下(仅供参考):
2.3 复盘和终盘
完成盘点后,针对有差异的货品,可以进行复盘,复盘后还有差异的货品,可以进行终盘。复盘和终盘会生成新的采购任务。
2.4 库存调整
盘点单审核通过后,会对相应货品的库存进行调整。库存调整有2种设计模式,分别是覆盖和差异计算。
- 覆盖:库存是5,盘点后的库存是2,在系统的处理是直接将库存5修改成2;
- 差异计算:库存是5,盘点后库存是2,盘亏3,系统的处理逻辑为:修正后库存=当前库存-盘亏库存;如果在审核的过程中出库了1个,然后审核通过校对库存,计算逻辑为:修正后库存=4-1
在产品设计方面,个人推荐“差异计算”这种方案,因为可以兼容在审核期间出入库的情况。如果是第一种方案,在审核中出库了5个,然后审核通过,修改库存为了,就会虚增2个库存。
三、踩过的一些坑
盘点整体的功能一般人就讲完了,但是作为老司机的我,还是这里要讲一下盘点真正的难点就是库存的处理。
1)记录货损
站在公司的角度,仓库是不能无限制的盘亏,不然就会出现公司作业人员盗取公司资产,我当时做社区团购的时候,规定生鲜产,仓库每个月只有X%的货损,这部分算作仓管的KPI,超过的部分需要扣减绩效。
2)释放的库存
在盘点时会对盘点区域的库存锁定,盘点单在盘点完成后会提交审核,审核通过或拒绝后才会释放库存。但如果一直不审核,意味着盘点区域的库存一致被锁定。
这也是一个蛋疼的点,所以有一些公司不作审核步骤,直接盘点完成就行了。另外一种折中方案就是设置一些自动审核的策略。
3)库存的处理
盘点的库存处理,我举个栗子说明:
老王在今天需要盘点仓库A库区的库存,进行盘点时,A库区锁库,但是已经预占A库区库区的订单怎么处理?
将预占库存的订单,全部取消预占然后这些订单再重新走预占库存的逻辑。已经盘点的区域库区被锁定,不能被预占。
上述这些订单只是预占,还没有开始拣货。假设订单已经开始拣货,此时因为盘点预占了库存,该如何处理?
可以继续沿用上面的方法,将这些订单剔除波次,然后重新走预占库存,拣货流程。
盘点功能比较简单,最核心的就是要考虑,盘点与库存之间的关联。其实最简单的方法就是从管理上解决,比如在当天的所有作业结束后进行盘点。
4)从无到有的盘点
如果系统中有这个货品,且货品贴了条码,盘点的时候,只需要扫描货品条码进行盘点,这种方式是最简单的。
如果这个货在系统中不存在,且没有贴条码,盘点时候怎么办呢?不能扫描条码,且系统没有这个货品的信息。
当时有一种处理方案就是把这个货看做入库,首先给WMS录入这个货品的信息,然后这个货品在系统层面走上架流程。如果这个货品关联了货主,批次等信息,还需要录入货主、批次信息。
四、总结
整体来说盘点功能比较简单,最核心的点就是注意盘点过程中的库存处理,按照惯例,依旧留下几个问题,如下:
- 可以将库存盘点成负数吗?
- 盘点是否可以不锁库存?
本文由@koi 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash, 基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
差异计算没明白4-1怎么来的,能再详细说一下嘛
正确的应该是,5-3-1=1
1、差异计算是不是动盘的意思呀,就在提交盘点信息时,把修正后的库存和作业的数据做对比?
2、当前库存应该不单单指货位上的库存,而是指在仓库的所有库存?
正在做库存盘点的设计,遇到一个问题:如果按照库位盘点,然后发现库位上出现了库存里没有记录的商品,怎么处理呢?反之,如果对商品进行盘点,结果发现商品出现在没有记录的库位上,怎么处理呢?
第一个问题是从无到有的盘点,上述文章说了。
第二个问题是直接记录盘盈就行了,如果公司有特殊要求,那就不记录盘盈,创建一个入库单,走入库处理。
to2:前提:“库区盘点,并非整仓盘点。”如果该商品是因为前期操作错误放错了库位,并不是没有走入库流程。此时重新走一遍入库流程,依旧会存在库存问题
盘点至多能把库存盘为0吧,盘为负数与实际明显不符了,如果是为了平衡其他库区少了的库存,也不建议那么做,较好的做法是对于少货的库区进行盘点生成盘点单,不然后期库存都乱了
盘点锁定库存对于大仓影响较大,影响出库效率,锁定的库存都不可动,盘点又是个耗时的工作,风险较大,库存提交明细时和实时库存对比更好一些