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吧,盤為負數與實際明顯不符了,如果是為了平衡其他庫區少了的庫存,也不建議那么做,較好的做法是對于少貨的庫區進行盤點生成盤點單,不然后期庫存都亂了
盤點鎖定庫存對于大倉影響較大,影響出庫效率,鎖定的庫存都不可動,盤點又是個耗時的工作,風險較大,庫存提交明細時和實時庫存對比更好一些