WMS效期功能設(shè)計(jì)的“魔鬼細(xì)節(jié)”:怎么優(yōu)雅地調(diào)整保質(zhì)期天數(shù),而不讓運(yùn)營和倉庫同事爆炸

2 評論 1703 瀏覽 7 收藏 20 分鐘

在 WMS 系統(tǒng)管理中,商品保質(zhì)期天數(shù)調(diào)整看似簡單,卻暗藏影響運(yùn)營與倉庫效率的關(guān)鍵細(xì)節(jié)。文章以進(jìn)口牛奶保質(zhì)期變更為例,拆解效期管理核心流程,對比不同系統(tǒng)處理方案的優(yōu)劣,揭示 “批次快照式” 設(shè)計(jì)如何平衡業(yè)務(wù)靈活性與數(shù)據(jù)嚴(yán)謹(jǐn)性。

一個(gè)電話引發(fā)的思考

“喂,李總,我是運(yùn)營部的張三,有個(gè)天大的好消息!我們賣得最好的那款進(jìn)口牛奶,品牌方剛剛通知,因?yàn)樯壛诵碌臍⒕に嚭桶b,保質(zhì)期從原來的365天,延長到了540天!這下我們的損耗壓力就小多了!我直接讓商品管理的同事,把WMS里那個(gè)商品的保質(zhì)期天數(shù)改一下,是不是就可以了?”

作為公司W(wǎng)MS產(chǎn)品負(fù)責(zé)人的你,接到這個(gè)電話時(shí),第一反應(yīng)不是興奮,而是后背一陣發(fā)涼。

你下意識地看了一眼屏幕上那個(gè)商品的庫存報(bào)表:在庫數(shù)量5千箱,分布在全國5個(gè)倉庫,最早的一個(gè)批次是10個(gè)月前入庫的。

你深吸一口氣,對電話那頭的張三說:”小張,這事兒沒你想的那么簡單,直接改一個(gè)數(shù)字,可能會出大事。給我半小時(shí),我給你捋一下。”

掛掉電話,你陷入了沉思。這個(gè)看似簡單的”改個(gè)數(shù)字”的需求,就像一塊試金石,能瞬間測出自己所負(fù)責(zé)的WMS系統(tǒng)在底層設(shè)計(jì)上的成色如何。

WMS效期商品的管理流程

在探討”變更”帶來的混亂之前,我們先需要了解一下,在WMS中,需要效期管理的商品是如何運(yùn)轉(zhuǎn)起來的,大概會有哪些流程

源頭:主數(shù)據(jù)的新增商品運(yùn)營/管理的同學(xué)在ERP系統(tǒng)中創(chuàng)建了一個(gè)新的商品SKU,比如這款進(jìn)口牛奶。他們錄入商品編碼、條碼、品名、規(guī)格,并在一個(gè)關(guān)鍵的復(fù)選框上打了個(gè)勾——【啟用效期管理】。隨后,他們填上一個(gè)數(shù)字【保質(zhì)期天數(shù)】:365。

同步:信息的傳遞這條商品主數(shù)據(jù)通過接口,從ERP被推送到WMS。WMS接收到后,不僅記錄了基礎(chǔ)信息,還會要求倉庫的系統(tǒng)管理員進(jìn)行二次配置,比如設(shè)置”距離過期X天進(jìn)入臨期狀態(tài)”、”距離過期Y天禁止銷售和出庫”等精細(xì)化的管理策略。

收貨:關(guān)鍵信息的采集當(dāng)?shù)谝慌少彽呐D痰诌_(dá)倉庫,收貨員用PDA掃描商品條碼。此時(shí),WMS系統(tǒng)會立刻識別出這是一個(gè)”效期管理商品”,并觸發(fā)一個(gè)效期商品的必須操作:”請掃描或輸入該商品的生產(chǎn)日期或生效日期。” 倉庫收貨員隨即錄入包裝箱上的生產(chǎn)日期,例如:2024年1月1日。

落庫:效期快照的生成在收貨員確認(rèn)信息無誤并提交的那一刻,WMS在后臺完成了一個(gè)重要的計(jì)算:失效日期 = 生產(chǎn)日期 + 保質(zhì)期天數(shù)。

2025年1月1日 = 2024年1月1日 + 365天

這個(gè)計(jì)算結(jié)果2025年1月1日,連同生產(chǎn)日期、批次號等信息,被牢牢地”刻”在了這批牛奶的庫存檔案上。我們稱之為**”批次庫存記錄或者是批次庫存快照”**。從此,這批牛奶在系統(tǒng)里的”生命時(shí)鐘”就開始倒計(jì)時(shí)了,WMS會依據(jù)這個(gè)”失效日期”來執(zhí)行后續(xù)所有的臨期預(yù)警、先失效先出(FEFO)策略。

WMS系統(tǒng)常見的三種處理方案

在現(xiàn)實(shí)世界的商業(yè)活動(dòng),最大的特點(diǎn)就是——變化。

現(xiàn)在,我們回到開頭的那個(gè)電話。

運(yùn)營部的張三,帶著一個(gè)巨大的”變量”:保質(zhì)期從365天變?yōu)?40天,來敲門了。

此時(shí),不同的WMS系統(tǒng)會給出截然不同的反應(yīng),而這些反應(yīng),恰恰暴露了它們產(chǎn)品設(shè)計(jì)的底層邏輯,也暴露出了WMS產(chǎn)品經(jīng)理是否有關(guān)注過這個(gè)小眾但是卻很關(guān)鍵的需求場景。

方案一:銅墻鐵壁式 ——對不起,不能改

商品管理人員在WMS后臺的商品主數(shù)據(jù)頁面,找到保質(zhì)期字段,準(zhǔn)備把365改成540,點(diǎn)擊保存。

系統(tǒng)彈出一個(gè)冰冷的提示:”該商品已有在庫庫存,不允許修改效期相關(guān)信息!”

這是最偷懶,也是最不負(fù)責(zé)任的一種設(shè)計(jì)。它為了維護(hù)自身數(shù)據(jù)的”靜態(tài)一致性”,選擇無視業(yè)務(wù)的動(dòng)態(tài)發(fā)展。它的潛臺詞是:”我解決不了這個(gè)變更帶來的復(fù)雜問題,所以我就假裝這個(gè)問題不存在。”

這種設(shè)計(jì),看似嚴(yán)謹(jǐn),實(shí)則是把皮球又踢回給了業(yè)務(wù)方。業(yè)務(wù)方只能選擇繼續(xù)沿用原來的365天的保質(zhì)期天數(shù),但是這樣會導(dǎo)致實(shí)物的包裝盒上是540天。不過系統(tǒng)卻告訴倉庫作業(yè)人員,這批商品的保質(zhì)期是365天。

倉庫作業(yè)人員只能相信系統(tǒng)中“不準(zhǔn)確”的數(shù)字,然后繼續(xù)生產(chǎn)作業(yè),而且這些不準(zhǔn)確的信息會繼續(xù)流轉(zhuǎn)到下游的POS或者電商商城等。

這是一種典型的用系統(tǒng)的剛性對抗業(yè)務(wù)的柔性,算是產(chǎn)品設(shè)計(jì)上的”不作為”。

方案二:一刀切式—— 粗暴的全局更新

我們再看另一種更”靈活”的系統(tǒng)。商品管理人員成功地將保質(zhì)期天數(shù)從365天改成了540天,并點(diǎn)擊了保存。系統(tǒng)沒有報(bào)錯(cuò),皆大歡喜。

然后張三興奮地刷新庫存報(bào)表,想看看變化。他驚訝地發(fā)現(xiàn),那個(gè)10個(gè)月前入庫、本應(yīng)還有2個(gè)月就要過期的批次,它的失效日期,竟然奇跡般地從2025年1月1日自動(dòng)延后到了2025年6月24日左右。

張三可能覺得這是個(gè)好事,但作為產(chǎn)品經(jīng)理的你,卻看到了背后巨大的風(fēng)險(xiǎn)。

這種設(shè)計(jì)是最危險(xiǎn)、最容易”踩坑”的。它的邏輯是,庫存的”失效日期”并不是一個(gè)固定的存儲值,而是一個(gè)實(shí)時(shí)計(jì)算的”虛擬字段”。

每次系統(tǒng)需要用到失效日期時(shí),它都會即時(shí)地跑一遍那個(gè)公式:失效日期 = 該批次的生產(chǎn)日期 + 商品主數(shù)據(jù)里最新的保質(zhì)期天數(shù)。

當(dāng)主數(shù)據(jù)里的”保質(zhì)期天數(shù)”從365變成540時(shí),這個(gè)公式的計(jì)算結(jié)果自然就變了。這導(dǎo)致了歷史數(shù)據(jù)的”污染”。

系統(tǒng)會認(rèn)為那些實(shí)際上快要過期的商品還”很年輕”,于是忽略了之前的舊批次可能已經(jīng)將要過期或者已經(jīng)過期的風(fēng)險(xiǎn),繼續(xù)執(zhí)行揀貨出庫,導(dǎo)致消費(fèi)者收到了很多臨期或者過期的商品。

這種”一刀切”的設(shè)計(jì),看似解決了問題,實(shí)則埋下了一顆定時(shí)炸彈。

方案三:批次快照式—— 優(yōu)雅的解決方案

最后,我們來看一下功能完善且健壯的WMS系統(tǒng),在遇到了這樣的問題時(shí),應(yīng)該怎么做。

商品管理的同事,同樣是將商品主數(shù)據(jù)里的保質(zhì)期天數(shù),從365天改成了540天,然后保存成功。但是運(yùn)營張三刷新報(bào)表,發(fā)現(xiàn)所有歷史批次的失效日期,紋絲不動(dòng)。那個(gè)10個(gè)月前入庫的批次,失效日期依然是2025年1月1日。

第二天,新工藝生產(chǎn)的牛奶到貨入庫。收貨員采集了生產(chǎn)日期2024年11月1日后,系統(tǒng)自動(dòng)計(jì)算出的失效日期是2026年5月14日(即2024/11/1 + 540天)。

此時(shí)會發(fā)現(xiàn),在WMS中查詢同一款SKU的不同批次庫存信息時(shí),新舊批次的商品失效日期是互不干擾,彼此獨(dú)立的。雖然系統(tǒng)中展示的商品主數(shù)據(jù)的保質(zhì)期天數(shù)是540天,但是之前的舊批次依然是沿用365天的保質(zhì)期天數(shù)計(jì)算而得到的失效日期。

可以用一個(gè)具體的表格來推演一下,當(dāng)你在WMS系統(tǒng)中查詢同一個(gè)商品的不同批次時(shí),會看到什么樣的數(shù)據(jù):

從這個(gè)表格可以清楚地看出,批次快照式設(shè)計(jì)的精妙之處:歷史數(shù)據(jù)保護(hù):舊批次的365天保質(zhì)期被完整保留,不會因?yàn)橹鲾?shù)據(jù)變更而”穿越”新數(shù)據(jù)準(zhǔn)確:新批次使用新的540天保質(zhì)期,符合最新的產(chǎn)品標(biāo)準(zhǔn)查詢結(jié)果清晰:業(yè)務(wù)人員可以一目了然地看到每個(gè)批次的真實(shí)情況決策支持準(zhǔn)確:基于準(zhǔn)確的效期數(shù)據(jù),可以制定正確的庫存處理策略

這才是唯一正確且專業(yè)的設(shè)計(jì)。它遵循了一個(gè)WMS乃至所有業(yè)務(wù)系統(tǒng)的核心設(shè)計(jì)原則:主數(shù)據(jù)管未來,交易數(shù)據(jù)記當(dāng)時(shí)。最后,我們來看一下功能完善且健壯的WMS系統(tǒng),在遇到了這樣的問題時(shí),應(yīng)該怎么做。

通過批次來區(qū)分”變”與”不變”

“批次庫存快照式”設(shè)計(jì)的精髓,在于它深刻理解了數(shù)據(jù)屬性的不同。商品主數(shù)據(jù)(如保質(zhì)期天數(shù))是描述一個(gè)”品類”的通用屬性,它會隨著業(yè)務(wù)發(fā)展而變化。庫存批次數(shù)據(jù)(如某個(gè)批次的生產(chǎn)日期、失效日期)是一次具體”交易”或”事件”的結(jié)果,它必須忠實(shí)記錄當(dāng)時(shí)發(fā)生那一刻的狀態(tài),是不變的。

為了實(shí)現(xiàn)這種隔離,WMS在產(chǎn)品設(shè)計(jì)和數(shù)據(jù)建模時(shí)必須做到:

貫徹”快照”思想:在”入庫收貨”這個(gè)動(dòng)作完成的時(shí)候,系統(tǒng)就必須把計(jì)算失效日期所需要的所有元素——生產(chǎn)日期、當(dāng)時(shí)的保質(zhì)期天數(shù)(365)、以及計(jì)算結(jié)果失效日期——全部固化下來,作為這個(gè)庫存批次的”永久檔案”存入數(shù)據(jù)庫。它不再是一個(gè)需要依賴外部變量(主數(shù)據(jù))才能計(jì)算出的值。

正確的數(shù)據(jù)模型:在庫存的批次明細(xì)表中,Expiration_Date(失效日期)必須是一個(gè)實(shí)實(shí)在在的數(shù)據(jù)庫字段,存儲著一個(gè)確定的日期值。它絕不能是一個(gè)每次查詢時(shí),通過關(guān)聯(lián)商品主數(shù)據(jù)表動(dòng)態(tài)算出來的”視圖字段”。甚至,為了追溯,把當(dāng)時(shí)生效的Shelf_Life_Days(保質(zhì)期天數(shù))也一并快照存儲下來,是更嚴(yán)謹(jǐn)?shù)淖龇ā?/p>

所以,那個(gè)看似簡單的公式,在嚴(yán)謹(jǐn)?shù)南到y(tǒng)設(shè)計(jì)中,其真正的含義應(yīng)該是:

入庫批次的失效日期 = 該批次的生產(chǎn)日期 + 該批次入庫時(shí)(當(dāng)時(shí))商品主數(shù)據(jù)中定義的保質(zhì)期天數(shù)

這個(gè)”當(dāng)時(shí)”的限定,就是區(qū)分WMS的產(chǎn)品經(jīng)理專業(yè)與否的分水嶺。

保質(zhì)期狀態(tài)的記錄和變更

在WMS的批次庫存記錄表中,除了要記錄每個(gè)批次商品的生產(chǎn)日期、失效日期、保質(zhì)期天數(shù)之外,還需要記錄一個(gè)動(dòng)態(tài)變化的字段——”保質(zhì)期狀態(tài)”。這個(gè)狀態(tài)需要每天通過定時(shí)任務(wù)來判斷,不同批次的商品現(xiàn)在處于什么狀態(tài)。

這些狀態(tài)一共有:正常、預(yù)警、臨期、過期,它們是基于商品主數(shù)據(jù)啟用效期管理時(shí)維護(hù)的那幾個(gè)關(guān)鍵字段來控制的,這幾個(gè)關(guān)鍵字段是:允許入庫天數(shù),預(yù)警天數(shù),臨期天數(shù)。

允許入庫天數(shù):商品在入庫時(shí),必須剩余的最短有效天數(shù)。用于在收貨時(shí)卡控,如果剩余的有效天數(shù)低于允許入庫天數(shù),則不允許收貨入庫。入庫校驗(yàn): (失效日期 – 當(dāng)前入庫日期) >= 允許入庫天數(shù)

預(yù)警天數(shù):指商品距離失效日期多少天時(shí),商品進(jìn)入“預(yù)警”狀態(tài),系統(tǒng)應(yīng)發(fā)出提醒,讓業(yè)務(wù)方盡快處理。 ?預(yù)警開始日期 = 失效日期 – 預(yù)警天數(shù)

臨期天數(shù):指距離失效日期多少天時(shí),商品進(jìn)入“臨期”狀態(tài),通常此狀態(tài)下商品禁止銷售出庫或者如果要銷售出庫這需要特殊標(biāo)記或者使用特殊單據(jù)。 ?臨期/禁售開始日期 = 失效日期 – 臨期天數(shù)

這里一般會有一個(gè)隱藏邏輯,即:允許入庫天數(shù) < 預(yù)警天數(shù) < 臨期天數(shù),因?yàn)檫@里涉及到的計(jì)算,都是基于“剩余保質(zhì)期天數(shù)”來處理的,這樣可以使得邏輯一致,用戶理解會更更簡單,直白。狀態(tài)流轉(zhuǎn)的業(yè)務(wù)邏輯

因?yàn)殡S著時(shí)間的推移,每個(gè)批次的商品剩余保質(zhì)期天數(shù)會逐漸減少,達(dá)到了某個(gè)閾值之后,就會從正常進(jìn)入預(yù)警狀態(tài),或者是從預(yù)警狀態(tài)進(jìn)入臨期狀態(tài),從臨期狀態(tài)進(jìn)入過期狀態(tài)等。

有了這些狀態(tài)的定義,用戶就不用每次分別去計(jì)算什么商品剩余多少天,然后這些商品要怎么處理,用什么策略去消耗或者周轉(zhuǎn)它。而是通過定義的這幾個(gè)大狀態(tài),只要滿足了某些狀態(tài)的商品,那么就用策略A去處理,如果滿足另一個(gè)狀態(tài)的商品,就用另一個(gè)策略B去解決。

這樣可以提升商品的批量處理效率,同時(shí)對于倉儲運(yùn)營和業(yè)務(wù)人員而言,對效期類商品的數(shù)據(jù)分析和統(tǒng)計(jì)會更直觀和簡潔。

狀態(tài)判斷的定時(shí)任務(wù)設(shè)計(jì)

為了實(shí)現(xiàn)這種動(dòng)態(tài)的狀態(tài)管理,WMS系統(tǒng)需要設(shè)計(jì)一個(gè)定時(shí)任務(wù),每天凌晨執(zhí)行一次,對所有效期管理商品的批次進(jìn)行保質(zhì)期狀態(tài)的更新:計(jì)算剩余天數(shù):當(dāng)前日期 – 失效日期狀態(tài)判斷邏輯:如果剩余天數(shù) > 預(yù)警天數(shù):狀態(tài) = “正常”如果預(yù)警天數(shù) ≥ 剩余天數(shù) > 臨期天數(shù):狀態(tài) = “預(yù)警”如果臨期天數(shù) ≥ 剩余天數(shù) > 0:狀態(tài) = “臨期”如果剩余天數(shù) ≤ 0:狀態(tài) = “過期”批量更新:當(dāng)滿足了狀態(tài)變更的要求之后,這會自動(dòng)將滿足要求的批次庫存中的保質(zhì)期狀態(tài)更新到批次庫存表中

保質(zhì)期狀態(tài)的變化示意圖

效期狀態(tài)管理是WMS效期管理的核心功能之一。通過四個(gè)關(guān)鍵配置字段和定時(shí)任務(wù),系統(tǒng)能夠自動(dòng)識別商品的生命周期階段,為業(yè)務(wù)人員提供直觀的狀態(tài)信息,從而制定相應(yīng)的處理策略。這種設(shè)計(jì)既簡化了操作流程,又提升了庫存管理的效率。

總結(jié)

一個(gè)看似不起眼的“保質(zhì)期天數(shù)變更”需求,卻能映射出WMS產(chǎn)品設(shè)計(jì)在數(shù)據(jù)一致性、業(yè)務(wù)靈活性和風(fēng)險(xiǎn)規(guī)避上的深層考量。”銅墻鐵壁” 的設(shè)計(jì),犧牲了業(yè)務(wù),看似安全,實(shí)則無用。”一刀切” 的設(shè)計(jì),迎合了業(yè)務(wù)的表面需求,卻埋下了數(shù)據(jù)和合規(guī)的巨大隱患。”批次快照” 的設(shè)計(jì),精準(zhǔn)地隔離了變化與不變,在擁抱業(yè)務(wù)靈活性的同時(shí),捍衛(wèi)了數(shù)據(jù)的嚴(yán)謹(jǐn)性和歷史的真實(shí)性。

通過效期狀態(tài)的動(dòng)態(tài)管理和定時(shí)任務(wù)設(shè)計(jì),WMS系統(tǒng)能夠自動(dòng)識別保質(zhì)期商品的效期階段,為業(yè)務(wù)人員提供直觀的狀態(tài)信息,從而制定相應(yīng)的處理策略。這種設(shè)計(jì)既簡化了操作流程,又提升了庫存管理的效率。

作為WMS產(chǎn)品經(jīng)理,我們的價(jià)值,恰恰就在于能洞察這些深藏在業(yè)務(wù)流程之下的”魔鬼細(xì)節(jié)”,并用優(yōu)雅、健壯的產(chǎn)品設(shè)計(jì),為企業(yè)構(gòu)建起一道看不見但至關(guān)重要的護(hù)城河。

畢竟,倉庫里最寶貴的不僅僅是貨物,更是那一條條精準(zhǔn)、干凈、值得信賴的數(shù)據(jù)。

本文由人人都是產(chǎn)品經(jīng)理作者【PM維他命】,微信公眾號:【PM維他命】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于 CC0 協(xié)議。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 文章很好,是個(gè)點(diǎn),看了這個(gè)文章之后,
    你需要了解的一個(gè)事情就是,這個(gè)字段他是否可以隨意的改變,改變后是否對其他的關(guān)聯(lián)業(yè)務(wù)有影響,是否有必要影響改前的數(shù)據(jù),還是只是影響改后的數(shù)據(jù),從這個(gè)角度去考慮很多業(yè)務(wù),你就發(fā)現(xiàn)你有很多成長,解決方案也有很多,不必拘泥于這一種,各有各的優(yōu)劣。有些需求說清楚開發(fā)會幫你處理,比如需求中說道,這個(gè)字段變更后,不要對之前的商品已經(jīng)生成的截止日期數(shù)據(jù)有影響,開發(fā)會給一個(gè)方案,考慮存儲,考慮數(shù)據(jù)統(tǒng)計(jì),響應(yīng)時(shí)間等,有經(jīng)驗(yàn)也可以給一個(gè)建議的方案,
    再這個(gè)場景下還可以延伸:更改是否是即時(shí)生效,因?yàn)樨浳镉性谕緯r(shí)間,和商家?guī)齑娲尕?,新貨不足賣,可能也會采購之前批次的貨物,都存在,這些場景考慮后,文章中的方案還可以優(yōu)化,結(jié)合自己的實(shí)際情況,再做細(xì)化。
    若是產(chǎn)品設(shè)計(jì)中沒考慮到,業(yè)務(wù)還需要沉淀,思維多發(fā)散。但是有些不一定需要懂當(dāng)前的業(yè)務(wù),也可以知道,也許就是所謂的經(jīng)驗(yàn)吧
    這篇文章希望大家能學(xué)到更多

    來自浙江 回復(fù)
  2. 哈哈哈 我們單位的傻逼產(chǎn)品經(jīng)理會在1和2之間來回橫跳

    來自北京 回復(fù)