跳至內容

架構篇 系統架構與溯源設計(一物多碼/效期生命週期/BPMN)

架構篇 系統架構與溯源設計(先懂骨架,再學操作)

在動手操作之前,先建立三個「貫穿全書」的骨架觀念——①模組邊界 ②一物多碼的識別碼體系(溯源命脈) ③效期生命週期。 這三件事是整套系統的設計核心,也是食品進口最在意的「非追不可」追溯效期管控能不能真正落地的關鍵。看懂這一章,後面每一章的欄位為什麼要這樣填、系統為什麼這樣連動,就都通了。

A-1 模組邊界:進口是地基,加值包裝是上層

系統刻意把「進口」與「加值包裝/組合」切成兩個獨立、低耦合的模組,邊界乾淨:

模組職責範圍本手冊涵蓋
① 進口模組(dobtor_trade_import + 食品合規)進貨 → 入庫 → 出貨;產出單品/組件的編碼 / 批號 / 原廠錨點 / 報單連動✅ 本手冊主體
② 包裝/組合模組(設計中)組合提案 → 委外組裝 → GTIN-12 配號 → 銷售;讀取模組①產出的組件批號本手冊不涵蓋(地基做完才接得上)
ℹ️ 為什麼先做進口地基
模組②(組合)要「讀」模組①產出的組件 stock.lot(含 GTIN/批號/原廠批號)才有東西可組。所以先把進口的編碼與批號打穩,之後組合、外銷零售條碼(UPC-12) 才接得上。

A-2 識別碼體系:一物多碼,各管各的(溯源命脈)

食品進口最容易混淆的地方,是同一件貨身上有好幾種「碼」,長相無關、用途各異。本系統採「一物多碼、靠外鍵指針互相連動」的設計。這張表是全書最重要的對照表:

格式範例層級誰在用
新編碼(產品內部碼 default_code)品牌3-品類2-流水5BNN-FR-001產品系統/人員辨識
原廠國際條碼(barcode)EAN-13(13 純數字)8410182010056產品掃描/溯源
批號(stock.lot 子批號)品牌3-效期6-流水3-旗標1AST-280714-001-G批次物流掃描/FEFO
原廠批號(supplier_lot)供應商自由格式ORIG-ASSAM-1010批次溯源橋接(永久保留)
原廠標示效期(supplier_expiration_date)日期2028-07-20批次效期對照
海關報單號(customs_declaration_no)14 純數字/制式AW/26/301/00088報單海關/稅務
輸入許可號 IFB(import_permit_no)IFB…(食藥署)IFBA26301000123報驗非追錨點
自編 GTIN-12(UPC-A)12 純數字+檢核碼(GS1 撥號)組合產品零售掃描(模組②)
⚠️ 法規/標準鐵則:零售掃描碼「只能純數字」
EAN-13(原廠 13 碼)與 UPC-12(自編 12 碼)是零售櫃檯掃描用的國際標準條碼,只能是純數字;內部好記的英數新編碼(如 BNN-FR-001不能拿來當零售條碼。三類碼並存、靠外鍵指針連動——長相無關但查得到彼此,這是 GS1 標準的要求。

批號怎麼組出來的(16 碼,一段一段看)

批號是追溯的核心。它不是隨便編的流水號,而是「一眼就能讀出品牌、效期、旗標」的結構碼:

AST品牌 3 碼
-
280714效期 YYMMDD
-
001流水 3 碼
-
G旗標
規則為什麼這樣設計
品牌 3 碼來自產品所屬品牌可讀提示;品牌由 2 碼升 3 碼,為跨品牌組合與品牌成長預留
效期 6 碼(YYMMDD)收貨現場實得的有效日期批號內直接帶效期,FEFO 先到期先出一目了然
流水 3 碼001 起;reset per(產品+效期+旗標)⚠️ 不可「每日重置」——碼內是效期不是入庫日,每日重置會跨日撞號
旗標 1 碼批次固定屬性(原產國別等),預設 G 一般品區分一般/樣品/即期等特殊批
ℹ️ 產品身份靠 GTIN/product_id 認,不靠批號
批號裡不放品類碼——依 GS1 標準,「批號在同一個 GTIN 底下唯一」即可,產品是誰由 GTIN/product_id 決定。這也讓 16 碼批號與 GS1「批號 ≤20 碼」的限制相容、還有餘裕。

識別碼怎麼互相連動(外鍵指針)

批號
stock.lot 子批號declaration_id →報單 trade.import.declaration海關報單號(14) + IFB 報驗號
同一批
stock.lotcase_id →進口作業單 trade.import.case採購單 / 供應商 / 船務

→ 站在任何一顆批號上,都能穿透查到它的報單號、IFB、原廠批號、採購單、供應商與船期。這就是「非追不可」要求的雙向可追溯。

A-3 效期生命週期:從採購談定到出貨採用

「效期」是這套系統貫穿全程的主角。它不是收貨才出現,而是從採購就開始談、一路帶到出貨;中途系統會盯著「原廠標示」與「實際採用」有沒有對不上。
① 採購談定(源頭) 下採購/建進口作業單時談定 預期效期——這是效期的源頭。
② 進口作業帶入 裝載/船務把預期效期帶進作業單,全程有個效期基準。
③ 收貨鎖定(真相) 實體到貨後,收貨單填入 現場實得的有效日期,產生子批號並把效期寫進批號。
④ 原廠錨點永久保留 同時保留 原廠批號 supplier_lot + 原廠標示效期——不論日後是否加值包裝,都能從實體原廠條碼/批號反查回系統。
⑤ 出貨採用(FEFO) 出貨時依 採用效期 用先到期先出(FEFO)挑批。
⚠️ 效期不一致(expiry mismatch)會標紅提醒
當「原廠標示效期」≠「採用效期」時,系統會在批號上亮 效期不一致 旗標,提醒人工確認——例如原廠標 2028-07-20、實際採用 2028-07-14。這不是錯誤、是刻意的把關提示,讓你決定以哪個為準。

A-4 進口作業狀態機:12 關,狀態列可「快速跳轉」

一張進口作業單從建立到結案,走 12 個主狀態(事件驅動、只向前、不回退、不自動跨放行閘門)。 重點:表單上方的狀態列可以直接點擊跳到後面的關卡,補單/急件不必逐步按。

下單備貨
草稿→已確認→備貨中
在途
待出貨→海上
到港通關
到港→報關中→已放行→配送中
已入庫
stored
結案
done
主狀態里程碑代表意義 / 觸發
草稿 draft①下單備貨作業單剛建立
已確認 confirmed①下單備貨採購單確認自動推進
備貨中 production①下單備貨供應商備貨
待出貨 ready②在途備妥待裝船
海上 in_transit②在途填 ATD(開航)進入
到港 arrived③到港通關ATA 抵港
報關中 customs③到港通關送報單/查驗
已放行 released③到港通關通過放行閘門(報單+邊境報驗全放行)
配送中 delivering③到港通關收貨單備妥、提貨運倉
已入庫 stored④已入庫收貨完成、批號效期建檔
結案 done⑤結案單據結清、歸檔
取消 cancel取消作廢

A-5 進出口全鏈 × 角色 × 系統對照(16 步)

從「可不可以進口」到「食品月申報」,完整 16 步、跨 6 種角色。其中第 8 步「出口國出貨」正是進出口交界——原產國出貨、備妥 Invoice/裝箱單/提單/產地證明(COO)。

#流程步驟對應系統物件主責角色
1可進口性評估食品法規檔 / 產品合規屬性採購
2供應商資料蒐集供應商 + 進口文件採購
3中文標確認中文標 food.label採購
4食品業者登錄公司 food_business_no財務/法規
5產品建檔(HS Code/稅率/原產地)產品採購
6採購下單採購單 → 進口作業單採購
7貨代安排船務 + 貨代貨代
8出口國出貨(Invoice/PL/B-L/COO)船務文件 + 規格確認旗標採購/貨代
9船期追蹤(ETD/ETA/ATD/ATA)船務 shipment貨代
10預報驗(到港前)邊境報驗 預申報三信/食藥署
11到港報關(C1/C2/C3)報單 declaration報關行
12食藥署抽驗查驗抽樣三信/食藥署
13放行放行閘門 → 放行財務
14倉儲管理(效期預警/FEFO)庫存 + 批號倉管
15付款與到岸成本付款 + 到岸成本財務
16食品追溯/月申報批號追溯 / 非追不可月申報法規/財務

A-6 進口主流程 BPMN(泳道)

採購/業務
建立進口需求詢價→PO 確認備貨/規格確認第一次效期確認
貨代
訂艙/裝櫃/提單ATD→海上ATA→到港
報關行
進口報單申報◇ C1/C2/C3海關放行
三信/食藥署
邊境報驗 IFB查驗結果
倉管
配送→收貨第二次效期確認產出內部批號入庫 stored
系統
軟閘門:未收完→警示蓋 case/報單 + 算效期警示結案 done
圖示:綠框=開始/結束事件、藍框=工作 Task、黃框◇=閘道 Gateway、→=循序流;左欄=泳道(角色)。
ℹ️ 法規骨架:食安法「非追不可」+ GS1 條碼標準
本系統依 食安法「食品追溯追蹤(非追不可)」 要求設計——每批食品都要能雙向追溯(往上追到供應商/報單、往下追到出給誰),並依 GS1 國際條碼標準管理 GTIN 與批號。第七章的中文標/效期管制/追溯回收,就是這套法規要求的落地。
⛔ 導入初期必先設定(否則整段自動化靜默失效)
本系統有幾個軟性必填——畫面沒有紅星,但沒設好會讓自動化默默不發生:①進口歸併策略(沒設→採購確認不自動建進口作業單);②供應商進口預設(貨代/報關/付款/流程模式,沒設→每張單手動補);③批號流水重置規則、單號前綴。詳見第二章與各章的軟性必填提醒。

本課程沒有啟用評論功能。