- Katılım
- 7 Eylül 2004
- Mesajlar
- 946
- Excel Vers. ve Dili
- Excel-2003
- Altın Üyelik Bitiş Tarihi
- 16.08.2026
merhaba
Bilindiği üzere Asagri ücretlilerin vergileri ve damga vergilleri istisna kapsamına alınarak sıfır vergi sıfır damga kesilecek. Fakat kanun gereği istisnayı aşan glier ve damga farkları ödenecek.
Aşağıdaki fonksiyonda bu kontrolü sağlamak için kodda düzenleme yapılması lazım ama ben yapamadım..
Koşullar:
Vergi İstisna Matrahı 4253,40 Yani Asgari Ücret 5004 TL nin işçi payları toplamından düştükten sonra kalan kısımdır. 5004-(700,56 İşç Payı+50,04 İşsizlik İşçi Payı)= 4253,40 Bu istisna Vergi Matrahıdır.
1. Koşul:
Gelir vergisi matrahı 4253,40 den BÜYÜK çıkarsa. Bordroda oluşan (Vergi Matrahı - 4253,40 ) = İstisna Dışı Vergi Matrahı
Örnek
Bordroda 6750 Vergi Matrahı oluşsun.
6750 - 4253,40 = 2496,60 Vergi Matrahından Gelir Vergisi kesilecek. %15 diyelim buda 374,49 ödenecek.
2.Koşul:
Gelir vergisi matrahı 4253,40 eşit ve KÜÇÜK çıkarsa. Bordroda Gelir vergisi SIFIR olacak. 4253,40 aşmadığı için...
Örnek
Bordroda 3000 Vergi Matrahı oluşsun.
3000 TL 4253,40 den küçük olduğu için = 0 Vergi yazacak..
3.KOŞUL:
Damga Vergisi istisnası
5004 Asgari Ücretin Damga Vergisi 37,98 TL'dir. Bordroda çıkan Damga vergisi 37,98 den küçük ise sıfır, büyük ise 37,98 ile farkı damga vergisi kesecek.
Örnek
Damga vergisi 54,25 çıkmış düyelim. 54,25 - 37,98= 16,27 damga vergis ikesilecek.
Damga vergisi 12,50 çıkmış ise direk SIFIRI yazacak.
Bunu aşağıdaki fonksiyonda yaparsak formüllerle upraşmayız diye düşünüyorum. Alternatif fikir olursa da olur.
Eski Kullanılan kod:
Bilindiği üzere Asagri ücretlilerin vergileri ve damga vergilleri istisna kapsamına alınarak sıfır vergi sıfır damga kesilecek. Fakat kanun gereği istisnayı aşan glier ve damga farkları ödenecek.
Aşağıdaki fonksiyonda bu kontrolü sağlamak için kodda düzenleme yapılması lazım ama ben yapamadım..
Koşullar:
Vergi İstisna Matrahı 4253,40 Yani Asgari Ücret 5004 TL nin işçi payları toplamından düştükten sonra kalan kısımdır. 5004-(700,56 İşç Payı+50,04 İşsizlik İşçi Payı)= 4253,40 Bu istisna Vergi Matrahıdır.
1. Koşul:
Gelir vergisi matrahı 4253,40 den BÜYÜK çıkarsa. Bordroda oluşan (Vergi Matrahı - 4253,40 ) = İstisna Dışı Vergi Matrahı
Örnek
Bordroda 6750 Vergi Matrahı oluşsun.
6750 - 4253,40 = 2496,60 Vergi Matrahından Gelir Vergisi kesilecek. %15 diyelim buda 374,49 ödenecek.
2.Koşul:
Gelir vergisi matrahı 4253,40 eşit ve KÜÇÜK çıkarsa. Bordroda Gelir vergisi SIFIR olacak. 4253,40 aşmadığı için...
Örnek
Bordroda 3000 Vergi Matrahı oluşsun.
3000 TL 4253,40 den küçük olduğu için = 0 Vergi yazacak..
3.KOŞUL:
Damga Vergisi istisnası
5004 Asgari Ücretin Damga Vergisi 37,98 TL'dir. Bordroda çıkan Damga vergisi 37,98 den küçük ise sıfır, büyük ise 37,98 ile farkı damga vergisi kesecek.
Örnek
Damga vergisi 54,25 çıkmış düyelim. 54,25 - 37,98= 16,27 damga vergis ikesilecek.
Damga vergisi 12,50 çıkmış ise direk SIFIRI yazacak.
Bunu aşağıdaki fonksiyonda yaparsak formüllerle upraşmayız diye düşünüyorum. Alternatif fikir olursa da olur.
Eski Kullanılan kod:
HTML:
Function Gelirvergisihesapla(kümülatif_matrah, matrah)
Dim a(6)
Dim b(6)
Dim c(6)
Dim d(6)
Dim vergi1(6)
Dim vergi2(6)
Dim vergi3(6)
deger1 = 0
deger2 = 0
deger3 = 0
'--------------------------------------
rakam1 = kümülatif_matrah
rakam2 = kümülatif_matrah - matrah
rakam3 = matrah - kümülatif_matrah
'--------------------------------------
'yüzde oranları
b(1) = 0.15
b(2) = 0.2
b(3) = 0.27
b(4) = 0.35
b(5) = 0.35
b(6) = 0.35
'______________________________
'vergi dilimleri
c(1) = Sheets("Parametreler").Range("D7")
c(2) = Sheets("Parametreler").Range("D8")
c(3) = Sheets("Parametreler").Range("D9")
c(4) = 500000000
c(5) = 500000000
c(6) = c(5) * rakam1
'______________________________
d(1) = c(1)
d(2) = c(2) - c(1)
d(3) = c(3) - c(2)
d(4) = c(4) - c(3)
d(5) = c(5) - c(4)
d(6) = c(6) - c(5)
i = 1
While rakam1 > 0
If rakam1 >= d(i) Then
a(i) = d(i)
vergi1(i) = ((d(i) * b(i)) / 1)
rakam1 = rakam1 - d(i)
ElseIf rakam1 < d(i) Then
d(i) = rakam1
rakam1 = rakam1 - d(i)
vergi1(i) = ((d(i) * b(i)) / 1)
End If
deger1 = deger1 + vergi1(i)
i = i + 1
Wend
i = 1
While rakam2 > 0
If rakam2 >= d(i) Then
a(i) = d(i)
vergi2(i) = ((d(i) * b(i)) / 1)
rakam2 = rakam2 - d(i)
ElseIf rakam2 < d(i) Then
d(i) = rakam2
rakam2 = rakam2 - d(i)
vergi2(i) = ((d(i) * b(i)) / 1)
End If
deger2 = deger2 + vergi2(i)
i = i + 1
Wend
i = 1
While rakam3 > 0
If rakam3 >= d(i) Then
a(i) = d(i)
vergi3(i) = ((d(i) * b(i)) / 1)
rakam3 = rakam3 - d(i)
ElseIf rakam3 < d(i) Then
d(i) = rakam3
rakam3 = rakam3 - d(i)
vergi3(i) = ((d(i) * b(i)) / 1)
End If
deger3 = deger3 + vergi3(i)
i = i + 1
Wend
'--------------------------------------
If kümülatif_matrah > matrah Then
deger = deger3
Else
deger = 0
End If
Gelirvergisihesapla = (deger1 - deger2) + deger3
End Function
Ekli dosyalar
-
19.6 KB Görüntüleme: 37