• 2019新税率计算器


    一、新税率的计算方式

    # 2018年12月21日,发布《个人所得税扣缴申报管理办法(试行)》中规定,扣缴义务人向居民个人支付工资、薪金所得时,应当按照累计预扣法计算预扣税款,并按月办理扣缴申报。
    # 累计预扣法,是指扣缴义务人在一个纳税年度内预扣预缴税款时,以纳税人在本单位截至当前月份工资、薪金所得累计收入减除累计免税收入、累计减除费用、累计专项扣除、累计专项附加扣除和累计依法确定的其他扣除后的余额为累计预扣预缴应纳税所得额。

    # 本期税费 = (累计税前收入 - 累计五险一金 - 累计起征点 - 累计专项减免 - 累计其它减免) * 税率表 - 累计已交税费

    # 假设一个人税前工资20000,五险一金3500,专项减免1000
    # 一月份缴税,(20000 - 3500 - 5000 - 1000) * 0.03 = 315
    # 二月份缴税,(20000*2 - 3500*2 - 5000*2 -1000*2) * 0.03 - 315 = 315

    # 因此在工资不变的条件下,我们可以得到一条计算当前月份个人所得税的公式,公式如下:

    # 公式: 每月个税 = (税前工资 - 五险一金 - 起征点 - 专项减免) * 月份 * 税率 - 之前月份的个税,

    # 但是,此公式只适用于工资不变的情况下,因为如果工资是变化的,累计税前收入 != 税前工资*月份。

    # 因此,如果在工资不变的情况下,知道五险一金、专项减免的金额,就可以计算出一年中每个月的税后工资、个税。

    二、Python版本代码

    def calculator(money, ins, special=0):
        """
        根据税前工资计算每个月的税后工资、个人所得税
        :param money: 税前工资
        :param ins: 五险一金
        :param special: 专项减免
        :return:
        """
        m, r = [0, 36000, 144000, 300000, 420000, 660000.960000], [0.03, 0.1, 0.2, 0.25, 0.3, 0.35, 0.45]
        s = '计算结果如下:
    '
        total_tax = 0
        for i in range(1, 13):
            month_tax = 0
            extra = (money - ins - special - 5000) * i
            if extra > 0:
                for j in range(1, len(m)):
                    if extra > m[j]:
                        if j == len(m) - 1:
                            month_tax += (extra - m[j]) * r[j]
                        else:
                            month_tax += (m[j] - m[j - 1]) * r[j - 1]
                    else:
                        month_tax += (extra - m[j - 1]) * r[j - 1]
                        break
                month_tax -= total_tax
                s += '{}月份工资,税后:{},所得税:{}
    '.format(i, money - ins - month_tax, month_tax)
                total_tax += month_tax
            else:
                s += '{}月份工资,税后:{},所得税:{}
    '.format(i, money - ins, 0)
        return s
    
    
    if __name__ == '__main__':
        while True:
            money = int(input('税前工资:'))
            ins = int(input('五险一金:'))
            special = int(input('专项减免:'))
            print(calculator(money, ins, special))

    三、配合前端显示

  • 相关阅读:
    不能初始化ps2020,因为意外的遇到文件尾
    关于在云服务器上邮箱等功能无法正常的解决方法|phpcmsv9
    WAMP环境配置|apache24配置|php7配置|MySQL8配置
    SAP(ABAP) ABAP内部外部数据转换常用function
    移动平台对 META 标签的定义
    JavaScript/Jquery:Validform 验证表单的相关属性解释
    android开发问题 Failed to pull selection 菜鸟记录
    下载android sdk更新包离线安装解决方案
    android:inputType常用取值
    访问IIS元数据库失败解决方法
  • 原文地址:https://www.cnblogs.com/Coufusion/p/9667992.html
Copyright © 2020-2023  润新知