Pexels Goumbik 669621 1

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


在一個人資(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
<?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年)勞保投保薪資級距表&勞保、健保、勞退保費對照表

此文章同步發佈於方格子:

https://vocus.cc/article/6763a58efd89780001ff6a7b