2022 年终奖个税计算方法,看看你被多收割了多少

感谢

B 站真的是学习的地方,我看了老师的视频之后,终于搞懂怎么计算个税了,上链接,和我同样不懂的小伙伴可以去学习下,省的怕会计给你算错。

参考 :www.bilibili.com/video/BV1v5…

年终奖个税计算

def nzjgs(n):
    """
    :type n: float 年终奖总额
    :rtype: float 年终奖交税额
    """
    tmp = n/12
    if tmp <= 3000:
        return n * 0.03
    if 3000 < tmp <= 12000:
        return n * 0.1 - 210
    if 12000 < tmp <= 25000:
        return n * 0.2 - 1410
    if 25000 < tmp <= 35000:
        return n * 0.25 - 2660
    if 35000 < tmp <= 55000:
        return n * 0.3 - 4410
    if 55000 < tmp <= 80000:
        return n * 0.35 - 7160
    return n * 0.45 - 15160
    
复制代码

如我年终奖假如 4 万(只是假如),那么调用函数计算之后得到的 3790.0 即为交税额。

print(nzjgs(40000))
3790.0
复制代码

月薪个税计算

def yxgs(n, s, shebao, qitakouchu, zhuanxiangfujiakouchu):
    """
     :type n: float 月份
     :type s: float 月薪
     :type shebao: float 每月社保缴费
     :type qitakouchu: float 每月其他扣除费用
     :type zhuanxiangfujiakouchu: float 每月专项附加扣除
     :rtype: tuple (截止到本月之前的每月交税列表,本月交税额, 截止到本月的交税总额)
     """
    koushui = []
    for i in range(1, n+1):
        total_s = s * i
        total_shebao = shebao * i
        total_zhuanxiangkouchu = qitakouchu * i
        total_5000 = 5000 * i
        total_zhuanxiangfujiakouchu = zhuanxiangfujiakouchu * i
        total_suodee = total_s - total_shebao - total_zhuanxiangkouchu - total_5000 - total_zhuanxiangfujiakouchu
        if total_suodee <= 36000:
            koushui.append(total_suodee * 0.03 - sum(koushui))
        if 36000 < total_suodee <= 144000:
            koushui.append(total_suodee * 0.1 - 2520 - sum(koushui))
        if 144000<total_suodee<=300000:
            koushui.append(total_suodee * 0.2 - 16920 - sum(koushui))
        if 300000<total_suodee<=420000:
            koushui.append(total_suodee * 0.25 - 31920 - sum(koushui))
        if 420000<total_suodee<=660000:
            koushui.append(total_suodee * 0.3 - 52920 - sum(koushui))
        if 660000<total_suodee<=960000:
            koushui.append(total_suodee * 0.35 - 85920 - sum(koushui))
        if 960000<total_suodee:
            koushui.append(total_suodee * 0.45 - 181920 - sum(koushui))
    return koushui, koushui[-1], sum(koushui)
复制代码

假如我月薪 20000 ,每个月交社保 2025 ,专项附加扣除 0 ,其他扣除费用为 300 ,那么我第 12 个月的交税额为 2077.5 :

print(yxgs(12, 20000, 2025, 300, 0))
([380.25, 380.25, 522.0, 1267.5, 1267.5, 1267.5, 1267.5, 1267.5, 1267.5, 1267.5, 1267.5, 2077.5], 2077.5, 13500.0)
    
复制代码

总和

假如上面两部分都是我一年的收入,将上面的两部分分别计算之后,加起来就是今年一年总共交税额共 17290.0 ,第 12 个月因为同时拿了工资和年终奖,所以交税为 5867.5。

2022 年新版年终奖个税计算

假如我仍然是月薪两万,其他扣除费用保持不变,那么前 11 个月还是和以前一样,但是从 2022 年开始工资和年终奖都合并计算个税,所以第 12 个月的交税肯定包含了平时的月薪和年终奖。这个函数必须套用前面的函数。

def xbnzjgs(nzj, n, shebao, qitakouchu, zhuanxiangfujiakouchu):
    """
     :type nzj: float 年终奖
     :type n: float 月薪
     :type shebao: float 每月社保缴费
     :type qitakouchu: float 每月其他扣除费用
     :type zhuanxiangfujiakouchu: float 每月专项附加扣除
     :rtype: 第 12 个月的交税额
     """
    p = yxgs(11, n, shebao, qitakouchu, zhuanxiangfujiakouchu)
    total_suodee = nzj + n * 12 - (shebao + qitakouchu + zhuanxiangfujiakouchu + 5000) * 12
    if total_suodee <= 36000:
        return total_suodee * 0.03 - p[2]
    if 36000 < total_suodee <= 144000:
        return total_suodee * 0.1 - 2520 - p[2]
    if 144000<total_suodee<=300000:
        return total_suodee * 0.2 - 16920 - p[2]
    if 300000<total_suodee<=420000:
        return total_suodee * 0.25 - 31920 - p[2]
    if 420000<total_suodee<=660000:
        return total_suodee * 0.3 - 52920 - p[2]
    if 660000<total_suodee<=960000:
        return total_suodee * 0.35 - 85920 - p[2]
    if 960000<total_suodee:
        return total_suodee * 0.45 - 181920 - p[2]
复制代码

如我平时月薪 2 万,假如年终奖发了 4 万,其他仍然保持不变,那么第 12 个月交税额为 10077.5 :

print(xbnzjgs(40000, 20000, 2025, 300, 0))
10077.5
复制代码

可以看出来比之前第 12 个月的总交税额多了 4210 ,这扣税真的太狠了,我还能说什么呢,可能是觉得社会上中产韭菜长高了,得割一波了。

尾记

  • 写这些函数纯属娱乐,上面的函数实现比较粗糙,请多见谅。
  • 前两个函数是对的,最后的 2022 年终奖计算方法是我自己推到的算法,不一定对,欢迎各位指正。
分类:
后端