Foxtable(狐表)用户栏目专家坐堂 → 个税算法变了,InTax函数怎么办?


  共有11819人关注过本帖树形打印复制链接

主题:个税算法变了,InTax函数怎么办?

帅哥哟,离线,有人找我吗?
cpayinyuan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
个税算法变了,InTax函数怎么办?  发帖心情 Post By:2011/8/10 9:17:00 [只看该作者]

     如题,自9月1日起,个人所得税法进行了修订,不但扣除额变了,税率和计算公式也变了,在实际工作中,可能更多的需要按照新税法计算个人所得税,(但有时候也需要按照老税法计算个税),是不是在保留原来的InTax函数的基础上,再增添一个计算个人所得税的函数?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/10 9:18:00 [只看该作者]

升级吧,新的版本,个税算法已经改了。

 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6831 积分:43213 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/8/10 9:47:00 [只看该作者]

最好做个四舍五入的函数,现在的这个函数用起来太辛苦了。

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2011/8/10 10:36:00 [只看该作者]

以下是引用狐狸爸爸在2011-8-10 9:18:00的发言:
升级吧,新的版本,个税算法已经改了。

直接改了?不太合适吧,我觉得老的函数也应该保留啊,至少在1年内老算法经常会用到,例如算以前月份的工资和税,或者进行新老税法比较时.


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/10 10:42:00 [只看该作者]

呵呵,老的已经被新的替换了,会不来了。

 

你可以在全局代码粘贴下面的代码,不过这个计算规则是新版的,你按旧版计算规则改过来,以后即可用InTax2函数计算旧的个人所得税,用法和InTax一样:

 

 

    Public Function InTax2(ByVal x As Double) As Double
        Dim y As Double
        If x > 80000 Then
            y = x * 0.45 - 13505
        ElseIf x > 55000 Then
            y = x * 0.35 - 5505
        ElseIf x > 35000 Then
            y = x * 0.3 - 2755
        ElseIf x > 9000 Then
            y = x * 0.25 - 1005
        ElseIf x > 4500 Then
            y = x * 0.2 - 555
        ElseIf x > 1500 Then
            y = x * 0.1 - 105
        ElseIf x > 0 Then
            y = x * 0.03
        ElseIf x <= 0 Then
            y = 0
        End If
        Return Math.Round(y, 2)
    End Function

[此贴子已经被作者于2011-8-10 10:42:24编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2011/8/10 10:46:00 [只看该作者]

以下是引用狐狸爸爸在2011-8-10 10:42:00的发言:

呵呵,老的已经被新的替换了,会不来了。

 

你可以在全局代码粘贴下面的代码,不过这个计算规则是新版的,你按旧版计算规则改过来,以后即可用InTax2函数计算旧的个人所得税,用法和InTax一样:

 

 

    Public Function InTax2(ByVal x As Double) As Double
        Dim y As Double
        If x > 80000 Then
            y = x * 0.45 - 13505
        ElseIf x > 55000 Then
            y = x * 0.35 - 5505
        ElseIf x > 35000 Then
            y = x * 0.3 - 2755
        ElseIf x > 9000 Then
            y = x * 0.25 - 1005
        ElseIf x > 4500 Then
            y = x * 0.2 - 555
        ElseIf x > 1500 Then
            y = x * 0.1 - 105
        ElseIf x > 0 Then
            y = x * 0.03
        ElseIf x <= 0 Then
            y = 0
        End If
        Return Math.Round(y, 2)
    End Function

[此贴子已经被作者于2011-8-10 10:42:24编辑过]

建议再升级时,把InTax2函数也加上,至少在最近几个月内,新老函数都会经常用到.


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/10 10:59:00 [只看该作者]

不用的,我已经找出旧版的计算代码了,直接将下面的代码粘贴在全局代码中,即可用InTax2计算旧版个人所得税了,一样很方便的:

 

  Public Function InTax2(ByVal x As Double) As Double
        Dim y As Double
        If x > 100000 Then
            y = x * 0.45 - 15375
        ElseIf x > 80000 Then
            y = x * 0.4 - 10375
        ElseIf x > 60000 Then
            y = x * 0.35 - 6375
        ElseIf x > 40000 Then
            y = x * 0.3 - 3375
        ElseIf x > 20000 Then
            y = x * 0.25 - 1375
        ElseIf x > 5000 Then
            y = x * 0.2 - 375
        ElseIf x > 2000 Then
            y = x * 0.15 - 125
        ElseIf x > 500 Then
            y = x * 0.1 - 25
        ElseIf x > 0 Then
            y = x * 0.05
        ElseIf x <= 0 Then
            y = 0
        End If
        Return Math.Round(y, 2)
    End Function

[此贴子已经被作者于2011-8-10 11:45:38编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2011/8/11 14:14:00 [只看该作者]

     我试着用新版测试了一下个人所得税函数,发现麻烦大了,软件中所有以前的工资数据,只要一重算,所有的个人所得税全部按新税法计算了,全部变错了!难道贺老师让我以前的工资全部按新税法缴个人所得税?

 

    可见,税法变了,贺老师直接修改了InTax函数的计算方法,是一个很欠考虑的、不妥当的决定,这样会造成软件中以前月份的工资数据全部计算出错误的个人所得税结果!正确的做法是,老函数不能轻易的变动,而应该新增一个函数按新税法计算!


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/11 14:49:00 [只看该作者]

其实没有办法两全的,如果我不改这个函数,那么有人会说:麻烦了,现在算出来的个人所得税全部错了,难道我需要重新改代码? 发布后的程序怎么改? foxtable官方为什么不直接按照新税法调整intax函数,偏偏要重新出一个函数,害我要重新修改代码?

[此贴子已经被作者于2011-8-11 14:58:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2011/8/11 16:58:00 [只看该作者]

以下是引用狐狸爸爸在2011-8-11 14:49:00的发言:

其实没有办法两全的,如果我不改这个函数,那么有人会说:麻烦了,现在算出来的个人所得税全部错了,难道我需要重新改代码? 发布后的程序怎么改? foxtable官方为什么不直接按照新税法调整intax函数,偏偏要重新出一个函数,害我要重新修改代码?

[此贴子已经被作者于2011-8-11 14:58:09编辑过]

     如果狐表是现在刚出来,以前没人使用,用新的公式还说得过去。但关键是现在有很多老用户一直在使用,而且计算以前工资的时候也的确应该用老公式,现在税法改了,比较合理的办法是新增一个函数,而不应该把正常使用的老函数给修改了。

     难道税法一修改,以前的公式就不需要了?现在9月份还未到,难道计算工资就开始使用新公式了?(是不是太超前了)不管贺老师怎么认为,我个人认为这是一个失误,结果是给老用户造成了不必要的麻烦。
    当然,这也不算什么解决不了的大问题,如果贺老师坚持不再修改狐表,那么作为老用户,我解决的办法有两个:(1)这个项目的程序不再升级狐表,一直使用老版本;(2)升级后修改代码,所有使用此函数的代码全部修改一遍。

    

    


 回到顶部
总数 12 1 2 下一页