經驗分享:電商庫存體系設計筆記
最近在做倉庫庫存管理相關的項目,清晰地了解了倉庫是如何管理庫存的,并且整清楚了各個系統的庫存是如何交互的,整理了下分享給大家。
庫存是什么
這里是百度百科給出的解釋:
“庫存(inventory)”一詞的定義是:“以支持生產,維護,操作和客戶服務為目的而存儲的各種物料,包括原材料和在制品,維修件和生產消耗品,成品和備件等”。
- 狹義:“倉庫里存放東西”。
- 廣義:庫存就是具有經濟價值的任何物品的停滯與儲藏,是供將來使用的所有閑置資源。
庫存從何而來
從WMS層面講(對于倉庫而言),所有的庫存一開始均來自于采購入庫;
從各銷售平臺層面講,允許先有庫存再銷售和先銷售再有庫存(預售)兩種模式。
庫存相關的要素
一般我們在天貓上看到的庫存就是某某品有多少件,管理的庫存相關元素不多,僅有SKU編碼/名稱、可用庫存、占用庫存這些,但是在真實的倉庫層面需要管理的庫存相關的元素就會多很多了:
- 倉庫——標識商品在哪個倉庫;
- 供應商——標識商品來自哪個供應商;
- 貨品編碼——ERP系統按照規則為SKU生成的編碼;
- 貨品名稱——企業員工在ERP系統為SKU定義的名稱;
- 生產批號——商品生產批號信息,可在實物包裝盒上找到;
- 生產日期——商品實物的生產日期,可在實物包裝盒上找到;
- 有效期——商品實物的有效日期,可在實物包裝盒上找到;
- 注冊證號——商品實物的注冊證號,可在實物包裝盒上找到,醫療器械商品專用;
- 貨主——倉庫作為第三方倉庫(存放的貨物不是自家的)存在時需要標識貨物是哪家企業的;
- 貨位——標識商品所在貨位,方便揀貨推薦貨位(精確至貨位需要系統層面的大力投入和線下作業精細化,挑戰比較大);
- 賬面庫存——見下文介紹;
- 占用庫存——見下文介紹;
- 可用庫存——見下文介紹;
- 入庫時間——用來計算商品的庫齡(在倉庫的時長),庫齡配合供應商賬期可用來計算商品的庫存資金占用情況。
至于這些要素如何入和如何出的,放到以后再詳說。
幾個有關庫存的名詞解釋下(下文有用)
賬面庫存:倉庫實物體現在系統中的數量,顧名思義它僅僅是系統中的一個數字,倉庫實物真正的數量可能與賬面庫存不符,所以就有了盤點業務。
占用庫存:標識商品庫存暫時為部分訂單所有,占用庫存一般用來防止超賣,統計缺貨信息等。
釋放庫存:是與“占用庫存”相對的概念,訂單通過取消、換貨、合并單等操作會釋放原有的占用庫存,庫存釋放后可供后面的訂單繼續占用。
扣減庫存:訂單占用庫存后的下一步操作,確認當前庫存為某訂單所有后(如訂單出庫等),會扣減商品占用庫存和總庫存。
返還庫存:有關庫存的逆向操作,如訂單支付后取消會返還商品在銷售平臺上的庫存,訂單出庫后取消出庫會返還商品在WMS系統中的庫存。
可用庫存:可用庫存是用公式減出來的,可用庫存=總庫存-占用庫存,表明當前還有多少數量可以使用,像我們在淘寶前端看到的商品數量就是可用庫存。
電商系統的庫存體系
電商系統一般將庫存分為了三層:銷售層、調度層、倉庫層。
- 銷售層:即銷售平臺(天貓、京東、蘇寧等)上的商品數量,供平臺訂單占用/扣減/釋放,銷售層庫存不足時,一般不允許繼續售賣。
- 調度層:調度層匯總了所有倉庫的庫存(倉庫可能有多個),調度層負責向銷售層同步商品庫存,并供各大平臺上的訂單下載后在OMS系統占用/扣減/釋放/返還,產生缺貨信息。
- 倉庫層:倉庫層負責向調度層同步商品庫存,每一個倉庫的賬面庫存與調度層的倉庫總庫存是一致的,通過調度層的訂單會下發至WMS系統進行占用/扣減/釋放/返還。
三者之間的關系如下圖所示:
銷售層、調度層和倉庫層庫存是如何變化的
1. 銷售層
銷售層分拍下減庫存和支付減庫存,拍下減庫存會涉及占用,支付減庫存不會涉及占用,兩種方式對庫存的影響,如下圖所示(這里假設購買的商品是2件):
拍下減庫存
支付減庫存
以上是銷售層自有的庫存占用/釋放/扣減/返還邏輯,除此以外,銷售層還會接受來自調度層的庫存同步,同步行為一般定時產生。
2. 調度層和倉庫層庫存如何交互
由于調度層和倉庫層庫存交互的業務比較多,所以將引起兩者庫存變動的業務在一張圖上顯示了。
與庫存管理相關的問題
1. 缺貨(庫存過少)
發生缺貨了怎么辦?
OMS層:
缺貨處理在企業內部需要運營層、客服、采購三方協作共同完成。運營負責提供可選的解決方案,如告知客服可與客戶協商更換其他同類型產品或告知客戶退款取消;采購負責進行訂貨并反饋訂貨到貨時間;客服負責聯系購買客戶,向客戶溝通運營提出的解決方案,如客戶堅持等,則告知預計的到貨時間信息。
采購到貨后優先保證缺貨訂單中先下單的用戶先發貨。
產品層面需要給三方提供一個協作平臺,將彼此的信息共享做到透明化。
WMS層:
這里的缺貨指的是揀貨區缺貨,系統需要告知倉庫揀貨區缺貨的數量,倉庫作業人員從存儲區補貨至揀貨區可解決揀貨區缺貨問題。
怎么防止缺貨?
OMS層:
還是協作。一方面需要運營盡量做出精準的銷量預測,并將之反饋給采購;采購根據銷量預測、庫存情況、供應商補貨時長等信息及時做出采購,如果中間有特殊情況(如停采、供應商補貨時長過長等)也需同步反饋給運營,方便運營及時調整銷售計劃。
當然缺貨是無法完全避免的,這就涉及到一個概念,供應鏈管理的目標是使供應鏈盈利最大化,供應鏈盈利最大化情況下的缺貨數量是最適合企業的。
關于具體的預測方法和計算如何使供應鏈盈利最大化,后面再討論。
WMS層:
可以設置補貨預警,揀貨區商品數量到達預警線之下后觸發預警通知,倉庫作業人員可在揀貨區真正缺貨前及時補貨,不用等到真正缺貨再去補貨。
2. 庫存資金占用(庫存過多)
影響周轉庫存的因素有很多,比如需求的不確定性、供應商的補貨提前期、供應商端的促銷政策、每次的訂貨成本、庫存持有成本等等,如何確定一個最優的訂貨批量和安全庫存還是要以供應鏈盈利最大化為前提。
具體確定的方法后面研究透徹后再討論。
3. 為什么企業內部的庫存管理需要分成OMS層和WMS層
分工不一樣
OMS層不涉及實物管理,可以基于倉庫所有的庫存統計訂單缺貨信息;WMS層涉及到實物的分庫區管理甚至分貨位管理,訂單下發至WMS后僅會占用揀貨區庫存,而僅占用揀貨區庫存是無法知道訂單真實的缺貨情況的(漏了存儲區)。當然如果企業的WMS不需要將庫存精細化管理至庫區或貨位的,是可以共用一套庫存系統的。
系統邊界明確,方便擴展兼容
如果企業的OMS系統和WMS系統用的不是一家軟件公司的,或者需要更換其他公司的服務,僅需做下庫存接口對接就行了不需要做大的調整。所以還是那句話,什么系統就做什么事,邊界理清楚了,事情就做正確了。
以上僅是個人工作過程中的總結,具體是否適合自己當下的企業,還要具體情況具體分析,如有疑問歡迎討論喲。
作者:青檸,微信公眾號:【一只進化中的產品汪】(pm_move_forward),歡迎交流。
本文由 @青檸 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自Unsplash,基于CC0協議
銷售層的商品可以倉庫存的商品用的是同一個管理嗎?
贊文章,可以私信溝通一下嗎?
請問那個例子里,2種銷售層減庫存的方式,為什么訂單退款取消占用庫存都不變呢?按照占用庫存是標識商品庫存暫時為部分訂單所有,那么既然是暫時為某個訂單所有,訂單取消了,占用庫存應該是從2變為0 呀? 希望老師解答,謝謝~
我沒看太懂文檔這2種,我認為 下單占庫存 和 支付占庫存是占庫存的時機不同,肯定是都要占庫存。比如一般是下單占庫存,秒殺肯定是支付占庫存
感謝分享。想問作者一個問題,銷售層和調度層的系統邊界應該如何理解呢,銷售庫存和OMS庫存為何要分開呢
系統之間因為數據庫是獨立的,無法獲取到各自系統的數據,需要通過接口獲取,銷售層存在于ERP/運營中臺,OMS可以使用第三方軟件也可以自主研發,無論購買/研發都是獨立于運營中臺系統外可能域名都會不一樣,產品結構和系統架構都不能偶合,各自處理系統內業務。
感謝分享,最近在設計工廠的庫存體系,羨慕可以完整追蹤的庫存,目標工廠的零進零出,零進整出,隔離庫等等把我快搞瘋了。。。。
共同學習
感謝作者分享經驗,已學習。
期待作者分享更多經驗
好噠
感謝分享,
不謝嘻嘻