拆零庫存的解決方案:拆零商品的庫存結(jié)構(gòu)和運(yùn)算邏輯
編輯導(dǎo)語:隨著互聯(lián)網(wǎng)的發(fā)展,很多行業(yè)都開始使用各種互聯(lián)網(wǎng)平臺(tái)進(jìn)行管理,比如新零售行業(yè),對(duì)于零售商品的統(tǒng)計(jì)和商品的錄入以及庫存統(tǒng)計(jì)等等,都可以用這種方法來進(jìn)行;本文作者分享了關(guān)于拆零商品的庫存結(jié)構(gòu)和運(yùn)算邏輯,我們一起來看一下。
SKU拆零銷售的場景多有發(fā)生,尤其是醫(yī)藥電商行業(yè)。
主要特點(diǎn)是:采購入WMS時(shí),只登記原商品。但銷售層面卻拆零下賬。
網(wǎng)上沒找到拆零銷售庫存方案的文章,本文做個(gè)總結(jié)。
如今電商系統(tǒng)(C端、B端)已經(jīng)很成熟,產(chǎn)品圈子里電商系統(tǒng)產(chǎn)品文章很多。
但多數(shù)寫到SKU、SPU、拆單、拆包、扣/鎖庫存、最優(yōu)物流這些。
實(shí)際上電商業(yè)務(wù)還有很多特殊場景,值得探討和改善。
想象一個(gè)常見的場景:
新冠疫情以來,口罩一直暢銷。
到藥店,顧客可以買一整包口罩,也可以只買一個(gè)。
倘若一包口罩內(nèi)含10個(gè),藥店只剩下1個(gè)庫存。
服務(wù)員撕開包裝,賣掉1個(gè),那么:
- 按整包計(jì),庫存是0;
- 按拆零口罩計(jì),庫存還為9。
- 整包口罩,和拆零口罩,在數(shù)據(jù)層面,是對(duì)應(yīng)兩個(gè)不同的商品編碼的。
- 二者分別計(jì)算,但同源,相互影響。
那么是不是入庫時(shí)候,就應(yīng)該分成兩個(gè)商品編碼,按照兩個(gè)有關(guān)聯(lián)的商品進(jìn)行錄入,就順理成章了呢?
功能上可以,但合規(guī)上(可能)存在阻力。
01 拆零庫存的數(shù)據(jù)結(jié)構(gòu)
醫(yī)療器械和藥品的采購,是比較嚴(yán)格的GSP規(guī)范的。
從藥廠采購口罩的時(shí)候,一定是按包的。所以基礎(chǔ)資料庫中商品編碼只會(huì)有A,不會(huì)有B。
原因是:藥廠無法提供單個(gè)口罩B對(duì)應(yīng)的首營資料和采購單據(jù)。一旦調(diào)查,則無法圓說。
因此,只會(huì)創(chuàng)建成包的口罩的商品信息,不創(chuàng)建單個(gè)口罩商品編碼 。
(事實(shí)上所有銷售范圍的商品品種,都應(yīng)該有進(jìn)銷存對(duì)應(yīng)票據(jù)的。)
但是行業(yè)又支持拆零銷售,避免物資浪費(fèi)。
2013年6月,新版的《藥品經(jīng)營質(zhì)量管理規(guī)范》中,再次明確藥品零售企業(yè)在營業(yè)場所應(yīng)設(shè)立拆零專柜。
為了解決以上問題,入庫系統(tǒng)(wms)為每個(gè)商品提供標(biāo)示拆零屬性的字段:拆零庫存、拆零系數(shù)。
也就是下圖的輔助單位、換算率。
這樣一來,一個(gè)商品編碼A,入庫的時(shí)候,就會(huì)對(duì)應(yīng)自身庫存和拆零庫存。
比如A包含10個(gè)口罩,拆零系數(shù)為5,則表示拆成5份銷售,每份兩個(gè)。
那么如果A有1個(gè),B就有5個(gè)。
這個(gè)也就是只在庫存上形成了聯(lián)動(dòng),在關(guān)系上是從屬。
解決了存儲(chǔ)結(jié)構(gòu)的問題,那么如何動(dòng)態(tài)換算本商品庫存和拆零庫存呢?
02 拆零庫存的計(jì)算
我們還以上面的例子來看,B的庫存實(shí)際來源于A。
若A中有10個(gè)B,拆零系數(shù)是10。那每扣減一個(gè)A,就要觸發(fā)扣減10個(gè)B的庫存;
同樣,每扣減一個(gè)B,就要觸發(fā)扣減1/10=0.1個(gè)A的庫存。
還拿口罩一包10個(gè)的例子,假設(shè)整包A的庫存為2,換算出拆零B的庫存就為20。
單個(gè)賣掉3個(gè),那么單個(gè)口罩的庫存就是17。整包庫存就是2-0.3=1.7個(gè)。
這時(shí)對(duì)于C端銷售平臺(tái),只需要向下取整顯示1個(gè)即可。
庫存的計(jì)算問題似乎解決了。但是……
如果一包有3個(gè)口罩呢?上述公式就會(huì)出問題。
若一個(gè)A中有3個(gè)B,那每扣減一個(gè)B,就要觸發(fā)扣減1/3=0.33個(gè)A的庫存。
3這個(gè)數(shù)字除不盡,會(huì)導(dǎo)致第三個(gè)B出售的時(shí)候,A還剩下0.01個(gè)。但實(shí)際A已經(jīng)是0。
如果這0.01個(gè)累加到100次,就會(huì)錯(cuò)誤地多出1個(gè)A的庫存。
這個(gè)誤差傳遞給WMS的時(shí)候,WMS并不知道如何消除。
而我們又不能依賴WMS的盤點(diǎn)去消除。
于此同時(shí),還存在一個(gè)問題,就是如果一包含有1000個(gè),那么小數(shù)要支持4位嗎?數(shù)據(jù)表字段屬性難以確定位數(shù)。
總結(jié)以上問題:
- 存在除不盡,導(dǎo)致計(jì)算差異的問題;
- 拆分的系數(shù)導(dǎo)致小數(shù)位不確定的問題。
怎么辦呢?
解決辦法就是當(dāng)扣B的庫存,計(jì)算A的時(shí)候,不按照減量,而是按照B的存量,反向推算A。
當(dāng)A賣掉的時(shí)候,扣減A的庫存,觸發(fā)按系數(shù)算出B的庫存;將二者同步到C端。
當(dāng)B賣掉的時(shí)候,扣減B的庫存,用B的余量,換算出A的庫存;將二者同步到C端。
這就要?jiǎng)?chuàng)建一個(gè)倉庫余量反推機(jī)制:
- A的庫存增加、扣減,則觸發(fā)B庫存的計(jì)算;
- B庫存的增加,不觸發(fā)A的計(jì)算;但B庫存的扣減觸發(fā)A的計(jì)算。(因?yàn)椴少彽臅r(shí)候只會(huì)采購)
03 拆零庫存在多系統(tǒng)之間的交互
以上解決了WMS對(duì)拆零庫存的計(jì)算問題。還要解決系統(tǒng)庫存數(shù)據(jù)傳輸問題。
正常情況下,一個(gè)WMS會(huì)為多個(gè)銷售渠道服務(wù)。
這些銷售渠道會(huì)把訂單對(duì)接給統(tǒng)一的OMS中臺(tái),商品和庫存統(tǒng)一對(duì)接給PDM中臺(tái)。
于是三方形成一個(gè)庫存流向四角關(guān)系:
在銷售平臺(tái),是需要展示出B的,但在WMS只存在B與A的關(guān)系,不存在具象的商品編碼B。
這就意味著,OMS拿到的訂單中的商品B,就要連同拆零系數(shù)、B的扣減個(gè)數(shù),一并提供給WMS。
WMS自行按照上文描述的規(guī)則進(jìn)行扣減運(yùn)算。
WMS算好后,連同拆零關(guān)系和各自的庫存一并提供給PDM。
PDM再通過相應(yīng)的映射,對(duì)應(yīng)到銷售平臺(tái)的A和B。
是不是很麻煩,之所以會(huì)這樣,實(shí)際是源自于如下局限:
- 采購入口層面:出于采購合規(guī),WMS只能創(chuàng)建一個(gè)A商品編碼,不能創(chuàng)建拆零編碼B;
- 銷售層面:A和B都有銷售場景且銷售合規(guī)。
- 存在拆零系數(shù)的除不盡,導(dǎo)致不能按減量扣減再計(jì)算;只能按拆零商品的余量,反向推算出原商品。
- 這種余量的推算,不能在銷售平臺(tái)完成,只在WMS兜底完成。
04 結(jié)語
- 電商體系的基礎(chǔ)方案已經(jīng)成熟。但隨著業(yè)務(wù)和政策的發(fā)展,總會(huì)有新的場景出現(xiàn)。
- 業(yè)務(wù)決定系統(tǒng)。盡量驅(qū)動(dòng)業(yè)務(wù)避開復(fù)雜的處理方案,系統(tǒng)就會(huì)輕松。
- 邊角場景的考慮更需要判斷和鑒別。
以上若存在描述不清或錯(cuò)誤,歡迎探討。
#專欄作家#
唧唧歪歪PM,公眾號(hào):唧唧歪歪PM(ID:jjyypm),人人都是產(chǎn)品經(jīng)理專欄作家,2019年年度作者?!逗蠖水a(chǎn)品經(jīng)理寶典》作者,藥學(xué)碩士轉(zhuǎn)行互聯(lián)網(wǎng)產(chǎn)品多年;熟悉跨境電商業(yè)務(wù),醫(yī)藥領(lǐng)域;擅長大型后臺(tái)體系,社交APP。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
學(xué)到很多
B庫存的增加,不觸發(fā)A的計(jì)算——為什么要這樣?如果B發(fā)生了退貨入庫,不加A嗎?
同問
B是零庫存吧,與整庫存沒關(guān)系吧
請(qǐng)問這個(gè)PDM中臺(tái)是什么?
對(duì)新零售行業(yè)庫存管理,有很大的幫助,在傳統(tǒng)的電商行業(yè)一直沒有找到類似的解決方案。我想問一下,就如果是針對(duì)果蔬類型的商品,是否也可以用這個(gè)拆零的邏輯,例如將一筐蘋果跟一盒4個(gè)的蘋果進(jìn)行換算呢,那這中間的損耗怎么去把控呢?
這個(gè)通用解決方案是?
這個(gè)標(biāo)準(zhǔn)WMS有通用解決方案,了解下包規(guī)
方便學(xué)習(xí)下你說下通用方案嗎(????)??嗨
加個(gè)微信 sky_ismine