人資系統關鍵功能,2025/114年勞健保扣多少?人資與開發都該關心的事

更新於 2024/12/19閱讀時間約 17 分鐘

在一個人資(HR)系統中,薪資結算與保費扣除是最核心的功能之一,扣員工的錢不能多算,該給政府的的也不能少算…。

不管是接手舊系統,還是開發新系統,只要隨著時間推移,每年勞健保的投保級距與費率都可能調整,這對程式碼的維護與擴充都是挑戰。特別是從 2024 年(民國 113 年)到 2025 年(114 年)的轉換,不只基本工資由 27,470 元上調到 28,590 元,勞保費率也從 12% 提升至 12.5%。這些「可動變數」將直接影響程式中的計算邏輯。


公司與員工負擔項目一覽

首先,在台灣的人資薪資計算中,公司與員工負擔保費項目如下:

公司負擔的有四項:

  1. 勞工保險(普通事故 + 就業保險部分的公司比例)
  2. 健康保險(公司負擔比例)
  3. 職業保險(職保) - 屬職災保險,由雇主全額負擔
  4. 勞工退休金提撥(勞退)


員工要負擔的有兩項:

  1. 勞工保險(普通事故 + 就業保險部分的員工比例)
  2. 健康保險(員工自付比例)

在邏輯計算時,我們必須區分上述項目,並按照年度參數套用正確的費率與級距。


接下來,讓我們透過幾個步驟分析,並呈現 PHP 程式撰寫該如何反映這些變動。

為何要在程式中考量2024與2025的差異?

2024 年時:

  • 勞保費率:12%
  • 全職員工勞保最低投保薪資(假設門檻級距):27,470 元(對應第一級)
  • 勞保最高投保級距:45,800 元不變

2025 年起:

  • 勞保費率:12.5%
  • 全職員工勞保最低投保薪資門檻提高至:28,590 元(第一級門檻上升)
  • 最高投保級距仍為 45,800 元

對開發人員來說,這代表計算勞健保費用的「基準值」和「費率」產生變化,意即計算公式中的常數(constants)需要更新,或透過設定檔與資料庫來讀取動態數值。若人資系統在 2024 年就已經在線,現在 在 2025 年必須確保計算邏輯在新年度正確運作。

從系統設計談起:勞健保計算的核心邏輯

對於負責後端或人資系統的開發者來說,「勞健保計算」並非只是表格查詢,實務上須根據投保級距、費率、負擔比例來計算每月雇主、員工的保費分攤。2025年起,勞保及健保都有不同程度的調整,以下是幾個關鍵重點:

2025年起調整基本工資、勞保級距、費率

    • 勞保基本工資將調整至 28,590元(第一級)。
    • 勞保最高投保級距(第12級)仍維持在 45,800元 上限,但第一級門檻提高。
    • 勞保費率從12%調升至12.5%,意味著勞工與雇主繳納比例數字會有所調整。

2024年與2025年的主要差異

    • 2024年最低級距為27,470元(第一級),2025年則提升至28,590元。
    • 健保費率維持5.17%,但平均眷口數、基本工資調整後計算方式不變,須重新校正投保金額區間。
    • 勞退(雇主提繳6%,員工自願提繳0~6%)本身規則不變,但因為投保基礎工資變動,實際提繳金額也會跟著調整。

公司與員工各負擔哪些項目?

    • 公司負擔項目:勞保、健保、職災保險(職保)以及勞退(6%)
    • 員工負擔項目:勞保、健保(20%勞保、30%健保的比例)

勞健保公式怎麼算?

勞保計算範例:

勞保費率(2025年):12.5%(含就業保險)

負擔比例:雇主70%、員工20%、政府10%

員工負擔勞保 = 投保薪資 × 12.5% × 20%

雇主負擔勞保 = 投保薪資 × 12.5% × 70%

(2024年的費率為12%,2025年改12.5%時,你在程式中就必須將費率變數更新)

健保計算範例:

健保費率(2024、2025年維持不變):5.17%

負擔比例:雇主60%、員工30%、政府10%

員工負擔健保 = 投保薪資 × 5.17% × 30% × (本人+眷屬人數上限3)

雇主負擔健保 = 投保薪資 × 5.17% × 60% × 1.57(1+平均眷口數0.57)

注意:投保薪資等級(級距)在2025年會隨著基本工資調整,因此若程式碼中有對應等級與區間的常數陣列,需要更新。


哪些是可動變數?

在程式中,我們往往會將「費率」、「級距」、「負擔比例」與「年度上下限金額」作為可調整變數,以方便每年更新。以下是你需要關注的可動變數:

  • 年度(2024或2025)
  • 勞保費率(2024:12%,2025:12.5%)
  • 投保薪資級距表(2025年最低投保薪資從27,470調高到28,590)
  • 健保平均眷口數(若有變動需調整,目前 2025年 使用 0.57)
  • 勞退基本工資(隨基本工資調整,計算6%提撥額度時需更新)

將這些變數寫成設定檔(如 config檔)或程式常數,使得未來年度更替時只需調整配置檔,即可套用到計算邏輯中。


PHP程式碼實作範例

以下程式碼僅為示意,假設你有一個 InsuranceCalculator 類別來計算勞健保,並透過設置年度、投保薪資和眷屬數後,執行計算。

<?php

class InsuranceCalculator
{
protected $year;
protected $salary;
protected $dependents; // 員工眷屬人數(上限3)

// 可動變數統一在此設定或從config引入
protected $insuranceParams = [
'2024' => [
'labor_insurance_rate' => 0.12, // 12%
'labor_employer_ratio' => 0.70,
'labor_employee_ratio' => 0.20,
'health_insurance_rate' => 0.0517, // 5.17%
'health_employer_ratio' => 0.60,
'health_employee_ratio' => 0.30,
'health_gov_ratio' => 0.10,
'avg_dependent_factor' => 1.57, // 雇主計算時使用
'min_wage_level' => 27470, // 2024年最低投保薪資
// ...其他級距、上限設定...
],
'2025' => [
'labor_insurance_rate' => 0.125, // 12.5%
'labor_employer_ratio' => 0.70,
'labor_employee_ratio' => 0.20,
'health_insurance_rate' => 0.0517, // 5.17%不變
'health_employer_ratio' => 0.60,
'health_employee_ratio' => 0.30,
'health_gov_ratio' => 0.10,
'avg_dependent_factor' => 1.57, // 假設不變
'min_wage_level' => 28590, // 2025年最低投保薪資
// ...其他級距、上限設定...
],
];

public function __construct($year, $salary, $dependents = 0)
{
$this->year = (string)$year;
$this->salary = $salary;
$this->dependents = min($dependents, 3); // 眷屬上限3
}

public function calculateAll()
{
// 根據年度取得設定值
$params = $this->insuranceParams[$this->year];

// 投保薪資級距邏輯(示意:若實際上需根據薪資對照表調整salary)
$adjustedSalary = $this->getAdjustedSalary($this->salary, $params);

// 計算勞保員工、雇主負擔
$laborEmployee = $adjustedSalary * $params['labor_insurance_rate'] * $params['labor_employee_ratio'];
$laborEmployer = $adjustedSalary * $params['labor_insurance_rate'] * $params['labor_employer_ratio'];

// 計算健保員工、雇主負擔
// 員工健保負擔: 投保薪資 × 健保費率 × 30% × (本人+眷屬人數)
$healthEmployee = $adjustedSalary * $params['health_insurance_rate'] * $params['health_employee_ratio'] * (1 + $this->dependents);

// 雇主健保負擔: 投保薪資 × 健保費率 × 60% × 平均眷口數因子(1.57)
$healthEmployer = $adjustedSalary * $params['health_insurance_rate'] * $params['health_employer_ratio'] * $params['avg_dependent_factor'];

// 職災保險費率可另外加入,如職災僅雇主負擔
// 假設職災費率為 dynamic_rate 例如0.005,則:
$occupationalInjuryRate = 0.005; // 範例費率
$occupationalInsurance = $adjustedSalary * $occupationalInjuryRate; // 全由雇主負擔

// 勞退 6% 全由雇主負擔
$pension = $adjustedSalary * 0.06;

return [
'employee' => [
'labor' => round($laborEmployee),
'health' => round($healthEmployee),
],
'employer' => [
'labor' => round($laborEmployer),
'health' => round($healthEmployer),
'occupational' => round($occupationalInsurance),
'pension' => round($pension),
],
];
}

protected function getAdjustedSalary($salary, $params)
{
// 此處可根據勞保投保級距表,將實際月薪對應到最近的級距
// 簡化示範:若月薪小於最低投保薪資則以最低投保薪資計算
if ($salary < $params['min_wage_level']) {
return $params['min_wage_level'];
}

// 若超過最高級距(45800)則以45800為上限
if ($salary > 45800) {
return 45800;
}

// 實務上應用「投保薪資級距表」尋找對應級距,
// 這裡簡化僅示意直接回傳salary
return $salary;
}
}

// 範例呼叫:
$calculator2025 = new InsuranceCalculator(2025, 30300, 2);
$result = $calculator2025->calculateAll();
print_r($result);


人資系統關鍵功能與程式實務建議

  1. 動態年度設定: 將年度相關的保費率與級距參數存放在設定檔或資料庫表格中。程式碼透過當前年份動態選擇對應參數,減少發生錯誤的機會。
  2. 抽離計算邏輯: 將勞健保計算封裝為專門的 Service 或 Utility 類別,透過傳入員工薪資、年度、眷屬數量等參數,回傳各項費用。 這樣若未來勞保、健保再度調整,只需修改該服務類別中的參數讀取邏輯或設定檔。
  3. 驗證邏輯與單元測試: 隨著年度變更,建議加入自動化測試(Unit Test),在不同年度測試同樣的薪資數據,以確保公式與變數更新後仍計算正確。
  4. 前後端溝通: 若人資系統附有後端 API,則可在前端提供年度選擇器或自動偵測年份來取得最新計算結果,確保使用者(人資人員或主管)在面對年度切換時不會誤用舊資料。

最後

面對 2025 年勞健保新規,開發人員不只要瞭解勞保、健保的計算方式,更需將「可動變數」抽離程式碼邏輯,讓系統能夠靈活應對政策改變。

從 2024 到 2025 年的關鍵轉換點包括:基本工資提升、勞保最低級距提升以及勞保費率增加。這些變動皆可透過程式中的設定檔或資料庫參數化完成,搭配單元測試與分層設計,整個人資系統即可在每年更新時,快速、準確地為使用者提供正確的勞健保扣繳數據與計算結果。

透過這樣的設計,無論是人資人員需要計算 2025 年(114 年)的勞健保扣款,或是開發者想快速因應未來年度調整,都能確保程式碼維護效率與準確性,並讓整個人資系統在面臨每年政策改變時,輕鬆應對!


參考資料:

114年1月1日起適用之勞保、災保投保薪資分級表及保險費分攤金額表...

投保薪資分級表

衛福部健保署-公、民營事業、機構及有一定雇主之受僱者(114.1.1生效)

商周-114(2025年)勞保投保薪資級距表&勞保、健保、勞退保費對照表

這是一系列以軟體開發為主題的輕鬆分享,內容涵蓋了技術選擇、開發經驗、實戰應用等多方面的議題。無論是如何在眾多框架中做出選擇,還是如何應對技術轉移的挑戰,這裡有幽默、有趣的對話風格,將複雜的技術問題轉化為易懂的故事。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
「嘿,你有聽說 PHP 8.4 的新特性了嗎?」新特性能在存取屬性時進行驗證、格式化,並支援虛擬屬性設計,程式碼更簡潔易讀,有助於維護和擴展。開發者可透過此特性快速實現自訂邏輯,同時保有工具相容性,讓整體開發流程更順暢、直觀。
CodeIgniter 3 和 Laravel 是兩種不同的 PHP 框架,各有其特點和適用場景。CodeIgniter 3 是一個輕量級框架,Laravel 是一個功能強大的現代 PHP 框架,同樣都有Models的它們有什麼樣的差別呢?
本篇文章為Laravel初學者提供了一個指南,深入探討了Laravel的routes目錄下的功能。文章詳細描述了web.php和api.php的差異和使用情境,並簡要介紹了console.php和channels.php的功能。透過這篇文章,讀者可以更好地理解和利用Laravel的路由功能。
Laravel框架中的路由系統是其核心功能之一,它允許開發者輕鬆地定義應用程式的URL結構和相應的邏輯。本篇文章將深入探討Laravel路由的基本概念、進階功能以及實際應用。
在Laravel的MVC架構中,視圖(View)是呈現資料給使用者的關鍵部分。本篇深入探討了視圖的基本概念、建立與管理、與資料的互動方式,以及Blade模板引擎的應用。Blade提供了一套強大的工具,使動態視圖建立更為高效。
本篇深入探討了Model的基本定義、其Controller的關係,以及如何在Controller中使用Model進行CRUD操作。強調了Model的關聯方法,如hasMany,並透過範例程式碼展示了其實際應用。為初學者提供了一個清晰的Laravel入門路徑,同時也為有經驗的開發者提供了實用的參考。
「嘿,你有聽說 PHP 8.4 的新特性了嗎?」新特性能在存取屬性時進行驗證、格式化,並支援虛擬屬性設計,程式碼更簡潔易讀,有助於維護和擴展。開發者可透過此特性快速實現自訂邏輯,同時保有工具相容性,讓整體開發流程更順暢、直觀。
CodeIgniter 3 和 Laravel 是兩種不同的 PHP 框架,各有其特點和適用場景。CodeIgniter 3 是一個輕量級框架,Laravel 是一個功能強大的現代 PHP 框架,同樣都有Models的它們有什麼樣的差別呢?
本篇文章為Laravel初學者提供了一個指南,深入探討了Laravel的routes目錄下的功能。文章詳細描述了web.php和api.php的差異和使用情境,並簡要介紹了console.php和channels.php的功能。透過這篇文章,讀者可以更好地理解和利用Laravel的路由功能。
Laravel框架中的路由系統是其核心功能之一,它允許開發者輕鬆地定義應用程式的URL結構和相應的邏輯。本篇文章將深入探討Laravel路由的基本概念、進階功能以及實際應用。
在Laravel的MVC架構中,視圖(View)是呈現資料給使用者的關鍵部分。本篇深入探討了視圖的基本概念、建立與管理、與資料的互動方式,以及Blade模板引擎的應用。Blade提供了一套強大的工具,使動態視圖建立更為高效。
本篇深入探討了Model的基本定義、其Controller的關係,以及如何在Controller中使用Model進行CRUD操作。強調了Model的關聯方法,如hasMany,並透過範例程式碼展示了其實際應用。為初學者提供了一個清晰的Laravel入門路徑,同時也為有經驗的開發者提供了實用的參考。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
待業期間、健保被原單位轉出的工作空窗期。本篇深入探討三種加保健保方式,包括透過戶籍所在地公所、眷屬的投保單位以及職業工會的方法,瞭解其各自的優劣,並提供釋例分析不同情況下的保險費用,協助讀者做出最佳選擇。
Thumbnail
  屬於受雇人員的讀者們,應該相當熟悉我國的扣繳制度,所謂扣繳制度,即是機關、團體、學校、合夥、合作社是類機構,於給付薪資、利息、權利金、資遣費、獎金、盈餘等等款項時,依照扣繳率先行扣繳一部分,並且於每個月10日將所扣稅款向國庫繳清。簡單來說,於許多所得類型,所得人(如一般職員)並不會拿到全額所得,
Thumbnail
平均工資如何計算? 既然要算”平均工資”就是要把勞基法定義的工資全部納入計算。 不要說這個不是,那個也不是,其實全部都是。 勞基法第2條第1項第4款 平均工資:指計算事由發生之當日前六個月內所得工資總額除以該期間之總日數所得之金額。工作未滿六個月者,指工作期間所得工資總額除以工作期間之
Thumbnail
通常我們會違反勞(災)保投保薪資級距規定有那些呢? 明明是勞務對價,認為是恩惠式給與。 明明是經常性給與,自以為不是。 結果就是違反勞基法第2條第1項第3款 工資:指勞工因工作而獲得之報酬;包括工資、薪金及按計時、計日、計月、計件以現金或實物等方式給付之獎金、津貼及其他任何名義之經常性給與均
Thumbnail
老闆要多給員工一些錢,好事一樁。 但是,要給之前請想清楚,這些錢是工資嗎?還是不是工資? 是工資,那好處理呀,勞健保跟勞退就隨著級距調整提撥,當然每小時(日)加班費工資額也會提高,還有擬制工資(特休不休假工資) 結算也會增加。 若不是工資,那得說明定義清楚,重點是主管機關跟行政法院要採信於你才
工作上嘎到人資的事情 第一次體驗才知道的一些細節 無組織分享
Thumbnail
勞工保險、就業保險、職災保險與勞工退休金都有級距表。 級距表連動月薪資總額;月薪資總額又與工資認定有關。 是不是工資,就很重要,不要隨便說不是。 個案 勞工雙方議定工資 每月3萬2。 113年1月加費3千。 113年2月加費3千。不休假獎金1萬2 113年3月加費5千。 問 1
Thumbnail
日前跟某公司管理部門討論,伙食津貼是否一律要由公司現況1800調整成3000? 管理部門的回饙說法是:免稅額變多了,對員工有利啊。 很好啊, 對員工有利這是一個很重要的基礎。 但是怎麼實質有利呢? 這個要有做法。 先看薪資結構薪資四分位表 Mid(P50)是多少? P25是多少?
Thumbnail
公司每個月都要發薪水,薪資單的格式很重要。因為相關法令規定的很清楚。要怎麼寫?是如何算出來的?千萬不要便宜行事。 下圖的薪資袋文具店都有,千萬母湯,不清不楚很容易出問題。 月薪就是本薪嗎?不對喔,還要再加責任津貼+全勤獎金,才是月工資額。 伙食費呢?倒扣?這個要解釋清楚才可以。 要有工資各
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
待業期間、健保被原單位轉出的工作空窗期。本篇深入探討三種加保健保方式,包括透過戶籍所在地公所、眷屬的投保單位以及職業工會的方法,瞭解其各自的優劣,並提供釋例分析不同情況下的保險費用,協助讀者做出最佳選擇。
Thumbnail
  屬於受雇人員的讀者們,應該相當熟悉我國的扣繳制度,所謂扣繳制度,即是機關、團體、學校、合夥、合作社是類機構,於給付薪資、利息、權利金、資遣費、獎金、盈餘等等款項時,依照扣繳率先行扣繳一部分,並且於每個月10日將所扣稅款向國庫繳清。簡單來說,於許多所得類型,所得人(如一般職員)並不會拿到全額所得,
Thumbnail
平均工資如何計算? 既然要算”平均工資”就是要把勞基法定義的工資全部納入計算。 不要說這個不是,那個也不是,其實全部都是。 勞基法第2條第1項第4款 平均工資:指計算事由發生之當日前六個月內所得工資總額除以該期間之總日數所得之金額。工作未滿六個月者,指工作期間所得工資總額除以工作期間之
Thumbnail
通常我們會違反勞(災)保投保薪資級距規定有那些呢? 明明是勞務對價,認為是恩惠式給與。 明明是經常性給與,自以為不是。 結果就是違反勞基法第2條第1項第3款 工資:指勞工因工作而獲得之報酬;包括工資、薪金及按計時、計日、計月、計件以現金或實物等方式給付之獎金、津貼及其他任何名義之經常性給與均
Thumbnail
老闆要多給員工一些錢,好事一樁。 但是,要給之前請想清楚,這些錢是工資嗎?還是不是工資? 是工資,那好處理呀,勞健保跟勞退就隨著級距調整提撥,當然每小時(日)加班費工資額也會提高,還有擬制工資(特休不休假工資) 結算也會增加。 若不是工資,那得說明定義清楚,重點是主管機關跟行政法院要採信於你才
工作上嘎到人資的事情 第一次體驗才知道的一些細節 無組織分享
Thumbnail
勞工保險、就業保險、職災保險與勞工退休金都有級距表。 級距表連動月薪資總額;月薪資總額又與工資認定有關。 是不是工資,就很重要,不要隨便說不是。 個案 勞工雙方議定工資 每月3萬2。 113年1月加費3千。 113年2月加費3千。不休假獎金1萬2 113年3月加費5千。 問 1
Thumbnail
日前跟某公司管理部門討論,伙食津貼是否一律要由公司現況1800調整成3000? 管理部門的回饙說法是:免稅額變多了,對員工有利啊。 很好啊, 對員工有利這是一個很重要的基礎。 但是怎麼實質有利呢? 這個要有做法。 先看薪資結構薪資四分位表 Mid(P50)是多少? P25是多少?
Thumbnail
公司每個月都要發薪水,薪資單的格式很重要。因為相關法令規定的很清楚。要怎麼寫?是如何算出來的?千萬不要便宜行事。 下圖的薪資袋文具店都有,千萬母湯,不清不楚很容易出問題。 月薪就是本薪嗎?不對喔,還要再加責任津貼+全勤獎金,才是月工資額。 伙食費呢?倒扣?這個要解釋清楚才可以。 要有工資各