跨境電商海外倉(10):WMS的庫齡與倉租功能設計

14 評論 9147 瀏覽 37 收藏 14 分鐘

編輯導語:WMS指倉庫管理系統,在WMS中,庫齡是指貨物在倉庫中存放的時長,庫齡越大意味著存放的時間越長,也意味著產品不好賣,可能成為了滯銷品。庫齡和倉租是WMS中很核心也很關鍵的一個模塊,但卻少有文章涉及這一方面。本篇文章作者將WMS中的庫齡和倉租功能設計詳細拆解開來,為我們分享這一WMS中關鍵模塊的干貨,一起來看。

在供應鏈行業,大家都很看重庫存的周轉率,庫存周轉率高就意味著產品賣的快,在短時間內產生盈利的次數就多;而周轉率越低,則表示產品賣出的慢,庫存可能一直積壓在手里,可周轉資金的資金也就少了。

在WMS中,庫齡是指貨物在倉庫中存放的時長,庫齡越大意味著存放的時間越長,也意味著產品不好賣,可能成為了滯銷品。同時對于一些第三方倉庫來說,由于倉庫庫容有限,所以為了避免太多客戶的貨物成為死庫存(庫齡特別長),會在倉租方面設定階梯報價。

例如在海外倉領域,很多第三方海外倉都會有30天免倉租的福利。當貨物在倉庫的庫齡不超過30天的時候,就可以免倉租。而超過了30天之后,價格就會有一個梯度遞增,即在某個區間內還算便宜,到了另一個梯度就特別貴。

海外倉通過這種「懲罰」的方式,來鼓勵客戶盡快提升周轉率,盡快處理掉庫齡過長的產品。

所以,對于海外倉WMS來說,精確地計算庫內產品的庫齡是一個很關鍵的功能,因為倉租的梯度報價就需要依賴WMS的庫齡數據。

一、庫齡的計算

在倉庫中,貨物的數量是動態變化的??赡苊刻於紩胸浧啡霂焐霞?,也會有貨品下架出庫,庫存數據一直在動態變化。

庫齡是指貨物在倉庫中待的時長,一般是用天來統計的。那如果貨物一直有進有出,系統該如何記錄具體的貨物到底在倉庫待了多少天呢?

這個時候一般會引入一個批次的概念,也可以稱為入庫批次號或者上架批次號,在這里我們直接簡單點叫批次吧。

跨境電商海外倉:WMS的庫齡與倉租功能設計

當沒有批次的時候,如果發生了出庫的行為,系統只能知道剩余的總庫存有多少,但是不知道具體的不同時間入庫的那一批還剩多少,也就沒辦法統計具體的庫齡了。

跨境電商海外倉:WMS的庫齡與倉租功能設計

在引入了批次之后,系統遵循先進先出(FIFO)的原則來計算庫齡,就可以精確地知道具體某個批次出庫了多少,還剩余多少,這樣統計庫齡的時候就有依據了。

跨境電商海外倉:WMS的庫齡與倉租功能設計

庫齡每日流水記錄

有了批次之后,每天會對不同批次剩余的SKU數量計算庫齡,相當于一次入庫上架獲得一個批次,但是出庫卻可以分成多次,每次剩余多少都會被記錄,剩余的數量庫齡會一直遞增,直到全部都出庫完成。

當明確了最基礎的庫齡統計方式之后,接下來我們再來看看關于倉租這一塊的內容。

二、倉租的計算

倉租就貨物放在倉庫中需要支付的租金,類似于我們租房子要付的租金一樣。海外倉的倉租計算一般是按貨品的體積(CBM)來計算的,也可能有些倉庫會按數量或者按重量等,再此為了方便闡述,默認都是用CBM來計算。

假如某客戶存放了一個體積為1CBM,數量為1000的貨品在倉庫,那么他的倉租就會等于體積*數量*庫齡*倉租單價,但是由于數量與庫齡都是動態變化的,所以一般會按每日計算然后做一個累加,即∑(體積*每日數量*倉租單價)。

以上的倉租計算的初始版本,也是最普通的版本。相當于先計算日租,然后再累積成月租。

但是前面也提到了,海外倉一般會采用倉租梯度計費的方式來作為一種「懲罰」,以推動促進客戶盡快處理滯銷的產品。而剛剛列出的普通版的倉租計算公式,是不能支持梯度的,也不同支持「30天免租」之類的優惠活動的。

于是我們需要對上述的公式進行一個小小地改動升級,讓它變得更強一些。

跨境電商海外倉:WMS的庫齡與倉租功能設計

改動過后的計算方式

當需要使用梯度(30天免租也是梯度的一種)的方式來計算倉租的時候,就需要記錄下每個批次的當前庫齡是多少,是否達到了另一個梯度區間,以此來確定最終的計算單價。

三、庫齡的拓展知識

1. 倒推法與日推法

大家在網絡上搜索「庫齡」或者「庫齡計算」的時候,肯定會看到相關的一個回答,如下圖所示。

跨境電商海外倉:WMS的庫齡與倉租功能設計

包括百度百科里也有相關的闡述。

跨境電商海外倉:WMS的庫齡與倉租功能設計

但是我看了好幾遍都感覺這個描述有點難懂,因為各種細節沒有拆解出來,有些人轉述的時候還搞錯了名詞之類的。所以索性就是自己用圖中的數據,再結合Excel,用笨辦法來倒推了一下數據,重新拆解了圖中的公式,希望大家能更容易上手理解。

跨境電商海外倉:WMS的庫齡與倉租功能設計

倒推法計算平均庫齡

上圖中所說的方式也有人稱之為「倒推法」,其實本質上還是先進先出的批次統計。

以當前的時間的庫存為總數,然后倒推最近的幾次入庫的數量,看最后會倒推在哪個批次。

其實從正向來看也是一樣的道理,當前剩余了1000個庫存,如果系統是嚴格的先進先出的,那么很早的批次肯定早就出庫了,所以現在的1000個庫存肯定是最近幾次入庫的批次剩余的,于是直接采用倒推法就可以算出這些庫存的平均庫齡是多少。

如果不習慣用倒推法或者理解有些困難,我建議還是用「日推法」來處理,也可以成為「正推法」。也就是每次入庫記錄一個批次,然后每天24點定時統計一下剩余了多少庫存,庫齡是多少天,這樣匯總起來之后也能算出和倒擠法一樣的結果。

跨境電商海外倉:WMS的庫齡與倉租功能設計

日推法計算平均庫齡

2. 倉租日結累積法

由于一些WMS可能早期設計的時候沒有考慮批次管理的內容,所以在庫存表中沒有記錄批次,也沒有庫齡。

但是倉租還是要計算,所以在此介紹一種「日結累積法」,也可以算出倉租。

優點是簡單,清晰易懂;缺點就是不能支持梯度計費,拓展性不強。

跨境電商海外倉:WMS的庫齡與倉租功能設計

倉租日結累積法

當需要計算倉租的時候,每個月的月初導出上個月的所有的SKU的日結庫存,然后做一個匯總,直接拿總數*計費單價即可算出月度的倉租。

3. 入庫當天是否算庫齡

對于一些快進快出的倉庫,很有可能出現這樣的場景:一批貨物,上午到倉上架,然后下午就需要下架出庫。

那么,如果是當天入,當天又出,應該算庫齡嗎?

這個問題有兩個答案,要么算,要么不算。但是我沒有想好應該用哪一種,因為這個取決于業務的需求,但是我猜測大多數業務人員并不會注意到這種細節,所以還是需要產品經理來做定奪。

從統計的難易程度或者開發的成本來說,我個人會傾向于:當天入庫和當天出不算庫齡。

因為每天晚上的庫齡統計是在24點左右統計當時的庫存結余,然后從庫存結余去匹配對應的批次分別有多少數量。

如果當天入了100個,當天又出了100個,那么統計的時候庫存結余是0,就無需計算庫齡。如果當天入了100個,當天只出了80個,那么統計的庫存結余就是20,也就意味著有20個在倉庫待了一天(需計算庫齡),其他80個是不算庫齡的。

如果是當天入,當天出需要算庫齡,那么統計的方法就需要一點點改變。

還是先每天晚上24點左右統計當時的庫存結余,但同時還需要去統計當天入庫的批次的數量,然后兩者做比對。

如果當天入了100個,當天又出了100個,那么統計的時候庫存結余是0。但是入庫記錄是100,也就是當天入了100,這100需要算1天的庫齡;如果當天入了100個,當天只出了80個,那么統計的庫存結余就是20。但是入庫記錄是100,也就意味著兩者有重復,應該以入庫記錄為主,取入庫記錄的值,而不取庫存結余的值,所以還是需要算100個為1天的庫齡;

當第二天沒有入庫批次的時候,這個時候再去統計庫存結余的時候,就可以直接按庫存結余來計算庫存了。有值則算1天的庫齡,無值則不算庫齡,也就是庫存出完了。

四、最后

庫齡和倉租算是WMS中很核心也很關鍵的一個模塊的了,但是這兩天我在找相關資料的時候發現,全網好像都沒有人寫這一塊的內容。即使有寫,也是一些搬運和邏輯不通的段落,讓我一度懷疑這個東西到底是不是太難了?還是說其實很簡單大家都不想寫?

既然沒人來寫,那我就來個拋磚引玉吧。如果我寫的內容是正確的,有用的,那么就能幫助很多也需要做這一塊功能的朋友;如果我寫的內容是錯誤的,那么也能接受一些大佬的指點,盡快改正我的一些錯誤認知。

反正怎么算都不會虧。

如果你對我寫的這一篇內容有何高見,歡迎與我私聊溝通,期待你的回復。

#專欄作家#

我叫維他命(Vitamin),微信公眾號:PM維他命。前PHPer,做過在線教育類產品,也做過3年半的跨境倉儲物流方向的產品,目前是一位外貿SaaS領域的供應鏈產品經理。主要專注于WMS/OMS/TMS/BMS/ERP等領域,分享供應鏈相關的產品知識。

本文原創發布于人人都是產品經理,未經作者許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 大佬,實際操作如盤盈,商品歸屬于哪個批次,盤虧扣減哪個批次,都直接會影響庫齡的計算,請問你們是怎么設計的呢?

    來自廣東 回復
  2. 日推法計算平均庫齡計算平均庫齡還可以,但是沒法計算倉租費(先不論階梯計價和免租期)。
    因為他只能記錄有庫存記錄的庫存快照的倉租 。就像你的「日推法計算平均庫齡」圖中,列出的計算公式 落掉了BN20211011批次5天的倉租費

    來自浙江 回復
  3. 我們的不是這樣算,感覺你這個比我們算的還復雜。很容易亂

    回復
  4. 庫齡和倉租是不是應該放到BMS里去計算啊

    來自北京 回復
    1. 計算可以在BMS,但是基礎的數據需要進行統計,所以要在OMS或者WMS進行統計

      來自廣東 回復
    2. 明白了!感謝分享

      來自北京 回復
  5. 感謝分享,講得通俗易懂。

    來自廣東 回復
  6. 第二張貼圖最后的數據應該是剩余240,發現一處錯誤

    來自浙江 回復
    1. 是的,數據寫錯了,

      此時BN20210920剩余庫存為0,而BN20210921剩余庫存為240(圖中是260)

      來自廣東 回復
    2. 我怎么覺得是140啊。完了,是我理解有問題嗎?

      來自上海 回復
    3. 請問這個剩余數量不是入庫之后還是計算的嘛?
      BN20210920入庫100,剩余數量100。
      BN20210921入庫200,剩余數量是100+200.
      BN20210922出庫160,根據先入先出就是BN20210920剩余庫存為0,BN20210921剩余庫存200-60=140啊。就算加上BN20210923入庫50,也是190
      為啥是240?求解

      來自上海 回復
    4. 嗯,我打錯了字,不好意思哈,應該是剩余140的。

      來自廣東 回復
  7. 有一些表格中描述數據錯誤了

    來自上海 回復
    1. 嗯?哪些呢?

      來自廣東 回復