到手工资计算器(salary-take-home-calculator)
这个 skill 解决什么痛点
- offer 只报税前,到手多少两眼一抹黑:月薪 3 万听着不错,扣完五险一金和个税实际到手多少?公积金比例 12% 和 5% 的两个 offer 差多少真金白银?
- "为什么下半年工资越发越少":累计预扣预缴法下前几个月税少、后几个月税多,很多人以为公司算错了。
- 年终奖计税方式不会选:单独计税还是并入综合所得?选错一年多缴几千甚至上万。
- 年终奖陷阱区间:发 38,000 反而比发 36,000 到手更少(多发 2,000、到手少 1,000+),HR 和员工都常踩坑。
目标用户:所有拿工资的人——谈薪跳槽比 offer、发年终奖前做决策、每月对工资条。
核心能力
- 逐月到手(
calc):按累计预扣预缴法输出 1~12 月每月个税与到手,支持自定义 社保/公积金基数、公积金比例(5%~12%)、每月专项附加扣除;顺带算出公积金双边全年入账。 - 年终奖方案对比(
bonus):同时算「单独计税」与「并入综合所得」两种税额,直接告诉你选哪个、省多少;自动检查是否落入陷阱区间。 - 陷阱区间检查(
trap):内置全部 6 个「多发一元、到手更少」区间(36,000~38,566.67 等),传入奖金数即知踩没踩坑、建议改发多少。 - 多 offer 对比(
compare):每个 offer 给「名称,月薪,年终奖,公积金比例」,按「年到手 + 公积金双边」口径排序,奖金自动取更优计税方式。 - 税率表速查(
brackets):综合所得年度七级税率表 + 年终奖按月换算表,随查随用。 - 零依赖、纯本地:仅 Python 标准库,不联网、不上传任何收入数据。
使用方法
脚本位置:~/.workbuddy/skills/salary-take-home-calculator/salary.py
推荐用受管理 Python 运行(无则用系统 python3):
PY=/Users/simon/.workbuddy/binaries/python/versions/3.13.12/bin/python3
S=~/.workbuddy/skills/salary-take-home-calculator/salary.py
1. 月薪算到手(逐月)
# 月薪 30000,公积金 12%,每月专项附加扣除 1500(房贷 1000 + 赡养 500)
$PY $S calc --salary 30000 --extra 1500
# 社保/公积金基数封顶的情况(如当地基数上限 36921)
$PY $S calc --salary 50000 --ins-base 36921 --fund-base 36921
# 公积金只有 5% 的公司
$PY $S calc --salary 20000 --fund-rate 0.05
输出逐月表格(累计应纳税所得 / 当月个税 / 当月到手)+ 全年汇总。
2. 年终奖怎么计税更省
$PY $S bonus --salary 30000 --bonus 60000 --extra 1500
输出两种方案税额、建议选哪种、省多少;若奖金踩陷阱区间会额外警告并给建议发放额。
3. 只查陷阱区间
$PY $S trap # 看全部 6 个陷阱区间
$PY $S trap --bonus 40000 # 检查 40000 踩没踩坑
4. 比 offer
$PY $S compare \
--offer "A公司,30000,60000,0.12" \
--offer "B公司,32000,32000,0.05" \
--extra 1500
按「到手 + 公积金双边」排序,直接给出两个 offer 一年差多少钱。
5. 查税率表
$PY $S brackets
计算口径(透明可验证)
- 起征点 5,000 元/月(60,000 元/年);综合所得适用七级超额累进税率(3%~45%,速算扣除法)。
- 逐月个税 = 累计应纳税所得额 × 税率 − 速算扣除数 − 已预缴;累计应纳税所得额 = 累计收入 − 累计减除费用 − 累计五险一金 − 累计专项附加扣除。
- 年终奖单独计税:税额 = 奖金 × 税率 − 速算扣除数,税率按「奖金 ÷ 12」查月度换算表;并入计税则直接加进年度应纳税所得额。
- 五险一金个人默认比例:养老 8% + 医疗 2% + 失业 0.5% + 公积金 12%,基数默认=月薪,均可用参数覆盖。
- 陷阱区间:36,000~38,566.67 / 144,000~160,500 / 300,000~318,333.33 / 420,000~447,500 / 660,000~706,538.46 / 960,000~1,120,000(元)。
典型对话触发
- "月薪 3 万到手多少" →
calc --salary 30000 - "年终奖 6 万单独计税还是并入划算" →
bonus --salary 30000 --bonus 60000 - "年终奖发 38000 是不是不如 36000" →
trap --bonus 38000 - "这两个 offer 哪个划算" →
compare --offer ... --offer ... - "工资为什么越到年底扣税越多" → 用
calc展示逐月税额并解释累计预扣法
边界声明
- 本工具为估算器,不构成税务、法律或理财建议;实际税额以税务机关核定与个税 App 年度汇算为准。
- 各地社保/公积金基数上下限、医疗大病等附加比例不同,默认口径可能与你所在城市有偏差,请用
--ins-base / --fund-base / --fund-rate校准。 - 年终奖单独计税政策存在延续期限,重大政策变化后请以最新规定为准。
- 不处理劳务报酬、稿酬、经营所得、股权激励等复杂情形。