# 增强工具（Tools）

> 本文档包含经济补偿计算器、法规速查表、合规检查清单等工具。SKILL.md 中按需引用此文件。

---

## 经济补偿计算器

### 计算逻辑

```python
def calculate_severance(years_of_service, monthly_salary, local_avg_salary=None, reason=None):
    """
    计算劳动合同解除/终止的经济补偿金

    参数:
        years_of_service: 工作年限（月数 / 12，小数精确计算）
        monthly_salary: 劳动者解除/终止前12个月平均工资
        local_avg_salary: 当地上年度职工月平均工资（用于封顶判断）
        reason: 解除/终止原因（用于判断是否需要补偿）

    返回:
        {
            "经济补偿金": amount,
            "计算说明": explanation,
            "是否触发封顶": boolean,
            "是否违法解除": boolean,
            "违法赔偿金(2N)": amount (如适用),
            "代通知金(+1)": amount (如适用)
        }

    法律依据:《劳动合同法》第47条
    """

    # Step 1: 判断是否需要支付经济补偿金
    no_severance_reasons = [
        "过失性辞退_第39条",
        "劳动者主动辞职",
        "劳动者不同意续签(条件不降低)",
    ]

    if reason in no_severance_reasons:
        return {
            "经济补偿金": 0,
            "计算说明": f"原因「{reason}」依法无需支付经济补偿金",
            "是否触发封顶": False,
        }

    # Step 2: 计算工作年限对应的月数
    full_years = int(years_of_service)
    remaining_months = (years_of_service - full_years) * 12

    if remaining_months >= 6:
        months_count = full_years + 1
    elif remaining_months > 0:
        months_count = full_years + 0.5
    else:
        months_count = full_years

    # Step 3: 判断是否触发高收入者封顶规则
    capped = False
    capped_salary = monthly_salary
    capped_years = months_count

    if local_avg_salary and monthly_salary > local_avg_salary * 3:
        capped = True
        capped_salary = local_avg_salary * 3
        if months_count > 12:
            capped_years = 12

    # Step 4: 计算经济补偿金
    severance = capped_salary * capped_years

    # Step 5: 计算违法解除赔偿金（2N）
    wrongful_termination_damages = severance * 2

    # Step 6: 代通知金
    requires_notice = ["医疗期满_第40条第1款", "不胜任_第40条第2款",
                       "客观情况重大变化_第40条第3款"]
    notice_payment = monthly_salary if reason in requires_notice else 0

    explanation = f"{capped_years}个月 × ¥{capped_salary:,.0f}"
    if capped:
        explanation += f"（已触发高收入封顶：按当地月平均工资3倍计算，年限上限12年）"

    return {
        "经济补偿金(N)": round(severance, 2),
        "计算说明": explanation,
        "是否触发封顶": capped,
        "违法赔偿金(2N)": round(wrongful_termination_damages, 2),
        "代通知金(+1)": round(notice_payment, 2),
        "合计可能支出(N+1)": round(severance + notice_payment, 2),
        "违法解除总支出(2N)": round(wrongful_termination_damages, 2),
    }
```

### 使用示例

```python
# 示例1：普通员工，工作3年7个月，月薪15,000
result1 = calculate_severance(
    years_of_service=3 + 7/12,
    monthly_salary=15000,
    local_avg_salary=12000,
    reason="不胜任_第40条第2款"
)
# 结果：4个月 × 15,000 = 60,000 + 代通知金 15,000 → N+1 = 75,000

# 示例2：高收入员工，工作15年，月薪50,000，当地平均工资12,000
result2 = calculate_severance(
    years_of_service=15,
    monthly_salary=50000,
    local_avg_salary=12000,
    reason="协商一致_第36条"
)
# 结果：月薪封顶=36,000，年限封顶=12年 → 36,000 × 12 = 432,000（触发封顶）
```

### 常见场景速算表

| 工作年限 | 补偿月数 | 说明 |
|---------|---------|------|
| 不满6个月 | 0.5个月 | 半年以下按半个月 |
| 6个月~1年 | 1个月 | 超过半年按1年计 |
| 1年 | 1个月 | 满1年1个月 |
| 1年6个月 | 1.5个月 | 1年 + 不满半年 |
| 2年 | 2个月 | 满2年2个月 |
| 2年7个月 | 3个月 | 2年 + 超过半年 |
| 12年以上（高薪） | 12个月封顶 | 仅针对月工资>当地平均工资3倍者 |

---

## 法规速查表

### 《劳动合同法》核心条款

| 条款 | 内容摘要 | 实务要点 |
|------|---------|---------|
| **第10条** | 建立劳动关系应当订立书面劳动合同 | 用工之日起1个月内签订；超过1个月不满1年需支付双倍工资 |
| **第14条** | 无固定期限劳动合同 | 连续工作满10年或连续订立2次固定期限合同后应签订 |
| **第19条** | 试用期规定 | 合同期3月-1年：试用期≤1月；1年-3年：≤2月；3年以上/无固定：≤6月 |
| **第20条** | 试用期工资 | 不得低于本单位相同岗位最低档工资或合同约定工资的80%，且不得低于当地最低工资 |
| **第23-24条** | 竞业限制 | 适用高管、高技、保密人员；期限≤2年；须支付经济补偿 |
| **第36条** | 协商解除 | 双方协商一致可解除，单位提出需支付经济补偿 |
| **第37条** | 劳动者提前通知解除 | 提前30日书面通知（试用期提前3日） |
| **第38条** | 劳动者即时解除 | 单位有违法行为时（拖欠工资、不缴社保等），劳动者可立即解除并要求补偿 |
| **第39条** | 过失性辞退 | 6种情形，无需支付经济补偿，单位须举证 |
| **第40条** | 无过失性辞退 | 3种情形，需提前30天或支付代通知金 + 经济补偿 |
| **第41条** | 经济性裁员 | 20人以上或10%以上，需履行法定程序 |
| **第42条** | 禁止解除情形 | 医疗期、孕期/产期/哺乳期、工伤等情形不得按40/41条解除 |
| **第43条** | 工会程序 | 单方解除须事先通知工会 |
| **第46条** | 经济补偿情形 | 明确哪些情形需支付经济补偿 |
| **第47条** | 经济补偿计算 | 按工作年限，每满1年支付1个月工资；高薪者3倍封顶+12年限 |
| **第48条** | 违法解除后果 | 劳动者可要求继续履行或要求支付赔偿金（2N） |
| **第82条** | 未签书面合同双倍工资 | 超过1个月不满1年未签，每月支付2倍工资 |

### 《职工带薪年休假条例》

| 累计工作年限 | 年休假天数 |
|-------------|-----------|
| 1年 ≤ 累计 < 10年 | 5天 |
| 10年 ≤ 累计 < 20年 | 10天 |
| 累计 ≥ 20年 | 15天 |

> ⚠️ **未休年休假补偿**：日工资 × 300% × 未休天数（其中 100% 为正常工作期间已支付，另需补 200%）

### 加班费计算标准

| 加班类型 | 计算标准 | 法律依据 |
|---------|---------|---------|
| 工作日加班 | 150% 工资 | 《劳动法》第44条第1款 |
| 休息日加班（不能补休） | 200% 工资 | 《劳动法》第44条第2款 |
| 法定节假日加班 | 300% 工资 | 《劳动法》第44条第3款 |

> 计算公式：加班费 = 月工资 ÷ 21.75 ÷ 8 × 加班小时数 × 倍率

### 医疗期规定

| 实际工作年限 | 本单位工作年限 | 医疗期 |
|-------------|---------------|--------|
| 10年以下 | 5年以下 | 3个月 |
| 10年以下 | 5年以上 | 6个月 |
| 10年以上 | 5年以下 | 6个月 |
| 10年以上 | 5-10年 | 9个月 |
| 10年以上 | 10-15年 | 12个月 |
| 10年以上 | 15-20年 | 18个月 |
| 10年以上 | 20年以上 | 24个月 |

---

## 合规检查清单

### 入职合规检查

```
□ 1. 入职一个月内签订书面劳动合同
   □ 合同期限选择合理 □ 必备条款齐全（第17条） □ 双方签字盖章

□ 2. 试用期约定合规
   □ 试用期长度符合法定上限 □ 试用期工资 ≥ 转正工资的80% 且 ≥ 当地最低工资
   □ 同一用人单位与同一劳动者只能约定一次试用期

□ 3. 入职手续完善
   □ 入职登记表 □ 身份证/学历证明复印件 □ 与前单位的离职证明
   □ 竞业限制协议审查（如适用） □ 员工手册/规章制度签收

□ 4. 社保公积金开户
   □ 入职30日内办理社保登记 □ 公积金开户（当地有强制要求）

□ 5. 录用条件明确（试用期管理关键）
   □ 岗位职责说明 □ 试用期考核标准 □ 考核记录表
```

### 在职合规检查

```
□ 1. 劳动合同管理
   □ 合同到期前30天预警续签 □ 连续2次固定期限合同后及时签订无固定期限合同

□ 2. 工资支付
   □ 按月足额支付 □ 工资条发放 □ 不低于当地最低工资 □ 加班费依法支付

□ 3. 工时与休假
   □ 标准工时：每日≤8小时，每周≤40小时 □ 加班：每日≤3小时，每月≤36小时
   □ 年休假安排和记录 □ 特殊工时审批（综合工时/不定时工时）

□ 4. 规章制度
   □ 经过民主程序（职工代表大会/工会讨论） □ 公示或告知员工（签收/系统发布）
   □ 定期修订更新 □ 内容合法（不得违反法律强制性规定）

□ 5. 社保公积金
   □ 足额缴纳（按实际工资基数） □ 险种齐全（五险） □ 公积金（当地有要求时）

□ 6. 女职工保护
   □ 孕期不得安排禁忌劳动 □ 产假98天 + 地方延长 □ 哺乳期每日1小时哺乳时间
   □ "三期"内不得按第40/41条解除
```

### 离职合规检查

```
□ 1. 解除/终止合法性
   □ 解除理由符合法定情形 □ 证据材料完整 □ 不违反第42条禁止性规定

□ 2. 程序合规
   □ 提前30天书面通知或支付代通知金 □ 事先通知工会 □ 送达解除通知

□ 3. 经济补偿
   □ 计算准确（工作年限 × 月工资） □ 高薪者3倍封顶检查 □ 支付时间：办结交接时

□ 4. 离职手续
   □ 出具解除劳动合同证明（第50条） □ 15日内办理档案和社保转移
   □ 结清工资和补偿金 □ 工作交接清单 □ 竞业限制启动通知（如适用）

□ 5. 协商解除/和解协议
   □ 明确解除性质和补偿金额 □ 确认"再无其他劳动争议" □ 双方签字确认
```

---

## 补充陷阱（供参考）

- **陷阱 6：不胜任辞退缺环节** — 直接以"不胜任"为由辞退。后果：缺少"培训或调岗"环节，构成违法解除。**正确做法**：考核不合格 → 培训或调岗 → 再次考核仍不合格 → 提前30天通知 + 经济补偿。
- **陷阱 7：加班费基数争议** — 按最低工资作为加班费计算基数。**正确做法**：加班费基数应为劳动者正常工作时间工资（不含加班费本身）。
- **陷阱 8：社保"自愿放弃"** — 让员工签署"自愿放弃社保声明"。该声明因违反法律强制性规定而无效。**正确做法**：依法缴纳社保，不得以任何形式规避。
- **陷阱 9：末位淘汰=合法辞退** — 最高法指导案例明确"末位淘汰"不等于"不胜任工作"。**正确做法**：需证明该员工确实不能胜任工作（客观考核标准），且经过培训或调岗。
- **陷阱 10：经济性裁员程序缺失** — 裁了 30 人但没有走法定程序。**正确做法**：提前30天向工会/全体职工说明 → 听取意见 → 向劳动行政部门报告 → 依法支付经济补偿。
