关闭

个人所得税及酬金计算公式

1251人阅读 评论(0) 收藏 举报

Public Class gss
    '输入劳务费金额
    Private _inlwje As Double
    '输入工薪金额
    Private _ingxje As Double
    '输出劳务费应纳税所得额
    Private _outlwyse
    '输出劳务费应扣所得税
    Private _outlwyks As Double
    '输出劳务费适用税率
    Private _outlwsl As String
    '输出工薪速算扣除数
    Private _outgxkcs As Double
    '输出工薪应纳税所得额
    Private _outgxyse As Double
    '输出工薪应扣所得税
    Private _outgxyks As Double
    '输出工薪适用税率
    Private _outgxsl As String
    '输入校外劳务费金额
    Private _inlwxwje As Double

 

    Public WriteOnly Property inlwje() As Double
        Set(ByVal Value As Double)
            _inlwje = Value
            Claowu()
        End Set
    End Property

    Public WriteOnly Property ingxje() As Double
        Set(ByVal Value As Double)
            _ingxje = Value
            Cgongxin()
        End Set
    End Property

    Public ReadOnly Property outlwyse() As Double
        Get
            Return _outlwyse
        End Get
    End Property

    Public ReadOnly Property outlwyks() As Double
        Get
            Return _outlwyks
        End Get
    End Property
    Public ReadOnly Property outlwsl() As String
        Get
            Return _outlwsl
        End Get
    End Property
    Public ReadOnly Property outgxkcs() As Double
        Get
            Return _outgxkcs
        End Get
    End Property
    Public ReadOnly Property outgxyse() As Double
        Get
            Return _outgxyse
        End Get
    End Property
    Public ReadOnly Property outgxyks() As Double
        Get
            Return _outgxyks
        End Get
    End Property
    Public ReadOnly Property outgxsl() As String
        Get
            Return _outgxsl
        End Get
    End Property

    Public WriteOnly Property inlwxwje() As Double
        Set(ByVal Value As Double)
            _inlwxwje = Value
            Claowuxw()
        End Set
    End Property

    Private Sub Claowu()
        Dim je As Double
        je = Me._inlwje
        If je <= 800 Then
            Me._outlwyse = 0
            Me._outlwyks = 0
            Me._outlwsl = ""
        ElseIf je > 800 And je <= 4000 Then
            Me._outlwyse = je - 800
            Me._outlwyks = (je - 800) * 0.2
            Me._outlwsl = "20%"
        ElseIf je > 4000 And je <= 25000 Then
            Me._outlwyse = je * 0.8
            Me._outlwyks = je * 0.16
            Me._outlwsl = "20%"
        ElseIf je > 25000 And je <= 62500 Then
            Me._outlwyse = je * 0.8
            Me._outlwyks = je * 0.24 - 2000
            Me._outlwsl = "30%"
        ElseIf je > 62500 Then
            Me._outlwyse = je * 0.8
            Me._outlwyks = je * 0.32 - 7000
            Me._outlwsl = "40%"
        End If
    End Sub
    Private Sub Cgongxin()
        Dim je As Double
        je = Me._ingxje
        je = je - 1600
        If je < 0 Then
            Me._outgxyse = 0
        Else
            Me._outgxyse = je
        End If
        If je <= 0 Then
            Me._outgxkcs = 0
            Me._outgxsl = ""
            Me._outgxyks = 0
        ElseIf je > 0 And je <= 500 Then
            Me._outgxkcs = 0
            Me._outgxsl = "5%"
            Me._outgxyks = je * 0.05
        ElseIf je > 500 And je <= 2000 Then
            Me._outgxkcs = 25
            Me._outgxsl = "10%"
            Me._outgxyks = je * 0.1 - 25
        ElseIf je > 2000 And je <= 5000 Then
            Me._outgxkcs = 125
            Me._outgxsl = "15%"
            Me._outgxyks = je * 0.15 - 125
        ElseIf je > 5000 And je <= 20000 Then
            Me._outgxkcs = 375
            Me._outgxsl = "20%"
            Me._outgxyks = je * 0.2 - 375
        ElseIf je > 20000 And je <= 40000 Then
            Me._outgxkcs = 1375
            Me._outgxsl = "25%"
            Me._outgxyks = je * 0.25 - 1375
        ElseIf je > 40000 And je <= 60000 Then
            Me._outgxkcs = 3375
            Me._outgxsl = "30%"
            Me._outgxyks = je * 0.3 - 3375
        ElseIf je > 60000 And je <= 80000 Then
            Me._outgxkcs = 6375
            Me._outgxsl = "35%"
            Me._outgxyks = je * 0.35 - 6375
        ElseIf je > 80000 And je <= 100000 Then
            Me._outgxkcs = 10375
            Me._outgxsl = "40%"
            Me._outgxyks = je * 0.4 - 10375
        ElseIf je > 100000 Then
            Me._outgxkcs = 15375
            Me._outgxsl = "45%"
            Me._outgxyks = je * 0.45 - 15375
        End If

    End Sub
    Private Sub Claowuxw()
        Dim je As Double
        je = Me._inlwxwje
        If je <= 1000 Then
            Me._outlwyse = je
            Me._outlwsl = "9%"
            Me._outlwyks = je * 0.09
        ElseIf je > 1000 And je <= 20000 Then
            Me._outlwyse = je
            Me._outlwsl = "20%"
            Me._outlwyks = je * 0.2
        ElseIf je > 20000 And je <= 50000 Then
            Me._outlwyse = je
            Me._outlwsl = "25%"
            Me._outlwyks = je * 0.25
        ElseIf je > 50000 Then
            Me._outlwyse = je
            Me._outlwsl = "30%"
            Me._outlwyks = je * 0.3
        End If
    End Sub
End Class

0
0

猜你在找
【套餐】Hadoop生态系统零基础入门
【套餐】嵌入式Linux C编程基础
【套餐】2017软考系统集成项目——任铄
【套餐】Android 5.x顶级视频课程——李宁
【套餐】深度学习入门视频课程——唐宇迪
【直播】广义线性模型及其应用——李科
【直播】从0到1 区块链的概念到实践
【直播】计算机视觉原理及实战——屈教授
【直播】机器学习之凸优化——马博士
【直播】机器学习&数据挖掘7周实训--韦玮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3490次
    • 积分:56
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章存档