5000字拆解WMS中“暫存庫(kù)位”的功能和作用

2 評(píng)論 5453 瀏覽 25 收藏 21 分鐘

在現(xiàn)代供應(yīng)鏈管理中,倉(cāng)庫(kù)管理系統(tǒng)(WMS)扮演著至關(guān)重要的角色。其中,“暫存庫(kù)位”作為一個(gè)特殊的概念,對(duì)于提高倉(cāng)庫(kù)操作的效率和準(zhǔn)確性具有深遠(yuǎn)的影響。本文深入探討了“暫存庫(kù)位”的功能、作用以及在不同業(yè)務(wù)場(chǎng)景下的應(yīng)用,揭示了它在復(fù)雜和成熟WMS中的重要性。

在一些復(fù)雜的、成熟的WMS中(例如富勒WMS)會(huì)有一個(gè)“過(guò)渡庫(kù)位”的概念,也可以理解為“暫存庫(kù)位”。意思就是說(shuō)這個(gè)庫(kù)位是在倉(cāng)庫(kù)的操作過(guò)程中臨時(shí)使用的庫(kù)位,用來(lái)過(guò)渡、暫存一下。

例如說(shuō),收貨完成之后,貨物會(huì)先暫時(shí)存放在過(guò)渡庫(kù)位(STAGE1),然后等要上架的時(shí)候再?gòu)倪^(guò)渡庫(kù)位轉(zhuǎn)移到具體的存儲(chǔ)庫(kù)位中。

同樣的道理,當(dāng)揀貨完成之后,貨物會(huì)從存儲(chǔ)庫(kù)位中下架,然后也暫時(shí)存放在過(guò)渡庫(kù)位(STAGE2),等真正的出庫(kù)之后,再?gòu)倪^(guò)渡庫(kù)位中扣減庫(kù)存。

收貨過(guò)渡庫(kù)位和揀貨過(guò)渡庫(kù)位

當(dāng)我們?nèi)パ芯亢M鈧}(cāng)WMS的競(jìng)品時(shí),可能會(huì)發(fā)現(xiàn)幾乎大多數(shù)的SaaS海外倉(cāng)WMS或是自研型的海外倉(cāng)WMS都沒(méi)有設(shè)計(jì)“暫存庫(kù)位”這個(gè)概念,但是依然可以正常將業(yè)務(wù)流程運(yùn)轉(zhuǎn)起來(lái)。那么在實(shí)際的產(chǎn)品設(shè)計(jì)過(guò)程中,我們到底是選擇用“暫存庫(kù)位”,還是選擇不用,這兩者都什么區(qū)別,有什么差異呢?

接下來(lái),我拋出幾個(gè)比較常見(jiàn)的業(yè)務(wù)問(wèn)題或者是產(chǎn)品設(shè)計(jì)的場(chǎng)景問(wèn)題,我們嘗試用不同的解決方案去解決它,然后再看這些解決方案背后有什么差異,也許就可以明白,到底自己在做WMS的時(shí)候,要不要用到“暫存庫(kù)位”了。

01.WMS入庫(kù)在什么時(shí)候增加庫(kù)存?

我相信,有非常多初次做WMS的朋友都曾經(jīng)想過(guò)這問(wèn)題,到底WMS在入庫(kù)的時(shí)候,應(yīng)該在什么節(jié)點(diǎn)去增加庫(kù)存呢?是在收貨清點(diǎn)之后,還是在上架完成之后?

方案1:收貨之后

如果我們選擇了在收貨之后去增加庫(kù)存,那么意味著當(dāng)倉(cāng)庫(kù)完成了清點(diǎn)、驗(yàn)收、收貨之后,WMS就增加了收貨的庫(kù)存。那么我們接下來(lái)就會(huì)面臨另外的幾個(gè)問(wèn)題:收貨加了庫(kù)存,那么上架的時(shí)候加不加庫(kù)存?收貨加了庫(kù)存,那這個(gè)庫(kù)存記錄在什么維度上呢?怎么管理呢?

一般來(lái)說(shuō),如果采用了在“收貨之后”就增加庫(kù)存的方案,那么收貨之后會(huì)增加庫(kù)存,就需要知道這個(gè)庫(kù)存是掛在什么維度上的。此時(shí)就會(huì)在WMS中引入一個(gè)“暫存庫(kù)位”的概念,WMS收貨之后庫(kù)存會(huì)增加在“暫存庫(kù)位”中,這個(gè)暫存庫(kù)位就是一個(gè)虛擬的庫(kù)位,用來(lái)承載收貨的庫(kù)存數(shù)量。

Shipout WMS中的過(guò)渡庫(kù)位是“unsigned”庫(kù)位

由于大多數(shù)的WMS都是需要進(jìn)行批次管理的,既然在收貨的時(shí)候生成了庫(kù)存,所以就應(yīng)該在生成庫(kù)存的時(shí)候,同時(shí)也按批次屬性來(lái)生成對(duì)應(yīng)的批次號(hào),并將庫(kù)存和批次號(hào)關(guān)聯(lián)起來(lái)。所以當(dāng)我們完成了收貨之后,同時(shí)也應(yīng)該得到“SKU-庫(kù)位”和“SKU-批次”這兩個(gè)維度的庫(kù)存。

當(dāng)倉(cāng)庫(kù)完成了收貨之后,貨物可能只是暫存放在容器中或者是某個(gè)倉(cāng)庫(kù)的空地上,最終的貨物肯定是要移動(dòng)到具體的貨架上,庫(kù)位上。當(dāng)我們?cè)谑肇浿螅廊皇且M(jìn)行上架操作的,此時(shí)的上架依然是要增加庫(kù)存的,不過(guò)這個(gè)增加是“庫(kù)內(nèi)移位式的增加”。

意思就是,從暫存庫(kù)位移動(dòng)到存儲(chǔ)庫(kù)位,先從暫存庫(kù)位下架,然后再上架到存儲(chǔ)庫(kù)位中,庫(kù)存先扣減,然后再增加。

從暫存庫(kù)位轉(zhuǎn)移到存儲(chǔ)庫(kù)位方案

2:上架之后

也有很多海外倉(cāng)是沒(méi)有引入“暫存庫(kù)位”或者“暫存庫(kù)位”的概念,所以他們往往會(huì)選擇在上架之后去增加庫(kù)存。
如果是在上架之后才生成庫(kù)存,也就是在上架之后才會(huì)有“SKU庫(kù)存、SKU-批次庫(kù)存,SKU-庫(kù)位庫(kù)存、SKU-批次-庫(kù)位”的庫(kù)存,那么又會(huì)面臨另外的一個(gè)問(wèn)題:上架的時(shí)候要怎么判斷批次是否混放呢?

因?yàn)樵诤芏郬MS中,在新增庫(kù)位的時(shí)候,都會(huì)配置“是否允許混放產(chǎn)品”或者“是否允許混放批次”。

富勒WMS的庫(kù)位控制

吉客云WMS的庫(kù)位控制

因?yàn)樯霞苤蟛艜?huì)增加庫(kù)存,此時(shí)如果還沒(méi)有上架,自然也就不會(huì)生成批次庫(kù)存了,也就沒(méi)有批次號(hào)了,那要怎么判斷是否批次混放呢?

為了解決這個(gè)問(wèn)題,我們可以采用通過(guò)判斷“批次屬性”的方式來(lái)判斷是否批次混放,因?yàn)榕翁?hào)的生成是通過(guò)批次屬性來(lái)判斷的,只要同一個(gè)SKU的批次屬性都相同,那么批次號(hào)必然也是相同的,那么能不能混放也就可以知道了。一般來(lái)說(shuō),批次屬性的一些數(shù)據(jù)獲取是在收貨的時(shí)候就可以獲取到的,例如說(shuō)入庫(kù)日期,生產(chǎn)日期,失效日期,采購(gòu)訂單號(hào),供應(yīng)商等。

在上架的時(shí)候,就可以通過(guò)這些批次屬性來(lái)判斷同一個(gè)庫(kù)位上是否混放了批次。

富勒批次屬性規(guī)則

直接上架后才增加庫(kù)存

02.倉(cāng)庫(kù)揀貨下架之后但未出庫(kù)的庫(kù)存怎么處理?

當(dāng)我們知道了問(wèn)題1的背景和設(shè)計(jì)思路之后,我們馬上就會(huì)想到一個(gè)類(lèi)似的問(wèn)題:倉(cāng)庫(kù)揀貨下架之后,還沒(méi)有出庫(kù)的部分庫(kù)存要怎么處理呢?

因?yàn)閭}(cāng)庫(kù)揀貨下架之后,貨物會(huì)放在揀貨車(chē)上,然后去做二次分揀、復(fù)核、打包稱(chēng)重,最后等待物流攬收,直到貨物出庫(kù)之前,這些貨物應(yīng)該都是存放在倉(cāng)庫(kù)中的。所以理論上來(lái)說(shuō)只要倉(cāng)庫(kù)還沒(méi)有將實(shí)物出庫(kù),那么這部分的庫(kù)存就應(yīng)該是可以跟蹤和溯源的。

方案1:用暫存庫(kù)位來(lái)記錄這部分庫(kù)存

當(dāng)倉(cāng)庫(kù)揀貨之后,貨物從貨架上的庫(kù)位拿下來(lái)放到了揀貨車(chē)中,所以在“SKU-庫(kù)位”和“SKU-庫(kù)位-批次”的維度,這部分的庫(kù)存是要扣減的,因?yàn)樨浳镆呀?jīng)不在原來(lái)的庫(kù)位上了。

但是要追蹤和記錄這部分拿下來(lái)的庫(kù)存,所以我們可以再做一次“庫(kù)內(nèi)移位式”的操作,貨物從貨架的庫(kù)位轉(zhuǎn)移到了暫存庫(kù)位的中,所以存儲(chǔ)庫(kù)位的“SKU-庫(kù)位”和“SKU-庫(kù)位-批次”維度的庫(kù)存扣減,對(duì)應(yīng)的暫存庫(kù)位的“SKU-庫(kù)位”和“SKU-庫(kù)位-批次”維度的庫(kù)存則增加。

如果此時(shí),倉(cāng)庫(kù)需要做盤(pán)點(diǎn)、做移庫(kù)、做任何調(diào)用存儲(chǔ)庫(kù)位中庫(kù)存的動(dòng)作,那么這部分已經(jīng)揀貨下架的內(nèi)容都不會(huì)受到影響,因?yàn)樗呀?jīng)不在存儲(chǔ)庫(kù)位上了。

同樣的道理,如果此時(shí)訂單發(fā)生了取消,需要將揀貨下架的這部分庫(kù)存重新返庫(kù)上架,回到原來(lái)的存儲(chǔ)庫(kù)位上,也可以從暫存庫(kù)位再做一次“庫(kù)內(nèi)移位式”的操作。

如果訂單一切正常,那么當(dāng)倉(cāng)庫(kù)確認(rèn)出庫(kù)之后,就直接從“暫存庫(kù)位”扣減庫(kù)存即可。

從存儲(chǔ)庫(kù)位轉(zhuǎn)移到暫存庫(kù)位

2.不用暫存庫(kù)位來(lái)記錄這部分庫(kù)存

如果我們選擇不用暫存庫(kù)位來(lái)記錄這部分的庫(kù)存,那么當(dāng)實(shí)物揀貨下架之后,此時(shí)在WMS中是無(wú)法記錄到這部分“空白期”的庫(kù)存,我們只能記錄到從這個(gè)庫(kù)位上扣減了多少庫(kù)存數(shù)量。

通過(guò)前面章節(jié)的內(nèi)容,我們知道倉(cāng)庫(kù)會(huì)有多層級(jí)的庫(kù)位維度,那么在出庫(kù)的時(shí)候需要提前預(yù)占鎖定庫(kù)存,也需要按多層級(jí)的方式,從高到低逐層去預(yù)占鎖定。

層層鎖定的示意圖

當(dāng)我們預(yù)占鎖定了“SKU-批次-庫(kù)位”維度的庫(kù)存之后,就可以去執(zhí)行揀貨操作了。揀貨完成之后,我們需要將“SKU-批次-庫(kù)位”維度的庫(kù)存從預(yù)占鎖定轉(zhuǎn)為扣減,雖然是扣減了庫(kù)位上的庫(kù)存,但是倉(cāng)庫(kù)層面的總庫(kù)存因?yàn)閷?shí)物還沒(méi)有具體出庫(kù),所以暫時(shí)還是在鎖定的狀態(tài)中。

如果此時(shí),倉(cāng)庫(kù)需要做盤(pán)點(diǎn)、做移庫(kù)、做任何調(diào)用存儲(chǔ)庫(kù)位中庫(kù)存的動(dòng)作,那么這部分已經(jīng)揀貨下架的內(nèi)容都不會(huì)受到影響,因?yàn)樗呀?jīng)不在存儲(chǔ)庫(kù)位上了。

不過(guò)如果此時(shí)訂單發(fā)生了取消,需要將揀貨下架的這部分庫(kù)存重新返庫(kù)上架,回到原來(lái)的存儲(chǔ)庫(kù)位上,那么此時(shí)就不是做“庫(kù)內(nèi)移位式”的操作,而是需要特殊處理一下用返庫(kù)上架的邏輯。因?yàn)槿绻前雌胀ǖ纳霞苓壿?,那么批次?hào),原始的揀貨庫(kù)位等信息會(huì)對(duì)不上,所以得要用定制的“返庫(kù)上架”,去溯源取消的訂單曾經(jīng)是從什么庫(kù)位揀貨的,現(xiàn)在又要回到什么庫(kù)位上。

可以通過(guò)庫(kù)存流水中關(guān)聯(lián)的“揀貨任務(wù)號(hào)”、“波次號(hào)”、“出庫(kù)單號(hào)”等信息來(lái)關(guān)聯(lián)相關(guān)的庫(kù)存流水,然后找到源庫(kù)位和數(shù)量等信息。

從存儲(chǔ)庫(kù)位扣減庫(kù)存

03.有了“暫存庫(kù)存”之后,查詢庫(kù)存的時(shí)候怎么展示?

通過(guò)上面入庫(kù)、出庫(kù)的拆解,我們會(huì)發(fā)現(xiàn)無(wú)論是否選擇使用“暫存庫(kù)位”,系統(tǒng)都可以有對(duì)應(yīng)的解決方案,都是可以達(dá)到業(yè)務(wù)的目的,只不過(guò)是系統(tǒng)層面的一些改動(dòng)點(diǎn)和邏輯處理會(huì)有點(diǎn)不太一樣而已。

當(dāng)我們選擇了引入了“過(guò)渡庫(kù)位”或者“暫存庫(kù)位”之后,如果要在WMS中要去查詢庫(kù)存,那么對(duì)應(yīng)的一些產(chǎn)品功能邏輯也要做出相應(yīng)的調(diào)整,因?yàn)椤皶捍鎺?kù)存”雖然是庫(kù)存,但是在某些場(chǎng)景是不可用的庫(kù)存,所以要在庫(kù)存設(shè)計(jì)的時(shí)候就考慮到這一層。

關(guān)于庫(kù)存方面的展示邏輯,還有是否可用的限制約束,以入庫(kù)收貨時(shí)啟用“暫存庫(kù)位”的場(chǎng)景為例,我這里整理了幾種相應(yīng)的設(shè)計(jì)方案供參考。

方案一:部分維度隱藏“暫存庫(kù)存”的數(shù)據(jù)

第一種,就是在多層庫(kù)存查詢維度中,都不展示這部分的庫(kù)存,這樣可以直觀地讓用戶關(guān)注可用的庫(kù)存數(shù)量有多少,而不用被其他的概念和名詞困擾。

在這種方案中,可以通過(guò)“SKU-庫(kù)位查詢”或者是“SKU-批次-庫(kù)位”查詢,知道存放在暫存庫(kù)位中的數(shù)量有多少。同時(shí)系統(tǒng)也做了限制,雖然知道有多少數(shù)量,但是這些數(shù)量都是不可用的,不能用來(lái)分配揀貨,移庫(kù),下架等任務(wù),通過(guò)系統(tǒng)的定制化處理,只能將這部分的庫(kù)存用于上架使用(以收貨的“暫存庫(kù)存”為例)。

總庫(kù)存 = 可用庫(kù)存 + 鎖定庫(kù)存 + 不可用庫(kù)存(頁(yè)面不可見(jiàn))

隱藏暫存不可用的庫(kù)存

方案二:全部維度展示“暫存庫(kù)存”的數(shù)據(jù)

第二種方案,就是在多層庫(kù)存查詢維度中,全部都展示這部分的庫(kù)存,但是標(biāo)記為“不可用庫(kù)存”,這樣可以讓用戶知道具體有多少可用的庫(kù)存,又有多少不可用的庫(kù)存。而不可用的庫(kù)存,可以特意說(shuō)明清楚就是指存放在暫存庫(kù)位的庫(kù)存。

在這種方案中,當(dāng)通過(guò)“SKU-庫(kù)位”或者是“SKU-批次-庫(kù)位”查詢庫(kù)存的時(shí)候,可以知道貨物是放在了暫存庫(kù)位中。那么這部分庫(kù)存是算作“可用庫(kù)存”,還是“不可用庫(kù)存”,這個(gè)就要結(jié)合系統(tǒng)邏輯和代碼邏輯來(lái)處理了。如果算可用庫(kù)存,那么就要控制,在揀貨、移庫(kù)下架等場(chǎng)景下分配庫(kù)位庫(kù)存的時(shí)候,不要分配到暫存庫(kù)位的“可用庫(kù)存”;如果是算作不可用庫(kù)存,那么就是要控制,只有在特定的幾個(gè)場(chǎng)景下才可以使用暫存庫(kù)位的庫(kù)存,即使它是“不可用庫(kù)存”的類(lèi)型

總庫(kù)存 = 可用庫(kù)存 + 鎖定庫(kù)存 + 不可用庫(kù)存(頁(yè)面可見(jiàn))

顯示暫存不可用的庫(kù)存

方案三:部分隱藏,部分展示“暫存庫(kù)存”的數(shù)據(jù)

第三種方案,是富勒WMS的做法,它結(jié)合了方案一和方案二的內(nèi)容,構(gòu)成了一種比較特殊的處理方式。在“SKU”和“SKU-批次”的維度,隱藏不可用的庫(kù)存。但是在“SKU-庫(kù)位”和“SKU-批次-庫(kù)位”維度,引入了一個(gè)“待移出庫(kù)存”的概念,總庫(kù)存和待移出庫(kù)存是有數(shù)據(jù)的,但是可用庫(kù)存還是為0。

富勒WMS的做法

在富勒WMS中,涉及到“SKU-庫(kù)位”和“SKU-批次-庫(kù)位”維度的庫(kù)存,會(huì)有非常精細(xì)化的庫(kù)存類(lèi)型的劃分,除了有“待移出庫(kù)存”之外,還會(huì)有:

  • 訂貨數(shù)- 默認(rèn)為空,用于根據(jù)庫(kù)存生成單證。
  • 補(bǔ)貨待下架數(shù)量-補(bǔ)貨任務(wù)待操作數(shù)量。同一補(bǔ)貨任務(wù),對(duì)于補(bǔ)貨來(lái)源庫(kù)位,鎖定為補(bǔ)貨待下架數(shù)量。
  • 補(bǔ)貨待上架數(shù)量-補(bǔ)貨任務(wù)待操作數(shù)量。同一補(bǔ)貨任務(wù),對(duì)于補(bǔ)貨目標(biāo)庫(kù)位,鎖定為補(bǔ)貨待上架數(shù)量。
  • 待上架數(shù)量-上架任務(wù)待操作數(shù)量。
  • 待移出數(shù)量-移庫(kù)任務(wù)待操作數(shù)量。同一移庫(kù)任務(wù),對(duì)于移庫(kù)來(lái)源庫(kù)位,鎖定為待移出數(shù)量。
  • 待移入數(shù)量-移庫(kù)任務(wù)待操作數(shù)量。同一移庫(kù)任務(wù),對(duì)于移庫(kù)目標(biāo)庫(kù)位,鎖定為待移入數(shù)量。
  • 待調(diào)整數(shù)量- 調(diào)整單待執(zhí)行數(shù)量。

總結(jié)

通過(guò)上面的分析,我們可以知道WMS中可以啟用“暫存庫(kù)位”,也可以不啟用,最終我們都可以達(dá)到最終的業(yè)務(wù)目的。

當(dāng)引入了“暫存庫(kù)位”之后,意味著倉(cāng)庫(kù)入庫(kù)、出庫(kù)、盤(pán)點(diǎn)、移庫(kù)等各種操作都要考慮使用“暫存庫(kù)位”來(lái)承載庫(kù)存。當(dāng)倉(cāng)庫(kù)發(fā)生了庫(kù)位庫(kù)存的變動(dòng)之后,往往會(huì)同時(shí)生成兩條流水,一條是存儲(chǔ)庫(kù)位的,一條是暫存庫(kù)位的,這兩者關(guān)聯(lián)的業(yè)務(wù)單據(jù)和動(dòng)作任務(wù)等是同一個(gè)。

當(dāng)后續(xù)需要定位一些庫(kù)存異常問(wèn)題的時(shí)候,可以通過(guò)庫(kù)存流水,庫(kù)存變更的詳情來(lái)快速處理,因?yàn)樵截S富的記錄,越豐富的字段,是可以大幅度提升排查問(wèn)題的效率。

同時(shí)也因?yàn)樵黾恿诉^(guò)多的概念和邏輯,系統(tǒng)的功能設(shè)計(jì),邏輯設(shè)計(jì),還有使用體驗(yàn)等多少會(huì)受到一些影響,例如說(shuō)系統(tǒng)邏輯更復(fù)雜了,開(kāi)發(fā)難度更高,成本更高,同時(shí)用戶上手學(xué)習(xí)的成本也更高了,使用起來(lái)更復(fù)雜了。

而海外倉(cāng)WMS或者是一些簡(jiǎn)單化的WMS,一方面是業(yè)務(wù)場(chǎng)景沒(méi)有那么復(fù)雜,軟件功能夠用即可;另一方面也是基于用戶的上手學(xué)習(xí)使用的成本,往往會(huì)考慮更簡(jiǎn)單直白的設(shè)計(jì)方案,所以往往在設(shè)計(jì)相關(guān)系統(tǒng)的時(shí)候不會(huì)采用引入“暫存庫(kù)位”的方案。

雖然沒(méi)有“暫存庫(kù)位”,但是海外倉(cāng)WMS依然可以實(shí)現(xiàn)入庫(kù)到上架,揀貨到出庫(kù)的各項(xiàng)業(yè)務(wù)流程。即使有一些解決方案可能會(huì)有一定的取舍,不過(guò)最終所取得的結(jié)果還是沒(méi)問(wèn)題的,這也是海外倉(cāng)領(lǐng)域發(fā)展了這么多年之后的經(jīng)驗(yàn)沉淀。

本文由人人都是產(chǎn)品經(jīng)理作者【PM維他命】,微信公眾號(hào):【PM維他命】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

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

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 是不是還有個(gè)在途庫(kù)存?
    是不是還有個(gè)停泊庫(kù)存?

    來(lái)自浙江 回復(fù)
    1. 嗯,在途是另外的概念,停泊這個(gè)沒(méi)聽(tīng)過(guò)

      來(lái)自廣東 回復(fù)
专题
13837人已学习13篇文章
产品体验报告,是体验者在深入了解某个产品的商业模式、使用场景、产品功能等方面后,所作出的先有深度再到广度的图文分析报告。本专题的文章分享了不同产品的体验报告。
专题
34709人已学习13篇文章
有多少用户痛点,你是听回来的,而不是经过深思过后找出来的。
专题
33705人已学习16篇文章
信息流背后有着怎样的逻辑和策略?
专题
15279人已学习12篇文章
本专题的文章分享了互联网金融风控体系的设计指南。
专题
12881人已学习11篇文章
在工作中我们会跟客户/boss/用户等人对接需求,并把需求交付给设计师/开发等人,那么应该怎么做呢,本专题的文章分享了如何对接和交付需求。