2018年新个税Excel扣税公式
新个税2018年10月1日,开始执行。2019年1月1日全面执行。闲时无聊做了几条工资核算的计税公式,供大家参考。
操作方法
- 01
中国人民政府网文章《 2018年第四季度个税减除费用和税率适用问题明确 》,链接:http://www.gov.cn/fuwu/2018-09/12/content_5321202.htm 里面提及了执行时间,起税金额5000,已经新的税率表见下
- 02
强调一下: 请自行使用网络计税工具验证一遍,或者自己手工算一下每档的个税验证下。 另外,请理解应发工资、计税工资(也叫应税所得额)的概念。起征点也改成5000的,看下是不是减了。上图里的第二列都是指应税所得额。
- 03
正常的扣税公式:=ROUND(MAX((-5000)*{3,10,20,25,30,35,45}%-5*{0,42,282,532,882,1432,3032},),2),公式直接复制到excel除A1以外的其他单元格里,自己修改公式内引用的A1,A1单元格为应税金额,应税金额=应发金额-免税金额。 注:免税金额指五险一金、其他符合免税政策的金额及2019年1月1日全面执行的教育、医疗、养老等多方面的免税金额,2018年10月1日-2018年12月31日只涉及五险一金及其他符合免税政策的金额(如产假期间的工资)
- 04
个税反推应税金额的公式:=ROUND(MIN((+5*{0,42,282,532,882,1432,3032})/{3,10,20,25,30,35,45}%),2)+5000 公式直接复制到excel除A1以外的其他单元格里,自己修改公式内引用的A1,A1单元格内为个税金额,得出的结果为应税金额。应税金额+免税金额就等于其应发工资。
- 05
有些单位执行税后工资模式。税后反推税前工资的公式设计,公式如下: =ROUND(MAX((-5000*{0,3,10,20,25,30,35,45}%-5*{0,0,42,282,532,882,1432,3032})/(1-{0,3,10,20,25,30,35,45}%),),2) 公式直接复制到excel除A1以外的其他单元格里,自己修改公式内引用的A1,A1单元格内为实发工资,得出的结果为应税金额。 一般税后模式,合同签订的税后工资,个人还需要承担个人部分的五险一金。假设税后月工资8000,五险一金需个人承担2000。那么这里的A1就填入6000,得出应税金额6030.93。那么其税应发工资=6030.93+2000=8030.93。该例子不考虑其他免税工资的存在。
- 06
年终奖个税计算公式: =ROUND(SUM((>6000*{0,6,24,50,70,110,160})*( A1-500*{0,6,24,50,70,110,160})*{3,7,10,5,5,5,10}%),2) 公式直接复制到excel除A1以外的其他单元格里,自己修改公式内引用的A1,A1单元格内为计税奖金。 注:如果奖金发放当月计税金额大于起税点,那么计税奖金=应发奖金。如果奖金发放当月计税金额小于起税点。那么应发奖金需扣除金额补足当月计税金额至起税点,剩余金额为计税奖金(如当月发放工资的计税金额3000,年终奖金10000,那么计税奖金=8000)
- 07
年终奖个税计算公式二(税后反推税前),这个方案无法使用公式完成,只能通过VBA宏公式完成,VBA代码在最后。 添加代码的步骤:alt+F11,打开VBE,新建模块,将代码复制金额。 生效后的公式为:=ROUND(newnzsq(A1,A2),2) 其中A1单元格为税后金额,A2单元格为当月计税金额。
- 08
税后反推税前年终宏公式源码 Function NewNZsq(SH As Variant, DYSQGZ As Variant) As Double 'newNZsq 年终税前,DYSQGZ当月计税工资 Dim Spoint(1 To 7) As Double, Skou(1 To 7) As Integer, iSd As Integer, PDSd As Integer If (5000 - DYSQGZ) > 0 Then DYSQGZ = 5000 - DYSQGZ Else DYSQGZ = 0 '当月计税工资迭代后变成免税部分金额 Spoint(1) = 0.03: Skou(1) = 0 Spoint(2) = 0.1: Skou(2) = 210 Spoint(3) = 0.2: Skou(3) = 1410 Spoint(4) = 0.25: Skou(4) = 2660 Spoint(5) = 0.3: Skou(5) = 4410 Spoint(6) = 0.35: Skou(6) = 7160 Spoint(7) = 0.45: Skou(7) = 15160 Select Case SH / 12 Case Is > 80000 iSd = 7 Case Is > 55000 iSd = 6 Case Is > 35000 iSd = 5 Case Is > 25000 iSd = 4 Case Is > 12000 iSd = 3 Case Is > 3000 iSd = 2 Case Is > 0 iSd = 1 End Select If SH = 0 Then NewNZsq = 0 Else NewNZsq = (SH - Skou(iSd) - DYSQGZ * Spoint(iSd)) / (1 - Spoint(iSd)) End If If NewNZsq - DYSQGZ < 0 Then '如果年终税前小于免税 NewNZsq = SH '税前直接等于税后 Else Select Case (NewNZsq - DYSQGZ) / 12 Case Is > 80000 PDSd = 7 Case Is > 55000 PDSd = 6 Case Is > 35000 PDSd = 5 Case Is > 25000 PDSd = 4 Case Is > 12000 PDSd = 3 Case Is > 3000 PDSd = 2 Case Is > 0 PDSd = 1 End Select If PDSd <> iSd Then NewNZsq = (SH - Skou(PDSd) - DYSQGZ * Spoint(PDSd)) / (1 - Spoint(PDSd)) '超过部分税前取税档 End If End Function