• Thứ Sáu, 21/01/2005 16:57 (GMT+7)

    Tính thuế thu nhập bằng Excel


    Cuối năm là thời điểm cần quyết toán thuế thu nhập cá nhân. Đây là vấn đề không "nhẹ nhàng" chút nào, nhất là khi qui mô công ty của bạn không nhỏ. Tuy nhiên bạn đừng lo, bạn có thể lập trình "bắt" Excel xử lý giúp "gánh nặng" này.

    Công việc chuẩn bị

    - PC cài HĐH Windows 2000 hoặc XP, Microsoft Excel XP hoặc 2003

    - Phụ lục số 1 và số 2, kèm theo Thông tư số 81/2004/ TT-BTC ngày 13/8/2004 của Bộ Tài chính.

    - Lên kế hoạch tạo các hàm sau:

    PITLC: Hàm tính thuế thu nhập cá nhân dành cho công dân Việt Nam và các cá nhân khác định cư tại Việt Nam.

    PITFR: Hàm tính thuế thu nhập cá nhân người nước ngoài cư trú tại Việt Nam và công dân Việt Nam lao động, công tác ở nước ngoài.

    NET2GROSSLC: Hàm qui đổi thu nhập sau thuế (net) sang thu nhập trước thuế (gross) dành cho công dân Việt Nam và các cá nhân khác định cư tại Việt Nam.

    NET2GROSSFR: Hàm qui đổi thu nhập sau thuế (net) sang thu nhập trước thuế (gross) dành cho người nước ngoài cư trú tại Việt Nam và công dân Việt Nam lao động, công tác ở nước ngoài.

    Lưu ý: Tên hàm có thể thay đổi cho phù hợp với yêu cầu của bạn.

    TẠO HÀM

    1. Mở bảng tính (workbook) mới

    2. Nhấn tổ hợp phím Alt+F11 để khởi động microsoft Visual Basic

    3. Nhấn vào bảng tính của bạn tại cửa sổ VBA project. Ví dụ: VBA project (book1)

    4. Chọn Insert.Module

    5. Nhấn đúp vào module mới tạo ra và nhập vào các đoạn mã sau.

    Function pitlc(gross_local)

    'Personal Income Tax for Local Vietnamese Citizen

    If (gross_local > 0) And (gross_local <= 5000000) Then

    pitlc = 0

    ElseIf (gross_local > 5000000) And (gross_local <= 15000000) Then

    pitlc = (gross_local - 5000000) * 0.1

    ElseIf (gross_local > 15000000) And (gross_local <= 25000000) Then

    pitlc = 1000000 + ((gross_local - 15000000) * 0.2)

    ElseIf (gross_local > 25000000) And (gross_local <= 40000000) Then

    pitlc = 3000000 + ((gross_local - 25000000) * 0.3)

    ElseIf (gross_local > 40000000) Then

    pitlc = 7500000 + ((gross_local - 40000000) * 0.4)

    End If

    End Function

    Function pitfr(gross_foreign)

    'Personal Income Tax for Resident Foreigner in Vietnamese

    If (gross_foreign > 0) And (gross_foreign <= 8000000) Then

    pitfr = 0

    ElseIf (gross_foreign > 8000000) And (gross_foreign <= 20000000) Then

    pitfr = (gross_foreign - 8000000) * 0.1

    ElseIf (gross_foreign > 20000000) And (gross_foreign <= 50000000) Then

    pitfr = 1200000 + ((gross_foreign - 20000000) * 0.2)

    ElseIf (gross_foreign > 50000000) And (gross_foreign <= 80000000) Then

    pitfr = 7200000 + ((gross_foreign - 50000000) * 0.3)

    ElseIf (gross_foreign > 80000000) Then

    pitfr = 16200000 + ((gross_foreign - 80000000) * 0.4)

    End If

    End Function

    Function net2grosslc(net_local)

    'Local Net Salary to be gross-up to Gross Salary

    If (net_local > 0) And (net_local <= 5000000) Then

    net2grosslc = net_local

    ElseIf (net_local > 5000000) And (net_local <= 14000000) Then

    net2grosslc = Round((net_local - 500000) / 0.9, 0)

    ElseIf (net_local > 14000000) And (net_local <= 22000000) Then

    net2grosslc = Round((net_local - 2000000) / 0.8, 0)

    ElseIf (net_local > 22000000) And (net_local <= 32500000) Then

    net2grosslc = Round((net_local - 4500000) / 0.7, 0)

    ElseIf (net_local > 32500000) Then

    net2grosslc = Round((net_local - 8500000) / 0.6, 0)

    End If

    End Function

    Function net2grossfr(net_foreign)

    'Foreigner Net Salary to be gross-up to Gross Salary

    If (net_foreign > 0) And (net_foreign <= 8000000) Then

    net2grossfr = net_foreign

    ElseIf (net_foreign > 8000000) And (net_foreign <= 18800000) Then

    net2grossfr = Round((net_foreign - 800000) / 0.9, 0)

    ElseIf (net_foreign > 18800000) And (net_foreign <= 42800000) Then

    net2grossfr = Round((net_foreign - 2800000) / 0.8, 0)

    ElseIf (net_foreign > 42800000) And (net_foreign <= 63800000) Then

    net2grossfr = Round((net_foreign - 7800000) / 0.7, 0)

    ElseIf (net_foreign > 63800000) Then

    net2grossfr = Round((net_foreign - 15800000) / 0.6, 0)

    End If

    End Function

    TẠO ADD-IN

    Ở các bước trên bạn đã tạo được các hàm dùng để tính thuế thu nhập. Tuy nhiên các hàm này chỉ sử dụng cho chính bảng tính có gắn hàm đã tạo mà thôi. Để tất cả các bảng tính đều có thể sử dụng hàm đã tạo ở trên hoặc bạn muốn gửi những hàm này cho bạn bè thì bạn cần phải tạo add-in. Cách tạo add-in như sau:

    1. Nhấn chuột phải vào Module đã tạo ở trên

    2. Điền thông số trong tab General

    a. Project Name: Điền tên hàm (ví dụ: PIT)

    b. Project Description: Điền vào mô tả của dự án (ví dụ: PIT formular)

    3. Trong tab Protection, nhấn vào Lock project for viewing sau đó điền mật khẩu và xác nhận mật khẩu nếu bạn không muốn người khác xem và chỉnh sửa đoạn mã của mình.

    4. Đóng cửa sổ VBA

    5. Vào File_Save As, nhấn vào khung Save as type và chọn Microsoft Office Excel Add-in (*.xla)

    6. Đặt tên file và chọn đường dẫn để lưu file (ví dụ: c:\PITformular .xla)

    7. Hoàn tất

    Muốn gắn add-in vào bất cứ máy nào có Excel bạn chỉ việc vào Tools ->Add-Ins sau đó nhấn Browse... và tìm đến nơi chứa file .xla nêu trên rồi OK.ÿ

    Dat_Vuong
    dat_vuong1967@yahoo.co.uk
    Shimizu Corporation

    ID: A0501_128