下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-wz4oglp9--salary-split-confirm.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-wz4oglp9/salary-split-confirm。根据所在城市、合计月工资、社保/公积金公司缴纳比例、绩效比例、周末/工作日加班时长、年假应休未休天数、社保/公积金已缴基数等参数,自动逆向拆分工资结构(基本/岗位/绩效/加班/年假补偿/社保补贴/公积金补贴),并生成分「试用期工资 + 转正工资」两段的《员工薪酬确认单》docx(试用期月工资=转正×80%,绩效比例不变,其余参数不变按同一算法重算)与《工资结构拆分表》xlsx。
适用于 HR 做薪酬拆分、薪酬确认单出具、调薪测算。—— HR导师徐博士制作 · 已放入人力资源实操百科 · 仅供学习
阅读全文 (展开查看完整说明)
概述
工资结构自动拆分 + 薪酬确认单生成
何时使用
用户需要:
- 把"合计月工资"拆成 基本工资 / 岗位工资 / 绩效工资 / 加班工资 / 年假补偿 / 社保补贴 / 公积金补贴 七项
- 出具《员工薪酬确认单》(docx,套用标准模板,分「试用期工资」「转正工资」两段;员工姓名/银行卡等字段留空手填)
- 生成可编辑的工资拆分表(xlsx,带实时公式,展示转正/正式工资的完整拆分)
触发词示例:拆分工资、工资结构、薪酬确认单、生成薪酬确认、工资测算、试用期工资。
试用期工资拆分逻辑(关键)
- 转正工资 = 输入的「合计月工资」,按常规算法完整拆分(含绩效工资)。
- 试用期工资:只改动一个参数——「合计月工资」改为转正 ×
--probation-ratio(默认 0.8,即 80%);绩效比例、社保/公积金比例、周末/工作日加班、年假、已缴基数、城市标准等其余参数全部不变,用同一套逆向拆分算法重新计算。 - 因此试用期的绩效工资、社保补贴、公积金补贴、加班工资、年假补偿、岗位工资等都会按新的合计(80%)重新算出,不是简单的「转正减绩效」。
- 符合《劳动合同法》「试用期工资不得低于正式工资 80%」的下限要求。
输入参数(10 个,必须收齐)
- 所在城市(如 上海)—— 用于查表得到 当地最低工资 / 最低社保基数 / 社保基数上限 / 公积金基数上限 / 最低基本工资
- 合计月工资
- 社保公司缴纳部分比例(如 0.26)
- 公积金公司缴纳部分比例(如 0.07)
- 绩效工资比例(如 0.1)
- 每周周末加班时长(小时)
- 每周工作日加班时长(小时)
- 年假应休未休天数
- 社保已缴纳基数(已缴部分抵扣,无则 0)
- 公积金已缴纳基数(已缴部分抵扣,无则 0)
可选:员工姓名(用于文件名,留空则按城市命名)。可选:试用期比例 --probation-ratio(默认 0.8,即试用期 = 转正 × 80%,一般无需改动)。可选:--social-base-max(社保基数上限)、--fund-base-max(公积金基数上限)——默认取城市表内置值,如需按当地最新标准覆盖可显式传入。
执行流程
- 收齐参数:优先从用户消息中解析;缺失项用
AskUserQuestion追问(城市用单选,比例/金额用填空)。城市需规范化(去"市",大小写归一)。 - 运行脚本(用 WorkBuddy 受管 Python,路径因机器而异,由调用助手自动解析):
<managed_python> <skill_dir>/split_salary.py
--city "上海" --total 20000 --social-rate 0.26 --fund-rate 0.07 --perf-rate 0.1
--weekend-ot 8 --weekday-ot 0 --annual-leave-days 5 --social-paid 0 --fund-paid 0
--output-dir "<输出目录>"脚本会在首次运行时自动安装 python-docx、openpyxl 到当前 Python 环境。
- 格式保真原理:本 skill 随附
确认单模板.docx(分试用期/转正两段)、拆分表模板.xlsx两份原始模板。脚本不手搓表格,而是把数值注入模板(docx 填试用期 8 格 + 转正 8 格共 16 个数值格、xlsx 填 14 个输入格),原文件的字体(微软雅黑)、底色(紫 ECE4F1 / 黄 FFFF00)、边框、合并、列宽、公式 100% 保留。 - 输出目录会经
os.path.abspath归一化分隔符,避免 Windows 下/与混用导致文件落错位置。 - ⚠️ 若目标路径已存在被 Office/预览占用的同名文件,写入会因"拒绝访问"失败;改用不同文件名或先关闭占用程序。
- 展示结果:用
present_files同时给出生成的员工薪酬确认单_*.docx和工资结构拆分表_*.xlsx,并把控制台打印的 JSON 分项汇总简要呈现给用户。
计算逻辑(要点)
- 公式严格复刻《自动化工资结构拆分表.xlsx》(HR导师徐博士出品),逆向由合计反推各分项。
- 自动派生:加班年假基数比例、最低加班额、最低年假补偿(脚本内公式)。
- 社保/公积金应缴基数(用于算公司补贴的基数,是本次重点修正的规则):
- 社保应缴基数 =
MIN(MAX(合计月工资, 最低社保基数), 社保基数上限) − 已缴基数。即不低于当地最低社保基数、不高于当地社保基数上限(封顶)。 - 公积金应缴基数 =
MIN(合计月工资, 公积金基数上限) − 已缴基数。即任何情况下都直接等于合计月工资(不再受最低社保基数兜底),仅不高于当地公积金基数上限(封顶)。
- 社保应缴基数 =
- 社保/公积金"已缴纳基数"用于抵扣——已缴部分不再重复发补贴。
- 岗位工资为剩余兜底项。各分项四舍五入取整(元)后填入确认单;取整后分项合计可能与输入合计差 ±几元,属正常。
- 试用期拆分:合计 ×
--probation-ratio(默认 0.8)、绩效比例不变,其余参数不变,用同一算法重算(详见上文「试用期工资拆分逻辑」)。
城市工资标准
脚本内置 CITY_TABLE,每个城市 5 元组:(最低工资, 最低社保基数, 社保基数上限, 公积金基数上限, 最低基本工资)。
- 上海/北京/广州/深圳/杭州:为 2026 年度查询到的官方上下限(如上海社保上限 37731、公积金上限 37731;北京社保上限 36348、公积金上限 35811)。
- 其余城市:上限按「最低社保基数 × 5」估算(下限≈社平 60%、上限≈社平 300%),为近似值,落地请以当地最新公布文件为准。
- 数据每年 7 月随社平工资调整,需定期核对;也可用命令行参数
--social-base-max、--fund-base-max覆盖内置值。 - 未命中城市时回退默认值(最低工资 2740 / 最低社保基数 7460 / 社保上限 37300 / 公积金上限 37300 / 最低基本工资 1500)并打印警告。
依赖
python-docx、openpyxl(脚本自动 pip 安装到 managed venv)。- 仅用 Python 标准库 + 上述两包,无外部网络依赖。
文件
SKILL.md:本说明split_salary.py:计算 + 模板注入生成(含城市表、逆向拆分算法、试用期拆分逻辑,与 xlsx 模板公式逐一对应)确认单模板.docx:docx 母版(分「试用期工资」「转正工资」两段,套用后仅填数值格)拆分表模板.xlsx:xlsx 母版(原《自动化工资结构拆分表》,套用后仅填输入格,保留全部公式;含「社保基数上限」「公积金基数上限」两个输入格)
版权署名
HR导师徐博士制作 · 已放入人力资源实操百科 · 仅供学习