Hướng dẫn tạo hàm tính thuế thu nhập cá nhân bằng Excel XP hoặc Excel 2003

  • Thread starter dat_vuong
  • Ngày gửi
D

dat_vuong

Guest
4/6/04
6
0
0
56
Hanoi
www.shimizu-vn.com
Cuối năm chắc nhiều bạn cần quyết toán thuế thu nhập cá nhân của công ty , nên Dat_vuong xin góp ít kiến thức mẫu giáo về excel để tạo các hàm tính thuế thu nhập cá nhân bằng excel sau đây, nếu bạn nào thấy sai hoặc cần chỉnh sửa xin vui lòng góp ý kiến:

A. Kế hoạch và Công tác Chuẩn bị
- Computer có hệ điều hành windows 2000 hoặc windows xp
- Đã installed Microsoft excel XP hoặc Excel 2003
- Tham khảo thêm (để đối chiếu) 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ập Kế hoạch để tạo các hàm sau đây
o 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
o 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
o 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
o 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ể tùy biến cho phù hợp với yêu cầu của bạn.

B. Tiến hành tạo hàm
1. Mở một 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 (Vi dụ : VBA project (book1)
4. Chọn Insert --> Module và tạo một module
5. Nhấn đôi vào module mới tao ra và đánh vào đoạn mã sau hoặc copy đoạn mã này dán vào cửa sổ tạo mã (code window)

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


C. Tạo Add-in
Tại các bước trên bạn đã tạo được các hàm để sử dụng tính thuế thu nhập . Tuy nhiên các hàm này chỉ sử dụng cho chính cái 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
1. Nhấn chuột phải vào Module đã tạo ở trên
2. Trong thẻ (tab) General điền vào các thông số
a. Project Name : Điền vào tên của Hàm (ví dụ : PIT)
b. Prọect Description : Điền vào mô tả của dự án (ví du: PIT formular)
3. Trong thẻ (tab) Protection nhấn vào Lock project for viewing sau đó điền mật khẩu và confirm 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 bạn.
4. Đóng cửa sổ VBA
5. Vào File ---> Save As , nhấn vào khung Save as type chọn Microsoft Office Excel Add-in (*.xla)
6. Đặt tên file và chọn đường dẫn để lưu file (vi dụ : c:\PIT formula .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 tool – Add-ins sau đó nhấn vào Brownse… và tìm đến nơi chứa file .xla nêu trên rồi OK

Các bạn nào cần góp ý kiến vui lòng liên hệ YM : vu_smzhn
 
Khóa học Quản trị dòng tiền
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
Không hiểu sao bác dat_vuong co bài này mà còn xin add-in của em làm gì nữa nhỉ?
Em nhận được tin nhắn của bác đã lâu nhưng chưa quên mất không chuyển cho bác nay lại thấy bài này ở đây và trên PCworld (cũng là của bác)

dat_vuong nói:
Xin addin cua tinh Thue thu nhap

--------------------------------------------------------------------------------

Ban lam on cho toi xin addin tinh thue thu Nhap bang excel hoac chi toi cho nao de download ve hoac vui long send email cho
dat_vuong1967@yahoo.co.uk

Rat cam on su giup do cua ban.
 
V

vongphuc

Excel Fans Club
11/8/04
300
5
18
Ha Noi
Anh Vũ và OverAC chuyển code sang file add_in đi, rồi upload lên cho em xài ké với
 
T

Tralipton

Guest
17/2/04
78
0
0
46
HCMC, VN
Truy cập trang
Bác DATVUONG oi! có cái hàm nào trong excel mà chuyển CHỮ SỐ sang thành tiền bằng tiếng việt không cho em 01 ban NHE! cAM ƠN BAC NHIEU!
EMAIL:lathangvn@yahoo.com
 
N

nhanketoan

Guest
Anh ơi, em tạo xong hàm tính thuế thu nhập cá nhân bằng Excel 2003 rùi, mà sao em không biết mở ra xem lại như thế nào?và sử dụng nó như thế nào? Anh giúp em với nha. Cám ơn anh nhiều nhiếu lắm...........
 
N

nhanketoan

Guest
Moi nguoi oi, giup em voi nha !!!!!!!

Mấy anh chị ơi, em đã tạo xong hàm tính thuế thu nhập cá nhân bằng Excel 2003 rùi, nhưng em không biết mở xem lại như thế nào?và phải sử dụng ra sao?, giúp em với nha. Em cám ơn anh chị nhiều nhiều....lắm....
Đừng hất hủi thành viên mới chứ !!!!!!!!!chẳng ai thèm trả lời tui hết dzậy?????//hic hic hic....
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
Bạn chép nó vào đâu? Bằng cách nào thì bây giờ coi lại bằng cách đó. nhấn Alt + F11 để bật cửa số VBE, chọn file tính thuế thu nhập bên phần cửa ổ Project Explorer rồi nhấn double click vào module mà bạn chép nó vào.
 
T

thanhnhan53

Guest
20/7/03
66
0
0
Mình có 1 file vd dùng để tính thuế TNCN, không sử dụng macro không biết có ai cần không nhỉ? cực kỳ đơn giản.
 
Secret_grasses

Secret_grasses

Guest
thanhnhan53 nói:
Mình có 1 file vd dùng để tính thuế TNCN, không sử dụng macro không biết có ai cần không nhỉ? cực kỳ đơn giản.
Dạ, có em ạ.Bác post lên cho em tham khảo với.:1luvu:
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
thanhnhan53 nói:
Mình có 1 file vd dùng để tính thuế TNCN, không sử dụng macro không biết có ai cần không nhỉ? cực kỳ đơn giản.
Nếu không dùng một số hàm if lồng vào nhau thì em đang chờ được biết đây ạh.
 
L

lexthien

Trung cấp
14/10/05
77
1
8
TPHCM
thanhnhan53 nói:
Mình có 1 file vd dùng để tính thuế TNCN, không sử dụng macro không biết có ai cần không nhỉ? cực kỳ đơn giản.

Chờ file bạn đấy !.

Thân chào bạn
 
T

thanhnhan53

Guest
20/7/03
66
0
0
Di nhiên là dùng hàm if lồng vào nhau rồi, cái đáng nói là lương net để rồi phải tính lương trước thuế và sau đó tính TTNCN, cuối cùng kết quả đúng với lương trả cho người lao động
 
T

thanhnhan53

Guest
20/7/03
66
0
0
Các bạn tham khảo xem có gì sai không nhé?
 

Đính kèm

  • TThuNhapCN.rar
    2.5 KB · Lượt xem: 693
Sửa lần cuối:
O

omron

Guest
28/6/05
34
0
0
47
TPHCM
thanhnhan53 nói:
Các bạn tham khảo xem có gì sai không nhé?

Coi bộ bác bị sai rồi đó ! Một tháng em nhận có 2500USd tuong duong 39.825.000 thôi , chứ đâu có thu nhập 52.208.333 = 3277.26USD.:wall:
 
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
568
99
28
66
HCM city
Bác nào tạo thành công có thể gửi cho em addin của hàm này được không?Cám ơn các bác nhiều
Bạn xem ở trang 2 này; các bài về TTNCN :
http://webketoan.com/forum/showthread.php?t=15946&page=2
Mà hình như TTNCN tình cho toàn năm mà hỉ? vì còn thưởng từ quỷ lương gì đó nữa cũng phải chịu thuế! Các tháng thì tạm thu thôi, hay mình lạc hậu mất rồi?!
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
Chào tieumuoi202,
Tôi nghĩ là với những hướng dẫn ở trên chắc là bạn cũng sẽ làm được cho mình một file mà.

Lần sau bạn nhớ gõ tiếng Việc có dấu nhé. Diễn đàn có tích hợp bộ gõ đấy.
 
Secret_grasses

Secret_grasses

Guest
C

chitamnt

Guest
29/11/07
2
0
0
48
TP. HCM
Bác DATVUONG oi! có cái hàm nào trong excel mà chuyển CHỮ SỐ sang thành tiền bằng tiếng việt không cho em 01 ban NHE! cAM ƠN BAC NHIEU!
EMAIL:lathangvn@yahoo.com
bạn bấm tổ hợp Alt+F11 rồi dán đoạn code này vào cửa sổ VBE (Chọn Insert->Module nếu cửa sổ VBE chưa được mở).

'chuong trinh doi so ra chu (copy từ PCWORLD)
Public Function VND(X As Long) As String
Dim a, C
a = Array("khoâng ", "moät ", "hai ", "ba ", "boán ", "naêm ", "saùu ", "baûy ", "taùm ", "chín ")
Dim kq As Variant
Dim TG(25) As Variant
Dim CL, N As Long
Dim count, D, sokh, CS, m As Integer
If X = 0 Then kq = "khoâng "
CL = X
'Chuong trinh tinh toan cac so khong
N = 0
m = X Mod 10
Do While (m = 0) And X <> 0
N = N + 1
X = X \ 10
m = X Mod 10
Loop
sokh = N
X = CL
count = 0
'Chuyen doi cac so vao trung gian
Do While (X <> 0)
count = count + 1
CS = X Mod 10
TG(count) = a(CS)
X = X \ 10
Loop
'Chuyen doi thanh chu so
X = count
D = count
Do While (count - sokh > 0) And X <> 0
Select Case (count Mod 3)
Case 0:
If (TG(count) = "khoâng " And TG(count - 1) = "khoâng " And TG(count - 2) = "khoâng ") Then
kq = kq
Else
kq = kq + TG(count) + "traêm "
End If
Case 1:
If (TG(count) = "khoâng ") Then
kq = kq
Else
If TG(count + 1) <> "moät " And TG(count) = "boán " And D <> 1 And D <> count Then
kq = kq + "boán "
Else
If TG(count + 1) <> "khoâng " And TG(count) = "naêm " And D <> 1 And D <> count Then
kq = kq + "laêm "
Else
If TG(count) = "moät " And D <> count And TG(count + 1) <> "moät " And TG(count + 1) <> "khoâng " Then
kq = kq + "moát "
Else
kq = kq + TG(count)
End If
End If
End If
End If
Case 2:
If (TG(count) = "moät " And D = count) Or (TG(count) = "moät " And TG(count + 1) = "khoâng ") Then
kq = kq + "möôøi "
Else
If TG(count) = "moät " Then
kq = kq + "möôøi "
Else
If TG(count) = "khoâng " And TG(count - 1) <> "khoâng " Then
kq = kq + "leû "
Else
If TG(count) = "khoâng " And TG(count - 1) = "khoâng " Then
kq = kq
Else
kq = kq + TG(count) + "möôi "
End If
End If
End If
End If
End Select
Select Case count
Case 4:
If TG(count) = "khoâng " And TG(count + 1) = "khoâng " And TG(count + 2) = "khoâng " Then
kq = kq
Else
kq = kq + "ngaøn "
End If
Case 7:
If TG(count) = "khoâng " And TG(count + 1) = "khoâng " And TG(count + 2) = "khoâng " Then
kq = kq
Else
kq = kq + "trieäu "
End If
Case 10:
If TG(count) = "khoâng " And TG(count + 1) = "khoâng " And TG(count + 2) = "khoâng " Then
kq = kq
Else
kq = kq + "tyû "
End If
End Select
count = count - 1
Loop
Select Case sokh
Case 4, 5:
kq = kq + "ngaøn "
Case 7, 8:
kq = kq + "trieäu "
Case 10, 11:
kq = kq + "tyû "
End Select
C = Left(kq, 1)
C = Format(C, ">")
kq = Mid(kq, 2)
kq = C + kq
VND = "" + kq + "ñoàng chaün."
End Function

Sau đó bạn vào Worksheet gọi hàm VND(). (dùng font VNI-TIMES nha bạn)
 
C

ckviet

Guest
18/12/07
24
0
0
HCM
+ Nếu máy tính xuất hiện dòng chữ bằng tiếng anh nội dung liên qua đến Macro, bạn vào TOOL-MACRO-SECURITY-chọn Medium.
Sau đó tắt chương trình Excel.
Sau đó tiếp tục sử dụng như bình thường.
 
D

dang2405

Guest
9/1/09
2
0
0
49
91 đ 144 tân phú 9
Mấy anh chị ơi, em đã tạo xong hàm tính thuế thu nhập cá nhân bằng Excel 2003 rùi, nhưng em không biết mở xem lại như thế nào?và phải sử dụng ra sao?, giúp em với nha. Em cám ơn anh chị nhiều nhiều....lắm....
Đừng hất hủi thành viên mới chứ !!!!!!!!!chẳng ai thèm trả lời tui hết dzậy?????//hic hic hic....

mình làm cách này đơn giản (theo tt84)
mong ban sử dụng được:
=IF(Y8<=0,0,IF(AND(Y8>0,Y8<=5*10^6),Y8*0.05,IF(AND(Y8>5*10^6,Y8<=1*10^7),(25*10^4+(Y8-5*10^6)*0.1),IF(AND(Y8>10*10^6,Y8<=18*10^6),(75*10^4+(Y8-10*10^6)*0.15),IF(AND(Y8>18*10^6,Y8<=32*10^6),(195*10^4+(Y8-18*10^6)*0.2),IF(AND(Y8>32*10^6,Y8<=52*10^6),(475*10^4+(Y8-32*10^6)*0.25),IF(AND(Y8>52*10^6,Y8<=80*10^6),(975*10^4+(Y8-52*10^6)*0.3),(1815*10^4+(Y8-80000000)*0.35))))))))
ban chep cong thuc nay vao
ô tham chiếu là ô chứa thu nhập chịu thuế sau khi đã trừ đi khấu trừ 4tr và gia cảnh
 

Xem nhiều

Webketoan Zalo OA