IMS,庫(kù)存管理系統(tǒng),顧名思義是對(duì)庫(kù)存管理。
在之前庫(kù)內(nèi)管理的文章中提到過(guò)倉(cāng)庫(kù)內(nèi)部也有庫(kù)存管理,主要針對(duì)的是庫(kù)存的數(shù)量、位置、品質(zhì)這三個(gè)維度。
而IMS則是架構(gòu)在WMS之上對(duì)整體庫(kù)存總量進(jìn)行管控,主要針對(duì)的是量或者說(shuō)是庫(kù)存可用性的管控,并且作為庫(kù)存中間管理者鏈接銷售前臺(tái)、上游ERP,統(tǒng)一管理整條鏈路中的庫(kù)存變更確保上下游庫(kù)存的準(zhǔn)確性。
下面我們就來(lái)看下在實(shí)際運(yùn)營(yíng)的售賣和出入庫(kù)的過(guò)程中,IMS在系統(tǒng)間是如何進(jìn)行管理的,按照觸發(fā)方向可以分為2部分來(lái)看,正向:前臺(tái) → WMS觸發(fā)和逆向:ERP/WMS → 前臺(tái)觸發(fā)。
流程中訂單取消指的是未發(fā)貨的訂單取消,通常已發(fā)貨需要走售后流程
【注意:以上的同步以普通售賣為例,不考慮其他特殊策略下的庫(kù)存增量同步,稍微會(huì)有一些差別。讀者可以在讀完全文后思考下對(duì)于不同的策略,在增量更新時(shí)會(huì)有什么差別】
從上面的兩個(gè)流程中可以看出所有出庫(kù)的創(chuàng)建都是基于IMS庫(kù)存足夠的前提,且所有與商品數(shù)量變更相關(guān)的單據(jù)的創(chuàng)建及執(zhí)行結(jié)果都需要經(jīng)過(guò)IMS的中轉(zhuǎn)和分發(fā)才可以在流程下游系統(tǒng)進(jìn)行庫(kù)存變更的執(zhí)行。
通常IMS中庫(kù)存的扣減分為兩步:預(yù)占,扣減;而庫(kù)存增加則不需要預(yù)動(dòng)作,是通過(guò)在途來(lái)標(biāo)記,在到貨后根據(jù)關(guān)聯(lián)單據(jù)將在途庫(kù)存扣減,同時(shí)根據(jù)到貨數(shù)量增加實(shí)際庫(kù)存。
單純從流程上看,可能無(wú)法直接體現(xiàn)IMS的價(jià)值,那么我們來(lái)思考兩個(gè)問(wèn)題:
1. 如果沒(méi)有進(jìn)行庫(kù)存預(yù)占會(huì)發(fā)生什么呢?
設(shè)想下,當(dāng)前A商品在IMS中可用庫(kù)存為10件,前臺(tái)用戶購(gòu)買了2件,訂單下發(fā)到WMS還沒(méi)有發(fā)貨,此時(shí)前臺(tái)庫(kù)存雖然已經(jīng)被扣減了不會(huì)有超賣風(fēng)險(xiǎn)。
但是由于沒(méi)有出庫(kù)所以ERP中仍然有10件庫(kù)存,此時(shí)采購(gòu)人員在ERP中創(chuàng)建了10件商品的退供單(由于沒(méi)有預(yù)占和IMS的校驗(yàn)單子可以創(chuàng)建成功),而倉(cāng)庫(kù)人員也將單據(jù)發(fā)貨了。
這就導(dǎo)致用戶實(shí)際購(gòu)買的2件商品因?yàn)槿必浂鵁o(wú)法發(fā)貨了。
逆向鏈路中庫(kù)存預(yù)占的作用大家也可以自行思考下。
2. 如果沒(méi)有在途庫(kù)存的管控會(huì)有什么問(wèn)題呢?
A倉(cāng)庫(kù)內(nèi)已經(jīng)有1000件X商品了,由于倉(cāng)庫(kù)運(yùn)營(yíng)變更需要從A倉(cāng)庫(kù)調(diào)撥到B倉(cāng)庫(kù)所以創(chuàng)建并讓倉(cāng)庫(kù)執(zhí)行了調(diào)撥單。
1000件商品從A倉(cāng)出庫(kù)了。
如果沒(méi)有在途庫(kù)存,那相當(dāng)于這1000件商品在運(yùn)輸途中暫時(shí)“蒸發(fā)”了,如果采購(gòu)人員不知道有調(diào)撥的情況,很可能認(rèn)為商品售賣完了匆匆又去采購(gòu)X商品了。
并且也很容易由于沒(méi)有考慮未到倉(cāng)商品的體積而導(dǎo)致倉(cāng)庫(kù)爆倉(cāng)的情況(特別是在大促的時(shí)候),而人為去統(tǒng)計(jì)這些數(shù)據(jù)確實(shí)又是一件非常累人且意義不大的工作。
另外,IMS的中間件角色可以減少很多不必要的系統(tǒng)對(duì)接開(kāi)發(fā)工作,形成標(biāo)準(zhǔn)的對(duì)接流程,對(duì)系統(tǒng)標(biāo)準(zhǔn)化也是十分有幫助的。
上面討論的是前臺(tái)已經(jīng)有庫(kù)存的情況下,售賣/關(guān)單或ERP發(fā)起的出入庫(kù)對(duì)鏈路上下游中系統(tǒng)的庫(kù)存影響及IMS的功能。
那么,前臺(tái)庫(kù)存最開(kāi)始的數(shù)量是怎么來(lái)的呢?
首先,需要明確,前臺(tái)在售的庫(kù)存并不是也不能是單純的倉(cāng)庫(kù)庫(kù)存(WMS中的庫(kù)存)的映射,而是經(jīng)過(guò)策略處理的IMS庫(kù)存
在這個(gè)過(guò)程中核心功能點(diǎn)在于策略的設(shè)置,簡(jiǎn)單的說(shuō),就是什么庫(kù)存應(yīng)該同步,什么庫(kù)存不應(yīng)該同步,這個(gè)策略在一定程度上和平臺(tái)的營(yíng)銷/玩法有關(guān)。我們以幾個(gè)比較常見(jiàn)的場(chǎng)景來(lái)介紹幾種策略:
最基礎(chǔ)同步策略,同步IMS中未被占用的在倉(cāng)良品可用庫(kù)存即可。
通常是商品還未到倉(cāng),對(duì)于采購(gòu)單上有預(yù)售標(biāo)記的商品或預(yù)售模塊設(shè)置了預(yù)售的商品可進(jìn)行此類同步。這種情況下除了同步庫(kù)存還需同步計(jì)劃發(fā)貨時(shí)間(貨品的預(yù)計(jì)到貨時(shí)間)。
題外話:這個(gè)方式有助于提升庫(kù)存周轉(zhuǎn)率,且降低了庫(kù)存預(yù)測(cè)不準(zhǔn)帶來(lái)的高擠壓風(fēng)險(xiǎn)。
如前臺(tái)商品是指定區(qū)域供貨,最常見(jiàn)的就是生鮮品類了。那么在同步庫(kù)存時(shí)還需要根據(jù)可用庫(kù)存的在倉(cāng)倉(cāng)庫(kù)覆蓋區(qū)域進(jìn)行過(guò)濾,僅保留同步覆蓋當(dāng)前用戶地址范圍的倉(cāng)庫(kù)在IMS中的可用庫(kù)存來(lái)進(jìn)行同步。
IMS中的庫(kù)存是有庫(kù)存狀態(tài)的,最簡(jiǎn)單的管理是分為良品、不良品。但實(shí)際運(yùn)營(yíng)情況中會(huì)發(fā)現(xiàn)部分商品雖然有一定殘缺(如外包裝破損等)不能稱之為良品,但是仍然是可以銷售的,因此逐漸的我們對(duì)商品的狀態(tài)進(jìn)行了細(xì)化,對(duì)不良分成了不同的等級(jí)。
前臺(tái)售賣時(shí),如對(duì)商品狀態(tài)進(jìn)行特殊標(biāo)記,IMS可根據(jù)標(biāo)記只同步同類型庫(kù)存。
初始化數(shù)量只能為設(shè)定的互動(dòng)數(shù)量,當(dāng)然前提是當(dāng)前可用庫(kù)存大于活動(dòng)量。這種玩法有個(gè)比較特殊的點(diǎn)在于,活動(dòng)開(kāi)始后需要直接鎖定IMS庫(kù)存(訂單下發(fā)之后不會(huì)進(jìn)行二次鎖定),避免在活動(dòng)結(jié)束前ERP端的其他出庫(kù)單的下發(fā)執(zhí)行使可用于活動(dòng)的商品不足造成超賣,只有活動(dòng)結(jié)束后才可釋放。
而除了限量秒殺之外,上面其他幾種方式則是在用戶下單成功、訂單系統(tǒng)接收到訂單后,才進(jìn)行對(duì)應(yīng)的IMS庫(kù)存占用。
通過(guò)上文的介紹,可以看出IMS主要扮演了“中轉(zhuǎn)站”和“預(yù)留者”這兩個(gè)角色。
上下游有庫(kù)存相關(guān)的單據(jù)都需要先詢問(wèn)IMS庫(kù)存是否足夠,如果IMS回復(fù)庫(kù)存足夠才可以創(chuàng)建單據(jù)并進(jìn)行下一步。
而IMS在告知上游足夠并接收到創(chuàng)建成功的單據(jù)后,會(huì)“非常負(fù)責(zé)”的將庫(kù)存“預(yù)留”(庫(kù)存鎖定)并將單據(jù)傳給下游的執(zhí)行方。
在收到執(zhí)行結(jié)果后,對(duì)預(yù)留的庫(kù)存進(jìn)行實(shí)際的執(zhí)行。前臺(tái)庫(kù)存的同步則是基于IMS本身的職能和特性結(jié)合運(yùn)營(yíng)要求而執(zhí)行的數(shù)據(jù)同步。
此外,“中轉(zhuǎn)站”的角色讓IMS系統(tǒng)記錄了所有入/出庫(kù)單據(jù),可以及時(shí)反映各種物資的倉(cāng)儲(chǔ)、流向情況,為生產(chǎn)管理和成本核算提供依據(jù)。