Play video
Pause video

豹發力
PFL

包裝禮品電商平台 + ERP 串接

2024

豹發力 PFL 官網截圖
Scroll
專案類型電商平台
開發時間2024 年
主要技術Laravel, Filament, ERP
網站連結pflpfl.com

專案概述

豹發力(PFL)是台灣的包裝禮品供應商,販售封口袋、禮盒、包裝品、裝飾品、節日用品、組合品等多元商品,產品數量高達近兩千筆。

客戶原有的 ERP 系統管理著所有產品與客戶資料,希望建置一個同時支援 B2B(經銷商)與 B2C(一般消費者)的電商平台,並能與 ERP 雙向同步,避免人工重複輸入資料。

整個系統以 Laravel + Filament 為核心,串接 ERP 的產品、庫存、客戶、訂單模組,搭配綠界科技 ECPay 金流處理線上付款,實現從下單到 ERP 入帳的完整自動化流程。

1963+
產品資料(ERP 同步)
B2B+B2C
雙軌商業模式
3
ERP 同步模組

客人按下結帳,訂單自己走進 ERP

以前是這樣:客人在網站上下單,營運人員把訂單印出來,再打開 ERP 把同一筆資料重打一次。近兩千筆商品、每天數十張單,數量打錯一個就是一次出貨糾紛。現在客人按下結帳的那一刻,同一張訂單已經在 ERP 裡了。

電商網站客人這邊看到的
pflpfl.com/checkout/done

✓ 訂單成立

訂單編號 PFL-24090873

  • 霧面封口袋 100 入× 12
  • 燙金禮盒 M× 5

合計NT$ 8,640

信用卡・付款完成

ERP 系統營運這邊看到的
KTNET TMS/訂單管理
單號客戶金額狀態
24090871經銷商 A12,400已建立
24090872經銷商 B3,280已建立
24090873網路訂單・B2C8,640已建立

+00:02 · 由電商自動建立,沒有人動手輸入

※ 上圖為流程示意,非實際畫面截圖

同一張訂單,客人端與營運端各看各的畫面,但資料只輸入一次。營運人員要做的只剩確認出貨,不用再開兩個系統對照著打字。

核心功能

01

ERP 雙向串接

與 KTNET TMS ERP 系統雙向同步,涵蓋產品資料(價格、庫存、描述)、客戶資料(B2B/B2C)、訂單(建立+狀態回寫),採用 HMAC-SHA512 簽章認證

02

Filament 管理後台

以 Filament 建構完整的電商後台,管理產品、訂單、客戶、業務員等資源,並提供 ERP 手動同步介面與流程圖視覺化

03

ECPay 金流整合

整合綠界科技金流服務,支援信用卡、ATM 轉帳、超商代碼等多元付款方式,B2B 訂單直接推送 ERP,B2C 付款完成後自動同步

04

多階定價與庫存

ERP 同步五階售價機制,依客戶等級自動匹配對應價格。庫存數量即時從 ERP 同步更新,確保前台顯示與實際庫存一致

訂單生命週期 × ERP 雙向同步

客戶在電商上按下結帳之後,資料要自己走進 ERP——這才是這套系統真正要解決的事。下面這張泳道圖把一張訂單攤開來看:從商品由 ERP 下行上架、客戶選購、ECPay 收款、訂單推送回 ERP,一路到單號與狀態回寫,中間沒有任何一格需要營運人員手動謄寫。

客戶(B2B/B2C)電商平台(自動)ERP(KTNET TMS)ECPay 金流主線流程跨系統交接
客戶B2B・B2C 前台電商平台Laravel 自動ERP 系統KTNET TMS金流ECPay 綠界01商品同步02瀏覽選購03送出訂單04線上付款05訂單推送06狀態回寫07訂單追蹤依身分看到售價結帳送出訂單完成線上付款查詢訂單與出貨寫入商品與庫存判定 B2B/B2C五階售價建立訂單主檔與商品明細接收付款結果事件觸發推送訂單到 ERP回寫 ERP 單號與訂單狀態後台追同步進度產品・庫存・客戶建立訂單並扣庫存回傳訂單編號信用卡/ATM/超商開立電子發票

圖上唯一「不自動」的地方,是營運人員在後台勾選哪些商品要同步、以及同步失敗時挑出單筆重送。其餘每一次跨系統的資料交換都由事件觸發,並以 HMAC-SHA512 簽章驗證來源。

雙向,而不是單向匯入

產品、庫存、客戶主檔從 ERP 下行到電商;訂單與電商上新增的客戶則反向推回 ERP。如果只做單向匯入,電商端長出來的資料永遠回不到 ERP,人工謄寫並沒有真的消失。

B2B 與 B2C 推送時機不同

B2B 訂單走帳期,建立當下就推送 ERP;B2C 則要等 ECPay 回傳付款成功才推。同一套訂單模型,用事件決定推送時機,避免未付款的訂單先進 ERP 佔掉庫存。

同步失敗要看得見

近兩千筆商品的批次同步透過 Laravel Queue 在背景跑,不阻塞前台。Filament 後台提供即時進度與失敗清單,可針對單筆重送,不必整批重跑。

技術細節

ERP 產品同步

透過 ERP 廠商 API 的 /product/QueryList/Stock/QueryList 端點,同步產品名稱、多階售價(五階)、EAN 條碼、庫存數量、上架狀態等欄位。支援手動指定商品代碼同步,或一鍵同步所有標記為可同步的產品。

ERP 客戶同步

客戶資料支援雙向同步:從 ERP 拉取客戶清單(依代碼首碼自動區分 B2B Client / B2C Customer),也能將本地新增的客戶推送回 ERP。同步內容涵蓋基本資料、公司資訊、發票設定、運費門檻、紅利點數等。

ERP 訂單同步

訂單採用事件驅動架構:B2B 訂單建立後立即推送 ERP,B2C 訂單則在 ECPay 付款完成後自動觸發。訂單推送包含主檔(客戶、地址、發票)、明細(商品 SKU、數量、單價)與紅利折抵。ERP 回傳的訂單編號與狀態會即時回寫同步。

背景任務與佇列

大量同步作業透過 Laravel Queue 在背景執行,避免前台操作被阻塞。Filament 後台提供即時進度追蹤,CLI 指令支援排程自動化與手動觸發。

使用技術

Backend

  • Laravel 11
  • Filament 管理後台
  • Laravel Queue 佇列

ERP 串接

  • KTNET TMS API
  • HMAC-SHA512 簽章
  • 產品 / 庫存 / 客戶 / 訂單
  • 雙向同步

金流

Frontend

  • TailwindCSS 樣式
  • Vite 建置工具
  • 響應式設計

常見問題

為什麼要做「雙向」ERP 同步,而不是單向匯入就好?

豹發力原本的 ERP 系統已經管理著近兩千筆產品與所有客戶資料,如果只做單向匯入,新增的客戶或訂單就無法回寫到 ERP,營運人員還是得手動謄寫資料。因此我們設計了雙向同步機制:產品/庫存從 ERP 拉到電商平台,訂單建立後又推回 ERP,並以 HMAC-SHA512 簽章確保雙向傳輸的資料安全與驗證來源正確性。

這種電商 + ERP 雙向串接的專案,開發時間大概多久?

本專案於 2024 年完成,涵蓋產品、客戶、訂單三大同步模組,加上 ECPay 金流與 Filament 管理後台。像這種規模的 ERP 串接電商平台,開發時程通常落在 2–3 個月,實際天數會依 ERP 廠商 API 的完整度與資料欄位的複雜度(例如豹發力的五階售價機制)而有所增減。

B2B 和 B2C 訂單分別怎麼跟 ERP 對接,會不會互相干擾?

不會,我們採用事件驅動架構區分兩種訂單流程:B2B(經銷商)訂單建立後立即推送 ERP,B2C(一般消費者)訂單則是在 ECPay 付款完成後才自動觸發同步,兩條路徑各自獨立觸發,也各自對應五階售價中不同客戶等級的售價機制,不會互相影響。

CONTACT US

有類似需求?讓我們聊聊

不論是電商平台、ERP 串接或金流整合,我們都能為您量身打造解決方案。

聯繫我們
前往官網