现在的位置: 首页 > 综合 > 正文

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

2013年09月15日 ⁄ 综合 ⁄ 共 4208字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.