- 摩傑斯
- 2026-10-31
機械加工廠工單成本怎麼算:協力廠加工費為什麼不能疊加進去
![]()
有家做精密件的廠,去年把協力廠對帳的金額加進了工單成本,加了大半年。加完之後看著不對勁:明明這一年訂單不少,賬面毛利卻一直很低,有幾張單甚至是虧的。
老闆以為是報價報低了,把報價往上提了一成。提完丟了兩家老客戶——對方只說了一句“你們比去年貴不少”。
後來發現問題不在報價,在成本。他們把協力廠費又算了一遍:外發那道製程的計劃工時早就按費率計進了加工費,對帳金額再加一次,同一道製程被算了兩次。成本虛高,毛利就虛低,然後拿虛低的毛利去指導提價,價格一提就出問題。
這個錯誤的可怕之處不在於它難,恰恰在於它太順手——“我付給協力廠廠的錢,當然是成本”。邏輯上沒錯,錯在它已經算過一次了。
一、先把兩筆錢分開:成本和應付
工單成本回答的問題是:這張單我賺不賺錢。
協力廠應付回答的問題是:這張單我要給協力廠廠多少錢。
這是兩個不同的問題,服務兩個不同的場景。前者用來看單張盈虧、指導報價;後者用來結賬、付款、對帳。它們可以互相參考,但不能相加。
混在一起最典型的症狀就是上面那家廠:毛利低得不像話,但又說不出錢虧在哪。因為成本里有一筆本來不該在這兒。
反過來也有錯在另一頭的:有些廠為了“成本好看”,乾脆把協力廠費完全不記,成本只算料和自己的人工。這樣算出來的毛利虛高,報價時以為賺得多,實際結完協力廠賬才發現薄得很。
兩種錯法方向相反,根子一樣:沒把“成本”和“應付”這兩個口袋分開。
二、料這一筆,是算出來的不是填出來的
先把成本的兩攤說清楚,才知道協力廠費為什麼擠不進去。
材料費不是一個手填的數字,它有公式:長 × 寬 × 高 × 密度 × 單價 ÷ 1000000 × 損耗係數。
長寬高是零件毛坯的三維尺寸,單位毫米;密度按材質來,單位克每立方厘米;單價是材料單價,按公斤算;除以一百萬是把立方毫米換算成立方米那一檔的量綱;最後乘一個損耗係數,把下料時的鋸縫、夾持餘量、報廢算進去。
舉個具體數:一個 200×150×50 毫米的毛坯,材質密度 7.85,單價 6 元每公斤,損耗係數 1.05。體積 150 万立方毫米,乘密度乘單價除一百萬,材料費 70.65 元,再乘損耗係數是 74.18 元。
這個公式的好處是可復現:同樣的尺寸、同樣的材質、同樣的損耗係數,算出來一定是同一個數。壞處是它只對“按尺寸下料”的件成立——如果買的是標準型材按支算,或者毛坯是鍛件按件報價,那材料費就得手工填。
所以材料費這一攤,系統做的是“能算的算、算不了的手填”,而不是全部都讓人填。這一點很重要:凡是能算的讓人手填,現場就會填一個“大概”,成本就永遠不準。
還有一個常被忽略的變數:材料單價取哪個數。
同一個牌號的鋼,去年是 5.2 元一公斤,今年可能是 6 元。材料單價用一箇舊數,算出來的成本就偏低,報價也跟著偏低。這種偏差不會報錯,只會悄悄吃掉利潤。
合理的取法是“最近一次實際採購價”,並且定期更新。不建議用加權平均——加權平均會把幾個月前的低價拉進來,反映不了當前的市場。也不建議用報價時的市場價,除非你真的在那個價位上買得到。
損耗係數同理。係數定下來之後,同一類件應當保持一致;如果某個件的係數被單獨調高,要麼是工藝確實不同,要麼是有人在“調成本”——兩種情況都該能解釋清楚。
三、工這一筆,關鍵在“計劃工時”和“費率”
加工費也不是手填的,它是把每道製程的計劃工時乘以這道製程的費率,加起來。
一道製程的計劃工時是排產時定的:這道車工要做 2.5 小時。費率是這道製程每小時多少錢:車工 45 元每小時。這一道就是 112.5 元。十道製程加起來,就是這張單的加工費。
這裡有個必須說清的口徑問題:工時是按件算還是按批算。
同樣是“車工 2.5 小時”,如果按件算,一張一百件的工單就是 2.5 × 45 × 100 = 11250 元;如果按批算,就是 2.5 × 45 = 112.5 元。
兩種演算法都有人用。習慣按件報價的廠,計劃工時填的是“單件工時”,成本要乘數量;習慣按整批派活的廠,計劃工時填的是“這批一共多少小時”,成本就不再乘數量。
系統裡這個口徑是一個租戶級開關,兩個值:單件工時、整批總工時。預設是單件。
這個開關有個坑要提醒:一經設定,中途不要改。 因為改了之後,已經存在的工時記錄不會按新口徑重算——前面按單件記的還在,後面按整批記的也進來了,兩邊混在一起,成本統計就永久性地錯了。要改,得先把歷史資料想清楚怎麼辦。
四、費率這個數,比工時更容易糊弄
工時好歹是排產時排出來的,費率往往是拍腦袋定的。
見過的典型情況:一個廠十幾道製程,費率表上只有三個數——車工 40、銑工 40、磨工 50。問這三個數怎麼來的,答“幾年前參考同行定的”。之後再沒人動過。
這就埋了兩個問題。
一是費率沒有反映裝置差別。一臺普通車床和一臺加工中心,一小時該攤的成本能差三倍。都按 40 算,加工中心的活會顯得便宜,報價時就會報低;普通車床的活反而顯得貴,客戶一比就走。
二是費率沒有反映該攤什麼。一道製程每小時的成本,理想情況下應當包含:這一小時的人工、裝置折舊、能耗、以及場地分攤。很多廠的費率只算了人工,等於把裝置折舊和電費都漏在工單外面——每張單看著都賺,年底一算利潤很薄,差的就是這一塊。
費率怎麼定,有個能落地的粗算辦法:
把一臺裝置的月折舊、操作工月工資、月電費、按面積攤的場地費加起來,除以這臺裝置一個月真正能幹活的小時數(不是 22 天 × 8 小時,要扣掉待料、維修、沒單的空轉),得到的就是這臺裝置的小時成本。這個數比拍腦袋準得多,而且能說清“為什麼是 40 不是 55”。
還有個更省事的反推法:拿協力廠廠的報價當參照。協力廠廠車工一小時報多少,說明市場上這個製程的成本大概在那個位置,自己定費率時不會偏離太遠——除非你的裝置明顯更好或更差。
不管用哪種辦法,有一條必須守住:同一道製程的費率,全廠統一,不能一張單一個價。 一張單一個價,等於每張單的成本口徑都不一樣,橫向比較就完全失效了。
五、外發的那道製程,工時也算了一遍
現在說到關鍵處。
一張工單十道製程,其中熱處理那道外發。這道製程在系統裡有計劃工時嗎?有。排產的時候它和別的製程一樣要排——什麼時候發出去、什麼時候該回來、給多少時間。
有工時,就有費率,就進了加工費。
所以這張單的加工費裡,已經包含了“熱處理這道製程按計劃工時和費率算出來的錢”。這筆錢的邏輯是:這道製程佔用了工期、佔用了工段負荷,即使不在自己現場做,它也是這張單的成本構成之一。
然後月底協力廠廠來對帳,熱處理做了多少件、單價多少、合計多少,這筆錢付出去。
如果把這筆對帳金額再加進工單成本,就等於:熱處理這道製程,一次按工時算了錢,一次按協力廠單算了錢。
六、“我付出去的錢不是成本嗎”——是,但它已經在裡面了
這個疑問值得正面回答,因為它是最容易繞進去的地方。
付給協力廠廠的錢,當然是這張單的花費。但它進入成本的方式,是“外發製程的工時成本”,不是“協力廠對帳金額”。
用一個更直白的類比:你廠裡的車工,你付他工資,工資進成本的方式是“這道製程 2.5 小時 × 45 元”。你不是把車工整月的工資單貼到這張工單上。協力廠廠也一樣——你付它的對帳金額,進成本的方式是那道製程的計劃工時乘費率。
那兩者的數會不會差很遠?會。計劃工時是排產時估的,協力廠單價是對帳時談的,一個按小時算、一個按件或按公斤算,天然對不上。
這個差額恰恰是有用資訊:它告訴你這道外發製程是“估高了還是估低了”。如果長期是協力廠實際支出高於工時估算,說明費率定低了,報價時該往上調;反過來則說明這道製程外包是划算的。
但要看到這個差額,前提是兩筆錢分開記。混在一起,這個資訊就永遠消失了。
七、協力廠廠降價了,費率要不要跟著降
這一節回答一個必然會被問到的問題:既然協力廠費不單獨加進去,那協力廠市場的價格變了,成本怎麼跟著變?
答案在費率的定義裡。
一道外發製程進成本的演算法是:計劃工時 × 工段費率。這個費率,本來指的就是“這道製程一小時值多少錢”。設想一臺磨床,協力廠一直按 80 元一小時結算,那磨床這個工段的費率就該定 80。可這半年協力廠廠產能過剩,報價掉到 70,費率的數還留在 80,工單成本就按 80 算——每張單的成本都虛高出一成二,報價跟著虛高。
所以調費率不是“隨手改個數字”,它是協力廠價格變化進入成本的唯一入口。不調,成本就停在舊價格上。而且它不會報錯、不會告警、不會有人來找你,只是悄悄讓你在報價上失去競爭力。
反方向更兇險。協力廠漲價了不調費率,成本虛低,報價看著有利潤,做完才發現賠了。這種錯不讓你丟單,它讓你接一堆不該接的單。
那怎麼知道該調了?
用上一章那個差額。把某道外發製程的“工時成本”和“協力廠實付”擺在一起比:連續三個月實付都高於工時成本一成以上,說明費率該往上走;連續三個月實付都低於工時成本,說明該往下走。這個比較不用另外做統計,兩個數系統裡本來就有。
有兩件事得提前想明白。
別調得太勤。 費率一動,重算之後所有引用這道製程的工單成本都跟著變,包括上個月的(後面會細說這件事)。所以合理的節奏是按季度或半年看一次,改之前把要留存的期間成本導一份出來。按單調整等於讓歷史資料失去意義——上個月那張單賺了多少,你再也答不出來。
同一道製程只有一個費率。 如果這道製程一半自制、一半外發,費率取哪個值就有講究:取自制成本,外發那部分成本會偏高;取協力廠價,自制那部分會偏低。折中的做法是按哪種方式佔多數來定,另一種方式的偏差當成已知偏差留著。這比兩邊都想要、結果改來改去強,至少口徑是穩定的。
最後說一句可能反直覺的:協力廠降價,不一定馬上跟著降。
如果是短期波動——某家協力廠廠這季度缺單、臨時讓價,下季度可能就回去了——費率不動反而是對的。判斷標準不是“現在多少錢”,是“這個價格穩沒穩住”。問一句就夠:下個季度還能按這個價給我做嗎?對方的回答比任何行情判斷都準。
八、重複計算之後,錯的不只是數字
成本算錯的直接後果好理解,間接後果更麻煩。
最直接的後果是報價失真。 報價通常是在成本上加一個毛利。成本虛高,報出來的價就偏高。上面那家廠提價一成丟客戶,就是這個鏈條。反過來,成本虛低則報價偏低,單子接得多但每張都薄。
更要緊的後果是單張盈虧失去意義。 老闆看板上的“這張單賺了多少”,如果成本里有一筆重複的,這個數就是錯的。錯得還不均勻:協力廠佔比高的單錯得多,協力廠佔比低的單錯得少。於是一批單排在一起看,會得出“協力廠多的單不賺錢”這種結論——而實際可能正好相反。
最難查的那個後果是它會自我強化。 因為成本錯了,報價跟著錯;報價錯了,接單結構變了;接單結構變了,下一輪的成本估算又跟著偏。半年之後回頭看,已經說不清哪一步開始錯的。
九、哪些不算工單成本,但必須算進整體盈虧
工單成本只有兩攤:料和工。所以有些錢,進不了工單,但要進整體賬。
不進工單成本的:廠房租金、水電(若未計入費率)、管理人員工資(廠長、跟單、財務)、運費與包裝、稅費、銷售費用。
這些錢真實存在,只是它們不專屬某一張單。硬攤到單張工單上,會讓“這張單賺不賺錢”這個問題失真——因為一張單賺不賺,取決於它自己的料和工,不取決於這個月的房租。
但反過來,如果只看工單成本,會得出一個危險的結論:每張單都賺錢,公司卻不賺錢。 差的就是這些不專屬任何單的錢。
所以兩張表要一起看:
一張是單張工單的成本與毛利,回答“這張單值不值得接、報多少合適”;一張是整體的收支,回答“這個月到底賺沒賺”。
很多小廠的問題出在只有後面那張表——會計那裡有總賬,但沒有單張成本,於是不知道哪類單賺錢、哪類單虧錢,只能憑感覺接單。也有廠反過來,只看單張成本,不看整體,結果每張單都算得挺賺,年底一算沒剩多少。
裝置折舊這件事要單獨說一句:它進不進工單成本,取決於費率怎麼定。如果費率裡已經包含裝置折舊,那折舊就已經在成本里了,不能再單獨加一次——這又是一次“同一筆錢進兩次”的陷阱,與協力廠費的性質完全一樣。
十、三個自查動作,今晚就能做
不用等系統,用現有的數就能判斷自己有沒有算重。
第一,拿一張協力廠佔比高的單,把協力廠對帳金額和工單成本放在一起看。 如果工單成本里已經有一筆明顯和“製程工時×費率”對不上的大數,很可能就是協力廠金額被加進去了。
第二,反推一道外發製程。 挑一道外發製程,用它的計劃工時乘費率,得到一個數;再用協力廠單價乘數量,得到另一個數。兩個數應該在同一量級,差個兩三成正常。如果工單成本里這兩個數都在,就是算了兩次。
第三,看毛利分佈。 把今年所有單按“協力廠佔比”排一排,如果協力廠佔比越高毛利越低、而且低得離譜,八成是協力廠費被重複計入了。
十一、三種常見演算法,只有一種是對的
把小廠裡見過的做法擺一擺,對比就清楚了。
演算法一:成本 = 料 + 工,協力廠金額單獨記應付。 這是對的。工單成本只回答“賺不賺錢”,應付回答“付多少”。
演算法二:成本 = 料 + 工 + 協力廠對帳金額。 這是重複計算。外發製程的工時已經進了工,再加一遍就是兩次。
演算法三:成本 = 料 + 自加工工時,協力廠那道製程的工時不算。 這也是一種演算法,但它要求協力廠金額必須加進來,否則這道製程完全不在成本里。問題是:這樣一來,“外發”和“自制”就沒法比了——你想知道一道製程是自己做划算還是外發划算,兩邊口徑不一致,永遠比不出來。
所以關鍵不在於“加不加協力廠費”,而在於口徑必須自洽:工時要算全(含外發製程),協力廠金額就只作應付;工時不算外發製程,協力廠金額才進成本。兩條路都能走通,但只能選一條,而且選了就不能混。
Moges PMS5 走的是第一條:工單成本只有材料費和加工費兩項,加工費覆蓋全部製程(含外發製程的計劃工時),協力廠對帳金額只體現為應付,不進工單成本。
拿一張具體的單算一遍,差別就看得見了。
設這張單一千件,材料費 5000 元,全部製程的計劃工時成本 3000 元,其中熱處理外發那道製程是 2 小時 × 費率 80 元 = 160 元;熱處理協力廠對帳實際付了 1800 元。
演算法一(料+工,協力廠另記應付):工單成本 5000 + 3000 = 8000 元,應付 1800 元單列。演算法二(料+工+協力廠金額):5000 + 3000 + 1800 = 9800 元,比演算法一高 22.5%。演算法三(料+不含外發的工時+協力廠金額):5000 + 2840 + 1800 = 9640 元。
演算法二和演算法三看起來差不多,都錯在同一個地方:熱處理這道製程被計了兩次。
再往前推一步。如果按成本加三成毛利報價:
演算法一報 10400 元,演算法二報 12740 元,演算法三報 12532 元。
同一張單,報價差了兩千多。客戶手裡拿著兩家的報價單比價,你比同行貴兩成,理由說不出來——因為你自己的成本表上,確實寫著這個數。
十二、改了費率之後,歷史成本會跟著變
這一節說一個容易被忽略、但會影響判斷的事實。
工單成本是“算出來的”,不是“記下來的”。它的兩個輸入——計劃工時和費率——任何一個變了,重算之後成本就變了。而重算的邏輯是按當前資料重新計算並覆蓋,不保留歷史版本。
這帶來一個具體後果:如果你在十月份調整了某道製程的費率,然後把九月份的單也重算一遍,九月份的成本會按新費率算出來。 你回頭再看九月那張單賺了多少,看到的已經不是當時的數。
這不是缺陷,是一種取捨:不留歷史版本,系統簡單、查詢快、不會因為版本堆疊而產生“到底以哪版為準”的爭議。代價是歷史不可追。
所以有兩件事需要提前做:
一是調費率之前,先把要留存的期間成本匯出來。 比如年底想分析全年單張盈虧,就在調費率前把當前成本表導一份存檔。
二是調費率這件事本身要有記錄。 什麼時候調的、從多少調到多少、為什麼調——這三條寫下來。否則半年後回頭看“為什麼三月的成本比二月高一截”,沒人說得清。
同一件事在計劃工時上也成立。工單變更改了製程或數量,重算之後成本跟著變,這也是對的——因為活確實變了。但要能區分“因為活變了而變”和“因為費率變了而變”,靠的就是那條改動記錄。
十三、難的從來不是算術,是取捨
成本這件事,難點從來不是算術,是“哪些該進來、哪些不該進來”。
一道外發製程,它的工時是一筆,它的協力廠賬單是另一筆。兩筆都真實存在,但只有一筆屬於工單成本。搞清楚這一條,報價才有依據;搞不清楚,就會像開頭那家廠一樣——拿著一份算錯的成本去改價,改完還不知道錯在哪。
---




