Skip to content

Instantly share code, notes, and snippets.

@aladagemre
Created May 2, 2016 22:34
Show Gist options
  • Save aladagemre/27a47b411407f7b1a85197fd8a8d054a to your computer and use it in GitHub Desktop.
Save aladagemre/27a47b411407f7b1a85197fd8a8d054a to your computer and use it in GitHub Desktop.
Çok basit ve özensizce hazırlanmış bir bordro hesaplama scripti. Aylık brüt maaşı girin, aylık net maaş ve işveren maliyetini çıkarsın.
#encoding: utf-8
import math
ay = 1
BM = {}
EK = {}
AGI = {}
SM = {}
SK = {}
SKI = {}
IS = {}
ISI = {}
KVSP = {}
HY = {}
KES = {}
BES = {}
VM = {}
KVM = {0: 0.0}
GV = {0: 0.0}
VO = {}
DV = {}
NET = {}
MALIYET = {}
def hesapla(i, brut=None):
# SGK Tavan Ocak - Haziran
SGKT1 = 10705.50
# SGK Tavan Temmuz - Aralık
SGKT2 = 10705.50
# Vergi dilimi %15 <
VD15 = 12600.00
# Vergi dilimi %20 <
VD20 = 30000.00
# Vergi dilimi %27 <
VD27 = 110000.00
# Brüt Maaş
if brut:
BM[i] = brut
else:
BM[i] = 1647.00
# İkramiye, prim, fazla mesai
EK[i] = 0.00
# Asgari geçim indirimi
AGI[i] = 123.53
# SGK Matrahı
if i < 7:
SGKT = SGKT1
else:
SGKT = SGKT2
SM[i] = min(BM[i] + EK[i], SGKT)
# SGK Kesintisi (sigorta primi işçi payı)
SK[i] = SM[i] * 0.14
# SGK Kesintisi (işveren payı)
SKI[i] = SM[i] * 0.185
# İşsizlik Sigortası (işçi payı)
IS[i] = SM[i] * 0.01
# İşsizlik Sigortası (işveren payı)
ISI[i] = SM[i] * 0.02
# Kısa Vadeli Sigorta Primi (sadece işveren)
KVSP[i] = SM[i] * 0.02
# Hazine Yardımı (sadece işverenden düşüyor)
HY[i] = SM[i] * 0.05
# Bireysel Emeklilik Sigortası Kesintisi
BES[i] = BM[i] * 0.02
# Diğer kesintiler
KES[i] = 0.0
# Vergi Matrahı
VM[i] = BM[i] + EK[i] - SK[i] - IS[i]
# Kümüle Vergi Matrahı
KVM[i] = KVM[i-1] + VM[i]
# Gelir Vergisi
# TODO %35 dilim
GV1 = max((KVM[i]-VD27)*0.08, 0) + max((KVM[i]-VD20)*0.07, 0) + max((KVM[i]-VD15)*0.05, 0) + KVM[i]*0.15
GV0 = max((KVM[i-1]-VD27)*0.08, 0) + max((KVM[i-1]-VD20)*0.07, 0) + max((KVM[i-1]-VD15)*0.05, 0) + KVM[i-1]*0.15
GV[i] = (GV1 - GV0)
# Ortalama gelir vergisi oranı
VO[i] = GV[i] / VM[i]
# Damga vergisi
DV[i] = (BM[i] + EK[i]) * 0.00759
kesintiler = SK[i] + IS[i] + GV[i] + DV[i] # + BES + KES
#print "Kesintiler=", kesintiler
NET[i] = BM[i] + EK[i] + AGI[i] - kesintiler
MALIYET[i] = SM[i] + SKI[i] + KVSP[i] + ISI[i] - HY[i]
print "NET=", NET[i]
print "İşveren Maliyet=", MALIYET[i]
BRUT_MAAS = 10000
for ay in xrange(1, 13):
hesapla(ay, BRUT_MAAS)
print "Gelir Vergisi:"
print GV
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment