電商后臺(tái)之庫(kù)存系統(tǒng)
編輯導(dǎo)語(yǔ):在電商系統(tǒng)里,庫(kù)存系統(tǒng)是其中必備的一個(gè)系統(tǒng),要建立一個(gè)良好的庫(kù)存系統(tǒng),就需要了解清楚其中的幾個(gè)重要概念。本文從庫(kù)存是什么、為什么要做、庫(kù)存的變化以及缺貨的解決辦法這幾個(gè)方向出發(fā),介紹電商后臺(tái)中的庫(kù)存系統(tǒng),一起來(lái)看。
電商系統(tǒng)有一個(gè)繞不開(kāi)的系統(tǒng),那就是庫(kù)存體系。庫(kù)存體系的設(shè)計(jì)對(duì)于電商的貨物扭轉(zhuǎn)有著非常重要的作用。想要設(shè)計(jì)一套庫(kù)存體系首先就是要了解庫(kù)存是什么、為什么做、庫(kù)存的變化、缺貨怎么辦。今天我將圍繞以下幾個(gè)方向來(lái)詳細(xì)講解一下電商中的庫(kù)存體系。
一、庫(kù)存是什么
廣義:具有經(jīng)濟(jì)價(jià)值的任何物品的停滯與儲(chǔ)藏,是供將來(lái)使用的所有閑置資源。
狹義:就是倉(cāng)庫(kù)里存放的東西。
二、庫(kù)存從何而來(lái)
對(duì)于倉(cāng)庫(kù)而言,所有的庫(kù)存一開(kāi)始均來(lái)自于采購(gòu)入庫(kù)。
從各銷(xiāo)售平臺(tái)層面講,允許先有庫(kù)存再銷(xiāo)售和先銷(xiāo)售再有庫(kù)存(預(yù)售)兩種模式。
三、為什么要做庫(kù)存體系設(shè)計(jì)
保持一定的商品庫(kù)存是為了減少供應(yīng)商供貨不到位或不確定性帶來(lái)的風(fēng)險(xiǎn),是滿足一些計(jì)劃之外的意外需求或者臨時(shí)需求,并且實(shí)際的需求和預(yù)測(cè)是有差異的。
1)庫(kù)存過(guò)少帶來(lái)的風(fēng)險(xiǎn)
- 可能產(chǎn)生應(yīng)對(duì)緊急訂單的困難,造成客戶(hù)投訴或因此失去市場(chǎng)或客戶(hù);
- 產(chǎn)生供應(yīng)風(fēng)險(xiǎn),需啟動(dòng)緊急計(jì)劃;
- 因供應(yīng)風(fēng)險(xiǎn)的產(chǎn)生,可能導(dǎo)致緊急采購(gòu),進(jìn)而引發(fā)采購(gòu)成本的上升;
- 因可能產(chǎn)生供應(yīng)緊張,造成因此產(chǎn)生的緊急配送或空運(yùn),增加物流成本。
2)庫(kù)存過(guò)大帶來(lái)的風(fēng)險(xiǎn)
- 增加倉(cāng)庫(kù)面積和庫(kù)存保管費(fèi)用,從而提高生產(chǎn)成本;
- 占用大量的流動(dòng)資金,造成資金呆滯;
- 造成成品和原材料的有形和無(wú)形損耗。
3)負(fù)庫(kù)存帶來(lái)的風(fēng)險(xiǎn)
- 增加商品的不明損耗;
- 產(chǎn)生缺貨;
- 損失商品毛利。
四、電商系統(tǒng)的庫(kù)存體系
商庫(kù)存體系分為了三層:銷(xiāo)售層、調(diào)度層、倉(cāng)庫(kù)層。
1. 銷(xiāo)售層
指我們前臺(tái)的商品數(shù)量,也就是我們平時(shí)在電商 app 前臺(tái)看到的庫(kù)存數(shù)量,銷(xiāo)售層庫(kù)存不足時(shí),前臺(tái)就顯示缺貨,無(wú)法售賣(mài)。
這一層主要面對(duì)前端手機(jī)用戶(hù),一般情況下,前端庫(kù)存要和實(shí)物庫(kù)存保持一致,即不能超賣(mài)。但是做預(yù)售時(shí),就是虛擬庫(kù)存,下單時(shí)涉及到的庫(kù)存動(dòng)作只在銷(xiāo)售層,待到備貨之后,再推送至調(diào)度層。
銷(xiāo)售層的庫(kù)存決定是否可售賣(mài),下單是否能成功。在秒殺時(shí),活動(dòng)庫(kù)存決定了是否可以秒殺成功;預(yù)售時(shí),預(yù)售庫(kù)存決定是否可下定金預(yù)定。
可銷(xiāo)售庫(kù)存:網(wǎng)站前臺(tái)顯示的庫(kù)存,可以對(duì)外售賣(mài)的庫(kù)存。當(dāng)“可銷(xiāo)售庫(kù)存>0”時(shí),前臺(tái)網(wǎng)站則會(huì)顯示商品可銷(xiāo)售;而“可銷(xiāo)售庫(kù)存=0”時(shí),前臺(tái)網(wǎng)站則會(huì)顯示商品缺貨。
鎖定庫(kù)存:用戶(hù)下單鎖定庫(kù)存,支付后扣減庫(kù)存。鎖定庫(kù)存指的下單時(shí)占用庫(kù)存,保證客戶(hù)下單后支付的訂單都是有貨可發(fā),而不會(huì)相互沖突。
已銷(xiāo)售庫(kù)存:統(tǒng)計(jì)商品已售數(shù)量。當(dāng)支付成功,商品就算作已銷(xiāo)售庫(kù)存。如果取消訂單或售后就需要走相應(yīng)的庫(kù)存變動(dòng)流程變動(dòng)。
活動(dòng)庫(kù)存:主要是做促銷(xiāo)活動(dòng)(例如秒殺)時(shí),分配固定數(shù)量的商品給相應(yīng)的活動(dòng),這時(shí)候就需要從可銷(xiāo)售庫(kù)存中占用相應(yīng)數(shù)量給活動(dòng)庫(kù)存。這部分庫(kù)存也是走相應(yīng)的鎖定、扣減邏輯。
預(yù)售庫(kù)存:這部分是虛擬庫(kù)存,主要是拉動(dòng)式需求,例如B端訂貨、雙十一定金預(yù)售等。預(yù)售同樣走相應(yīng)的鎖定、扣減邏輯。不同的是,預(yù)售的訂單需要備貨之后,再推送至調(diào)度層。
2. 調(diào)度層
調(diào)度層匯總了所有倉(cāng)庫(kù)的庫(kù)存(倉(cāng)庫(kù)可能有多個(gè)),調(diào)度層負(fù)責(zé)向銷(xiāo)售層同步商品庫(kù)存,并供各大平臺(tái)上的訂單下載后在OMS(訂單管理系統(tǒng))占用/扣減/釋放/返還,產(chǎn)生缺貨信息。
調(diào)度層相當(dāng)于訂單的分配中心,將訂單轉(zhuǎn)化為發(fā)貨單,按照調(diào)度規(guī)則決定哪些sku(商品編號(hào)-最小存貨單位)由哪個(gè)倉(cāng)庫(kù)發(fā)貨。(現(xiàn)在已經(jīng)被引申為產(chǎn)品統(tǒng)一編號(hào)的簡(jiǎn)稱(chēng),每種產(chǎn)品均對(duì)應(yīng)有唯一的SKU號(hào))。
調(diào)度層的庫(kù)存分為單倉(cāng)、區(qū)域、總庫(kù)存三個(gè)維度,區(qū)域庫(kù)存指的是這些倉(cāng)庫(kù)只發(fā)某一區(qū)域的,例如京東華中地區(qū)的倉(cāng)庫(kù)配送華中地區(qū),北京就無(wú)法從華中地區(qū)的倉(cāng)庫(kù)發(fā)貨。總庫(kù)存即所有倉(cāng)庫(kù)的庫(kù)存總計(jì)。
賬面庫(kù)存:倉(cāng)庫(kù)中的實(shí)物庫(kù)存,只要是未出庫(kù)的都算在賬面庫(kù)存中。
可用庫(kù)存:倉(cāng)庫(kù)中可供發(fā)貨的庫(kù)存。這部分庫(kù)存是可供調(diào)度的庫(kù)存。
在途庫(kù)存:下了采購(gòu)單但是尚未入庫(kù)的庫(kù)存,在途庫(kù)存理論上部分是可供銷(xiāo)售的,例如T+1的在途庫(kù)存,就是1日之后就可以入庫(kù)的sku。
不可銷(xiāo)售庫(kù)存:倉(cāng)庫(kù)盤(pán)損的庫(kù)存,倉(cāng)庫(kù)中的不良品,無(wú)法售賣(mài)的庫(kù)存。這部分庫(kù)存需要通過(guò)特定途徑處理。
已用庫(kù)存:在調(diào)度層已分配的庫(kù)存。
調(diào)度層在某些方面上和前端庫(kù)存有些重疊,前端庫(kù)存也會(huì)分區(qū)域和總庫(kù)存,但是不同的是,調(diào)度層對(duì)應(yīng)的是實(shí)物,不會(huì)存在虛擬庫(kù)存,流到調(diào)度層的訂單經(jīng)由調(diào)度后推動(dòng)至倉(cāng)庫(kù)發(fā)貨。
3. 倉(cāng)庫(kù)層
倉(cāng)庫(kù)層負(fù)責(zé)向調(diào)度層同步商品庫(kù)存,每一個(gè)倉(cāng)庫(kù)的賬面庫(kù)存與調(diào)度層的倉(cāng)庫(kù)總庫(kù)存是一致的,通過(guò)調(diào)度層的訂單會(huì)下發(fā)至WMS系統(tǒng)進(jìn)行占用/扣減/釋放/返還。
倉(cāng)庫(kù)層的庫(kù)存對(duì)應(yīng)的是實(shí)物庫(kù)存,出庫(kù)入庫(kù)盤(pán)點(diǎn)都會(huì)引起倉(cāng)庫(kù)庫(kù)存的變動(dòng)。
可用庫(kù)存:發(fā)貨單推至倉(cāng)庫(kù)后,倉(cāng)庫(kù)可以用于發(fā)貨的庫(kù)存,不包括鎖定的庫(kù)存。
鎖定庫(kù)存:發(fā)貨單推送至倉(cāng)庫(kù)后鎖定庫(kù)存,鎖定時(shí)同時(shí)去鎖定庫(kù)位庫(kù)存。
已出庫(kù)庫(kù)存:已經(jīng)確認(rèn)出庫(kù)的實(shí)物庫(kù)存。
不可用庫(kù)存:盤(pán)點(diǎn)時(shí)發(fā)現(xiàn)的不良品,需要報(bào)損,從可用庫(kù)存轉(zhuǎn)化為不可用庫(kù)存。
庫(kù)位:倉(cāng)庫(kù)中的庫(kù)存是由庫(kù)位庫(kù)存組成的,庫(kù)位上分為可用庫(kù)存、鎖定庫(kù)存兩種。
五、庫(kù)存是如何變化的
1. 銷(xiāo)售層
銷(xiāo)售層分拍下減庫(kù)存和支付減庫(kù)存,拍下減庫(kù)存會(huì)涉及占用,支付減庫(kù)存不會(huì)涉及占用,兩種方式對(duì)庫(kù)存的影響,如下圖所示(這里假設(shè)購(gòu)買(mǎi)的商品是2件):
(拍下減庫(kù)存)
(支付減庫(kù)存)
以上是銷(xiāo)售層自有的庫(kù)存占用/釋放/扣減/返還邏輯,除此以外,銷(xiāo)售層還會(huì)接受來(lái)自調(diào)度層的庫(kù)存同步,同步行為一般定時(shí)產(chǎn)生。
2. 調(diào)度層和倉(cāng)庫(kù)層
由于調(diào)度層和倉(cāng)庫(kù)層庫(kù)存交互的業(yè)務(wù)比較多,這個(gè)地方一起來(lái)介紹。
- 整個(gè)流程從調(diào)度層這邊開(kāi)始,銷(xiāo)售處產(chǎn)生了新的訂單給調(diào)度層;
- 正常情況下占用庫(kù)存增加,如果庫(kù)存足夠被占用,那就占用庫(kù)存層的揀貨區(qū)庫(kù)存,如果揀貨區(qū)庫(kù)存足夠占用的話,那就出庫(kù),倉(cāng)庫(kù)的庫(kù)存減少,總庫(kù)存也減少,占用庫(kù)存也減少,這是一個(gè)正常的流程。
中間會(huì)有幾個(gè)分支:
- 在倉(cāng)庫(kù)層這邊,假如加入揀貨區(qū)庫(kù)存不夠被占用,那就會(huì)生成待補(bǔ)貨訂單,這個(gè)時(shí)候需要進(jìn)行倉(cāng)庫(kù)移位,把倉(cāng)庫(kù)的庫(kù)存移到揀貨區(qū),讓揀貨區(qū)的庫(kù)存增加;
- 同樣在倉(cāng)庫(kù)層這邊,在盤(pán)點(diǎn)庫(kù)存的時(shí)候,如果出現(xiàn)盤(pán)虧(也就是倉(cāng)庫(kù)的實(shí)際庫(kù)少于賬面庫(kù)存,通常是被偷了等),那倉(cāng)庫(kù)的庫(kù)存也要扣減,如果出現(xiàn)盤(pán)盈,那倉(cāng)庫(kù)庫(kù)存就要增加,當(dāng)然,如果有新商品入庫(kù),倉(cāng)庫(kù)庫(kù)存也要增加;
- 在調(diào)度層這邊庫(kù)存,如果庫(kù)存不夠被占用后,會(huì)產(chǎn)生缺貨訂單,等待倉(cāng)庫(kù)補(bǔ)貨,或者退換貨等行為導(dǎo)致庫(kù)存增加,補(bǔ)上之前的缺貨訂單,庫(kù)存能夠被占用。
六、缺貨該怎么辦?
OMS層(訂單管理系統(tǒng)):
缺貨處理在企業(yè)內(nèi)部需要運(yùn)營(yíng)層、客服、采購(gòu)三方協(xié)作共同完成。運(yùn)營(yíng)負(fù)責(zé)提供可選的解決方案,如告知客服可與客戶(hù)協(xié)商更換其他同類(lèi)型產(chǎn)品或告知客戶(hù)退款取消;采購(gòu)負(fù)責(zé)進(jìn)行訂貨并反饋訂貨到貨時(shí)間;客服負(fù)責(zé)聯(lián)系購(gòu)買(mǎi)客戶(hù),向客戶(hù)溝通運(yùn)營(yíng)提出的解決方案,如客戶(hù)堅(jiān)持等,則告知預(yù)計(jì)的到貨時(shí)間信息。
采購(gòu)到貨后優(yōu)先保證缺貨訂單中先下單的用戶(hù)先發(fā)貨。產(chǎn)品層面需要給三方提供一個(gè)協(xié)作平臺(tái),將彼此的信息共享做到透明化。
WMS層(倉(cāng)庫(kù)管理系統(tǒng)):
缺貨指的是揀貨區(qū)缺貨,系統(tǒng)需要告知倉(cāng)庫(kù)揀貨區(qū)缺貨的數(shù)量,倉(cāng)庫(kù)作業(yè)人員從存儲(chǔ)區(qū)補(bǔ)貨至揀貨區(qū)可解決揀貨區(qū)缺貨問(wèn)題。
本文由 @今夜睡橋底 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自Pexels,基于CC0協(xié)議。
小白有一點(diǎn)不明白問(wèn)一下:為什么OMS層有庫(kù)存足夠占用的判斷,WMS層也有一個(gè)揀貨區(qū)庫(kù)存足夠占用的判斷,這倆有什么區(qū)別。后者應(yīng)該是倉(cāng)庫(kù)內(nèi)揀貨區(qū)的可售庫(kù)存是否足夠,那前者指的是什么呢?
oms層的庫(kù)存不是實(shí)體庫(kù)存呀,只是一個(gè)數(shù)字,反映到前端就是app上的庫(kù)存數(shù)字,反饋給wms就變成了實(shí)體庫(kù)存的缺貨
很體系化的介紹