6.2 銷售庫存管理

一般情況下,銷售層的庫存要和調度層的實物庫存保持一致。但是有時候業務需求是允許超賣、做預售、不同活動獨佔庫存、不同渠道分配庫存,就會造成預售層庫存與調度層實物庫存不一致。具體的業務場景如下。

(1)允許超賣。這種場景很常見,在雙11、618這些活動時,在備貨量不足的時候,為了訂單量往往會允許超賣,只要及時補貨就行。

(2)做預售。例如蘋果、小米新品發佈時經常玩的套路:先交錢,預估出貨時間,等有貨了再給買家發貨。

(3)不同活動獨佔庫存。拼團、限時秒殺這類促銷活動,往往是從實際庫存取出部分庫存來做活動。例如正常價值199元的背包,庫存1000件,現在拿出100件做活動,99元限時秒殺。

(4)不同渠道分配庫存。許多商家有多個渠道,通常有自營平台、天貓店、京東店、有贊店等,這些平台都共用一套庫存。在對接各平台之後,可以把對不同渠道分配庫存。例如天貓店分配總庫存的1/3,京東店分配1/6,有贊店分配1/6,自營平台分配1/3。也可以簡單處理,讓多店採用同一套庫存,即多個店顯示相同的商品數量,這時候就需要設置警戒值,當庫存數量低於警戒值時,將所有商品下架處理,另外每當商品銷售後,也需要更新其他各渠道的商品庫存。

前文提到過可銷售庫存、鎖定庫存、已銷售庫存等概念,除此之外,還有銷售總庫存、現貨庫存。顧名思義,現貨庫存是同步調度層的實物庫存。一般情況下,銷售總庫存是同步現貨庫存,但是在允許超賣的情況下,銷售總庫存可以與現貨庫存脫離不同步,單獨設置銷售總庫存。例如商品A在倉庫裡有100件,可設置銷售總庫存為200,先賣的100件可成功推至倉庫,後面100件等到貨之後再推送至倉庫。

可銷售庫存、鎖定庫存與銷售總庫存的關係,公式表達如下。

可銷售庫存=銷售總庫存-鎖定庫存

用戶前端頁面顯示的庫存數、下單判斷是否有貨的庫存數都是可銷售庫存,只有可銷售庫存數大於購買數量時,才能下單成功。

我們來看看下單時庫存的扣減、返還邏輯。如圖6-4所示,以下單選擇A商品、數量2件為例。

圖6-4 下單時庫存動作

(1)提交訂單後,判斷可銷售庫存數量是否≥2,若無法滿足,則提示「庫存不足」,訂單提交失敗。

(2)若可銷售庫存數量滿足≥2的條件時,可銷售庫存數減2、鎖定庫存數加2,成功提交訂單。

(3)在用戶確定訂單、進行支付之後,銷售總庫存數減2,現貨庫存數減2,鎖定庫存數減2,已銷售庫存數加2。做完這一系列的庫存動作之後,銷售層的庫存處理才算結束。

(4)若買家在支付前取消了訂單,則返還庫存,可銷售庫存數加2,鎖定庫存數減2。

(5)若買家在支付之後、發貨之前取消訂單,這種情形比較複雜。若訂單下發至調度層或倉庫,則下面兩層的庫存先返還,銷售層的庫存最後返還。銷售總庫存數加2、現貨庫存數加2、已銷售庫存數加2。

【活動庫存的管理】

在做拼團、秒殺等活動的時候,需要從銷售總庫存中劃出一部分庫存給活動獨佔,從銷售庫存中鎖定庫存。分配給活動的庫存單獨管理,同樣走鎖定、扣減、釋放這一套邏輯。在訂單支付之後,針對銷售層庫存,進行銷售總庫存扣減,現貨庫存扣減,鎖定庫存扣減,已銷售庫存增加的一系列操作。

在活動結束之後,若仍有剩餘庫存,釋放獨佔庫存。

【預售庫存的管理】

預售庫存是虛擬庫存,無實物,到貨之後才能發貨。這種類型的需求可以通過銷售總庫存與實物庫存斷開同步、單獨設置的方式來實現。前台買家下單成功之後,店家等實物到貨之後,統一推送至倉庫,安排發貨。

《電商產品經理寶典:電商後台系統產品邏輯全解析》