復(fù)盤 | WMS的移庫功能設(shè)計(jì),我踩了哪些坑?

6 評(píng)論 14730 瀏覽 81 收藏 20 分鐘

編輯導(dǎo)讀:WMS的移庫功能是指將貨物從一個(gè)倉位移到另一個(gè)倉位,然后兩個(gè)倉位的貨物各自增減數(shù)量。本文作者對(duì)一次移庫功能設(shè)計(jì)進(jìn)行了復(fù)盤,總結(jié)了在設(shè)計(jì)過程中遇到的一些坑,以及應(yīng)對(duì)方式,與大家分享。

前言

WMS的移庫功能在不同的倉庫或者不同的系統(tǒng)定義不一樣,有些地方把移庫當(dāng)成兩個(gè)倉庫間貨物的轉(zhuǎn)移,有些地方把移庫當(dāng)成不同的庫區(qū)間的貨物轉(zhuǎn)移,例如從拆零區(qū)到整箱區(qū),或者從高貨值區(qū)轉(zhuǎn)移到低貨值區(qū)等。

但是本文所提到的移庫其實(shí)就是指貨位(庫位)間轉(zhuǎn)移,將貨物從庫位A移庫到倉位B,然后庫位A的貨品扣減數(shù)量,倉位B的貨品增加數(shù)量。

看似很簡單的功能,但是結(jié)合到實(shí)際業(yè)務(wù)中,也讓我踩了挺多坑。所以我特地花了一些時(shí)間整理出此篇文章,復(fù)盤一下我在設(shè)計(jì)該功能的時(shí)候遇到了哪些問題,收獲了哪些感悟。

那么,我們開始吧。

一、簡易版的移庫

很多海外倉沒有做效期管理,也沒有做批次管理,所以基本上對(duì)貨物的管控粒度都是在SKU層面。如果是SKU層面的移庫,只需要將源庫位的SKU扣減數(shù)量,然后轉(zhuǎn)移到目標(biāo)庫位上,SKU對(duì)應(yīng)的的增加數(shù)量即可。

簡易版移庫

簡易版的移庫主要是因?yàn)楣芾砹6仍赟KU,所以在移庫的時(shí)候,只需要判斷目標(biāo)庫位的貨主和料區(qū)是否和源庫位一致,只要一致就可以移庫,沒有其他額外的判斷邏輯。

貨主為什么要一致?

這個(gè)各個(gè)倉庫的管理要求不一樣,我們不允許一個(gè)庫位放兩個(gè)貨主的貨物是因?yàn)閮蓚€(gè)貨主的貨物可能會(huì)一樣(你賣iPhone,我也可以賣iPhone),為了避免這種貨物識(shí)別可能帶來的風(fēng)險(xiǎn),所以我們是只允許一個(gè)庫位放一個(gè)貨主的貨物的。

料區(qū)是什么?為什么要一致?

這個(gè)也和倉庫的管理要求有關(guān)系,有些倉庫對(duì)貨物的品質(zhì)管控只要求區(qū)分良品,殘次品或者其他粒度。而我們對(duì)品質(zhì)的管控要求細(xì)一些,除了要求好壞之分的話,還會(huì)有更細(xì)的粒度。

例如退貨回來的貨物區(qū)分售后良品,售后不良品;所以一個(gè)庫位只能放一個(gè)料區(qū)的貨物,將良品放在一起,殘次品放在另外的庫位,那么移庫的時(shí)候,一個(gè)良品庫位的貨物也就只能移庫到其他良品的庫位上了。

二、業(yè)務(wù)升級(jí),引入批次概念

批次是倉庫對(duì)貨品的管理粒度還要再細(xì)一層,要精確到批次號(hào)(批號(hào))上。批號(hào)這個(gè)概念在醫(yī)藥WMS中很常見,大家身邊如果有藥品盒子可以查看一下,一般來說藥品上都會(huì)印有生產(chǎn)批號(hào),如下圖所示:

藥品的生產(chǎn)批號(hào)

藥品的生產(chǎn)批號(hào)

一般來說產(chǎn)品上有批號(hào)信息的商品其實(shí)還算方便管理,畢竟有個(gè)顯眼的標(biāo)識(shí)讓你去查看。但是如果有些商品沒有批號(hào)展示,但是又需要進(jìn)行批次管理,那么難度就顯然高了一些。

業(yè)內(nèi)通用的做法有兩種:

  • 第一種:在商品入庫的時(shí)候,逐個(gè)商品貼批次碼,這樣每次到貨的商品都要拆包貼碼,成本比較高;
  • 第二種:入庫的時(shí)候不貼碼,而是根據(jù)入庫時(shí)間或者上架時(shí)間,系統(tǒng)自動(dòng)對(duì)某個(gè)SKU進(jìn)行批號(hào)的標(biāo)記,然后記錄這個(gè)批次關(guān)聯(lián)的庫位是哪個(gè);

而往往大多數(shù)倉庫采用的,就是第二種。

今天倉庫收到了100箱維他檸檬茶,SKU為vita100,這100箱維他檸檬茶都是一年后過期。然后在系統(tǒng)在生成上架單的時(shí)候,會(huì)對(duì)這些產(chǎn)品自動(dòng)標(biāo)記一個(gè)批次號(hào),例如就叫做BN20200725001。

過了兩天倉庫又收到了50箱維他檸檬茶,SKU還是vita100,但是這50箱維他檸檬茶是半年后就過期。在系統(tǒng)在生成上架單的時(shí)候,還是會(huì)對(duì)這些產(chǎn)品自動(dòng)標(biāo)記一個(gè)批次號(hào),例如就叫做BN20200727001。

所以在系統(tǒng)中,就會(huì)知道一共有150箱維他檸檬茶,一共有兩個(gè)批次,批次號(hào)BN20200725001的是100箱,批次號(hào)BN20200727001的是50箱。

如果倉庫不要求對(duì)批次進(jìn)行管控,那么這150箱的維他檸檬茶就是可以放在同一個(gè)庫位的,到時(shí)出庫的時(shí)候也就可以隨機(jī)揀貨出庫了。

這個(gè)也就是為什么一些電商網(wǎng)站會(huì)說新老包裝隨機(jī)發(fā)貨的原因,因?yàn)樵趥}庫管理的時(shí)候新老包裝都是同一個(gè)SKU,沒有做批次管理,所以新老包裝就放在一起了,揀貨的時(shí)候就隨機(jī)拿了。

如果倉庫要求對(duì)批次進(jìn)行管控,那么系統(tǒng)的功能設(shè)計(jì)上就要復(fù)雜一些了,因?yàn)榕喂芸匾馕吨荒芑炫危ㄒ粋€(gè)庫位上不能放不同批次的同款商品)。上面提到,一般倉庫不會(huì)采用重新貼碼的方式來管理批次,所以都是用的第二種,也就是跟蹤批次號(hào)對(duì)應(yīng)的倉位的方式來管理。

那么之前的批次號(hào)為BN20200725001的100箱維他檸檬茶就應(yīng)該放在一個(gè)庫位,而BN20200727001的50箱應(yīng)該放在另外一個(gè)庫位,兩者不能重疊。所以上架的時(shí)候應(yīng)該要對(duì)批次號(hào)做限制,某個(gè)倉位有該產(chǎn)品的批次了,那么其他批次就不能放上去了。

此時(shí)如果我們加大業(yè)務(wù)量,一天同時(shí)入庫10個(gè)貨主,100款SKU,大概有400多個(gè)批次,而且這些產(chǎn)品中,有些需要效期管理,有些需求批次管理,有些只需要SKU管理,這個(gè)時(shí)候如果沒有一套完善的批次管理機(jī)制就容易出問題了。

三、業(yè)務(wù)繼續(xù)升級(jí),效期,批次和普貨同時(shí)管理

效期管理,就是針對(duì)商品的有效期(保質(zhì)期)進(jìn)行管理,倉庫不能把一些過期了或者臨近過期的產(chǎn)品發(fā)出去,否則會(huì)造成比較嚴(yán)重的損失。

批次管理,就是針對(duì)商品的出廠批次或者入庫先后的批次做管理,一般會(huì)用來做先進(jìn)先出,提升產(chǎn)品的周轉(zhuǎn)率,同時(shí)也能盡量把老款賣出去,也方便來算庫齡和倉租。

普貨管理,就是普通的產(chǎn)品,不需要做批次管理,也不需要做效期管理,可以直接在SKU的粒度上進(jìn)行管理,無論是先到的還是后到的,都可以直接疊放在同一個(gè)庫位上。

針對(duì)這三類的產(chǎn)品,其實(shí)是有共性可以作為突破口的,那就是批次號(hào)。無論你是什么類型的產(chǎn)品,我都給你加上一個(gè)批次,這個(gè)批次可以理解為SKU的策略。因?yàn)榕翁?hào)需要與庫位進(jìn)行關(guān)聯(lián),即某個(gè)SKU的某個(gè)批次號(hào)的貨物放在了某個(gè)庫位上。所以我們需要對(duì)庫位也做一個(gè)策略的管理,就是商品是否混放與批次是否混放。

將SKU的策略和庫位的策略結(jié)合在一起,來切割我們不同的產(chǎn)品的管理要求和粒度。

對(duì)于SKU的策略來說,可以分為需要批次管理和不需要批次管理,需要批次管理的是批次產(chǎn)品和效期產(chǎn)品,而不需要批次管理的則是普貨。效期產(chǎn)品雖然重點(diǎn)關(guān)注的是失效日期,但是本質(zhì)上來說還是屬于批次的管理,不同的失效日期的可以理解成不同的批次號(hào)。

對(duì)于庫位的策略來說,就是分為商品混放且批次混放商品混放且批次不混放,商品不混放且批次混放,商品不混放且批次不混放,一共四種情況。一般來說海外倉用的最多的就是商品不混放且批次混放,就是一個(gè)SKU都放在一個(gè)庫位上;而對(duì)于一些生鮮產(chǎn)品或者效期產(chǎn)品來說,用的比較多的就是商品混放且批次不混放。

所以一個(gè)SKU的上架,大概來說可能會(huì)有8種判斷條件,如果把效期產(chǎn)品的單獨(dú)算作一種策略,那么就會(huì)有12種判斷條件。

四、說回移庫

踩坑一:說移庫只想到了移庫

本文的主題是講移庫,但是我在梳理流程的時(shí)候發(fā)現(xiàn)我之前踩了一個(gè)很大的坑,那就是我在設(shè)計(jì)移庫的功能的時(shí)候,只想到了移庫,我重點(diǎn)在關(guān)注移庫的一些操作和策略上。

但是回顧一下,其實(shí)移庫的本質(zhì)依然是上架,只是包裝了一層外衣。難點(diǎn)其實(shí)依然是在上架的時(shí)候?qū)KU和庫位策略的判斷,如果只盯著移庫去設(shè)計(jì),很容易走進(jìn)死胡同,發(fā)現(xiàn)怎么設(shè)計(jì)都會(huì)有欠缺,都是只見樹木不見森林。

策略不全

踩坑二:上架的方式與邏輯判斷的方式

除了一開始踩進(jìn)了移庫這一個(gè)牛角尖的坑之外,還有一個(gè)很重要的坑,那就是關(guān)于上架的方式和邏輯判斷的方式也碰壁了。

按常規(guī)來講,移庫應(yīng)該是會(huì)涉及到同時(shí)移庫多個(gè)產(chǎn)品的,這也意味著上架的時(shí)候會(huì)上架多個(gè)產(chǎn)品,現(xiàn)實(shí)的上架確實(shí)也會(huì)如此。

然后我在考慮SKU策略和倉位策略的時(shí)候就犯難了,例如一個(gè)庫位的策略是商品不混放且批次混放,那么我在上架的時(shí)候得要先考慮我待上架的產(chǎn)品首先有沒有混放(意思是自身有沒有混)。如果沒有混,那么放上去的時(shí)候又要考慮已有的產(chǎn)品和要放上去的產(chǎn)品是否混放。如果這個(gè)也沒有混,最后再判斷批次是否混放,直到都滿足才可以上架。

這樣一來,如果一次性上架很多個(gè)SKU,那么商品不混放的庫位壓根就上不了。如果在移庫的時(shí)候,倉庫發(fā)現(xiàn)這個(gè)庫位上去了,那個(gè)也上不了,很容易就崩潰,效率也不高。

然后我就在開始思考,是不是要先考慮移庫的時(shí)候源庫位和目標(biāo)庫位的庫位屬性是否一致,是否要區(qū)分普通貨物移庫和批次貨物移庫。順著這個(gè)思路,我就踩了第三個(gè)坑。

只考慮普貨移庫

踩坑三:思考的方向變成了源庫位和SKU

因?yàn)榭紤]到不同的產(chǎn)品和倉位策略上架的邏輯判斷太多,我本能的覺得這樣肯定不對(duì),所以我決定把思路放在源庫位和SKU上試試。

移庫前先比對(duì)兩者的庫位策略是否一致,不一致就不允許移庫了,如果一致才可以移庫。但是這樣還是會(huì)有一個(gè)問題,那就是本來庫位的策略大家都是不允許商品混放,但是因?yàn)樾碌腟KU移庫過來了,那么就打破了本來的庫位策略,所以判斷條件還是有那么多。

于是我繼續(xù)思考是不是還要先考慮SKU的組合的問題,例如移庫只能一次移庫一個(gè),這樣的話判斷的時(shí)候就可以很容易的將待移庫的SKU和目標(biāo)庫位的SKU進(jìn)行對(duì)比,看看是否有沒有破壞目標(biāo)庫位的策略。這樣的話,判斷條件確實(shí)是簡單了一些,說明這思路是對(duì)的。

但是如果普通上架或者容器上架的時(shí)候,面臨同時(shí)有多個(gè)SKU的時(shí)候怎么辦?這個(gè)辦法還是很麻煩,而且感覺不對(duì)勁,于是我將我的思考結(jié)果和疑惑點(diǎn)記錄下來,跟我們的開發(fā)大佬溝通了一下,這才解開了我的疑惑。

思考方向弄錯(cuò)了

五、解惑時(shí)刻

當(dāng)我把記錄的疑惑跟開發(fā)大佬溝通的時(shí)候,他指出了一個(gè)很重要的點(diǎn),也是我一直思考碰壁的地方:移庫的本質(zhì)其實(shí)也是上架的策略,而上架的策略其實(shí)就是上架一個(gè)SKU判斷一次策略!

這句話直接給了我解題的思路,瞬間打通了之前閉塞的環(huán)節(jié),而且他還告訴我在前兩天的時(shí)候他其實(shí)都已經(jīng)理出來了邏輯而且核心代碼都寫好了,只不過這個(gè)是上架的策略,而我當(dāng)時(shí)沒有關(guān)注還心撲在移庫上(直接碾壓,尷尬)。

然后我們一起就著他畫出來是思維導(dǎo)圖進(jìn)行了一波推演,發(fā)現(xiàn)這個(gè)方案確實(shí)是正確的,而且是通用型的,很多我沒有想通的點(diǎn),其實(shí)就是因?yàn)槲也攘丝印?/p>

上架的邏輯判斷

對(duì)著上方的邏輯圖再走一遍流程會(huì)發(fā)現(xiàn),不論是移庫還是上架其實(shí)本質(zhì)都是上架策略的判斷,這是可以通用的。

首先判斷貨主和料區(qū)是否一致,這個(gè)前面提到過,屬于常規(guī)性必做的判斷。

其次判斷商品混放策略,上面講到了每次上架都判斷一次這個(gè)邏輯,所以并不需要考慮本身待上架的產(chǎn)品內(nèi)部是否混放的問題。商品混放策略直接拿待上架的這個(gè)SKU和已經(jīng)在庫位上的SKU判斷即可,如果可以通過則進(jìn)行下一個(gè)批次策略的判斷。

在判斷批次策略的時(shí)候先判斷SKU的自身的策略,是否批次管理還是普貨,如果是批次管理,那么就只能放在不允許混放批次的庫位,然后再判斷待上架的批次和已上架的批次是否相同;如果是普貨,則任意都可以放。

上面的邏輯分析圖基本上就可以覆蓋所有的與上架策略有關(guān)的場景,理清楚了核心的業(yè)務(wù)邏輯,剩下的就是一些錦上添花的輔助工作了。

總結(jié)

本來一開始的工作任務(wù)是對(duì)移庫功能進(jìn)行優(yōu)化和調(diào)整,但是隨著業(yè)務(wù)的演變,一些規(guī)則和要求的加入之后,移庫變得不是那么簡單就能搞定的了。本以為是一次簡單的業(yè)務(wù)邏輯調(diào)整,但是碰壁之后才發(fā)現(xiàn)原來是我自己對(duì)一些本質(zhì)的東西沒有抓住。

通過這次小小的復(fù)盤,讓我get到了這么些感悟,分享給大家:

  1. 抓住問題的核心很重要,也很難。很多表面因素看起來似乎是問題的癥結(jié),但是隨著深入的探索和思考往往會(huì)發(fā)現(xiàn),游于表面的分析和摸索其實(shí)很費(fèi)時(shí)間,而且很容易走偏;
  2. 方向不對(duì),努力就會(huì)白費(fèi)。移庫的設(shè)計(jì)方向應(yīng)該是從庫位出發(fā),而不是貨品。我因?yàn)閺膸煳怀霭l(fā)碰壁了太多,所以調(diào)轉(zhuǎn)了方向,結(jié)果發(fā)現(xiàn)越跑越遠(yuǎn);
  3. 產(chǎn)品設(shè)計(jì)過程中,思維碰撞和交流特別重要,尤其是遇到困難和疑惑的時(shí)候,及時(shí)記錄并及時(shí)溝通,探討解決是一個(gè)高效的方式,如果沉溺于自我世界之中,很容易低效又返工;
  4. 對(duì)業(yè)務(wù)的理解往往產(chǎn)品的思維和開發(fā)的思維不一樣,但是產(chǎn)品如果過多的夾在技術(shù)思維和業(yè)務(wù)思維很容易兩者都容易受限,不如先拋開技術(shù)思維而只專注于業(yè)務(wù)層去設(shè)計(jì),隨后再和開發(fā)討論技術(shù)思維是否能支撐業(yè)務(wù)方面的設(shè)計(jì)。這一點(diǎn)對(duì)我這樣的技術(shù)轉(zhuǎn)產(chǎn)品的人來說很致命,技術(shù)轉(zhuǎn)產(chǎn)品,有利有弊,而這一塊往往就是短板,需要特別注意去規(guī)避。

#專欄作家#

vitamin,微信公眾號(hào):皮醬叨逼叨。人人都是產(chǎn)品經(jīng)理專欄作家,公眾號(hào)運(yùn)營小白,初中級(jí)B端產(chǎn)品一枚(一年開發(fā)經(jīng)驗(yàn)+三年產(chǎn)品經(jīng)驗(yàn))。主導(dǎo)過在線教育類產(chǎn)品,目前是跨境電商供應(yīng)鏈倉儲(chǔ)物流產(chǎn)品一枚,歡迎勾搭,一同學(xué)習(xí)。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載

題圖來自u(píng)nsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請登錄
  1. 倉庫中所有物料移動(dòng)過程都是先下架后上架,只是我們大多時(shí)候重點(diǎn)只關(guān)注一端罷了

    來自湖北 回復(fù)
  2. 近期正在學(xué)習(xí)wms,內(nèi)容思路清晰、邏輯清楚,棒棒的

    來自河北 回復(fù)
  3. 你有沒有交流方式,想和你交流一下關(guān)于WMS得產(chǎn)品設(shè)計(jì)或者產(chǎn)品相關(guān)

    來自山東 回復(fù)
    1. 自我介紹的地方有聯(lián)系方式哦,或者直接加 vitamin_mpp

      來自廣東 回復(fù)
  4. 非常棒, 現(xiàn)身說法 ,有理有據(jù), 雖然有些流程圖畫的*%……&* 。

    來自上海 回復(fù)
    1. 哈哈 流程圖確實(shí)畫的隨意了,主要是為了分析,然后寫文章的時(shí)候懶得改了就丟上來。相當(dāng)于給大家看看草稿階段的流程圖,比較真實(shí),哈哈。

      來自廣東 回復(fù)