离职面谈前算底牌
HR 在会议室递来协商解除协议,口头说「按 N+1 给」。工龄 7 年 8 个月,月薪 2.5 万(含绩效和餐补)。HR 只按 2 万基数算补偿,说绩效部分不算工资。用本工具输入完整月薪和工龄,系统按《劳动合同法》第四十七条自动算出 N 为 8 个月、补偿总额 20 万。看到精确数字后,能当场指出 HR 计算口径的漏洞,争取到应得的 4 万差额。
被裁员后,HR 拿出一个补偿方案,工龄、月平均工资、N、N+1 这些数字一混,很容易算错。这个工具把《劳动合同法》第四十七条的公式拆成输入框:填入职和离职日期、离职前 12 个月平均工资,它直接算出法定经济补偿金数额,区分 N 与 N+1 的触发条件。所有计算在浏览器内完成,不传数据到服务器,适合谈判前或签协议前快速复核。
HR 在会议室递来协商解除协议,口头说「按 N+1 给」。工龄 7 年 8 个月,月薪 2.5 万(含绩效和餐补)。HR 只按 2 万基数算补偿,说绩效部分不算工资。用本工具输入完整月薪和工龄,系统按《劳动合同法》第四十七条自动算出 N 为 8 个月、补偿总额 20 万。看到精确数字后,能当场指出 HR 计算口径的漏洞,争取到应得的 4 万差额。
2023 年 11 月被公司以「经营困难」为由裁员,当时 HR 给的是「2N 封顶」的打包价 16 万。最近听说同批同事找律师重新算,发现公司少给了 3 年工龄的补偿。翻出当年的工资单和离职协议,用本工具重新输入:工龄 12 年、月均工资 1.8 万。系统显示法定 N+1 应为 23.4 万,加上未休年假折现,实际应得 25.8 万。拿着这个数去申请劳动仲裁,时效还剩 3 个月。
被公司违法辞退,决定申请仲裁。律师费按标的额收,写仲裁申请书时需列明每一项赔偿的精确金额。工龄 3 年 2 个月,月薪 1.2 万,公司未提前 30 天通知。用本工具分别算:违法解除 2N = 7.2 万、代通知金 1.2 万、未休年假折算 0.5 万。结果直接复制进申请书,仲裁委立案时金额计算无误,减少因数字争议被退回补正的可能。
公司提出两个方案:方案一是协商解除拿 N+1 后立即走人,方案二是调岗降薪留任 6 个月后拿 N。月薪 1.5 万,工龄 5 年。方案一立刻到账 9 万,方案二需再干 6 个月拿 7.5 万但期间有工资。用本工具分别输入两种情形,对比发现方案一实际多拿 1.5 万且无需承受降薪后的工作压力。把计算结果打印出来,作为跟 HR 谈判的书面依据。
丈夫突然接到裁员通知,预计月底离职。家里房贷每月 8000 元,孩子学费下月要交 2 万。妻子需要马上知道这笔补偿金能撑多久。丈夫工龄 4 年 6 个月,月薪 1.8 万。用本工具算出 N+1 共 9.9 万,扣除个税后实得约 9.5 万。拿着这个数字重新排家庭预算:还 3 个月房贷 + 交学费后还剩 4.1 万,能覆盖 2 个月基本生活费。决定暂不动用存款,等丈夫找到新工作再调整。
| 维度 | 本工具 | 竞品 A(劳动法计算器) | 传统方法(手动计算) |
|---|---|---|---|
| 计算速度 | 输入即出结果,无等待 | 需加载页面、点选步骤,约 2-3 步 | 查阅法条 + 手动算,数分钟 |
| 法律依据更新 | 内置《劳动合同法》第 47 条,固定规则 | 部分版本含地方细则,更新频率不一 | 需自行核对最新法条及司法解释 |
| 输入复杂度 | 仅需工龄和月平均工资 | 可能要求输入入职/离职日期、工资明细等 | 需自行确定工龄起止、计算月平均工资 |
| 结果透明度 | 显示计算公式与分段结果 | 多数仅显示最终金额,不展示过程 | 计算过程完全由个人控制 |
| 隐私 | 纯前端计算,数据不出浏览器 | 部分工具数据上传服务器 | 完全离线,无数据泄露风险 |
| 适用场景 | 快速估算补偿金范围 | 适合需要详细工资条拆分的场景 | 适合熟悉劳动法、需手动核对的用户 |
| 输入 | 输出 | 说明 |
|---|---|---|
| 工龄:3 年 5 个月;月平均工资:8000 元 | 经济补偿金:28000 元(3.5 个月 × 8000 元/月) | 常规:工龄满 1 年不足 6 个月按 0.5 个月计算,验证半年进位规则 |
| 工龄:12 年 0 个月;月平均工资:15000 元 | 经济补偿金:180000 元(12 个月 × 15000 元/月) | 常规:整数年工龄,验证满 1 年按 1 个月计算,无零头干扰 |
| 工龄:0 年 11 个月;月平均工资:6000 元 | 经济补偿金:6000 元(1 个月 × 6000 元/月) | 边界:工龄不足 1 年但超过 6 个月,按 1 个月计算,验证《劳动合同法》第 47 条 |
| 工龄:20 年 0 个月;月平均工资:35000 元 | 经济补偿金:284040 元(12 个月 × 23670 元/月) | 边界:月工资超过当地社平工资 3 倍(假设 7890 元),封顶 12 个月,验证三倍封顶规则 |
| 工龄:1 年 2 个月;月平均工资:0 元 | 经济补偿金:0 元(0 个月 × 0 元/月) | 边界:工资为 0 元(如实习生或未发薪),补偿金为 0,验证零值输入不会报错 |
| 工龄:5 年 6 个月;月平均工资:5000 元 | 经济补偿金:27500 元(5.5 个月 × 5000 元/月) | 易错:工龄整 6 个月,按 0.5 年算还是 1 年?本工具按 0.5 年处理(不足 1 年部分按比例),避免用户误以为进一 |
| 工龄:10 年 0 个月;月平均工资:50000 元 | 经济补偿金:284040 元(12 个月 × 23670 元/月,当地社平工资 7890 元) | 易错:高薪且工龄超 12 年,用户可能以为按实际工龄算,但法律封顶 12 个月且工资封顶 3 倍社平 |
1.离职前12个月平均工资算错:把离职当月工资也计入
输入离职当月工资 8000 元,前12个月工资分别为 8000、8000、...、8000,平均工资填 8000平均工资 = (前11个月工资 + 离职前一个完整月工资) ÷ 12,若离职当月未满月应剔除《劳动合同法》第47条规定的「月工资」指劳动者在劳动合同解除或终止前12个月的月平均工资,不含离职当月未完整出勤的工资。
2.工龄计算错误:把试用期排除在工龄之外
工龄只填正式入职后的月份,试用期3个月不填工龄从实际用工之日起算,包含试用期。例如试用期3个月 + 正式工2年 = 2年3个月《劳动合同法》第19条明确试用期包含在劳动合同期限内,计算经济补偿时试用期应计入工作年限。
3.月平均工资超过当地社平工资3倍时未封顶
当地社平工资 6000 元,月平均工资 25000 元,直接按 25000 × 工龄计算月平均工资超过 18000 元(6000×3)时,按 18000 元封顶计算《劳动合同法》第47条规定,劳动者月工资高于用人单位所在直辖市、设区的市级人民政府公布的本地区上年度职工月平均工资三倍的,经济补偿标准按职工月平均工资三倍的数额支付。
4.工龄不满半年却算成1年
工龄 5 个月,按 1 年计算补偿工龄 5 个月,按 0.5 年计算补偿(支付半个月工资)《劳动合同法》第47条规定,六个月以上不满一年的按一年计算;不满六个月的向劳动者支付半个月工资的经济补偿。
5.月平均工资包含非货币性福利(如餐补、交通补贴)
月工资只填基本工资 5000 元,忽略每月 500 元餐补和 300 元交通补贴月平均工资 = 基本工资 + 绩效 + 津贴 + 补贴 + 加班费(税前应得工资),如 5000 + 500 + 300 = 5800 元《劳动合同法实施条例》第27条规定,经济补偿的月工资按照劳动者应得工资计算,包括计时工资、计件工资、奖金、津贴和补贴等货币性收入。
6.工龄跨年时把整年按365天折算
工龄 2 年 3 个月,折算成 2.25 年(3÷12=0.25)工龄 2 年 3 个月,按 2.5 年计算(3个月不满6个月按0.5年)工龄计算按月为单位,不用天数折算。3个月不满6个月按0.5年,6个月以上不满1年按1年,不能精确到小数。
7.补偿年限超过12年时未封顶
工龄 20 年,直接按 20 年计算补偿若月平均工资未超过当地社平工资3倍,按实际工龄20年计算;若超过3倍,则按12年封顶《劳动合同法》第47条仅对高收入者(月工资超社平3倍)有12年封顶限制,普通劳动者无年限上限,常见误区是误以为所有情况都封顶12年。
经济补偿金 = min(工龄, 12) × 月平均工资
工龄在本单位工作年数,不满半年按0.5计月平均工资离职前12个月应得月均工资某员工工龄8年7个月(按8.5年计),月均工资8000元。因公司裁员协商解除合同,工龄未超12年上限,补偿金 = 8.5 × 8000 = 68000元。若月均工资超过当地社平工资3倍(如3万元),则按3万元封顶计算。
6 种主流语言实现,复制即用:
def severance_pay(years: float, monthly_salary: float) -> float:
"""计算经济补偿金(N+1 补偿)"""
if years < 0 or monthly_salary < 0:
raise ValueError("工龄和月薪不能为负数")
# 工龄不足半年按半年算,半年以上不足一年按一年算
n = int(years) if years == int(years) else int(years) + 1
# 月工资高于当地社平工资 3 倍时,按 3 倍封顶(此处简化,未查具体地区)
cap = min(monthly_salary, 30000) # 假设当地社平工资 10000,3 倍封顶
return n * cap + cap # N + 1
# 示例:工龄 4.5 年,月薪 15000
print(severance_pay(4.5, 15000)) # 输出: 90000.0function severancePay(years, monthlySalary) {
if (years < 0 || monthlySalary < 0) throw new Error('参数不能为负');
// 工龄取整(向上取整到整数年)
const n = Math.ceil(years);
// 月薪超过当地社平工资 3 倍时封顶(此处简化)
const cap = Math.min(monthlySalary, 30000);
return n * cap + cap; // N + 1
}
console.log(severancePay(4.5, 15000)); // 90000package main
import (
"fmt"
"math"
)
func severancePay(years float64, monthlySalary float64) float64 {
if years < 0 || monthlySalary < 0 {
panic("参数不能为负")
}
n := math.Ceil(years) // 工龄向上取整
cap := math.Min(monthlySalary, 30000) // 封顶
return n*cap + cap
}
func main() {
fmt.Println(severancePay(4.5, 15000)) // 90000
}#!/bin/bash
# 用法: ./severance.sh 4.5 15000
# 输出: 90000
years=$1
salary=$2
# 工龄向上取整
n=$(echo "$years" | awk '{print int($1+0.999)}')
# 月薪封顶 30000
if (( $(echo "$salary > 30000" | bc -l) )); then
cap=30000
else
cap=$salary
fi
echo "$n * $cap + $cap" | bcpublic class SeverancePay {
public static double calculate(double years, double monthlySalary) {
if (years < 0 || monthlySalary < 0) throw new IllegalArgumentException();
int n = (int) Math.ceil(years);
double cap = Math.min(monthlySalary, 30000);
return n * cap + cap;
}
public static void main(String[] args) {
System.out.println(calculate(4.5, 15000)); // 90000.0
}
}fn severance_pay(years: f64, monthly_salary: f64) -> f64 {
assert!(years >= 0.0 && monthly_salary >= 0.0);
let n = years.ceil() as i32;
let cap = monthly_salary.min(30000.0);
n as f64 * cap + cap
}
fn main() {
println!("{}", severance_pay(4.5, 15000.0)); // 90000
}算。劳动法规定,不满六个月算 0.5 年,六个月以上不满一年算 1 年。你 12 年 3 个月,其中 3 个月不满六个月,所以工龄按 12.5 年计算。工具输入框直接填整数年数和剩余月数,会自动按这个规则折算,不用自己纠结半年整年的边界。
填离职前 12 个月的税前应发工资(含社保公积金个人部分),不是实发到手。年终奖、季度奖、加班费、餐补交通补这些货币性收入都要算进去。工具说明里写了,输入的是“月平均工资”,建议你拿过去 12 个月工资条加总除以 12,别只算基本工资,否则算出来的补偿金会偏低。
工具是按《劳动合同法》第 47 条的标准公式算的法定最低补偿额(N),公司给 4 万可能是在打折扣。如果公司没提前 30 天通知,还要加 1 个月代通知金(N+1)。另外,如果你的月平均工资超过当地社平工资 3 倍,封顶按 3 倍算,这个封顶线工具已经内置了(需手动选择城市)。建议拿结果去和 HR 对公式,不是简单比数字。
有。当你的月平均工资超过当地上年度社平工资 3 倍时,补偿金的计算基数就按 3 倍封顶,且工龄最多算 12 年。以 8000 社平为例,封顶基数是 24000。你 2.8 万超过了,所以实际基数按 24000 算,不是 28000。工具首页有“社平工资”输入框,填对城市数据后会自动封顶,否则结果会虚高。
能,但注意试用期被辞退分两种情况。如果是公司证明不符合录用条件(合法解除),没有补偿金;如果是无理由辞退(违法解除),补偿金按 N 或 2N 算。工具默认按“协商一致/裁员”的 N 算,不区分违法解除。如果你属于无理由被辞退,结果需要自己乘以 2(2N),或者找专业律师确认。
这个工具是纯前端计算,不依赖网络,点没反应通常是输入格式不对。检查两点:① 工龄年份必须是整数(比如 5 不是 5.0),月数必须 0-11;② 月平均工资只能填数字,不能带逗号或单位(如“12000”可以,“12,000”或“12000元”不行)。如果还不行,换 Chrome 或 Edge 浏览器刷新重试。
差异通常出在“月平均工资”的统计口径和“社平工资封顶”的取值上。本工具要求填税前全口径工资(含奖金津贴),有些计算器默认填税后或基本工资,基数不同结果自然不同。另外,社平工资数据每年更新,不同工具用的年份可能差一年。建议先确认你填的工资口径一致,再核对社平工资年份,两个对上后结果基本一致。
不用。这个工具完全免费,不需要注册登录,也没有次数限制。计算结果直接在输入框下方显示,如果没看到,可能是页面没完全加载或浏览器缩放导致结果区被遮挡。试试往下滚动页面,或者缩小浏览器页面比例(Ctrl+滚轮)看看。所有计算都在你本地浏览器完成,数据不上传服务器。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。