失业 N+1 补偿

工龄 + 工资→经济补偿金(劳动法)

409 次访问

经济补偿 / 赔偿金计算(劳动法 N / N+1 / 2N)

应得补偿

计算步骤

三种补偿方式对比

类型
应得(税前)
实发(扣个税)
N(正常协商)
N+1(未通知)
2N(违法解除)

关于本工具

了解工具定位 · 使用场景 · 对比优势

使用场景

💼

裁员谈判底牌

被公司约谈裁员时,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)或协商解除的特殊约定。

原理图

输入工龄 + 月工资本地计算N = 工龄取整 + 1输出补偿金 = N × 月工资输入月工资 ≤ 社平 3 倍本地计算N ≤ 12(封顶)输出补偿金 = min(N, 12) × min(月工资, 社平3倍)
用户输入 本地处理 输出结果

开发者集成

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 个高频疑问

这个工具算出来的 N+1 补偿金额,公司会认吗?能直接拿这个结果去谈吗?
这个工具按《劳动合同法》第 47 条(经济补偿)和第 40 条(代通知金)的计算规则,输入工龄和工资后直接算出法定下限。但实际谈判中,公司可能以「绩效工资不算」「N 要打折」「年终奖不纳入平均工资」等理由压价。建议把工具算出的数作为底线,打印出《劳动合同法》原文第 47 条和当地上年度社平工资数据(人社局官网可查),谈判时更有底气。
工龄 6 年 10 个月,按 7 年算还是 6 年算?
《劳动合同法》第 47 条:六个月以上不满一年的,按一年计算;不满六个月的,向劳动者支付半个月工资。6 年 10 个月中,6 年整对应 6 个月工资,剩余 10 个月(超过六个月)按一年算,所以总工龄按 7 年计,补偿金 = 7 个月工资。注意:这里「工资」指离职前 12 个月的月平均工资(含奖金、津贴、加班费),不是基本工资。
为什么我输入 2 年工龄,算出来只有 2 个月工资,不是 2N?
N 和 2N 是两个概念。本工具计算的是「合法解除」时的经济补偿 N(或 N+1):比如合同到期公司不续签、协商一致解除、公司裁员等情形。2N 是「违法解除」的赔偿金,比如公司无正当理由开除、孕期辞退等,需要劳动仲裁或法院认定公司违法后才能主张。如果你怀疑公司是违法解除,建议先咨询当地劳动监察大队或法律援助中心,确认情形后再用对应的计算方式。
月工资超过当地社平工资 3 倍怎么办?工具会限制吗?
会的。《劳动合同法》第 47 条明确规定:劳动者月工资高于用人单位所在直辖市、设区的市级人民政府公布的本地区上年度职工月平均工资三倍的,经济补偿标准按职工月平均工资三倍的数额支付,且年限最高不超过 12 年。工具在输入工资时已自动按当地最新社平工资 3 倍做封顶处理。如果实际工资远超 3 倍,结果会按封顶值显示,同时会标注「已触发社平工资 3 倍上限」。
输入工龄时,中间断过几个月社保,要算进去吗?
《劳动合同法》第 47 条中的「工作年限」指在同一用人单位连续工作的时间,与社保是否断缴无关。中间跳槽到另一家公司,工龄不累计。但如果你在同一家公司内部换过部门或岗位,只要劳动关系未中断,工龄连续计算。工具输入的是「在本公司的总工作年限」,按实际入职到离职的月数填写即可,不需要扣除社保断缴月份。
工具算出来的 N+1,和公司 HR 给的数字差了几千块,谁是对的?
常见差距来源有三个:① 工资基数不同——HR 可能只算基本工资,法律要求是离职前 12 个月所有货币性收入(含绩效、提成、加班费)的平均值;② 工龄计算方式不同——试用期是否算入、入职当月不满月怎么折算;③ 是否包含代通知金——N+1 中的「+1」是未提前 30 天通知的补偿,如果公司已让你工作满 30 天通知期,则只有 N。建议用工具先算一遍,然后对照工资单逐项核对 HR 的基数构成,有异议时要求 HR 出具计算明细。
这个工具在手机上能用吗?需要下载 App 吗?
不需要下载任何 App,直接打开网页就能用。工具是纯前端实现,所有计算在浏览器内完成,不依赖服务器。手机浏览器(微信内置浏览器、Chrome、Safari 等)打开链接后,输入工龄和月工资即可出结果。页面自适应手机屏幕,按钮和输入框都够大,不会误触。如果网络不好,可以先加载一次页面,断网后仍然能正常计算(因为不需要联网请求)。
我输入工资时,填的是税前还是税后?
填税前应发工资(包括基本工资、绩效、补贴、加班费、年终奖折算到月等),这是《劳动合同法》第 47 条规定的计算基数。税后工资已经被扣除了个税和社保个人部分,基数偏小,算出来的补偿金会偏低。如果不确定月平均工资,可以查看离职前 12 个月的工资条或银行流水,把每月应发额加起来除以 12。注意:离职当月不满整月的,按实际工作天数折算。
选择 打开 +新窗口 esc关闭