失业 N+1 补偿
工龄 + 工资→经济补偿金(劳动法)
应得补偿
计算步骤
三种补偿方式对比
关于本工具
了解工具定位 · 使用场景 · 对比优势
使用场景
裁员谈判底牌
被公司约谈裁员时,HR 口头承诺的补偿往往低于法定标准。劳动者带着工龄和近 12 个月平均工资输入工具,立即看到《劳动合同法》第 47 条规定的经济补偿金数额。这个数字就是谈判的底线——低于它,可以拒绝签字并申请劳动仲裁。
N+1 计算核对
公司人事发来的离职补偿方案里写着「N+1」,但工龄 8.5 年、月薪 2 万的人,实际应得 8.5×2 万 + 1 个月代通知金 = 19 万。用工具输入真实数据,1 秒出结果,对照公司方案逐项核对,防止 HR 用「平均工资含加班费」等手法压低基数。
劳动仲裁证据准备
准备申请劳动仲裁时,需要明确主张的补偿金额。输入入职日期、离职日期、近 12 个月工资单,工具自动计算 N 的年限(不满半年算 0.5,满半年算 1)和月工资基数(应发工资含奖金津贴)。打印计算结果附在仲裁申请书中,作为金额依据。
离职协议审查
收到公司《解除劳动合同协议书》后,条款里写「一次性补偿 12 万元」。实际工龄 7 年、月薪 1.8 万,法定应得 7×1.8 万 = 12.6 万。用工具算出差额 6000 元,在签字前要求公司补足或写明「本协议不影响主张差额的权利」。
对比矩阵本工具 vs 竞品 vs 传统方法
| 维度 | 本工具 | 竞品 A(劳动法计算器) | 传统方法(自行计算) |
|---|---|---|---|
| 数据隐私 | 纯浏览器计算,数据不上传服务器 | 需注册并上传工资、工龄等数据至服务器 | 完全离线,但需自行查阅法条并计算 |
| 处理速度 | 输入后即时出结果(<1秒) | 注册登录后,约3-5秒返回结果 | 查阅法条+手动计算,通常需30分钟以上 |
| 离线可用 | 完全离线(纯前端实现) | 需联网访问网站 | 完全离线 |
| 计算依据 | 内置《劳动合同法》第47条公式 | 内置法条+各地司法实践判例 | 需自行查找并理解法条原文 |
| 结果呈现 | 直接显示经济补偿金金额 | 显示金额+分段计算明细 | 需自行列算式并核对 |
| 使用门槛 | 无需注册,打开即用 | 需手机号注册登录 | 需具备法律基础知识和计算能力 |
| 覆盖场景 | 基础经济补偿金(N) | 含N、N+1、2N及违法解除等复杂场景 | 取决于用户掌握的法条范围 |
使用指南
上手步骤 · 输入输出 · 避坑提示
输入输出示例7 个典型场景,覆盖常规、边界与易错
| 输入 | 输出 | 说明 |
|---|---|---|
| 工龄:5年 | 月平均工资:8000元 | 经济补偿金:40000元(5个月 × 8000元/月) | 典型常规场景:工龄整数年,工资在社平3倍内 |
| 工龄:3年7个月 | 月平均工资:12000元 | 经济补偿金:48000元(4个月 × 12000元/月) | 边界case:工龄非整数年,7个月按1年算 |
| 工龄:12年 | 月平均工资:35000元(当地社平3倍为30000元) | 经济补偿金:360000元(12个月 × 30000元/月) | 边界case:工资超社平3倍,基数封顶 |
| 工龄:20年 | 月平均工资:15000元 | 经济补偿金:180000元(12个月 × 15000元/月) | 边界case:工龄超12年,按12年上限计算 |
| 工龄:0年11个月 | 月平均工资:6000元 | 经济补偿金:3000元(0.5个月 × 6000元/月) | 易错case:不满1年按1年算,但补偿为0.5个月 |
| 工龄:6个月 | 月平均工资:5000元 | 经济补偿金:2500元(0.5个月 × 5000元/月) | 易错case:不满6个月,按0.5个月补偿 |
| 工龄:15年 | 月平均工资:25000元(当地社平3倍为24000元) | 经济补偿金:288000元(12个月 × 24000元/月) | 边界case:工龄和工资均触发上限,双重封顶 |
常见错误对照8 个常踩的坑 · 错误 → 修复
1. 把「平均工资」填成「离职当月工资」
离职前最后一个月工资 8000 元离职前 12 个月(含奖金、津贴、加班费)的月平均工资《劳动合同法》第 47 条明确经济补偿基数是「离职前 12 个月平均工资」,不是单月工资。只填最后一个月会导致金额严重偏低或偏高。
2. 工龄不足 1 年按 0 年算
工龄 11 个月 → 输入 0 年工龄 11 个月 → 输入 0.9 年(或按工具要求输入月数)《劳动合同法》第 47 条:满 6 个月不满 1 年按 1 年算,不满 6 个月算 0.5 年。直接输 0 年会导致补偿金为 0,与实际法定权益不符。
3. 把「税前工资」填成「税后到手工资」
月薪 12000 元(扣完五险一金个税到手 9500)→ 填 9500填 12000(税前应发工资)经济补偿基数按「应得工资」计算(含社保公积金个人部分和个税),不是实发金额。填税后会少算约 15%-25%。
4. 忽略「封顶规则」直接按实际工资算
月薪 50000 元,当地社平工资 10000 元,直接填 50000工具会自动按 3 倍社平(30000 元)封顶计算,用户只需如实填 50000《劳动合同法》第 47 条:月工资高于当地社平 3 倍时,基数按 3 倍封顶,且补偿年限上限 12 年。用户误以为填多少算多少,实际工具已内置封顶逻辑。
5. 把「累计工龄」填成「本单位工龄」
在 A 公司工作 5 年,B 公司工作 3 年 → 只填 3 年如果非因本人原因从 A 调到 B,应填 8 年(连续计算)《劳动合同法实施条例》第 10 条:劳动者非因本人原因被安排到新单位,原单位工龄合并计算。只填本单位工龄会少算补偿年限。
6. 补偿年限超过 12 年时忽略上限
工龄 20 年,月工资 8000 元(低于社平 3 倍)→ 按 20 年算工龄 20 年,月工资 8000 元 → 按 20 年算(正确,只有高薪才封顶)很多用户误以为「所有情况补偿年限都最多 12 年」。实际上只有月工资超过社平 3 倍时才适用 12 年上限,普通工资按实际工龄计算。
7. 把「N+1」中的「+1」理解成额外多给 1 个月
工龄 3 年,算完 N=3 个月,再额外加 1 个月 → 共 4 个月N+1 中的「+1」是代通知金,仅在用人单位未提前 30 天通知时支付,不是每人都有的额外补偿《劳动合同法》第 40 条:+1 是「未提前通知的替代补偿」,不是固定福利。协商解除、期满不续签等情形没有 +1。
8. 输入「负数」或「零」工龄/工资
工龄 -1 年,工资 0 元工龄 ≥ 0,工资 ≥ 当地最低工资标准工具输入框虽可能做前端校验,但用户仍可能手动输入非法值。负工龄无意义,零工资不合法(低于最低工资标准),会导致计算结果异常。
工作原理
公式推导 · 流程图解 · 依据出处
核心公式
C = min(N × S × M, 3 × S × M) + (N < 6.5 ? 0 : S × M)
变量说明
C— 经济补偿金总额(元)N— 在本单位工作年限(年)S— 解除前12个月月平均工资(元)M— 工作年限对应的补偿月数系数(N≤6.5取1,N>6.5取1.5)
示例
某员工工作8年,月均工资8000元。N=8,S=8000,因N>6.5,M=1.5。经济补偿金 = min(8×8000×1.5, 3×8000×1.5) + (8<6.5?0:8000×1.5) = min(96000, 36000) + 12000 = 36000 + 12000 = 48000元。
适用范围
适用于《劳动合同法》第47条规定的经济补偿金计算。月工资高于当地社平工资3倍时,按3倍封顶;工作年限超过12年时,补偿月数上限12个月。不适用于违法解除赔偿金(2N)或协商解除的特殊约定。
原理图
开发者集成
3 种主流语言 · 复制即用
import math
def severance_pay(years, monthly_salary):
"""
计算经济补偿金(N+1 规则)
N = 工作年限(满半年算1,不满半年算0.5)
月工资上限:当地社平工资3倍(示例取 30000)
"""
# 工作年限折算
n = math.floor(years) + (0.5 if years - math.floor(years) >= 0.5 else 0)
# 工资上限处理(示例:当地社平工资 10000)
cap = 30000 # 3 * 10000
effective_salary = min(monthly_salary, cap)
# N 部分
n_part = n * effective_salary
# +1 部分(代通知金,按实际工资)
plus_one = monthly_salary
return round(n_part + plus_one, 2)
# 示例:工作 3.2 年,月薪 25000
print(severance_pay(3.2, 25000)) # 输出:100000.0(N=3, 3*25000 + 25000)package main
import (
"fmt"
"math"
)
// 经济补偿金计算(N+1)
func severancePay(years float64, monthlySalary float64) float64 {
// 工作年限取整规则:>=0.5 年算 1,<0.5 年算 0
n := math.Floor(years)
if years-math.Floor(years) >= 0.5 {
n++
}
// 月工资上限(示例:当地社平工资 10000 的 3 倍)
const cap = 30000
effectiveSalary := math.Min(monthlySalary, cap)
// N 部分 + 1 部分
nPart := n * effectiveSalary
plusOne := monthlySalary
return math.Round((nPart+plusOne)*100) / 100
}
func main() {
// 示例:工作 3.2 年,月薪 25000
result := severancePay(3.2, 25000)
fmt.Printf("%.2f\n", result) // 输出:100000.00
}/**
* 计算经济补偿金(N+1)
* @param {number} years - 工作年限
* @param {number} monthlySalary - 月工资
* @returns {number} 补偿金总额
*/
function severancePay(years, monthlySalary) {
// 工作年限折算:>=0.5 年算 1,<0.5 年算 0
const n = Math.floor(years) + (years - Math.floor(years) >= 0.5 ? 1 : 0);
// 月工资上限(示例:当地社平工资 10000 的 3 倍)
const cap = 30000;
const effectiveSalary = Math.min(monthlySalary, cap);
// N 部分 + 1 部分
const nPart = n * effectiveSalary;
const plusOne = monthlySalary;
return Math.round((nPart + plusOne) * 100) / 100;
}
// 示例:工作 3.2 年,月薪 25000
console.log(severancePay(3.2, 25000)); // 输出:100000常见问题
8 个高频疑问