海外倉WMS的盤點功能設(shè)計

7 評論 4836 瀏覽 27 收藏 24 分鐘

WMS的盤點是指對倉庫存儲的貨物進行清點和核對的過程,只有對貨物進行清點,當貨物出現(xiàn)異常的時候才會有糾正的機會,下面是筆者整理分享的關(guān)于海外倉WMS的盤點功能設(shè)計的相關(guān)內(nèi)容,大家一起來看。

倉庫每天都會有貨物的進進出出,在庫內(nèi)的貨物會時常會需要移動、調(diào)整等,久而久之就會出現(xiàn)實物和系統(tǒng)中的數(shù)據(jù)不吻合的情況,我們稱之為“庫存不準確”或者是“庫存差異”。

如果出現(xiàn)了庫存差異,而且差異量還蠻大,那么就會造成很多損失,例如訂單缺貨,庫存積壓,貨物丟失等,為了讓倉庫中的實際貨物和系統(tǒng)記錄的數(shù)據(jù)保持一致,倉庫就會對實物進行盤點。

WMS的盤點是指對倉庫存儲的貨物進行清點和核對的過程,盤點的目的是為了確認倉庫里的實際物品數(shù)量與系統(tǒng)記錄的數(shù)量是否一致。盤點過程中,我們會逐個檢查貨物,并記錄每個貨物的數(shù)量。我們可以使用計數(shù)器、掃描儀或手動記錄等方式來完成這個過程。一旦完成盤點,我們會將實際的庫存數(shù)量與系統(tǒng)中的記錄進行對比,以發(fā)現(xiàn)并糾正任何數(shù)量不匹配的情況。

一、盤點業(yè)務(wù)中的一些名詞

最早的時候我接觸盤點的時候或者要做盤點這個功能的時候也是找了挺多資料和信息的,結(jié)果發(fā)現(xiàn)越看越迷糊,然后越看越覺得糾結(jié),感覺太多名詞,也太多方案了,不確定自己到底要選擇哪個好,生怕做出來的東西少了點什么,所以就會想什么都做上去。

如果你也需要做盤點相關(guān)的功能,那么我的建議是:選擇“最合適當前業(yè)務(wù)的方案”,如果無法判斷當前的業(yè)務(wù)適合哪一種,那么就會選擇“最簡單、最靈活的方案”。

1. 明盤和暗盤

用戶在盤點過程中如果知道庫位上有什么商品,有多少數(shù)量,那么這種方式就叫明盤,也就是系統(tǒng)會展示具體的信息給盤點人員。如果用戶在盤點的時候只知道有什么商品,但是不知道有多少數(shù)量,那么這種方式就叫做暗盤或者盲盤。

我理解明盤和暗盤的主要區(qū)別還是在于效率和管理上,例如明盤的時候可以看到有多少數(shù)量,那么點數(shù)的時候有參考性,效率就會比較高,可以快速對著盤點單輸入內(nèi)容,但是缺點就是可能會有人作弊、偷懶,快速跳過一些貨品。

而暗盤則明顯效率很慢,需要逐個掃描,而且也不知道什么時候是個頭,盤點的結(jié)果比較精準,也不容易讓人作弊,但是缺點就是數(shù)據(jù)整理比較麻煩,效率也不高。

2. 靜態(tài)盤點和動態(tài)盤點

靜態(tài)盤點就是指在倉庫停止作業(yè)后發(fā)起的盤點,一遍就是倉庫下班后或者不上班的時候進行盤點,此時因為倉庫沒有作業(yè),就不會有入庫、出庫的任務(wù),所以庫存數(shù)據(jù)就比較準確。

而動態(tài)盤點就是指倉庫在正常運轉(zhuǎn)的時候,也可以進行盤點,這個時候庫存隨時會發(fā)生變化,在計算盤點數(shù)據(jù)的時候就要考慮實際的正常業(yè)務(wù)對庫存的影響。

一般來說,靜態(tài)盤點適合大面積的盤點,例如月末,季度末的盤點,這樣倉庫停工了之后可以專注在盤點任務(wù)上;而動態(tài)盤點則適合小范圍的庫位或者商品的盤點,因為倉庫不能停工,所以就只能邊作業(yè)邊盤點。

也有一種比較偷懶的方式,那就是盤點的時候?qū)ΥP點的庫位和商品進行鎖定,而且這種鎖定的優(yōu)先級是最高的,意味著人為使得“短暫停工”,然后對這些鎖定的庫位和商品進行盤點。這種方式一般用在倉庫快下班的時候或者快上班的時候,趕緊盤點完,然后再正常作業(yè)。

3. 循環(huán)盤點、動碰盤點、指定盤點

循環(huán)盤點:由于倉庫的庫存往往非常多,一次全盤往往需要耗費數(shù)天甚至更長時間,于是產(chǎn)生了循環(huán)盤點。即基于SKU的ABC分類(基于價值或出入庫頻率劃分),設(shè)定不同類別的盤點頻率與周期,系統(tǒng)自動生成盤點任務(wù)。譬如A類SKU每星期盤點一次,B類SKU每月盤點一次,C類SKU每季度盤點一次。

動碰盤點:針對一定時期內(nèi)發(fā)生過變動(交易)的庫存進行盤點。不同的倉庫動碰的維度存在差異,有的采用的是基于SKU動碰,也就是某個SKU的庫存發(fā)生了變化,那么就需要盤點;有的則是基于庫位動碰,也就是某個庫位發(fā)生了庫存的變化,那么就需要盤點。

指定盤點:設(shè)定一些查詢條件查詢庫存進行盤點,譬如指定貨主、品類、SKU、庫區(qū)、庫位等。

仔細分析一下就會發(fā)現(xiàn),無論是上面的哪一類盤點方式,本質(zhì)其實就是“過濾出待盤點的對象”,如果從系統(tǒng)設(shè)計的角度出發(fā),其實就是篩選條件不一樣。所以如果遵循簡單設(shè)計的原則來看,直接用指定盤點的方式是最簡單的,輸入一些查詢條件,然后人工去選擇要盤點的對象(可能是庫位,可能是SKU)。

4. 盤虧、盤盈、盤平

盤虧:意思是就是指盤點之后,實物比系統(tǒng)中的要少,賬面上有100,但是實物只有98,類似于“虧了”,所以叫做盤虧。

盤盈:意思是就是指盤點之后,實物比系統(tǒng)中的要多,賬面上有100,但是實物卻有103,類似于“賺了”,所以叫做盤盈。

盤平:意思是就是指盤點之后,實物和系統(tǒng)中的數(shù)據(jù)一樣,賬面上有100,實物也是100,類似于“平手”,所以叫做盤平。

一般來說,無論是盤盈了,還是盤虧了,都會稱之為“庫存差異”,而庫存差異了,就需要執(zhí)行差異的調(diào)整。由于實物是具象的,不能憑空出現(xiàn),也不能憑空消失,所以就只能通過調(diào)整系統(tǒng)中記錄的數(shù)據(jù)來保持一致。

如果盤虧了,那么就讓系統(tǒng)“出庫”一些,扣減一些庫存,以使得系統(tǒng)庫存和實物庫存一致;如果盤盈了,那么就讓系統(tǒng)“入庫”一些,增加一些庫存,以使得系統(tǒng)庫存和實物庫存一致。

盤點的本質(zhì)是對實物進行清點,然后和賬面數(shù)據(jù)比對;根據(jù)實物清點結(jié)果,對賬面數(shù)據(jù)進行調(diào)整,達到賬實相符。

所以新手如果要做這一塊的產(chǎn)品功能設(shè)計的時候,一定要記得抓住本質(zhì)來設(shè)計,否則很容易走歪路,然后陷入無休止的修修補補中。

例如看競品,別人有明盤和暗盤,我要不要也這樣做呢?別人有動態(tài)盤點和靜態(tài)盤點,我是否也要跟著做一個呢?別人盤點的時候可以Excel導(dǎo)入,那我是不是也要做呢……

這就是我早些年做盤點功能的時候踩的最大的一個坑,一直想把盤點功能做的很全,很完善。結(jié)果發(fā)現(xiàn)很多功能設(shè)計完成之后,壓根過不了評審?;蛘咦鯠emo方案的時候,倉庫壓根就不認可這么多復(fù)雜的操作方式,于是只能被打回去重新思考到底業(yè)務(wù)的需求是什么,海外倉的特色是什么,盤點功能的邊界應(yīng)該怎么定義。

二、盤點流程

盤點流程圖

盤點的主線流程基本上都是大同小異,因為本質(zhì)就是清點實物,然后調(diào)整系統(tǒng)賬面數(shù)據(jù)。所以難點一般會在一些小細節(jié)和業(yè)務(wù)判斷上,同時還有海外倉庫的操作系統(tǒng)和管理方式。

1. 創(chuàng)建盤點單

創(chuàng)建盤點單的時候我精簡了盤點的方式,最后就保留了兩種方式:

  1. 按SKU+倉位盤點,系統(tǒng)標記出需要盤點的SKU在哪個庫位分別有多少數(shù)量;
  2. 按倉位盤點,系統(tǒng)標記出需要盤點的倉位有幾種SKU,分別有多少數(shù)量;

全部都是明盤,沒有考慮暗盤這種方式(各位可以視具體業(yè)務(wù)而定),這兩種方式是倉庫盤點最常見的,能滿足絕大多數(shù)的盤點需求。

把選擇權(quán)更多地給倉庫,想盤點哪個客戶的,哪個SKU就盤點哪個,想盤點什么庫位就盤點什么庫位,一切都由倉庫自己來決定。系統(tǒng)要做的就是精準地將位置和信息帶出來,然后提供給倉庫盤點人員即可。

2. 初盤

上面說到了,盤點的本質(zhì)就是將實物數(shù)據(jù)和系統(tǒng)的賬面數(shù)據(jù)進行比對,然后去調(diào)整系統(tǒng)的賬面數(shù)據(jù),以達到賬實相符。

如果實物比賬面數(shù)據(jù)多,那么就是「盤盈」,意味著庫存調(diào)整單是需要增加庫存,類似于系統(tǒng)平白無故多「賺」了一些數(shù)量。

如果實物比賬面數(shù)據(jù)少,那么就是「盤虧」,意味著庫存調(diào)整單是需要扣減庫存,類似于系統(tǒng)中平白無故「丟失」了一些數(shù)量。

而初盤的意思就是第一次盤點,初次盤點。初盤之后還有復(fù)盤,甚至還有些倉庫會有終盤,就是對復(fù)盤之后再盤點。

初盤之后再復(fù)盤的原因是考慮到人為清點會有可能點錯數(shù)的情況,如果一次清點就做了調(diào)整,有可能人為誤差因素太大。所以會考慮初盤之后,再來一次復(fù)盤,以減少初盤一次帶來的誤差率。

3. 復(fù)盤

對初盤結(jié)果再次盤點,就稱為復(fù)盤,也可以叫做二次盤點或者二盤。關(guān)于復(fù)盤有一個邏輯是需要特別注意的:那就是復(fù)盤,到底還需要盤哪些?

如果我們不做過多的考慮,那么復(fù)盤肯定就是對初盤的一次重復(fù)動作,也就是說初盤盤了10個SKU,20個倉位,那么復(fù)盤也需要盤點10個SKU,20個倉位。

但是從實際的調(diào)研和倉庫反饋來看,倉庫有些時候并不想重復(fù)性地對已經(jīng)確認了數(shù)據(jù)的內(nèi)容再次盤點,這樣會浪費自己的時間,同時又感覺做了很多無用功。但如果只對有差異的內(nèi)容進行復(fù)盤,那么又會發(fā)現(xiàn)如果倉庫想對一些不太確定的SKU再次盤點,系統(tǒng)卻沒有辦法支持錄入復(fù)盤數(shù)據(jù)了,也會挺頭痛的。

所以推薦的解決方案是:復(fù)盤的時候可以對所有數(shù)據(jù)進行操作,額外增加了一個篩選按鈕,就是「只展示有差異的內(nèi)容」。 這樣的話可以只對有差異的內(nèi)容進行盤點,而沒有差異的內(nèi)容盤點數(shù)據(jù)自動默認采用初盤的數(shù)據(jù);如果要對全部的內(nèi)容盤點,系統(tǒng)也留了一個口子,不至于讓倉庫沒有入口錄入數(shù)據(jù)。

4. 確認盤點結(jié)果

當復(fù)盤之后,絕大多數(shù)情況下可以確保實際清點的數(shù)量應(yīng)該是準確的,所以就可以對復(fù)盤結(jié)果進行確認了。確認之后可以執(zhí)行盤點差異處理,從而對進行庫存調(diào)整,增加一條盤盈的流水或者盤虧的流水。

確認盤點結(jié)果可以考慮做一個授權(quán)功能或者審核功能,盡量確保這個動作的完成是有一定的門檻的,畢竟對系統(tǒng)賬面數(shù)據(jù)進行了調(diào)整,所以還是要讓操作人員有一定的敬畏心和謹慎感。當然如果可以采用管理的手段來規(guī)避這種查錯那是最好的,因為系統(tǒng)終究只是工具,如果一味地想要通過工具來約束人其實并不可取,反而容易增加成本,讓系統(tǒng)復(fù)雜度暴增。

5. 盤點的詳細流程

最后我在這里放一個詳細版的盤點流程圖,其實最早期的版本應(yīng)該會有更多的功能,隨著對業(yè)務(wù)的把控程度越來越清晰,就做了很多刪減。

盤點詳細流程圖

三、難點與踩坑點

1. 分類和業(yè)務(wù)分支復(fù)雜

前面講到,盤點有很多種類和方式,如果一味的想要求全,滿足所有的功能,那么就會導(dǎo)致分支線會弄的比較復(fù)雜。

例如當前我只用了兩種盤點方式,但是涉及到初盤,復(fù)盤和確定執(zhí)行與不執(zhí)行,最后再兼容不同的盤點設(shè)備,這一套下來,工作量其實就挺多的。

而且盤點功能其實只是WMS的庫存模塊的一個小功能,如果一開始采用了太多種類的盤點方式,那么最后可能就會演變成比較復(fù)雜的分支。產(chǎn)品設(shè)計的方案太復(fù)雜,開發(fā)成本較高,倉庫使用的學(xué)習成本也很高。

2. 盤點鎖定庫存和實際庫存

倉庫盤點的時候,應(yīng)不應(yīng)該停止作業(yè)?這個問題不同的人有不同的答案,但是結(jié)果肯定是:不作業(yè)的時候再做盤點會對產(chǎn)品設(shè)計要求更少。

當在倉庫作業(yè)的時候盤點,創(chuàng)建盤點單獲取實時數(shù)據(jù)的時候是一個值,在實際到了庫位進行盤點的時候可能又變成了另外一個值。為了避免這種數(shù)據(jù)的動態(tài)增減,我們可以考慮對正在作業(yè)中的SKU或者庫位做凍結(jié),不允許盤點這一塊的數(shù)據(jù)。

那么什么時候釋放這些作業(yè)中鎖定的庫存數(shù)據(jù)又是一個問題,是下架了就釋放還是出庫了再釋放。如果是下架了就釋放,那么如果有訂單攔截取消又要返庫怎么辦?如果是出庫了就釋放,那么這個單臨時不出庫,一直放在待發(fā)貨區(qū)不出庫,那么短期內(nèi)就沒辦法對某些SKU盤點了。

所以盤點怎么處理鎖定庫存也算是一個難點,一定要考慮清楚系統(tǒng)對庫存的鎖定和釋放的時機,然后結(jié)合業(yè)務(wù)來設(shè)計。

我自己的經(jīng)驗是傾向于讓倉庫盤點的時候不作業(yè),這樣的數(shù)據(jù)是最準確的。我只統(tǒng)計在庫位的庫存,而不管是否鎖定還是凍結(jié),只要不在庫位我就不統(tǒng)計,那么前提最好是:倉庫已經(jīng)正常作業(yè)完,現(xiàn)在沒有入庫和出庫的操作。

3. 產(chǎn)品邊界的問題

上面說了關(guān)于盤點的方式和種類有很多,然后盤點庫存統(tǒng)計的時機也有很多種方式,盤點需要幾次才能確認結(jié)果,盤點的時候用PDA還是紙質(zhì)單還是Excel,盤點能否支持多人同時作業(yè),多設(shè)備共同提交……這些都是產(chǎn)品邊界的問題,一開始最好做加法,然后慢慢地發(fā)掘之后做減法。

產(chǎn)品邊界問題不只是在盤點上會遇到,在其他的產(chǎn)品功能設(shè)計的時候也會遇到。而我自己就是因為在盤點的時候踩了這個坑,所以我的記憶比較深刻。盤點功能從設(shè)計到開發(fā)到最后上線,足足比我預(yù)估的時間晚了2個迭代,這里面最大的原因就是我對產(chǎn)品邊界的把控不到位。

有些功能做到一半才感覺好像用處不太大,考慮的太多了;也有一些功能做到一半才發(fā)現(xiàn)沒考慮周全,例如貨品的料區(qū)問題,于是又要緊急規(guī)劃將一些遺漏的點重新補上。

產(chǎn)品邊界這個坑,是做盤點功能給我最大的一個教訓(xùn),也算是一個最大的收獲。

4. 盤點單是否要拆分成任務(wù)單?

國內(nèi)一些比較知名的電商WMS,例如富勒,大寶,吉客云等基本上在做盤點功能的時候都會引入一個盤點任務(wù)的概念,盤點單和盤點任務(wù)之間的實體關(guān)系圖我畫了一個簡化后的圖來表示。

盤點單和盤點任務(wù)單的關(guān)系

對于海外倉WMS來說,如果業(yè)務(wù)單量沒有達到較大的值,倉庫中的貨品種類和貨架、庫位數(shù)量等沒有達到一定的量級,我都是建議先不要考慮設(shè)計“盤點任務(wù)單”這個概念,因為對倉庫執(zhí)行層來說稍微重了一些。

實際上我接觸的一些小的海外倉,大家在盤點的時候一般都是要么線下各自分任務(wù),張三盤點A區(qū),李四盤點B區(qū),然后分別提交數(shù)據(jù)匯總在一起,這種方式簡單粗暴,效果也還好。

如果引入任務(wù)單的概念,那么就需要考慮盤點單中的待盤點明細要怎么拆分為不同的任務(wù)單,這些任務(wù)怎么分配給操作員,然后任務(wù)單的什么時候匯總到盤點單中等,這里涉及的工作量就稍微大了一些。

實際上是否引入任務(wù)單,還是要看當前的業(yè)務(wù)情況和系統(tǒng)情況來決定,我之所以在這里提到這個東西,是我發(fā)現(xiàn)很多朋友在做海外倉的時候會受限于國內(nèi)倉的思維??吹礁焕沼羞@個功能,然后就覺得好像自己的倉庫也要加上這個功能,于是乎就會看到一些海外倉做得特別復(fù)雜,而且又不太高效。

根據(jù)我目前對海外倉的理解和認知來看,如果不是那幾個特別大的、知名的海外倉公司,其他的海外倉系統(tǒng)功能都不太建議做太復(fù)雜,適度才是最好的,而不是全都要。

“所有重要的東西都不是重要的,只有必要的東西才是重要的”。

四、小結(jié)

盤點功能是WMS庫存模塊的一個輔助性功能,輔助倉庫調(diào)整系統(tǒng)賬面庫存,以達到賬實相符的要求。海外倉的盤點和國內(nèi)電商倉庫的盤點應(yīng)該也是大同小異,主要區(qū)別還是在倉庫管理和實際業(yè)務(wù)的區(qū)別。畢竟系統(tǒng)是給人用的,使用的人都不同,那么使用方式自然也會有所不同了。

大家總在說B端產(chǎn)品應(yīng)該更加注重業(yè)務(wù),吃透業(yè)務(wù),理清邏輯;而C端產(chǎn)品則需要更加關(guān)注拉新留存,商業(yè)價值,用戶體驗和用戶價值。很多話都是說的,聽的千篇一律,卻難有,少有萬里挑一的觸動。

當我回過頭去反思自己做WMS的產(chǎn)品設(shè)計的時候,我發(fā)現(xiàn)我對業(yè)務(wù)的理解還是很片面,總覺得自己看到的就是最真實的,最全面的。而背后的,冰山下的卻沒怎么去挖掘,花費了較多的時間和精力去對比競品,去分析同行的設(shè)計初衷……

所以,哪怕是看起來簡單的8個字:吃透業(yè)務(wù),理清邏輯。實際做起來也是需要費一番苦心和光陰,所以B端產(chǎn)品還是應(yīng)該側(cè)重點在業(yè)務(wù)。理解了業(yè)務(wù),吃透了業(yè)務(wù),那么距離一枚優(yōu)秀的B端產(chǎn)品,就

專欄作家

我叫維他命(Vitamin),微信公眾號:PM維他命。前PHPer,做過在線教育類產(chǎn)品,也做過4年多的跨境倉儲物流方向的產(chǎn)品,目前是一位外貿(mào)SaaS領(lǐng)域的供應(yīng)鏈產(chǎn)品經(jīng)理。主要專注于WMS/OMS/TMS/BMS/ERP等領(lǐng)域,分享供應(yīng)鏈相關(guān)的產(chǎn)品知識。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于 CC0 協(xié)議。

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 請問一下,我現(xiàn)在在設(shè)計庫存盤點的功能,領(lǐng)導(dǎo)是說暫時不做庫存鎖定的機制,我對盤點單中的商品系統(tǒng)庫存的取值有點疑問。①商品的賬面庫存值我該怎么取?是直接取實時庫存,還是我要設(shè)置一個“庫存日期”的字段,能夠支持取到歷史日期節(jié)點的庫存值?②商品添加到盤點單之后,它的賬面庫存值就靜態(tài)的,按它被添加到盤點單時的庫存值不變,還是要能夠動態(tài)變化?

    來自福建 回復(fù)
    1. 如果不鎖庫,那么就是什么時候發(fā)盤點單的時候就去取賬面庫存(實時庫存),然后盤點過程中不要發(fā)生相關(guān)的庫存變動,例如說晚上的時候去做盤點,這樣就可以解決大多數(shù)盤點的問題。

      如果你添加到盤點單的時候庫存是100,然后中途又發(fā)生了一些單據(jù)的變化,例如說出庫了2個,到時候錄入盤點結(jié)果的時候,你就不知道這個錄入的結(jié)果到底是出庫2個之后剩余的,還是在出庫2個之前就記錄好的數(shù)據(jù)。說白了就是數(shù)據(jù)在動態(tài)變化,就失去了盤點的意義,盤點就是為了讓庫存準確,如果盤點過程還有一些不清不楚的變動,那這個功能就白做了

      來自廣東 回復(fù)
  2. 請問盤盈盤虧對批次庫存的影響和處理方式是怎么樣的

    來自香港 回復(fù)
    1. 看業(yè)務(wù)邏輯,如果是先進先出的邏輯處理。

      盤盈了,那就是相當于入庫了,就會增加最近的一個批次的庫存;
      盤虧了,那就是相當于出庫了,就會扣除最早的一個批次的庫存;

      來自廣東 回復(fù)
  3. 我們是saas,盤點類型有常規(guī),異動,支持多維度盤點,如庫存地,批屬性,標簽等等,然后還有按容器,物料,還可以篩選(按工廠,按庫存地,按庫區(qū),庫位…)還有文中提到的盤點任務(wù)拆分?。。?/p>

    來自廣東 回復(fù)
    1. 哈哈,都要做了是吧

      來自廣東 回復(fù)
  4. 不遠了。

    來自安徽 回復(fù)