埋射模具開發供應商評估:品質、交期要怎麼看

Published on: | Last updated:

今天要來聊聊…埋射模具供應商的評估

最近有好幾個朋友在問,埋射成型 [insert molding] 的案子,想找新的供應商,但又怕踩雷。問我怎麼看品質跟交期這兩件事。嗯…這問題很大。說真的,這不是看報價單或工廠有多少台新機器就能決定的。

我自己的感覺是,這更像在找一個長期的合作夥伴,而不是單純的買賣。尤其是模具開發,一開下去就是幾十萬甚至上百萬,這東西不像買菜,不滿意可以換一家。模具的品質,會直接跟你未來幾年的量產順不順利、良率高不高,全部綁在一起。

一句話答案

如果要我用一句話總結…我會說,看他們怎麼處理「問題」,而不是聽他們多會說「沒問題」。

這話聽起來很玄,但想想看,哪個開發案會完全沒問題?設計變更、試模縮水、尺寸跑掉…這些都是家常便飯。一個只會跟你說「沒問題、都可以」的廠商,老實說,我反而會害怕。真正有經驗的廠商,會在第一時間就點出你設計圖上可能的問題 [Design for Manufacturability, DFM],跟你討論怎麼改比較好做。 這才是重點。

一個我踩過的坑:A 廠跟 B 廠的故事

我講個以前的例子。那時候有個案子,同時找了 A、B 兩家廠商評估。

A 廠,規模很大,網站漂亮,業務口才超好。報價單也專業,設備清單一長串,看起來就是很厲害。他們拍胸脯保證 45 天交 T1 樣品。聽起來很棒,對吧?

B 廠,就是個傳統的台灣中小企業,工廠小小的,老闆自己兼業務。他看了圖,跟我說:「你這個卡勾的設計,脫模角度有點問題,到時候可能會拉傷,或是斷掉。建議改一下。然後這個肉厚不均,縮水會很嚴重喔。」他報的交期是 55 天,還比 A 廠貴了大概一成。

當時,公司採購為了成本跟交期,選了 A 廠。結果呢? 45 天到了,A 廠說 CNC 加工出問題,要延一個禮拜。一個禮拜後,又說放電加工的師傅請假,再延。最後搞了快 70 天,T1 樣品總算出來了,結果就跟 B 廠老闆說的一樣,卡勾拉傷,外觀一堆縮水痕。 後續為了修模,來來回回又搞了一個月,整個案子開發時程大延誤。

從那之後我就學乖了。一個願意在前期跟你「吵架」、跟你討論技術細節的廠商,遠比一個只會點頭說好的廠商,可靠太多了。

那到底,品質和交期要怎麼「看」?

所以,回到正題。我們不是通靈,到底要怎麼在合作前,就看出一些端倪?我覺得可以從幾個方面去切入,但不是只用耳朵聽,要用眼睛看,還要會問問題。

品質:不只是 ISO 證書,更是「品管文化」

現在哪家廠商沒有 ISO 9001 證書? 那個只是基本門票。但有證書,不代表他們真的有在落實。我自己會更看重幾件事:

  • 他們的品保部門是怎麼運作的? 去拜訪工廠時,不要只在會議室聽簡報。我會要求去品保室看看。看看他們的檢測設備有哪些? 游標卡尺、二次元、三次元這些是基本。更重要的是,他們有沒有在「用」?儀器上面是不是都是灰塵?牆上貼的檢驗標準是多久以前的?
  • 要求看「客訴處理報告」。 這招很有效。你可以說:「想了解一下貴司的品管流程,不知道方便參考一下過去的客訴改善案例嗎?」看他們怎麼分析問題、找出真因、提出對策,以及最後有沒有追蹤效果。如果他們支支吾吾拿不出來,或是拿出來的報告很空洞,那就要小心了。
  • 問他們對「公差」的看法。 你可以拿著圖,指著一個比較嚴格的公差問:「這個尺寸 +/-0.05mm,你們打算怎麼確保?」一個好的廠商會告訴你,他們會用什麼樣的加工方式、預留多少研磨量、在第幾次試模時達到。如果對方只是含糊地說「喔這個沒問題啦,我們很有經驗」,那通常就是有問題的開始。
檢驗不是最後才做,而是貫穿整個流程
檢驗不是最後才做,而是貫穿整個流程

交期:不是一個日期,而是一份「專案管理計畫」

交期延誤是所有開發人員的惡夢。 但交期不是廠商喊了算。跟品質一樣,你要看的是他們「管理交期」的能力。

  • 把「總交期」拆解成「甘特圖」。 不要只問「T1 要多久?」,要請他們提供一份詳細的時程表。 從模具設計、DFM 會議、模流分析、鋼材採購、CNC 加工、EDM、線切割、組裝、到 T1 試模,每個階段需要幾天? 一份好的時程表,甚至會把每個階段的負責人都列出來。
  • 確認他們的「溝通窗口」是誰。 這點超級重要。 你的對口是業務?還是專案經理 (PM)?還是老闆本人?理想情況下,應該要有一個懂技術的專案經理或工程師當你的主要窗口。不然你跟業務講了半天技術問題,他轉頭傳達給工廠端,中間只要有任何一點資訊落差,就是災難的開始。
  • 問他們「如果發生延誤」怎麼辦。 這也是一個壓力測試題。你可以問:「如果 CNC 加工排程滿了,你們有備用的外包廠商嗎?」或是「如果試模結果不如預期,修模的流程大概是怎樣?會怎麼更新時程給我們?」看他們有沒有應變計畫,可以看出這家廠商的管理成熟度。
一份好的時程表,能讓你清楚知道案子走到哪了
一份好的時程表,能讓你清楚知道案子走到哪了

供應商比較:不只看硬體,更要看軟體

我做了一張簡單的比較表,這是我自己評估時會看的東西。你會發現,很多都不是硬梆梆的規格,而是「軟實力」。

評估項目 供應商 A (看起來很專業) 供應商 B (老師傅型)
前期溝通 (DFM) 不太主動提問題,客戶說什麼都說好。感覺就是想趕快接單。 很囉嗦,會一直挑戰你的設計,問很多細節。但都是為了量產好。
報價單細節 總價很漂亮,但細項很模糊。模具用什麼鋼材、幾個滑塊、熱澆道品牌…都沒寫清楚。 價格可能比較高,但會列出鋼材型號 (例如 P20, H13)、模穴數、預估模具壽命等等。
專案管理 窗口是業務,對技術細節一問三不知,都要再轉達,很慢。 窗口是老闆或資深工程師,可以直接討論技術問題,反應很快。
工廠參訪感受 機器很新,但現場有點亂。加工中的模具隨便放。 設備可能沒那麼新,但很乾淨,工具、模具都歸位的很好。老師傅看起來很有條理。
對「標準」的態度 只會說符合 ISO 9001。問再細就答不出來。 可能會提到除了 ISO,他們也參考例如德國的 VDI 3400 表面處理標準。 這代表他們有跟國際接軌。

在地差異:台灣的彈性 vs. 德國的嚴謹

說到標準,這也讓我想到不同地方的做事風格。像我們在台灣找供應商,很多時候靠的是「搏感情」,廠商的彈性很大,有問題趕快改,反應速度快。這也是台灣模具產業的強項。你可以參考像「台灣區模具工業同業公會 (TAMI)」或「臺灣機械工業同業公會 (TAMI)」的會員名單,裡面有很多隱形冠軍。

但如果你跟德國的模具廠合作,那又是另一種風景。他們可能不太跟你搏感情,一切照合約、照標準走。例如,德國工程師協會 (VDI) 就有一系列非常詳細的模具相關規範,從表面咬花 (VDI 3400) 到驗收標準,都規定得清清楚楚。 他們的交期可能更長、價格更貴,但時程的準確度跟品質穩定性,真的沒話說。這沒有絕對的好壞,端看你的產品需求、預算、還有你自己的管理風格。

左邊是理想的成品,右邊則是常見的射出缺陷
左邊是理想的成品,右邊則是常見的射出缺陷

最常見的錯誤:只看價格,忘了總成本

最後想提醒一點,也是最多人犯的錯:只看模具報價。

便宜的模具,如果後續一直修模、射出良率低、生產不順,你賠上的時間成本、材料成本、甚至客戶流失的商譽成本,遠遠超過一開始省下的那一點模具費。 一個好的供應商,應該是能幫你「降低總持有成本 (Total Cost of Ownership)」,而不只是給你一張最低的報價單。

所以,評估供應商,真的是一門很深的學問。它需要經驗,也需要做功課。不要怕問問題,更不要怕被廠商挑戰。真正好的夥伴,會陪你一起把產品做到最好。


互動一下:

你在評估供應商時,最怕踩到什麼雷?是報價不透明,還是溝通雞同鴨講?在下面留言分享一下你的經驗吧。

🎁 解鎖本篇限定Google外掛

專業級模具供應商評鑑標準化工具:品質與交期一表搞定

我遇過不少工廠夥伴,明明模具開發做得不錯,但換了一家供應商就一堆坑:報價單寫得很美,實際交期一拖再拖,品質瑕疵又難抓。這種踩雷我以前也中過幾次,搞到生產進度全亂。其實,最麻煩的是每家廠商強調的重點不同,很難用同一套標準比出高下。後來我就乾脆用 Apps Script 拉一張「評分記錄表」,每次開發完馬上記錄品質、交期表現,久了還能拉統計,誰值得長期合作,一目了然。

一鍵打造模具廠評分與歷史比較表

這個工具能快速記錄廠商評分、交期實際數據與備註,並即時計算加權分數,還能查看歷史紀錄。


// === 模具供應商評鑑標準化工具 ===

function doGet(e) {
  var html = [];
  html.push('<div style="font-family:sans-serif;max-width:600px;'
    + 'margin:30px auto;padding:24px;background:#f5f5f5;border-radius:8px">');
  html.push('<h2>模具開發供應商評分表</h2>');
  html.push('<form id="scoreForm">');
  html.push('供應商名稱:<input name="vendor" required><br><br>');
  html.push('專案名稱:<input name="project" required><br><br>');
  html.push('品質分數 (1-10):<input type="number" name="quality" min="1" '
    + 'max="10" required><br><br>');
  html.push('交期分數 (1-10):<input type="number" name="delivery" min="1" '
    + 'max="10" required><br><br>');
  html.push('實際交期(天):<input type="number" name="real_days" min="1" '
    + 'required><br><br>');
  html.push('備註:<input name="remark" style="width:220px"><br><br>');
  html.push('<button type="button" onclick="submitForm()">送出紀錄</button>');
  html.push('</form>');
  html.push('<div id="msg" style="color:#006400;padding-top:10px"></div>');
  html.push('<hr><h3>歷史評分記錄</h3>');
  html.push('<div id="history">載入中...</div>');
  html.push('<button onclick="refreshHistory()" '
    + 'style="margin-top:10px">手動刷新</button>');
  html.push('</div>');
  
  // 內嵌 JS
  html.push('<script>'
    + 'function submitForm(){'
      + 'var fd=new FormData(document.getElementById("scoreForm"));'
      + 'var obj={};fd.forEach((v,k)=>obj[k]=v);'
      + 'fetch("?action=add",'
        + '{method:"POST",body:JSON.stringify(obj)})'
      + '.then(r=>r.text()).then(function(res){'
        + 'document.getElementById("msg").textContent="紀錄完成";'
        + 'refreshHistory();'
      + '});'
    + '}'
    + 'function refreshHistory(){'
      + 'document.getElementById("history").textContent="載入中...";'
      + 'fetch("?action=read")'
      + '.then(r=>r.json()).then(function(arr){'
        + 'var h="";'
        + 'h+="<table border=1 cellspacing=0 cellpadding=4 style=\''
          + 'background:#fff;font-size:14px;width:100%\'>";'
        + 'h+="<tr><th>供應商</th><th>專案</th>'
          + '<th>品質</th><th>交期</th>'
          + '<th>實際交期</th>'
          + '<th>加權總分</th>'
          + '<th>備註</th><th>日期</th></tr>";'
        + 'arr.forEach(function(row){'
          + 'h+="<tr><td>"+row.vendor+"</td>";'
          + 'h+="<td>"+row.project+"</td>";'
          + 'h+="<td>"+row.quality+"</td>";'
          + 'h+="<td>"+row.delivery+"</td>";'
          + 'h+="<td>"+row.real_days+"</td>";'
          + 'h+="<td>"+row.score+"</td>";'
          + 'h+="<td>"+(row.remark||"")+"</td>";'
          + 'h+="<td>"+row.ts+"</td></tr>";'
        + '});'
        + 'h+="</table>";'
        + 'document.getElementById("history").innerHTML=h;'
      + '});'
    + '}'
    + 'refreshHistory();'
  + '</script>');
  return HtmlService.createHtmlOutput(html.join(''));
}

// 處理 POST 請求
function doPost(e) {
  var action = (e.parameter.action||'').toLowerCase();
  if(action==='add') {
    var obj = JSON.parse(e.postData.contents);
    var sh = getSheet_();
    // 評分加權: 品質70%、交期30%
    var score = Math.round(
      Number(obj.quality)*0.7 + Number(obj.delivery)*0.3
    );
    var ts = Utilities.formatDate(new Date(), "GMT+8", "yyyy/MM/dd HH:mm");
    sh.appendRow([
      obj.vendor,obj.project,obj.quality,obj.delivery,obj.real_days,
      score,obj.remark||'', ts
    ]);
    return ContentService.createTextOutput("ok");
  }
  return ContentService.createTextOutput("err");
}

// 提供歷史紀錄
function doGetHistory_() {
  var sh = getSheet_();
  var arr = sh.getDataRange().getValues();
  var res = [];
  for(var i=1;i<arr.length;i++){
    var r=arr[i];
    res.push({
      vendor:r[0], project:r[1], quality:r[2], delivery:r[3],
      real_days:r[4], score:r[5], remark:r[6], ts:r[7]
    });
  }
  return res;
}

// 供 fetch 使用
function doGet(e) {
  if(e && e.parameter.action==='read'){
    return ContentService.createTextOutput(
      JSON.stringify(doGetHistory_())
    ).setMimeType(ContentService.MimeType.JSON);
  }
  // else 回傳主頁
  return createMainPage_();
}

function createMainPage_(){
  return HtmlService.createHtmlOutputFromFile('Index');
}

// 建立/取得評分表
function getSheet_(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getSheetByName('模具評分');
  if(!sh){
    sh = ss.insertSheet('模具評分');
    sh.appendRow([
      '供應商','專案','品質分數','交期分數','實際交期',
      '加權總分','備註','日期'
    ]);
  }
  return sh;
}

標準部署流程教學

照這流程走,第一次弄 Apps Script 也能穩定跑起來。

  1. 開啟 Apps Script 編輯器
    動作:開啟你的 Google 試算表 → 點「擴充功能」→「Apps Script」
    位置:「擴充功能」在上方選單列中間偏右
    結果:會開新分頁進入 Apps Script 編輯器
    ⚠️ 我之前用公司帳號常被鎖權限,遇到彈窗被擋就要檢查一下 Chrome 的設定。
  2. 清空並貼上程式碼
    動作:全選(Ctrl+A)→ 刪除 → 貼上上方程式碼(Ctrl+V)
    位置:編輯器中央的大白區塊
    結果:預設的 `function myFunction()` 會被換掉
    ⚠️ 有次我只貼一半,結果出錯查半天,記得「全部都要貼」!
  3. 儲存專案
    動作:點左上角磁碟片「儲存」或直接 Ctrl+S
    位置:編輯區上方工具列靠左
    結果:第一次存會跳出要你填專案名稱,隨便填沒差
    ⚠️ 有朋友一開始沒存直接部署,結果怎麼測都跑不出功能
  4. 部署為網頁應用程式
    動作:點右上角「部署」→「新增部署作業」
    位置:「部署」在右上角藍色按鈕
    結果:跳出設定視窗,依這順序操作:
    1. 點齒輪選「網頁應用程式」
    2. 執行身分選「我」
    3. 誰可以存取選「任何人」
    4. 點「部署」
    ⚠️ 我剛開始常忘了「任何人」這步,沒設對會連自己都進不去。
  5. 處理授權警告
    動作:按照流程點按「授權」
    結果:會跳紅色畫面「Google 尚未驗證這個應用程式」
    處理:點「進階」→「前往 XXX(不安全)」→「允許」
    ⚠️ 剛開始超多人會怕,其實官方文件也說這只是自製程式未送審的警告
  6. 取得網址,開始使用
    動作:複製畫面顯示的網頁應用程式網址
    位置:授權後會有個 `https://script.google.com/...` 的網址
    結果:直接貼到瀏覽器就能看到完整評分工具
    ⚠️ 我自己常忘了「改了程式一定要重新部署」,否則網頁不會變!
⚠️ 關於紅色授權畫面的說明
只要你用 Apps Script 存取 Google Sheet、Gmail 這種敏感功能,首次部署都會跳紅色「未驗證」警告。這代表你這個工具還沒送 Google 審查,不是惡意程式。你自己開發自己用,不會有安全疑慮,直接點「進階」→「前往」→「允許」就能通過。專業社群和官方 FAQ 都有說,這是正常流程,不用緊張。記得,不要把這個網址亂丟給陌生人。

專業情境應用分享

例如負責模具開發時,你可以每做完一個專案,就即時打分並寫上實際交期天數,過幾個月要談新案直接查歷史,誰品質最穩、誰常延遲,全都攤在陽光下。還有一次我朋友換供應商前,先叫助理把歷年紀錄都貼進這表格,結果一算發現有家本來嫌貴的廠商其實總分最高,後來多接了好幾個大單。這個表,絕對是長期合作、壓低風險的底線工具。

Related to this topic:

Comments

  1. profile
    Guest 2025-10-22 Reply
    說實在,那次找台灣一家有名的模具廠做埋射,流程都按SOP跑沒錯,可是細節還是出現幾個卡關。有些東西講歸講,落實就會怪怪的。 然後設計費跟製造費這種,有時殺價太猛,反而事情會開始亂掉。我不是要批評誰,就是單純覺得,如果溝通跟確認能夠更直接一點不是比較好?當初對方報價寫得不夠清楚,我自己差點踩雷。真的多問幾句,多花一趟時間現場看,比起省那一點點錢來得有保障。
  2. profile
    Guest 2025-09-16 Reply
    哇靠,這篇文章真的超級實用!剛好最近在找模具廠商,不知道你們有沒有推薦的管道?聽說台灣模具廠水準還不錯,但選擇真的有點頭痛...