Hey there!

It looks like you're enjoying Excel Türkiye- Akademik Excel Forumu but haven't created an account yet. Why not take a minute to register for your own free account now? As a member you get free access to all of our forums and posts plus the ability to post your own messages, communicate directly with other members and much more. Register now!

Already a member? Login at the top of this page to stop seeing this message.

Toplam 8 sonuçtan 1 ile 8 arasındakiler gösteriliyor.

Konu: Ücret Hesaplamasında Devreden SGK Tutarı , SGK Matrahı

  1. #1
    Yeni Üye
    Üyelik tarihi
    Aug 2010
    Nereden
    KOCAELİ
    Mesajlar
    13

    Ücret Hesaplamasında Devreden SGK Tutarı , SGK Matrahı

    Merhaba.
    Ücret Hesaplamasında SGK Tavanını aşan kısım Sonraki aya devrediyor. Devreden tutar sadece iki ay devrede biliyor. Tükenmese bile.

    Örnek Hesaplama :

    2017 Yılı İçin


    Ocak Ayı İçin
    Brüt Ücret : 12.000,00
    İkramiye : 4.000,00 olsun.
    SGK Matrahı : 13.331,40 ( Tavan Ücret Olduğu için.)
    Devreden SGK Matrahı : 2.668,60 ( Şubat SGK Matrahına İlave Edilecek )

    Şubat Ayı İçin
    Brüt Ücret : 3.000,00
    İkramiye : 1.000,00 olsun
    SGK Matrahı : 6.668,60 ( 3.000,00 + 1.000,00 + 2.668,60 ) Olması gerekiyor.

    Formda aradığımda arşivde :Sayın Seyit Mehmet YAYDEMİR in gönderdiği geçmiş yıllara göre düzenlenmiş

    Sub SGK()
    Dim i As Integer
    Dim say As Integer
    Dim s1 As Worksheet
    Dim a As Double


    a = 4738.5


    Set s1 = Workbooks("sgk2.xls").Worksheets("Sheet1")
    say = WorksheetFunction.CountA(s1.Range("A:A"))


    For i = 2 To say
    If s1.Cells(i, 2) > a Then
    s1.Cells(i, 3) = a
    s1.Cells(i, 4) = a * 0.14
    s1.Cells(i, 5) = s1.Cells(i, 2) - a


    ElseIf ((s1.Cells(i, 2) < a) And (s1.Cells(i - 1, 5) = 0)) Then
    s1.Cells(i, 3) = s1.Cells(i, 2)
    s1.Cells(i, 4) = s1.Cells(i, 2) * 0.14
    s1.Cells(i, 5) = 0


    ElseIf ((s1.Cells(i, 2) < a) And (s1.Cells(i - 1, 5) > 0) And (s1.Cells(i, 2) + s1.Cells(i - 1, 5)) > a) Then
    s1.Cells(i, 3) = (s1.Cells(i, 2) + s1.Cells(i - 1, 5))
    s1.Cells(i, 4) = a * 0.14
    s1.Cells(i, 5) = s1.Cells(i, 3) - a


    ElseIf ((s1.Cells(i, 2) < a) And (s1.Cells(i - 1, 5) > 0) And (s1.Cells(i, 2) + s1.Cells(i - 1, 5)) < a) Then
    s1.Cells(i, 3) = (s1.Cells(i, 2) + s1.Cells(i - 1, 5))
    s1.Cells(i, 4) = (s1.Cells(i, 2) + s1.Cells(i - 1, 5)) * 0.14
    s1.Cells(i, 5) = 0
    End If
    Next i
    End Sub

    kodlarına rastladım ancak Örnek dosyaya erişemediğim için uygulamasını yapamadım.

    Örnek Dosya aşağıdaki Linktedir
    http://s3.dosya.tc/server11/iospm9/M...tayli.xls.html

    Yardımlarınız için şimdiden teşekkürler.








  2. #2
    Kıdemli Üye
    Üyelik tarihi
    Apr 2004
    Mesajlar
    116
    Merhaba,

    Aşağıda hüküm uyarınca;

    Tablona Ücret, Diğer Ücret şeklinde 2 tane kolon eklemen gerek, (D ve E sütunu)
    Tablona SSK Matrahı, Devreden SSK Matrahı olarak 2 tane kolon eklemen gerek, (Üstteki işlemden sonra G ve H sütunu)
    SGK ve teşvikleri hesaplarken SGK matrahından hesaplayacaksın.

    Mudule2 ye aşağıdaki kodu kopyalarsın.
    NOT: Bu kodu hesaplama yapacağın döneme ait bordo sayfasında çalıştırırsın.

    NOT2: Kod ve işleyişte farklılık olmuştur. Bu yüzden buraya yazdığım KOD'u sildim. 6. mesaja bakınız...



    Prime esas kazançlar (3)
    MADDE 80- (Değişik: 17/4/2008 - 5754/47 md.)
    .....................................
    d) Ücretler hak edildikleri aya mal edilmek suretiyle prime tabi tutulur. Diğer ödemeler ise öncelikle ödendiği ayın kazancına dahil edilir ve ücret dışındaki bu ödemelerin yapıldığı ayda üst sınırın aşılması nedeniyle prime tabi tutulamayan kısmı, ödemenin yapıldığı ayı takip eden aydan başlanarak iki ayı geçmemek üzere üst sınırın altında kalan sonraki ayların prime esas kazançlarına ilâve edilir. Toplu iş sözleşmelerine tabi işyerleri işverenlerince veya kamu idareleri veya yargı mercilerince verilen kararlara istinaden, sonradan ödenen ücret dışındaki ödemelerin hizmet akdinin mevcut olmadığı veya askıda olduğu bir tarihte ödenmesi durumunda, 82 nci madde hükmü de nazara alınmak suretiyle prime esas kazancın tabi olduğu en son ayın kazancına dahil edilir. Bu durumlarda sigorta primlerinin, yukarıda belirtilen mercilerin kararlarının kesinleşme tarihini izleyen ayın sonuna kadar ödenmesi halinde, gecikme cezası ve gecikme zammı alınmaz ve 102 nci madde hükümleri uygulanmaz.
    .....................................
    Konu Şükrü ERGÜL tarafından (31.03.2017 Saat 13:58 ) değiştirilmiştir.

  3. #3
    Yeni Üye
    Üyelik tarihi
    Aug 2010
    Nereden
    KOCAELİ
    Mesajlar
    13
    Merhaba.

    Ekteki dosyaya uyguladım.
    Linkdeki dosyada mevcut.
    http://s6.dosya.tc/server8/iqzg3f/Ma...tayli.xls.html

    Hesaplamada şöyle bir durum oluşuyor.
    Ocak Ücreti 13.331,40 ilave ödenek 1.000,00
    Şubat Ücreti 13.331,40 ilave ödenek 1.000,00
    Mart Ücreti 1.266,67 İlave Ödenek 0,00 SGK Matrahı 2.266,67 buluyor. 3.266,67 olması gerekiyor. Ocak ayındaki devir Şubat ayında kullanılmadığı için mart ayına devretmesi, yani Şubattan sonraki döneme devreden tutarın 2.000,00 olması gerekiyor. Bunun 1.000,00 lirası Ocaktan kaynaklı 1.000,00 lirası Şubattan kaynaklı.

  4. #4
    Kıdemli Üye
    Üyelik tarihi
    Apr 2004
    Mesajlar
    116
    Merhaba,

    Doğru söylüyorsun.
    O zaman aşağıdaki mantık ile yapacağım.

    Kod:
    Personel 1
    Ay Maaş Ek Kazanç Toplam Kazanç SGK Matrahı Devreden
    Oca.17 10.000,00 5.000,00 15.000,00 13.331,40 1.668,60
    Şub.17 10.000,00 4.000,00 14.000,00 13.331,40 2.337,20 (1.668,60 + 668,60)
    Mar.17 10.000,00 3.000,00 13.000,00 13.331,40 668,60 (Ocak ayından 331,40 TL kullanıldı, 2.ay bittiğinden 1.337,20 artık devretmeyecek.)
    Personel 2
    Ay Maaş Ek Kazanç Toplam Kazanç SGK Matrahı Devreden
    Oca.17 10.000,00 5.000,00 15.000,00 13.331,40 1.668,60
    Şub.17 10.000,00 4.000,00 14.000,00 13.331,40 2.337,20 (1.668,60 + 668,60)
    Mar.17 10.000,00 1.500,00 11.500,00 13.331,40 505,80 (Ocak ayının tamamını kullandık. Devir Şubat ayından)
    Konu Şükrü ERGÜL tarafından (31.03.2017 Saat 12:03 ) değiştirilmiştir.

  5. #5
    Yeni Üye
    Üyelik tarihi
    Aug 2010
    Nereden
    KOCAELİ
    Mesajlar
    13
    Evet.

    Örnek hesaplamanız doğru.

  6. #6
    Kıdemli Üye
    Üyelik tarihi
    Apr 2004
    Mesajlar
    116
    Merhaba,

    Bir önceki maildeki mantığa göre FIFO yöntemine göre yaptım.
    İlk önce H sütunundan sonra bir sütun ekleyiniz.
    H Sütunu = Önc.Dön.Dev. SGK Matrahı
    I Sütunu = Bu Dön.Dev. SGK Matrahı

    Kod:
    Sub SGK_Matrahi()
    
    Dim i, say, say2 As Integer
    Dim sgktaban, sgktavan, ondodv1, ondodv2, sondodv1, sondodv2, sgkmat As Double
    Dim s1, s2 As Worksheet
    Dim devam As Boolean
    
    
    On Error Resume Next
    
    sgktaban = 1777.5
    sgktavan = sgktaban * 7.5
    
    
    'Yeni yıldaki ilk bordroyu oluşturuyorsanız (Her yıl için ayrı excel tablosu tutmanız durumunda) bu mesaj çıkacaktır. Aralık ayında devreden varsa o bordro için bir sayfa oluşturun.
    If ActiveSheet.Index - 1 = 0 Then
        Msg = "Bu dönemden önceki döneme ait bordro bulunmamaktadır !!!"
        MsgBox Msg
        MyMsg = MsgBox("Önceki Dönem Bordroyu istiyor musunuz?", vbYesNo, "Önceki Dönem Sorgu Ekranı")
        If MyMsg = vbNo Then devam = True
    End If
    
    
    'Bordrolar dönem sıralı değilse sayfa adını girin, boş geçerseniz önceki dönem için bir önceki sayfayı alacaktır.
    If devam = False Then
         Msg = InputBox("Önceki Dönem Sayfa Adını Giriniz... " & Chr(10) & "Boş Geçerseniz Activesheet den bir önceki sayfa seçilecektir..." _
        , "Önceki Dönem Sayfa Adı Seçimi.")
            If Msg Is Empty Then
                Set s2 = Sheets(ActiveSheet.Index - 1)
            Else
                Set s2 = Sheets(Msg)
            End If
            say2 = WorksheetFunction.CountA(s2.Range("A:A")) + 1
    End If
    
    
    Set s1 = ActiveSheet
    say = WorksheetFunction.CountA(s1.Range("A:A")) + 1
    
    
    
    For i = 4 To say
        ondodv1 = 0: ondodv2 = 0
       
        If s1.Cells(i, "C") <> "Stajer" Then 'Stajyer SSK tabi olmadığından Stajyeri boş geçer. Eğer SSK ya tabi olmayan tür olursa buraya ilave edilmeli.
            
            If devam = False Then
                sat = WorksheetFunction.Match(s1.Cells(i, "B"), s2.Columns(2), 0)
                ondodv1 = s2.Range("H" & sat)
                ondodv2 = s2.Range("I" & sat)
            End If
        
            
            If s1.Cells(i, "D") + s1.Cells(i, "E") + ondodv1 + ondodv2 <= sgktavan Then
                sgkmat = s1.Cells(i, "D") + s1.Cells(i, "E") + ondodv1 + ondodv2
                sondodv1 = 0: sondodv2 = 0
            Else
                sgkmat = sgktavan
                If s1.Cells(i, "D") + ondodv1 > sgktavan Then
                    sondodv1 = ondodv2
                    sondodv2 = s1.Cells(i, "E")
                ElseIf s1.Cells(i, "D") + ondodv1 + ondodv2 > sgktavan Then
                    sondodv1 = ondodv2 - (sgktavan - (s1.Cells(i, "D") + ondodv1))
                    sondodv2 = s1.Cells(i, "E")
                Else
                    sondodv1 = 0
                    sondodv2 = s1.Cells(i, "E") - (sgktavan - (s1.Cells(i, "D") + ondodv1 + ondodv2))
                End If
                
            End If
            
            s1.Cells(i, "G") = sgkmat
            s1.Cells(i, "H") = sondodv1
            s1.Cells(i, "I") = sondodv2
            sat = 0: sgkmat = 0: sondodv1 = 0: sondodv2 = 0
        
        End If
        
    Next i
    
    
    End Sub
    Konu Şükrü ERGÜL tarafından (31.03.2017 Saat 13:48 ) değiştirilmiştir.

  7. #7
    Yeni Üye
    Üyelik tarihi
    Aug 2010
    Nereden
    KOCAELİ
    Mesajlar
    13
    Teşekkürler Sayın Şükrü ERGÜL.

    Hesaplamalar çalışıyor. Değişik örnek olaylarla inceleyeceğim. Her hangi bir durum olursa size de bildiririm.

    Yardımlarınız için tekrar teşekkürler.

    Makroların uygulanmış hali ekteki dosyadadır.
    http://s9.dosya.tc/server2/800ybo/Ma...tayli.xls.html

    Esenlikler dilerim. İyi çalışmalar.

  8. #8
    Üye
    Üyelik tarihi
    Mar 2014
    Mesajlar
    85
    Sayın KarıncaZ Merhaba;
    Aşağıdaki Formülde bir hata yokmu

    EĞER(B4="";"";EĞER(C4="Stajer";0;(YUVARLA((

    ( EĞER(Q4<=12600;Q4*0,15; Gelir Vergisi Matrah Dilimi 12600 ancak )

    ( Bu satırda 12000 olarak belirtilmiş EĞER(Q4<=30000;(Q4-12000)*0,2+1890; Nedendir acaba )

    EĞER(Q4<=110000;(Q4-29000)*0,27+5730;
    EĞER(Q4>110000;(Q4-106000)*0,35+26970)))))-
    (EĞER((Q4-R4)<=12600;(Q4-R4)*0,15;
    EĞER((Q4-R4)<=30000;((Q4-R4)-12000)*0,2+1890;
    EĞER((Q4-R4)<=110000;((Q4-R4)-29000)*0,27+5730;
    EĞER((Q4-R4)>110000;((Q4-R4)-106000)*0,35+26970)))));2))))
    AYRICA
    Ocak Brüt Ücret: 13.331,40
    Şubat Brüt Ücret:13.331,40
    Toplam Matrah : 26.662,80
    Buna Göre Gelir Vergisi 22.663,38-12.600,00= 10.063,38*20%=2.012,70+1890=3902,70 olması gerekmezmi,
    İkincisi ise Q4 Kümülatif(22.663,38) R4 Gv.Matrahı(11.331,69) S4 Aylık Gv.Matrahı(2.322,92) bu alanlarındaki hesaplamalarınıza göre S4 alanındaki tutar neye göre hangi %deliğe göre alınmış bilgi verebilirmisiniz. Lütfen.

Konu Bilgisi

Users Browsing this Thread

Şu anda 1 üyemiz bu konuya göz atıyor. (0 kayıtlı üye ve 1 misafir.)

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •