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