ERP、WMS里的留庫和鎖庫到底怎么用?一文講清倉庫管理中的核心控制邏輯
很多企業管理者第一次認真關注“留庫”和“鎖庫”,往往不是因為系統培訓做得多好,而是因為實際現場出了真實的問題。明明 ERP 里還有庫存,銷售卻說訂單不能交付;倉庫明明已經收貨,質檢還沒完成,系統卻把貨放進了可外發區;月末盤點剛開始,業務端又把同一批貨占走了。說到底,倉儲管理難的不是記賬,而是把庫存狀態管準。
而放在 ERP里看,留庫和鎖庫就是兩套完全不同的控制邏輯。一個偏向業務履約,一個偏向風險隔離。很多公司這兩個概念混著用,最后就會出現一個很典型的現象:系統看起來功能不少,但現場還是經常“有貨不能發”“沒問題的貨被卡住”“有問題的貨又被放出去了”。
留庫更接近“這批貨先留給某個業務”,鎖庫更接近“這批貨先不要再動”。當然不同ERP廠商可能叫法會有差異,有的寫成預留庫存、凍結庫存、鎖定庫存、占用庫存,但業務含義基本繞不開這兩個方向。

一、為什么企業會關注留庫和鎖庫?
如果企業還處在單倉、單渠道、單一業務流程階段,很多庫存問題靠企業人工盯著倒也能勉強處理。但只要業務開始變復雜,倉庫馬上就不只是“收貨、上架、出庫”那么簡單了。
銷售員想要搶交期,但生產計劃部門想著要保物料,采購部門需要看補貨,財務又要看賬,倉庫現場還要處理批次、庫位、質檢、盤點和退貨。庫存一旦沒有分狀態管理,問題會連續出現:
- 銷售訂單剛下,倉庫還沒揀貨,庫存就被別的訂單占走了
- 某批物料發現異常,但系統沒有及時限制出庫,導致問題繼續擴大
- ERP 顯示庫存充足,倉庫管理員實際又沒有可揀貨的實際庫存
- 生產、銷售、電商、門店多渠道共用庫存時,庫存非常混亂
這也是為什么成熟的 ERP、WMS 不會只給企業一個“庫存數量”字段,而是會繼續拆成可用庫存、預留庫存、鎖定庫存、待檢庫存、在途庫存等狀態。倉庫管理做得扎實的企業,未必庫存更多,但它能說清楚哪些貨可以賣、哪些貨已經答應給客戶、哪些貨雖然在庫里卻不能碰。
二、留庫和鎖庫到底是什么意思?
留庫,本質上是在做業務承諾
留庫通常可以理解為庫存預留。業務單據已經成立了,系統就先把對應庫存“掛”到這張單據上,避免別的業務再來占用。它不是已經出庫,也不是庫存消失了,而是這批貨已經有歸屬。
比如一家制造企業接到重點客戶訂單,銷售已經確認交期,ERP 審核通過,倉庫準備排揀貨任務。這個時候如果不做留庫,后面再進來幾張普通訂單,系統很可能還會繼續判斷“庫存可用”,結果就是重點客戶的貨被后來的單子搶走。
所以留庫解決的不是“有沒有貨”,而是“這批貨到底算誰的”。在真實業務里,它最常見的價值不是理論上的庫存優化,而是避免幾個部門互相扯皮:
- 銷售已經答應客戶,倉庫卻說貨被別的單據占了
- 生產準備開工,物料卻被臨時挪去做別的訂單
- 調撥單已經下發,源倉庫存卻在執行前被消耗掉
從國際主流系統設計上看,這類能力一般對應 reservation 或 reserved stock。SAP 和 Microsoft Dynamics 365 的公開文檔里,也都把“預留”作為倉儲履約控制的重要一環。SAP 文檔?與?Microsoft Learn?都能看到類似思路。
鎖庫,處理的是風險和異常
鎖庫通常可以理解為庫存鎖定或凍結。這類庫存不是要優先給誰,而是先別讓任何業務繼續使用。只要庫存本身存在風險,或者當前狀態還沒有確認清楚,就不應該繼續參與發貨、領料、調撥或結算。
現場最常見的幾種情況,基本都適合鎖庫:
- 到貨待質檢,結果未出之前先鎖住
- 發現批次異常、包裝破損、串碼錯誤,需要暫停出庫
- 盤點期間,為避免賬實繼續變化,臨時鎖定部分庫位或物料
- 售后退回物料待判定,先鎖庫再決定返工、報廢還是重新上架
鎖庫這件事在很多企業里被低估了。大家往往覺得“先放著,倉庫自己注意點就行”,但只要系統沒鎖,流程里就總會有人把這批貨當成正常庫存繼續往下流。SAP 和 Microsoft 對 blocked stock、inventory blocking 的解釋,本質上也是這個邏輯:先把有問題或待確認的庫存從正常流轉里隔離出去。SAP 文檔?與?Microsoft Learn?可作為參考。
三、留庫和鎖庫的區別到底在哪里?
很多項目一開始并不是系統做不出來,而是業務口徑先亂了。有人把留庫當鎖庫用,有人又把鎖庫理解成“先占住”。結果同一批庫存被設置了狀態,現場卻沒人說得清它到底能不能發、能不能領、能不能轉倉。
管理上其實可以用一句很直白的話來區分:
- 留庫:這批貨還能出,但只能按指定業務去出
- 鎖庫:這批貨暫時不能出,先別讓任何業務動它
如果再往下拆,會發現兩者背后的管理目標也不一樣。留庫是為了保交付,它關心的是優先級和承諾;鎖庫是為了防風險,它關心的是異常、待檢、待判定和流程隔離。留庫后的庫存一般還屬于可履約范圍,只是不能隨便給別的業務用;鎖庫后的庫存通常就不應該繼續進入正常可用量計算。
四、企業實際應該在什么場景下使用留庫?
如果企業經常出現“庫存看著不少,真正能承諾的卻沒多少”,那優先應該把留庫機制理順。它尤其適合下面幾種場景。
銷售訂單已經確認,但倉庫還沒出貨
這種情況下不留庫,系統就容易繼續把庫存判斷為“可銷售”。后續再來新訂單,銷售照樣能下單,最后只能靠人工協調誰先發。對重點客戶、已付款訂單、交期嚴格的訂單,留庫幾乎是必選項。
生產已經排產,關鍵物料必須保住
制造企業經常遇到的問題是,車間準備開工了,倉庫卻說原料被別的業務動了。尤其是緊缺物料、長采購周期物料,如果不在排產確認后做留庫,計劃很容易被打亂。
項目制交付,不同客戶物料不能混
項目型業務常常一單一配,甚至一批設備、一批材料就是給某個客戶準備的。這種場景下,留庫不僅是庫存控制問題,也是項目交付邊界問題。
調撥單已經成立,源倉庫存需要先占住
多倉企業最怕的情況是調撥單已經下了,車還沒發,源倉庫存已經被其他業務拿走。調撥留庫做不好,后面就會反復改單、改計劃、改發貨。
五、企業實際應該在什么場景下使用鎖庫?
鎖庫不是“越嚴越好”,而是只在該隔離的時候隔離。用得對,它能幫企業避免很多后續損失;用得亂,則會把正常庫存也卡死。
質檢沒做完,先別讓庫存進入正常流轉
來料、退貨、成品抽檢這些環節,最大的風險不是檢出問題,而是還沒檢完貨就先出去了。很多企業一邊說自己有質檢流程,一邊系統里卻還是把這批貨算成可用庫存,這種流程本身就是斷的。
發現異常批次,要先控制范圍
標簽錯了、批號混了、包裝破了、客戶投訴回溯到某一批貨,這時候最怕的是還沒查清原因,倉庫又繼續把同批次庫存發出去。鎖庫的價值就在這里,它先幫企業把風險面收住。
盤點期間,避免賬實繼續漂移
盤點不是為了“把賬改成和現場一樣”,而是為了找出為什么不一樣。如果盤點時庫存還在頻繁流動,賬實差異很難分析清楚,盤點也很容易流于形式。
退貨回倉,不能默認重新變成可售
很多退貨回來的貨,外觀看著沒問題,但不代表可以立即重新銷售。是否返工、是否報廢、是否復檢、是否換包裝,往往都要判斷。這個階段不鎖庫,后面很容易出二次問題。
六、系統方案應該如何設計,才能把留庫和鎖庫真正用起來?
很多企業項目失敗,不是因為系統沒有留庫和鎖庫功能,而是因為這兩個功能只是“掛在菜單里”,沒有真正嵌進流程。上線后誰都能點,誰都能改,最后一出問題,業務、倉庫、IT 都說自己沒錯。
比較穩的做法,是先把幾件事定義清楚。
先把庫存狀態拆清楚
不要只分“有庫存”和“沒庫存”。至少要區分可用、已留庫、已鎖庫、待檢、在途、已分配、揀貨中這些狀態。更關鍵的是,要給每個狀態配上業務規則:能不能銷售、能不能領料、能不能調撥、能不能參與 MRP 或補貨計劃。
再決定誰在什么節點觸發
銷售訂單審核后是否自動留庫,重點客戶是否有優先級;來料入倉后是先鎖庫還是先入待檢區;盤點任務下發后是否自動凍結對應庫位。很多爭議其實不是技術問題,而是規則沒提前說清楚。
別忘了“怎么放出來”
企業現場最常見的坑不是不會加狀態,而是狀態加上去以后沒人負責釋放。訂單取消了,留庫還掛著;質檢已經通過,鎖庫卻沒解開;異常已經關閉,系統里還剩一堆歷史凍結庫存。久而久之,庫存數據就會越來越不可信。
ERP 和 WMS 的口徑必須統一
ERP 更看業務承諾、計劃和財務口徑,WMS 更看庫位、批次和現場執行。如果 ERP 里顯示“可用”,WMS 里卻因為波次、庫位、待檢狀態而不能揀貨,管理層拿到的數據就會失真。SAP 與 Oracle 對 WMS 的公開介紹都強調了庫存可視化和執行控制的重要性。SAP?與?Oracle?資料可以作為參考。
七、落地實施時最容易踩的坑是什么?
從項目實施角度看,留庫和鎖庫最難的部分從來不是開發,而是業務習慣調整。幾個高頻問題很值得提前防:
- 銷售、倉庫、生產對“留庫是否等于一定能發貨”理解不一致
- 鎖庫后沒有責任人,導致庫存長期沉淀
- 沒有設置自動釋放機制,形成大量僵尸留庫
- ERP 與 WMS 狀態映射不一致,報表口徑混亂
- 只做單據級控制,沒有做到批次、庫位、序列號級別控制
還有一種情況也很常見:系統已經支持按批次鎖庫,但企業內部仍然按“整倉鎖”“整品鎖”在處理,結果要么鎖得太粗,影響正常出貨;要么鎖得太松,問題批次又漏出去。真正要落地,還是得從業務調研、狀態設計、權限設計、流程配置、測試驗證、上線培訓到運行復盤一步步做,而不是只讓開發改幾個按鈕。
八、企業如何選擇 ERP、WMS 服務商?
如果企業準備改造倉庫系統,不建議把問題問成“留庫和鎖庫能不能做”。這個問題本身太淺了,因為大多數系統都能做,差別在于做出來以后是不是能用、能不能長期跑穩。
更值得看的,是服務商有沒有下面幾類能力:
- 能不能聽懂銷售、采購、生產、倉庫之間的庫存沖突,不只是懂功能名稱
- 能不能把控制粒度做到倉庫、庫位、批次、序列號,而不是停留在商品總庫存
- 有沒有 ERP 與 WMS 的聯動經驗,能處理可用量、預留量、揀貨量之間的映射
- 項目上線后能不能繼續陪企業調規則,而不是交付完就結束
真正成熟的服務商,不會只跟企業講“這個功能我們做過”,而是會先問:你的庫存是被哪些業務同時占用的,哪些環節最容易出錯,哪些狀態必須單獨拆出來管理。
九、魁鯨科技能提供什么?
魁鯨科技專注于企業軟件定制開發,可提供 ERP、CRM、WMS、MES、小程序、App、AI 智能應用、物聯網平臺等系統建設服務。
如果企業正在推進倉儲數字化,希望梳理庫存狀態模型、優化留庫與鎖庫規則,或者打通 ERP 和 WMS 的庫存口徑,魁鯨科技可以從業務調研、流程梳理、原型設計、系統開發、接口集成到上線運維提供完整支持,幫助企業把倉庫管理從“靠經驗兜底”逐步轉成“靠系統規則落地”。
結語
回到最初的問題,ERP、WMS 里的留庫和鎖庫到底怎么用?判斷標準其實不復雜:凡是已經承諾給某個業務、又擔心被別人占走的,就應該考慮留庫;凡是庫存本身還存在風險、還不能正常流轉的,就應該考慮鎖庫。
對企業管理者來說,這兩個功能的價值并不在于系統頁面上多了兩個字段,而在于庫存終于不再只有一個模糊的“數量”,而是變成了可以被業務規則真正管住的狀態體系。倉儲管理做到這一步,庫存準確率、履約能力和跨部門協同效率才有機會穩定提升。