稅收
哪個是正確的德國 Lohnsteuer 扣除的正確來源?
來自這裡,我現在有以下數據,必須說我很困惑。
現在哪個值是正確的?
- #1來自一家專門從事稅務軟體的德國軟體公司的參考數據。在他們的樣本貸款工資單中,例如,他們給出了每月4926.59 歐元的 brutto 收入(所有進一步的歐元值,並且總是Lohnsteuerklasse I)。這對應於Lohnsteuer稅費1000.75。
- #2如果你選擇流行的網站brutto-netto-rechner.info它會給你1003.16。
- #3還有政府官方文件以 XML 形式提供減稅,開源項目可以將其轉換為一些流行語言的程式碼。我對其 Python 產品輸出1247.91的看法。
- #4官方德國稅務工具給出1027。
- #5最後,我自己對Wikipedia 公式的 Python 給出了936.91。
這不可能?!我必須真的想到 JLBorges 的Blue Tigers故事。
回答問題後更新/解決方案
感謝這個社區,以下程式碼基於 #3 對我有用;在#2中它也可以工作,但是它們有捨入錯誤。其他我沒有仔細檢查。
def test_lohnexample1(self): # source: https://www.lohnexperte.de/files/root-pdfs/pdf/Muster.pdf brutto = 4926.59 * 100 # Brutto in ¢ent l = Lohnsteuer2018() l.setRe4(brutto) # cent l.setStkl(1) # Steuerklasse l.setLzz(2) # Lohnzahlungszeitraum, 2 = Monat l.setZkf(1) # Kinder l.setPkv(0) # GKV (default) l.setKvz(1.5) # Krankenkassenzusatzbeitrag (1.50%) l.setKrv(0) # RV-WEST (default) l.setAlter1(0) # setze 1, wenn das 64. Lebensjahr zu Beginn des Kalenderjahres vollendet wurde l.setAf(0) # # 1, wenn die Anwendung des Faktorverfahrens gewählt wurden (nur in Steuerklasse IV) l.setF(1) # Faktor l.setPvs(0) # Nur wenn in Sachsen l.setR(0) # Religion ja/nein l.setLzzhinzu(0) # Hinzurechnungsbetrag auf der Lohnsteuerkarte l.setPvz(0) # 1, wenn Zuschlag zur sozialen Pflegeversicherung l.MAIN() print("results lohnexample1:") print_lst(l) steuer = math.floor(float(l.getLstlzz()) + float(l.getStv()) + float(l.getSts())) / 100.0 soli = math.floor(float(l.getSolzlzz()) + float(l.getSolzs()) + float(l.getSolzv())) / 100 stges = steuer + soli assert steuer == 1000.75 assert soli == 42.20
Aganju 說得對,有很多變數。在您的第一個來源中特別考慮Kinderfreibetrag (Kfb) 和Krankenkassenzusatzbeitrag (1.50%)。將完全相同的變數放入您的第二個來源,結果是相同的。我希望第四個來源也是如此。