• Công thức tính thuế thu nhập cá nhân
  • Công thức tính thuế thu nhập cá nhân

    Noname > 08-08-10, 11:41 PM

    Gồm 3 hàm chính
    PIT: tính thuế thu nhập cá nhân.
    Cú pháp: PIT(mức lương chịu thuế,người phụ thuộc)
    VD: PIT(8.000.000,1)=120.000 (mức lương chịu thuế:8000.000, số người phục thuộc:1)

    GROSS: quy đổi mức lương ra gross (dùng cho trường hợp trả lương Net)
    Cú pháp: GROSS(mức lương NET,người phụ thuộc)
    VD: GROSS(7.880.000,1)=8.000.0000

    NET: quy đổi ra mức lương NET từ GROSS
    Cú pháp: NET(mức lương GROSS,người phụ thuộc)
    VD: NET(8.000.000,1)=7.880.000

    Mã:
    Function pit(gross, ngPhuthuoc As Single) As Single
        Dim giamtru As Single
        giamtru = 4000000 + ngPhuthuoc * 1600000
    If gross - giamtru > 0 Then
        If gross - giamtru < 5000000 Then
        pit = (gross - giamtru) * 0.05
        ElseIf gross - giamtru < 10000000 Then
        pit = 250000 + (gross - giamtru - 5000000) * 0.1
        ElseIf gross - giamtru < 18000000 Then
        pit = 750000 + (gross - giamtru - 10000000) * 0.15
        ElseIf gross - giamtru < 32000000 Then
        pit = 1950000 + (gross - giamtru - 18000000) * 0.2
        ElseIf gross - giamtru < 52000000 Then
        pit = 4750000 + (gross - giamtru - 32000000) * 0.25
        ElseIf gross - giamtru < 80000000 Then
        pit = 9750000 + (gross - giamtru - 52000000) * 0.3
        Else
        pit = 18150000 + (gross - giamtru - 80000000) * 0.35
        End If
    Else
    pit = 0
    End If
    End Function

    Function gross(net As Single, ngPhuthuoc As Single) As Single
    Dim giamtru As Single
        giamtru = 4000000 + ngPhuthuoc * 1600000
    If net - giamtru > 0 Then
        If net - giamtru < 4750000 Then
        gross = (net - giamtru) / 0.95 + giamtru
        ElseIf net - giamtru < 9250000 Then
        gross = 5000000 + ((net - giamtru - 4750000) / 0.9) + giamtru
        ElseIf net - giamtru < 16050000 Then
        gross = 10000000 + ((net - giamtru - 9250000) / 0.85) + giamtru
        ElseIf net - giamtru < 27250000 Then
        gross = 18000000 + ((net - giamtru - 16050000) / 0.8) + giamtru
        ElseIf net - giamtru < 42250000 Then
        gross = 32000000 + ((net - giamtru - 27250000) / 0.75) + giamtru
        ElseIf net - giamtru < 61850000 Then
        gross = 52000000 + ((net - giamtru - 42250000) / 0.7) + giamtru
        Else
        gross = 80000000 + ((net - giamtru - 61850000) / 0.65) + giamtru
        End If
    Else
    gross = net
    End If
    End Function

    Function net(gross, ngPhuthuoc As Single) As Single
    Dim giamtru As Single
        giamtru = 4000000 + ngPhuthuoc * 1600000
    If gross - giamtru > 0 Then
        If gross - giamtru < 5000000 Then
        net = gross - ((gross - giamtru) * 0.05)
        ElseIf gross - giamtru < 10000000 Then
        net = gross - (250000 + (gross - giamtru - 5000000) * 0.1)
        ElseIf gross - giamtru < 18000000 Then
        net = gross - (750000 + (gross - giamtru - 10000000) * 0.15)
        ElseIf gross - giamtru < 32000000 Then
        net = gross - (1950000 + (gross - giamtru - 18000000) * 0.2)
        ElseIf gross - giamtru < 52000000 Then
        net = gross - (4750000 + (gross - giamtru - 32000000) * 0.25)
        ElseIf gross - giamtru < 80000000 Then
        net = gross - (9750000 + (gross - giamtru - 52000000) * 0.3)
        Else
        net = gross - (18150000 + (gross - giamtru - 80000000) * 0.35)
        End If
    Else
    net = gross
    End If
    End Function

    Tải file ví dụ tại đây