Hàm tính thuế TNCN

Liên hệ QC
Status
Không mở trả lời sau này.

handung107

Thành viên gắn bó
Thành viên danh dự
Tham gia
30/5/06
Bài viết
1,630
Được thích
17,436
Nghề nghiệp
Bác sĩ
Bài viết của Datvuong, trích từ PCWorld

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.

1/ 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.

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
 
Bài của Datvuong

2/ 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.

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
 
Bài của Datvuong

3/ 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.

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
 
Bài của Datvuong

4/ 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.

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
 
Bài của Datvuong

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 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
 
Status
Không mở trả lời sau này.
Web KT
Back
Top Bottom