
月底結帳那天,ERP 顯示這張工單入庫 1,200 件,MES 的報工畫面寫 1,180 件,倉管點出來是 1,195 件。生管、成本會計、倉庫各拿一個數字,每個人都相信自己那個才對。
MES 和 ERP 要串得順,先決定每一筆資料由誰說了算:ERP 管計畫和帳,負責開工單、管料號與 BOM、算成本;MES 管現場執行,負責派工、收報工、記下實際用了哪批料。兩邊之間真正要接的只有四條資料流:工單下發、BOM 與途程、報工回寫、庫存扣帳。每一條講清楚方向、時機和主檔歸屬,數字才會對得起來。
最近來找我們談 MES 的製造業老闆,開口第一題常常是這句:「我們已經有 ERP 了,MES 要怎麼接?」這篇就專講串接這件事。三套系統各自負責什麼,我們在 ERP、MES、QMS 差在哪 已經拆過,這裡不再重講定義,直接進到資料怎麼過橋、用什麼方式接、出錯時怎麼測。
ERP 和 MES 的分界在國際上有一套共通語言:ISA-95(Enterprise-Control System Integration),國際版是 IEC 62264。它把 ERP 放在企業規劃層、MES 放在製造營運層,兩層之間交換的主要就是「排程往下、生產實績往上」。中小工廠不需要照著標準逐條做,但用它的切法來分工,跟設備商、ERP 原廠溝通時會少很多誤會。
MES ERP 串接速覽:四條資料流一張表看完
先給結論表:每一條資料流從哪裡出發、什麼時候傳、誰是主檔。這張表對齊了,後面選串接方式才有依據。
資料流 | 方向 | 什麼時候傳 | 誰說了算 | 沒對齊會發生什麼事 |
|---|---|---|---|---|
工單下發 | ERP → MES | 工單核准(發放)時 | ERP:工單號、品號、數量、交期 | 現場做了 ERP 沒開的單,成本歸不了戶 |
BOM 與途程 | ERP(或 PLM)→ MES | 主檔新增或工程變更生效時 | ERP/PLM:用料與標準工序 | 現場照舊版 BOM 領料,扣帳全錯 |
報工回寫 | MES → ERP | 每站完工、每批完工或每班結算 | MES:實際良品、不良、工時 | ERP 的在製與完工數長期落後現場 |
庫存扣帳 | MES → ERP | 領料當下,或完工時倒扣 | ERP:庫存帳;MES:實際用料批號 | 帳上有料、倉庫沒料,盤點差異每月都在 |
看得出來,往下傳的都是「計畫」,往上傳的都是「實績」。一條資料流只要兩邊都能改,就一定會吵架。串接的第一份文件,就是把這張表照你們工廠的實際狀況填完,讓生管、倉庫、IT 三方簽名確認。
如果你手上已經有 ERP,正在評估 MES 要怎麼接,可以直接 加 LINE 把現在的系統和流程丟給我們,我們先幫你看哪一條資料流最該先接。
MES 和 ERP 要串的四條資料流,各自要注意什麼
四條資料流的難度差很多。工單下發最單純,庫存扣帳最容易出事。下面照資料流動的順序一條一條拆。
工單下發:ERP 開單,MES 拆成現場看得懂的派工
ERP 的工單是一個「要做多少、何時交」的承諾,MES 要把它拆成每一站、每一台機、每一班的派工。這裡最常見的問題是拆單與併單:ERP 一張工單 1,000 件,現場可能拆成三批跑,也可能把兩張同品號的小單併成一批。拆併關係一定要在 MES 留下對照,報工回寫時才能把數字還給正確的 ERP 工單。工單號在兩邊的格式也要先對齊,製令單號當共同鍵的做法在 #1050 那篇 有完整說明。
另一個要先講好的是「ERP 工單改了怎麼辦」。數量追加、交期提前、工單取消,這些變更要不要自動同步到 MES?已經開工的工單被 ERP 取消,MES 是跟著關閉,還是先擋下來等生管確認?這些規則沒寫清楚,現場就會出現「ERP 說取消了,機台還在跑」的狀況。
BOM 與途程:主檔在 ERP,現場用的版本要跟著變
BOM 決定用什麼料、用多少;途程決定經過哪些站、標準工時多少。這兩份主檔幾乎都在 ERP 維護,有導 PLM 的工廠則由 PLM 管設計 BOM,再轉成 ERP 的製造 BOM(PLM 的角色可以看 PDM/PLM 系統開發指南)。MES 這邊只需要「這張工單當下生效的那一版」,工單發放時把版本一起帶下去,比讓 MES 每次即時去 ERP 查還穩。
BOM 的模組怎麼選、版本怎麼管,是 ERP 端的事,我們在 製造業 ERP 怎麼選 寫過;用料數量怎麼算出來,可以回頭看 MRP 物料需求規劃。串接要顧的只有一件事:工程變更(ECN)生效那一刻,已經發放、還沒完工的工單要用舊版還是新版,規則要寫死在系統裡,不能靠生管記得。
報工回寫:MES 收現場數字,ERP 拿去算成本
報工是整個串接裡資料量最大的一條。每一站完工、每一批不良、每一段停機,MES 都會記;ERP 通常只需要彙總後的數字:完工良品數、報廢數、實際工時。回寫的顆粒度要先談好,每一筆掃碼都往 ERP 丟,ERP 會被塞爆;一天只回寫一次,生管又看不到即時進度。多數工廠折衷成「每批完工或每班結算回寫一次」。
現場怎麼收報工,掃碼、平板、自動計數各有適合的場景,整理在 報工系統怎麼選。數字收進來之後怎麼變成稼動率與異常追蹤,也是 MES 的工作。這一段我們做過:生產力管理系統 就是幫傳統製造業把現場的生產狀況、異常與產能效益收進系統,讓管理端看得到現場。想看你們的報工資料要怎麼回到 ERP,我們可以先幫你看流程適不適合。
庫存扣帳:領料當下扣,還是完工時倒扣
庫存扣帳有兩種做法。一種是領料當下就扣,倉庫發料給現場時記一筆;另一種是倒扣(backflush),完工報工時依 BOM 標準用量自動扣料。SAP 的生產訂單確認流程就內建倒扣,SAP 說明文件 也提醒,確認完要回頭檢查倒扣與入庫有沒有成功,失敗的要另外補處理。
倒扣省事,代價是帳上的用料永遠是「標準」,實際多用、報廢、換料都看不到。貴重料、有批號追溯要求的料,建議走實際領料;螺絲、包材這類便宜又量大的料,倒扣就夠了。兩種混用很常見,重點是每個料號歸哪一種要寫在主檔上。要追溯到批號的話,MES 端得記下每批實際用了哪個料批,做法可以參考 生產履歷系統怎麼做。
MES ERP 串接方式比較:API、資料庫中介表、檔案交換
先講結論:中小工廠的第一版,多半用資料庫中介表最穩;ERP 原廠已經有現成 API、而且願意開,才直接走 API;檔案交換留給老 ERP 或對外的廠商。三種方式比較如下。
串接方式 | 怎麼運作 | 適合情境 | 主要風險 | 出錯時好不好查 |
|---|---|---|---|---|
API(REST/Web Service) | 一方呼叫另一方的介面,即時送資料 | ERP 原廠有開放 API、需要即時同步 | 對方 API 改版、逾時沒重送、原廠收費 | 要看雙方 log,常常各說各話 |
資料庫中介表 | 雙方約定幾張交換用的資料表,一邊寫入、一邊定時讀取並標記狀態 | ERP 沒有 API,或想先把流程跑起來 | 沒人清理失敗紀錄、雙方直接改對方正式表 | 最好查,每筆資料的狀態都在表上 |
檔案交換(CSV/XML) | 定時匯出檔案到共用資料夾或 SFTP,對方排程讀取 | 老 ERP、跨公司交換 | 格式漂移、檔案重複匯入、資料落後一個週期 | 要比對檔案和匯入紀錄 |
訊息佇列(MQ/MQTT) | 資料丟進佇列,由對方訂閱處理 | 設備資料量大、要解耦的架構 | 多一套系統要維運 | 要有佇列監控 |
中介表好用的原因很簡單:每一筆交換資料都有狀態欄位(待處理、成功、失敗、失敗原因),任何人打開表就知道卡在哪。API 是即時,但失敗那一筆常常只留在某一邊的 log 裡,兩家廠商互相推給對方。檔案交換最容易談,卻也最容易出現「同一份檔匯了兩次」的重複帳。
我們的判斷是:第一版別急著做即時雙向 API。先用中介表把四條資料流跑三個月,弄清楚哪些欄位真的有人在用、哪些時機最常出錯,之後要升級成 API 或佇列,規格也已經被現場驗證過。ERP 原廠開 API 的時程與費用通常不好談,取數上的取捨在 #1050 也有一張表可以對照。系統整合的幾種架構怎麼選,可以再看 系統整合的 6 種情境與 3 種架構;要做佇列的話,Message Queue 入門 講了什麼時候值得多養一套。
設備層的資料(機台計數、溫度、停機訊號)通常不會直接進 ERP,會先進 MES。PLC、OPC UA 這一段一般由設備商處理,我們負責系統端;用感測器加 ESP32 透過 MQTT 把資料送進系統,這類我們自己做過,實作細節寫在 ESP32 MQTT 實作。
MES 和 ERP 的主檔,誰說了算
一句話:每一種主檔只能有一個家,另一邊只能讀、不能改。最常吵架的就是下面這幾種。
主檔 | 建議歸屬 | 另一邊怎麼用 | 常見爭議 |
|---|---|---|---|
料號(品號) | ERP | MES 唯讀,工單帶下來 | 現場自己編臨時料號,ERP 對不到 |
BOM(製造用) | ERP;有 PLM 時設計 BOM 在 PLM | MES 只用工單當下的版本 | 現場口頭換料沒回寫,BOM 和實際脫節 |
途程與標準工時 | ERP(成本用);MES 可存現場細節 | MES 依此派工、算效率 | MES 改了站別順序,ERP 成本照舊算 |
工作中心/機台 | MES | ERP 只需要對應到成本中心 | 新增機台只建一邊,報工找不到機台 |
人員與班別 | 人資系統或 MES | ERP 只收彙總工時 | 臨時工、外包工在兩邊編號不同 |
庫位與料批 | ERP(或 WMS) | MES 記實際用了哪個批號 | 線邊倉算誰的庫存沒講清楚 |
線邊倉是最常被漏掉的一塊。料從大倉發到產線旁邊,帳要不要跟著移?移了,ERP 才知道料還在廠內哪個位置;沒移,盤點時大倉永遠少料。有 WMS 的工廠,大倉的事交給 WMS,線邊倉的事由 MES 記,ERP 只看總帳,三方怎麼切可以看 WMS 倉儲管理系統開發指南。
主檔歸屬定好之後,還要定「改主檔的流程」:誰可以申請、誰核准、生效時間怎麼抓、已經在跑的工單怎麼處理。這份流程比任何介面規格都重要,因為串接上線後出的問題,大半都是有人在不該改的那一邊改了主檔。
報工和庫存對不上帳:MES ERP 串接最常見的六種失敗
開場那三個數字(1,200、1,180、1,195),在實務上幾乎都能歸到下面這幾類。每一類都有對應的預防做法,最好在串接規格裡就寫進去。
症狀 | 常見原因 | 預防做法 |
|---|---|---|
ERP 完工數比現場多 | 報工重送,同一筆被匯入兩次 | 每筆交換資料帶唯一編號,ERP 端重複就擋 |
ERP 完工數比現場少 | 回寫失敗沒人發現,躺在中介表裡 | 失敗紀錄每天自動通知負責人,不能只寫 log |
庫存帳比實際多 | 倒扣用標準用量,實際有報廢或多用 | 貴重料改實際領料;報廢另外報工回寫 |
成本算不準 | MES 拆單、併單後回寫,對不回原 ERP 工單 | 拆併關係在 MES 留對照表,回寫時依對照拆回 |
現場用錯料 | ECN 生效後,MES 還在用舊版 BOM | 工單發放時鎖定 BOM 版本,變更走正式流程 |
月底結帳卡住 | 還有未完工、未回寫的工單,ERP 不能關帳 | 月結前一天跑一次對帳報表,差異先處理 |
這六種失敗裡,前兩種最常見也最冤枉。資料其實都在,只是沒有人每天去看那張失敗清單。我們自己做系統串接時的習慣是:失敗清單一定要推到人看得到的地方,例如 LINE 或 Email,而且要寫清楚是哪一張工單、哪一個欄位、為什麼失敗。只寫在系統 log 裡的錯誤,等於沒有錯誤。
MES 導入失敗的其他常見原因(現場不用、老師傅抗拒、範圍失控),整理在 為什麼 MES 導入常常失敗;串接只是其中一環,但它是最能用規格事先擋下來的一環。
MES ERP 串接上線前,一定要跑的測試情境
串接的測試要用「會出錯的情境」來測,只跑順利的流程等於沒測。下面這張表是我們估串接時會拿出來對的清單,每一條都要準備測試資料、預期結果,並確認兩邊的數字一致。
測試情境 | 要確認什麼 | 通過標準 |
|---|---|---|
正常工單從開單到完工入庫 | 四條資料流都有跑到 | ERP、MES、倉庫三個數字一致 |
一張工單拆成三批生產 | 回寫時能合併回原工單 | ERP 工單完工數=三批加總 |
生產中途 ERP 追加數量 | MES 有收到變更 | 派工數量更新,已報工數不變 |
生產中途 ERP 取消工單 | MES 的處理規則有照做 | 依規則關閉或擋下,並通知生管 |
ECN 生效時有在製工單 | 新舊 BOM 版本切換正確 | 在製單照規則用舊版或新版 |
同一筆報工送兩次 | 重複資料被擋下 | ERP 只記一次 |
ERP 停機一小時 | MES 照常報工,恢復後補送 | 資料不漏、不重複 |
月結前對帳 | 差異報表抓得出問題 | 差異都有原因,可追到單據 |
「ERP 停機一小時」這條最常被跳過,卻最重要。ERP 做系統更新、網路斷線都會發生,MES 必須能先把資料存著,等 ERP 恢復再補送。這跟感測器斷線時先暫存再補傳是同一個道理。
舊資料要不要搬進 MES、怎麼搬,是另一個常被低估的工作,中小企業系統資料遷移指南 整理了四種策略與常見的成本陷阱。
MES ERP 串接要找誰做:原廠、整合商還是客製開發
串接工作通常會落在三方中間:ERP 原廠、MES 廠商、你自己的 IT。誰負責寫介面、誰負責測試、出錯時誰先查,要在合約裡寫清楚。
做法 | 適合誰 | 要注意的地方 |
|---|---|---|
ERP 原廠和 MES 是同一家 | 還沒選 MES、ERP 原廠有自家 MES | 串接最省事,但 MES 功能要能滿足現場 |
MES 廠商負責串現有 ERP | 已有 ERP,MES 選了另一家 | 確認對方串過你這套 ERP,要求看介面規格 |
客製開發 MES 與串接層 | 流程特殊、現成 MES 對不上 | 主檔歸屬與失敗處理要寫進規格,驗收要跑上面的測試表 |
無論找誰做,有五件事建議在簽約前就問清楚:介面規格書由誰寫、失敗資料怎麼通知與重送、ERP 改版時介面誰負責調整、測試資料由誰準備、上線後第一個月結帳誰陪同。MES 廠商怎麼評估,可以看 MES 廠商怎麼選;串接在整體預算裡大概佔哪一塊,MES 系統價格怎麼算 有拆解。想看 MES 的整體導入路線,回到 MES 系統完整指南;如果是 MES、ERP、WMS 三套一起規劃,製造業內部系統開發指南 講了先後順序。
如果你公司現在每個月結帳都要花一兩天對 ERP 和現場的數字、報工常常隔天才補、倉庫和帳上的料每月都有差,這三件事中了兩件,就代表串接該好好規劃了。可以把你現在的情況丟過來,我們陪你看哪一條資料流最值得先動。
ℹ️MES 和 ERP 要怎麼接,先聊聊你現在的系統
ℹ️我們做過這件事
恆遠是會寫程式的工程團隊,目前有 40+ 件企業客製案落地在用。製造現場這一塊,我們做過生產力管理系統,幫傳統製造業建立生產可見性、異常管理與產能效益分析;掃碼槍報工、標籤機、溫度感測器、ESP32 透過 MQTT 把資料送進系統,這些我們都實際串過。PLC 與機台通訊一般由設備商負責,我們負責接收資料的系統端。想看你們的 ERP 和現場放在一起會長什麼樣子,我們很樂意先聽你聊聊。
ℹ️我們怎麼看
我們判斷,未來幾年中小工廠的 ERP 不太會換,會變的是 ERP 旁邊多出來的那一層:MES、感測器、報工 App 越來越多,資料往 ERP 回寫的量也越來越大。所以我們做串接時,會先把主檔歸屬和失敗處理做穩,介面技術選最簡單、最好查的那一種,等流程穩了再談即時化。對老闆來說,判斷要不要動手很簡單:拿上個月的結帳,算一算花了幾個人天在對 ERP 和現場的數字。超過兩天,串接就值得花時間規劃;不到半天,先把報工做準就好。
MES ERP 串接常見問題
Q已經有 ERP,還需要 MES 嗎?
ERP 管計畫和帳,記不到每一站、每一班、每一台機的實際狀況。現場需要即時派工、報工、追不良與停機時,就需要 MES 或同等功能的現場系統。如果現場只要每天回報一次完工數,ERP 的報工功能可能就夠用。
QMES 和 ERP 串接,用 API 還是資料庫中介表比較好?
ERP 原廠已經有穩定的 API 而且願意開放,可以直接用 API。多數中小工廠的 ERP 沒有現成 API,或開 API 要另外報價,第一版用中介表最穩:每筆資料都有狀態欄位,失敗好查、好重送。
QMES 報工要即時回寫 ERP 嗎?
多數工廠不需要。ERP 用報工數算在製、完工與成本,以每批完工或每班結算回寫一次就夠;每一筆掃碼都即時往 ERP 丟,反而會拖慢 ERP。需要即時看進度的是生管,直接看 MES 畫面就好。
Q倒扣(backflush)和實際領料怎麼選?
便宜、量大、不需要追批號的料(螺絲、包材)用倒扣,完工時依 BOM 標準用量自動扣;貴重料、有批號追溯要求的料用實際領料。兩種可以混用,每個料號用哪一種要寫在主檔上。
QBOM 應該在 MES 還是 ERP 維護?
製造用 BOM 建議在 ERP 維護,有 PLM 的工廠由 PLM 管設計 BOM 再轉進 ERP。MES 只使用工單發放當下那一版,不另外維護一份,避免兩邊版本各走各的。
QMES ERP 串接大概要多久?
要看 ERP 有沒有現成介面、四條資料流要接幾條、主檔整理得乾不乾淨。主檔與規則沒對齊前,寫介面再快也沒用;建議先花時間把資料流表與主檔歸屬確認完,再估開發時程。
AUTHOR
恆遠數位編輯團隊






留言(0)
尚無留言,成為第一個留言的人吧!