食品零售導入 WMS 倉儲管理系統時,若需求只寫「入庫、出庫、盤點」,最後常得到一個能加減總數量的後台,卻回答不了同一商品有哪些批號、放在哪個儲位、哪些即將到期,以及某批商品已流向哪些門市或客戶。總庫存相同,不代表每一件都能出貨。

WMS 規格應把商品、批次或批號、效期、物流單位、儲位與庫存事件分開。每次收貨、上架、移位、揀貨、覆核、出庫、退貨、報廢與盤點調整,都要產生有時間、數量、來源位置、目的位置與操作者的紀錄。畫面上的目前數量應由這些事件形成,而不是允許使用者直接覆蓋後便失去來由。

先決定追溯到商品、批次還是單件

GS1 可追溯性全球標準把可追溯性描述為追蹤對象歷史、應用或位置的能力,並區分類別、批次/批量與單一實例等識別層級。文件也以「誰、什麼、何時、何地、為什麼」說明要捕獲與共享的追溯資料。

系統不必對所有商品採用最細粒度。一般包裝食品可能依品項加批號管理,高價或特殊管制品才需要序號;散裝或重新分裝商品則要定義原批次如何對到新包裝批次。粒度應依商品風險、供應商資料、門市作業與法規需求決定,不能由開發團隊單方面猜測。

驗收資料至少要包含同一商品兩個批號、不同效期與不同儲位。搜尋商品時看得到總數,也能展開每批可用、保留、待驗與不可出貨數量;掃描批號時則能反查商品、供應商、收貨與目前位置。這樣才不會在需要追溯時,只剩一個無法拆解的庫存總額。

收貨與上架必須保留原始識別

食藥署的食品業建立追溯追蹤系統資料列出的追溯資訊包含供應商、產品名稱、數量、批號、有效或製造日期、收貨日期,以及物流業者、下游對象與交貨日期等項目;資料也強調產品應有可辨識不同品項與批號的標記。

實際適用範圍仍應由食品業者依現行法規、業別與主管機關要求確認,系統團隊不能把一份簡報當成所有公司的法律結論。不過,這些欄位可直接轉成需求盤點:供應商送貨標籤是否已有批號與效期?條碼掃不到時誰能人工輸入?日期格式錯誤或標籤破損時,是拒收、待驗還是暫存?

收貨完成不等於立即可售。數量短缺、溫度異常、包裝破損或資料待補的商品可先進待驗區,經核准才轉入可用儲位。若系統允許直接跳過待驗,也要限定角色並填寫原因;後續報表才能分辨正常上架與例外放行。

揀貨規則要能被看見,也允許受控例外

食品常使用先到期先出,但「效期最早」不一定永遠可揀。某批可能被品管鎖定、已保留給特定通路,或剩餘效期不符合客戶要求。系統應先排除不可用狀態,再依企業設定推薦批號,並在操作員改選其他批號時留下原因。

驗收可以建立三批相同商品:第一批效期最近但處於待驗,第二批可出貨,第三批效期較遠。建立門市補貨單後,系統應推薦第二批;解除第一批待驗後,下一張單才依規則重新選擇。若操作員強制選第三批,主管應能在例外報表看到,而不是只看出庫總數正確。

移位也不能只改儲位欄位。從收貨暫存區移到常溫貨架、再移到揀貨區,每一步都要保存來源與目的儲位。掃錯位置時,系統應阻擋或要求確認;離線補登則要記錄實際發生時間與補登時間,避免追溯時間軸被誤解。

用門診管理案例理解狀態與工作佇列

沐光身心診所門診管理展示案例把掛號、候診、看診狀態與工作儀表板放在同一介面。它不是食品倉儲案例,也不代表真實 WMS 成果,但可借鏡「目前狀態決定下一個可執行動作」的設計。

把候診流程換成倉儲語境:收貨待驗的商品不能直接出庫,待上架的物流單位需要出現在指定人員的工作清單,已鎖定批號不能被一般揀貨任務選中。儀表板應顯示待驗、待上架、揀貨中、待覆核與異常等佇列,操作員從任務進入,而不是任意搜尋商品後直接改數量。

還可以模擬狀態衝突:品管鎖定批號的同時,揀貨員已取得任務。系統要在最後確認前再次檢查狀態,阻止出庫並保留未完成任務。案例提供的是狀態看板的介面參考;食品欄位、角色與規則仍須由實際營運流程定義。

用反向追溯與正向追蹤完成驗收

上線前要做兩種演練。反向追溯從門市退回的一件商品開始,查到批號、出庫單、揀貨儲位、收貨單與供應商;正向追蹤則從某個批號開始,列出現存位置、保留數、已出貨對象、退貨與報廢。兩邊的數量應能對帳,且每次調整都有原因與操作者。

再加入失敗情境:重複掃描同一物流單位、效期早於製造日期、移到不存在的儲位、盤點差異未核准、批號鎖定後仍嘗試出庫,以及部分出貨後發現需停止流通。報表不只要匯出結果,也要能保留查詢條件與時間點,讓後續覆核知道當時看見的是哪一版資料。

食品零售的 WMS 價值不在把紙本庫存換成螢幕數字,而在每批商品的身分、位置與流向都能被驗證。先確定追溯粒度,將收貨、上架、揀貨和例外做成事件,再用正反向追溯演練,系統才有能力在日常出貨與異常處理時提供同一套可信資料。