个税汇算退税助手
每年 3 月 1 日 — 6 月 30 日是个人所得税综合所得年度汇算期。多数人「该退的钱没退」或「扣除项漏填」,本技能把这条算账线固化下来,帮助个人在三件事上算清楚:能扣多少、能退多少、要不要办。
为什么有用
- 漏填是常态:7 项专项附加扣除里,继续教育取证当年 3600 元、大病医疗超 1.5 万部分最高 8 万、个人养老金等,最容易漏。漏填就是少退税。
- 年终奖选错多缴税:年终奖「合并计税」与「单独计税」税额可能相差上千元,且临界点附近差异极大(36000 元档尤为典型)。
- 该不该办容易误判:收入不到 12 万但需补税可免办;补税 400 元以内可免办——但很多人不知道,白白多跑一趟或多缴。
使用方式
主脚本 scripts/tax_refund_helper.py,纯标准库,零第三方依赖。三个子命令:
1. deduction —— 测算专项附加扣除
python3 scripts/tax_refund_helper.py deduction --baby 1 --child-education 1 --elder-single --loan
python3 scripts/tax_refund_helper.py deduction --rent-tier 2 --education --medical 50000 --json
参数:--baby N(3 岁以下婴幼儿数)、--child-education N(子女教育人数)、--elder-single 或 --elder-share 金额、--education(学历继续教育)、--cert(职业资格)、--loan(住房贷款利息)、--rent-tier 1|2|3(住房租金城市档)、--medical 金额(大病医疗自付)。住房贷款利息与住房租金不能同时享受,同时传入会报错。
2. calc —— 汇算税额测算
python3 scripts/tax_refund_helper.py calc --income 200000 --social 30000 --special 24000 --prepaid 8000
python3 scripts/tax_refund_helper.py calc --income 120000 --special 30000 --bonus 24000
--income 为综合所得收入额(必填),另可传 --social(三险一金)、--special(专项附加扣除合计)、--other(其他扣除)、--donation(公益捐赠,超应纳所得额 30% 部分不扣)、--prepaid(已预缴税额)、--bonus(全年一次性奖金)。给了 --bonus 会同时算出「合并计税」与「单独计税」两种方案的税额与省税金额并给推荐。
3. check —— 判断要不要办
python3 scripts/tax_refund_helper.py check --income 200000 --refund 1920
python3 scripts/tax_refund_helper.py check --income 100000 --payable 500
退税额 > 0 建议办理;补税且收入 > 12 万、补税 > 400 元则必须办理,否则可免办。退出码 1 = 需要办理,0 = 可免办/无需办理。
合规边界
- 只做测算与判断,不做申报、不代报税。最终数字以「个人所得税」APP 与税务机关口径为准。
- 不做节税筹划、不提供税务法律意见。所有算式按现行公开政策静态试算。
- 各地/各年度政策可能调整,脚本内参数已注明依据,使用前请核对现行有效版本。
文件结构
scripts/tax_refund_helper.py—— 主脚本(纯标准库)references/usage-guide.md—— 使用指南(含常见问题)references/tax-rules.md—— 税率表与扣除标准(政策依据)test-samples/run_tests.py—— 回归测试(44 项手算期望值)