n8n 串 ERP 實戰:訂單、報價請款、異動通知 3 條流程怎麼搭,什麼時候 n8n 不夠用

恆遠數位編輯團隊約 16 分鐘閱讀
n8n 串 ERP 實戰封面:訂單、報價請款、ERP 異動通知三條自動化流程的節點圖與 n8n 的極限
複製引文

n8n 可以串 ERP。訂單進 ERP、報價核准後開請款單、ERP 單據異動通知相關的人,這三條中小企業最常想自動化的流程,用 n8n 內建的節點就搭得出來。真正會卡住的地方很少是「節點不夠」,多半是三件事:ERP 給不給你寫入的權限、同一張單會不會被寫兩次、流程壞掉的時候有沒有人知道。

我們自己的 n8n 架在 Zeabur 上,內部寄信、網站監控、社群數據同步都靠它在跑,踩過的坑不算少。最近來聊 ERP 需求的人裡,也有人是先把我們的 n8n 課程頁看了兩次,才回頭來談系統。這讓我們確定一件事:很多老闆想知道的,是「n8n 到底能幫我的 ERP 做到哪裡」,而這個問題的答案,比 n8n 教學影片裡的範例複雜一點。

先看一個背景數字。MuleSoft 的 2025 Connectivity Benchmark 報告 調查發現,企業平均用了 1,061 個應用程式,真正彼此串起來的只有 29%。規模小很多的台灣中小企業也是同一個樣子:ERP、LINE 官方帳號、Google 表單、Excel 報價單各自為政,中間靠人複製貼上。n8n 剛好就是補這個縫的工具。

這篇會把三條流程拆成節點圖,講清楚每一步該開哪個設定、哪裡最容易出事,最後誠實講 n8n 的天花板在哪,什麼情況該改成客製中介層。

n8n 串 ERP 速覽:三條流程、核心節點與最容易出事的地方

先給答案:三條流程的觸發方式不同,風險也不同。訂單流程怕重複建單,請款流程怕金額算錯,通知流程怕漏通知或洗版。

流程

觸發方式

核心節點

最容易出事的地方

適合 n8n 嗎

LINE/表單訂單 → ERP 訂單

Webhook(LINE 或表單送進來)

Webhook、Code、Remove Duplicates、HTTP Request

同一筆訂單被寫入兩次

適合,前提是 ERP 有寫入 API

報價核准 → 自動開請款單

報價狀態改變(Webhook 或定時查)

Gmail/Slack 的 Send and Wait for Response、If、HTTP Request

分期金額、稅額算錯;核准被跳過

適合簡單規則,分期拆單建議寫成程式

ERP 異動 → 通知業務與客戶

Schedule Trigger 定時查,或 ERP 主動推 Webhook

Schedule Trigger、Remove Duplicates、Loop Over Items、Wait

重複通知、API 被打爆

非常適合

如果你要的是「LINE 下單有哪幾條路、各花多少錢」的比較,我們在 LINE 訂單系統怎麼串 ERP 那篇整理過四種做法;想看報價、請款、出貨這條單據鏈的資料要怎麼對齊,可以看 報價單、請款單、出貨單自動串接。這篇專講 n8n 這一層怎麼搭。

想直接問你的 ERP 能不能這樣接?

把你用的 ERP 名稱、想自動化的那一段流程丟過來就好,我們會直接告訴你 n8n 撐不撐得住、要先補哪一塊。加 LINE 直接問,或先看 AI 顧問服務 怎麼陪你盤流程。

n8n 串 ERP 之前:先確認 ERP 給你哪一種入口

一句話:ERP 有開寫入 API,n8n 就好接;只能讀資料庫或只能匯入檔案,n8n 能做的事會少一大截。動手前先拿下面這張表去問你的 ERP 廠商。

ERP 入口

n8n 用什麼節點接

能做到什麼

要先問廠商的事

REST/JSON API

HTTP Request(有現成節點的用現成節點,例如 Odoo)

讀寫都行,最乾淨

API 要不要另外付費?有沒有沙盒?每分鐘呼叫上限?

直接連資料庫

Postgres、MySQL、Microsoft SQL 節點

讀很方便,寫入風險高

直接寫表會不會繞過 ERP 的庫存與會計邏輯?原廠保固還算不算?

匯入檔(CSV/Excel)

Code 或 Convert to File 產檔,再人工或排程匯入

只能批次,不即時

匯入格式多久改一次?匯入失敗有沒有錯誤報表?

完全沒有入口

只能做 ERP 外面的事(通知、彙整)

寫不進去

要不要換 ERP,或在前面加一套自己的系統

n8n 有現成 ERP 節點的不多。官方文件裡的 Odoo 節點 支援聯絡人、商機、筆記,再加一個 Custom Resource 可以操作其他資料模型;台灣常見的本地 ERP 大多沒有現成節點,要靠 HTTP Request 自己打 API。

直接寫資料庫是最常見的誘惑,也是最危險的捷徑。ERP 建一張訂單,背後通常會連帶扣庫存、產生應收、寫稽核紀錄。你從資料庫直接 INSERT 一筆訂單,這些連帶動作全部不會發生,帳就這樣悄悄歪掉。我們的建議很硬:資料庫只讀不寫,寫入一律走 API,沒有 API 就先別寫。

如果盤下來發現 ERP 根本沒有好的入口,而你最痛的其實是「報價要算階梯價、要主管審核」這種前段流程,有時候比較划算的做法是把前段做成一套自己的系統,再把結果交給 ERP。這類系統我們做過:食品階梯報價與型錄系統 就是成本連動四階梯報價、主管審核加中英型錄匯出的一條龍流程,報價那一段不再卡在 ERP 裡面。你的情況如果類似,找我們聊會比從零開始描述需求快很多。

流程一:LINE 或表單訂單自動寫進 ERP

先講結論:這條流程的成敗在「冪等」,也就是同一筆訂單送進來兩次,ERP 裡也只能有一張單。其他都是細節。

圖表載入中…

收單:Webhook 節點與驗簽

Webhook 節點 有測試網址和正式網址兩組,正式網址要等工作流發布後才會生效,很多人在測試網址測完就以為上線了。驗證方式可選 Basic auth、Header auth、JWT auth。

LINE 這一段要另外注意兩件事。第一,n8n 內建的 Line 節點只支援 LINE Notify,而 LINE Notify 已在 2025 年 4 月 1 日停止服務,官方文件 標示這個節點從 1.64.0 版起棄用。要收 LINE 訊息、回覆客戶,得走 LINE Messaging API,用 HTTP Request 自己打。第二,LINE 送來的 webhook 會在 x-line-signature 標頭帶簽章,LINE 官方文件 要求處理事件前先驗簽,也建議非同步處理事件,別讓後面的請求排隊等。

擋重複:同一筆訂單不能寫兩次

重複送單比你想的常見。LINE 官方文件寫得很直白:同一個 webhook 事件可能因為網路路由等原因送到你的伺服器不只一次,要用 webhookEventId 判斷重複;開啟 Webhook redelivery 之後,重送的事件內容和原本一樣,只差 deliveryContext.isRedelivery 這個欄位。

n8n 這邊可以用 Remove Duplicates 節點 的 Remove Items Processed in Previous Executions 模式,拿 webhookEventId 或你自己的訂單編號當比對值,之前處理過的就丟掉。這是第一道防線。

第二道防線要放在 ERP 那一端:寫入 API 時帶一個由訂單內容算出來的唯一鍵(業界叫 idempotency key,Stripe 的 API 文件 是這個做法最常被引用的範例),ERP 收到同一個鍵就回傳既有那張單,不再新建。ERP 不支援的話,就先用 HTTP Request 查「這個外部單號有沒有建過」,查到就跳過。兩道都做,才睡得著。

對資料:料號和客戶編號對不上怎麼辦

LINE 訂單最亂的地方在文字。客戶打「紙杯 8 盎司 白色 2 箱」,ERP 要的是料號和單位。能用固定格式(表單、選單、LIFF 頁面)就別讓客戶自由打字;真的要吃自由文字,就在 If 節點把「料號對不上」的單分流給業務人工確認,不要讓 n8n 硬猜。用 AI 解析訂單文字可以,但解析結果一定要經過料號主檔比對,對不上就退人工。

流程二:報價核准後自動開 ERP 請款單

一句話分工:n8n 負責「等人核准」和「把結果送進 ERP」,金額怎麼拆、稅怎麼算,留給 ERP 或一段寫好測試的程式。

圖表載入中…

「等主管按核准」以前是 n8n 最難搭的一段,現在有現成做法。Gmail、Slack 等節點都有 Send and Wait for Response 操作,送出訊息後工作流會暫停,等收件人回覆才繼續。另外 Wait 節點 也能設成 On Webhook Call,產生一個每次執行都不同的 resume 網址,你可以把它嵌進自己系統的「核准」按鈕。暫停期間,執行資料會先存進資料庫,不會一直占著記憶體。

這條流程我們最常提醒的是分期請款。訂金 30%、交貨 60%、驗收 10%,再加上部分客戶要開兩張發票,規則一多,Code 節點裡的 JavaScript 很快就變成沒人敢動的黑盒子。判斷方式很簡單:請款規則超過三種、或會因客戶而異,就把「算金額」抽成一支有單元測試的服務,n8n 只負責呼叫它。

分期收款算錯的痛,我們在 汽車包膜報價與簽約系統 這個案子看得很清楚:每台車部位、材料、尺寸都不同,分階段收款時訂金常被重複扣。後來做成線上報價加電子簽約,勾選就出單,訂金自動分配,客戶在 LINE 簽完就通知。金額邏輯集中在一個地方,流程工具只負責傳話,這個分工到 n8n 上一樣適用。

請款規則

放在 n8n 的 Code 節點

抽成獨立程式或交給 ERP

單次全額請款

可以

不必

固定比例分期(例如 30/70)

可以,但要寫註解

規則超過三種時建議

依客戶等級、產品別不同條件

不建議

建議

一張報價拆多張發票、跨月認列

不建議

必須,還要會計確認

流程三:ERP 單據異動,主動通知業務與客戶

先給答案:這是三條裡最適合 n8n、也最該先做的一條。它只讀 ERP、不寫 ERP,出錯頂多是通知晚了,不會把帳弄壞。

典型的需求長這樣:出貨單建立了要通知客戶物流單號、應收逾期三天要提醒業務、庫存低於安全量要通知採購。ERP 能主動推 webhook 最好;不能的話,就用 Schedule Trigger 每 5 到 15 分鐘查一次「最近更新的單據」。

圖表載入中…

輪詢最容易出的事是重複通知。Remove Duplicates 有一個 Value Is a Date Later than Any Previous Date 的比對方式,拿單據的更新時間當比對值,只放行比上次還新的資料,正好解決這個問題。

第二個是打爆 API。一次撈回 300 筆異動、每筆都要再查一次明細,ERP 的 API 很可能直接拒絕你。n8n 官方的速率限制處理文件 給了兩招:開 Retry On Fail 並把 Wait Between Tries 設得比對方的限制還長,或用 Loop Over Items 分批、搭配 Wait 節點在每批之間停一下。HTTP Request 節點本身也有 Batching 選項可以做到同樣的事。

三條 n8n ERP 流程共用的四道防線

一句話:權限要小、寫入要冪等、重試要有上限、壞了要有人知道。這四件事做齊,n8n 串 ERP 才算可以上正式環境。

防線

要擋的事

n8n 裡怎麼做

權限

n8n 帳號被盜或流程寫錯,把 ERP 資料改壞

ERP 開一個專用 API 帳號,只給這幾條流程需要的資料表與動作;憑證放 n8n Credentials,不寫進節點

冪等

重送、重試造成重複建單或重複請款

Remove Duplicates 擋前段;寫入時帶唯一鍵或先查再寫

重試

對方暫時掛掉就整條流程失敗;或無限重試把 API 額度燒光

節點 Settings 開 Retry On Fail,設定 Max Tries 與 Wait Between Tries;認證錯誤、資料格式錯誤不要重試

錯誤通知

流程默默失敗,三天後才被客戶發現

在 Workflow Settings 指定 Error workflow,以 Error Trigger 開頭,把失敗的工作流名稱、節點、執行連結送到 Slack 或信箱

節點的錯誤行為有三個選項,官方文件 寫得很清楚:On Error 可以選 Stop Workflow(整條停下)、Continue(帶著上一筆有效資料繼續)、Continue (using error output)(把錯誤資訊送到另一個輸出,讓你接一段處理)。寫入 ERP 的節點,我們建議用最後一個,失敗的那筆另外記下來給人看,不要讓 Continue 帶著舊資料往下跑。

想看重試策略更細的分類(哪些錯誤該重試、該退避多久),我們在 排程治理 SOP 那篇整理過一張完整的錯誤類型對照表;fallback 怎麼設計,可以看系列第一篇的 內部報價自動化 SOP。

⚠️一個很常被忽略的設定

Webhook 節點的回應模式如果選「立即回應」,n8n 收到請求就先回 200,後面節點出錯,呼叫端也不會知道。訂單這種需要確認結果的流程,改用「Respond to Webhook」節點,在寫入 ERP 成功之後才回應。

我們自己的 n8n 怎麼跑:四個真的踩過的坑

我們公司自己每天就在跑 20+ 個 AI 流程,其中一部分跑在自架的 n8n 上(部署在 Zeabur,資料庫用 PostgreSQL)。下面這幾條沒有串 ERP,但每一條都是串 ERP 時一定會再遇到的問題。

內部流程

節點組成

踩到的坑

換到 ERP 情境

通用寄信 gateway:內部系統打一個 Webhook 就能寄信

Webhook → Code(驗證與解析)→ If(有沒有附件)→ Gmail → Respond to Webhook

Gmail 節點遇到不存在的附件欄位會直接報錯,無法略過,只好用 If 拆成有附件、沒附件兩條

寫入 ERP 前先用 If 把資料形狀分流,別期待單一節點「自動略過」缺欄位

網站監控:每 1 分鐘檢查官網狀態

Schedule Trigger → HTTP Request(失敗時再試兩層,逾時依序拉長為 8、12、15 秒)→ Discord 通知

對方偶爾慢一下就誤報,改成逐層拉長逾時後才穩定

ERP API 尖峰時段很慢,逾時設定要比你想的寬,重試要有層次

寄信 gateway 的寄件人設定

預設寄件人名稱寫在 Code 節點裡

2026 年公司更名,文件改了,節點裡的預設值卻一直是舊名,到 10 月才發現同步

稅率、帳號、ERP 網址這類設定別寫死在節點,集中放在 Credentials 或變數

外部程式呼叫 n8n API

Python 腳本直接呼叫

Python 預設的 User-Agent 被 Cloudflare 擋成 403

ERP 主動推 webhook 給 n8n 時,先確認中間的防火牆會不會把它擋掉

還有一個坑跟節點接法有關:兩個平行的 HTTP Request 同時接進同一個 Code 節點,Code 節點會被觸發兩次,其中一次會因為另一個節點還沒跑完而報錯。我們的解法是改成序列連接。串 ERP 時常會「同時查客戶資料和庫存再合併」,這種情況請用 Merge 節點 明確合流,或乾脆排成前後兩步。

這些問題換成任何流程工具都會遇到,只要把流程交給機器跑,就得先想好它們。我們在 N8N + ChatGPT 企業自動化實戰 整理過更多正在運行的案例,入門操作可以先看 n8n 教學。

什麼時候 n8n 串 ERP 不夠用,該改客製中介層

我們的判斷很直接:n8n 很適合當 ERP 的「傳話筒」,不適合當 ERP 的「第二個大腦」。只要流程裡開始出現自己的商業規則、自己的資料狀態,就該考慮把那一段搬出 n8n。

訊號

為什麼 n8n 開始吃力

建議做法

Code 節點超過 100 行,或有三個以上 Code 節點互相依賴

沒有型別檢查、沒有單元測試,改一行要整條重跑

抽成獨立服務,n8n 只呼叫它

需要保存自己的狀態(訂單處理到哪一步、哪些已對帳)

Data tables 預設整個執行個體上限 200 MiB,且 Code 節點無法直接存取

狀態放自己的資料庫

高峰時段一分鐘上百筆單

一般模式預設不限制同時執行數,量大會拖慢整台;要穩得開 queue mode

中介層加訊息佇列

寫入會動到錢或庫存的步驟超過三個

錯一筆就要人工沖帳,稽核也要查得到誰改了什麼

中介層統一處理冪等、交易與稽核紀錄

同一份資料要同步給三個以上系統

工作流之間互相觸發,出事時很難追

中介層當唯一資料出口

上面幾條限制都寫在 n8n 官方文件裡:Data tables 適合輕到中量資料,自架可以用環境變數調高上限;同時執行數 在一般模式下預設不設限,太多執行同時跑會拖垮事件迴圈,官方建議用 N8N_CONCURRENCY_PRODUCTION_LIMIT 限流。

費用也要算進來。n8n 的官方定價以「整條工作流跑完一次」計次,不論中間有幾個步驟:雲端 Starter 年繳每月 20 歐元含 2,500 次、Pro 每月 50 歐元含 1 萬次;自架的 Community Edition 免授權費,但主機、備份、升級要自己顧。

情境(每月)

大約執行次數

比較合理的選擇

每天 30 張訂單 + 每天幾則異動通知

約 1,000 到 1,500 次

雲端 Starter 或自架都可以

每天 150 張訂單,加報價與通知流程

約 5,000 到 8,000 次

雲端 Pro,或自架加上監控

每天上千筆、多系統同步

數萬次以上

自架 queue mode,或核心改客製中介層

中介層要怎麼評估、自建和買 iPaaS 各花多少,我們在 客製化跨系統 API 整合中介層完整指南 有完整的決策表。n8n 和 Make、Zapier 怎麼選,看 三巨頭比較。如果你還在猶豫要不要買 ERP,ERP 太貴的 5 條替代路徑 裡的「Excel 加 n8n」那條路,適合先拿來驗證流程。

如果卡關的原因是 ERP 本身不合用,自動化只是在補洞,那該處理的是 ERP 選型。可以先看 現成 ERP 為什麼總是不符需求、台灣 12 套 ERP 對照,以及 企業 ERP 選型指南。電子發票要一起串的,電子發票整合外包指南 列了該問廠商的問題;LINE 這端要做到對話式下單,可以看 LINE Bot 客製化開發指南。

你的 ERP 適合用 n8n 接嗎?

把三件事丟過來就好:用哪套 ERP、想自動化哪一段、目前每天大概幾筆單。我們會直接告訴你 n8n 撐不撐得住,哪一段該留在 n8n、哪一段該寫成程式。加 LINE 聊聊,或到 AI 顧問服務 看我們怎麼陪你盤流程。想讓團隊自己搭得起來,n8n 實戰課程 會從零帶到 Google Sheet、Gmail、LINE、Slack 的串接。

ℹ️我們做過這件事

這篇講的做法,我們公司自己每天都在跑:內部寄信、網站監控、社群數據同步都是 n8n 工作流,目前內部有 20+ 個 AI 流程在工作。ERP 前後的營運系統我們也做過同型的,例如 食品階梯報價與型錄系統,把報價、主管審核、型錄匯出收成一條流程。看到這裡,如果你也在想「這套放在我們公司會是什麼樣子」,我們很樂意 聽你聊聊現在的實際情況,一起看看哪些做得起來、能從哪一塊開始。

ℹ️我們怎麼看

三年內,中小企業的 ERP 周邊會越來越常見 n8n 這類流程工具,因為 ERP 廠商開 API 的速度變快,而 LINE、表單、電子簽這些前端入口只會更多。會動到錢和庫存的核心規則,我們判斷還是會留在 ERP 或一層有測試的程式裡,因為那裡需要交易、稽核和可回溯。我們自己的取捨也是這樣:通知、搬資料、等人核准交給 n8n;算金額、扣庫存寫成程式。給你一個判斷工具:數一數你想自動化的流程裡,有幾個步驟會「寫入」金額或庫存。零個,直接用 n8n;一到兩個,n8n 加冪等設計;三個以上,先規劃中介層再動手。

Qn8n 可以直接串鼎新、正航這類台灣 ERP 嗎?

可以串,但要看 ERP 開放哪種入口。n8n 沒有這些 ERP 的現成節點,有寫入 API 的話用 HTTP Request 節點呼叫;只能連資料庫的話建議只讀不寫,因為直接寫表會繞過 ERP 的庫存與會計邏輯。動手前先問原廠:API 要不要另外付費、有沒有測試環境、每分鐘呼叫上限多少。

Qn8n 串 ERP 要自架還是用雲端版?

每月執行次數在幾千次以內、公司沒有人顧主機,雲端版比較省事。資料不能出公司、或每月執行數萬次以上,自架的 Community Edition 免授權費,但要自己負責備份、升級與監控。ERP 在公司內網時,自架通常也比較好連。

Qn8n 串 ERP 的費用大概怎麼算?

n8n 官方以整條工作流跑完一次計次,雲端 Starter 年繳每月 20 歐元含 2,500 次,Pro 每月 50 歐元含 1 萬次。每天 30 張訂單加通知,大約一個月 1,000 到 1,500 次。另外要算 ERP 原廠的 API 費用,以及第一次搭建與測試的人力。

Q用 n8n 寫入 ERP 會不會重複建單?

會,如果不處理的話。LINE 這類平台會重送 webhook,n8n 自己重試也可能送第二次。做法是兩道防線:前段用 Remove Duplicates 節點以事件 ID 擋掉處理過的資料,寫入時帶唯一鍵或先查詢這張單有沒有建過。

Qn8n 流程壞掉要怎麼第一時間知道?

建一條以 Error Trigger 開頭的錯誤處理工作流,在每條 ERP 流程的 Workflow Settings 指定它當 Error workflow。流程失敗時,它會收到工作流名稱、出錯節點與執行連結,可以轉發到 Slack、Email 或 LINE 群組。

Qn8n 和客製中介層可以並存嗎?

可以,而且是我們最常建議的做法。通知、搬資料、等主管核准交給 n8n;金額計算、庫存扣減、對帳這類會動到錢的規則寫成有測試的中介層服務,n8n 只負責呼叫它。這樣兩邊都好維護。

分享文章
恆

AUTHOR

恆遠數位編輯團隊

查看作者頁

留言(0)

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

需要網站系統架設或軟體開發?

無論是品牌官網、客製化系統還是應用程式,我們的團隊擁有豐富經驗,歡迎聯繫我們,讓專業為您的事業加分。