个税专项附加扣除×工资表核对:谁重复享受、谁超上限、谁个税扣错,一张表

2026-10-09 · 喵窝资源铺

钱账系列的个税侧:每年12月确认专项附加扣除,HR 导入工资表时最常出的问题不是「算错税」,而是扣除项本身不合规——房贷和租金二选一的忘了选、非独生子女按独生子女的顶格报、职业资格继续教育没按取证当年一次性 3600 报。这版脚本把申报扣除逐人×工资表核对一遍,代码实跑验证,真实输出贴在下面。

输出长什么样

测试数据:7 名员工,故意埋 6 处陷阱——李娜房贷 1000 和租金 1500 同时申报;王强 2 个子女报 6000(上限 4000);赵敏非独生子女赡养报 3000(分摊上限 1500);陈晨职业资格继续教育报 1200(应整年 3600);孙悦大病医疗报 8000(未超 15000 起扣线);刘洋扣除没问题但代扣个税 3000(按合法扣除估算约 1990)。跑完:

  张伟 → 正常
  李娜 → 房贷利息1000与住房租金1500同时申报,二选一
  王强 → 子女教育6000超上限(2个子女×2000=4000)
  赵敏 → 非独生子女赡养3000超分摊上限1500
  陈晨 → 职业资格继续教育应取整年3600,实际1200;代扣个税150与按合法扣除估算290.00明显偏离(>10%)
  孙悦 → 大病医疗8000未超起扣线15000,不应申报
  刘洋 → 代扣个税3000与按合法扣除估算1990.00明显偏离(>10%),疑扣除或税率档用错
核对完成: 7 人, 异常 6 人

逐项验收:重复享受、超个数上限、赡养分摊超限、继续教育口径、大病起扣线、个税偏离全对出;对照张伟零误报。边界:空表/缺列明确报错退出(列出缺哪些列);幂等:同输入连跑两次输出一致。

判定规则(口径以当年国家文件为准)

项目上限/规则
住房贷款利息 vs 住房租金不得同时享受,二选一(分别 1000/1500 封顶示例)
子女教育 / 3岁以下婴幼儿照护每个 2000/月,超人数即超报
赡养老人独生 3000/月;非独生分摊、每人 ≤1500/月——没标是否独生就没法判,单列提醒
继续教育学历 400/月;职业资格取证当年一次性 3600,两者学历期间不能并行
大病医疗年自付超 15000 的部分、限 80000,汇算清缴扣——月表报个低于 15000 的数直接是错的
代扣个税交叉校验按剔除违规申报后的合法扣除估算月度税额,偏离 >10% 报疑点

用法

先 pip install openpyxl。输入列:姓名/月工资/住房贷款利息/住房租金/子女数/子女教育/婴幼儿数/婴幼儿照护/是否独生子女/赡养老人/学历继续教育/职业资格继续教育/大病医疗/工资表代扣个税。运行:

python tax_deduct_check.py 扣除申报.xlsx 核对结果.xlsx

输出 xlsx 一张表:姓名、扣除合计、逐人异常结论,直接可读。

一个真坑(这轮实跑撞出来的)

坑:个税交叉校验必须用「合法扣除」,不能直接拿申报数算

第一版里张伟完全合规,却被报「代扣个税与估算偏离」——因为校验直接用申报扣除算税,而测试数据里给他的代扣税额是按旧口径预扣的。真正的坑是:估算基准必须先剔除违规申报(房贷租金冲突取房贷、超限取上限、违规项取 0),否则合规的人会被违规邻居的口径连累误报。另外阈值不能拍 1 元——预扣(累计预扣法)和按月简算天然有小幅差异,5-10% 的容差才合理,差异超阈值标「疑点」让人复核,别让脚本替税法拍板。

相关阅读

工资侧:社保申报基数×工资表合规核对、加班表×工资表工时对账、时间列清洗后核工资;收入侧:合同回款×银行流水催收对账、借款×报销冲抵对账。

不想自己跑?把扣除申报表和工资表发给我们,AI 跑脚本 + 人工核验,出一份逐人异常清单。看全部自动化服务(9.9 元起)。虚拟物品交付后不退款,未达承诺免费重做。

← 喵窝资源铺