Created
December 9, 2013 13:14
-
-
Save jorgenschaefer/7872099 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Die tarifliche Einkommensteuer nach § 52 Abs. 41 EStG: | |
* | |
* (1) Die tarifliche Einkommensteuer bemisst sich nach dem zu | |
* versteuernden Einkommen. Sie beträgt vorbehaltlich der §§ 32b, | |
* 32d, 34, 34a, 34b und 34c jeweils in Euro für zu versteuernde | |
* Einkommen | |
* | |
* 1. bis 8 130 Euro (Grundfreibetrag): | |
* 0; | |
* 2. von 8 131 Euro bis 13 469 Euro: | |
* (912,17 • y + 1 400) • y; | |
* 3. von 13 470 Euro bis 52 881 Euro: | |
* (228,74 • z + 2 397) • z + 1 038; | |
* 4. von 52 882 Euro bis 250 730 Euro: | |
* 0,42 • x – 8 172; | |
* 5. von 250 731 Euro an: | |
* 0,45 • x – 15 694. | |
* | |
* „y“ ist ein Zehntausendstel des 8 130 Euro übersteigenden Teils | |
* des auf einen vollen Euro-Betrag abgerundeten zu versteuernden | |
* Einkommens. | |
* | |
* „z“ ist ein Zehntausendstel des 13 469 Euro übersteigenden Teils | |
* des auf einen vollen Euro-Betrag abgerundeten zu versteuernden | |
* Einkommens. | |
* | |
* „x“ ist das auf einen vollen Euro-Betrag abgerundete zu | |
* versteuernde Einkommen. | |
* | |
* Der sich ergebende Steuerbetrag ist auf den nächsten vollen | |
* Euro-Betrag abzurunden. | |
*/ | |
function tarifliche_einkommensteuer_2010ff (grundfreibetrag, zu_versteuerndes_einkommen) { | |
var x = Math.floor(zu_versteuerndes_einkommen); | |
var y = 1/10000 * (x - grundfreibetrag); | |
var z = 1/10000 * (x - 13469); | |
var steuerbetrag; | |
if (zu_versteuerndes_einkommen <= grundfreibetrag) { | |
steuerbetrag = 0; | |
} else if (zu_versteuerndes_einkommen <= 13469) { | |
steuerbetrag = (912.17 * y + 1400) * y; | |
} else if (zu_versteuerndes_einkommen <= 52881) { | |
steuerbetrag = (228.74 * z + 2397) * z + 1038; | |
} else if (zu_versteuerndes_einkommen <= 250730) { | |
steuerbetrag = 0.42 * x - 8172; | |
} else { | |
steuerbetrag = 0.45 * x - 15694; | |
} | |
return Math.floor(steuerbetrag); | |
} | |
function tarifliche_einkommensteuer (jahr, zu_versteuerndes_einkommen) { | |
if (2010 <= jahr && jahr <= 2012) { | |
return tarifliche_einkommensteuer_2010ff(8004, zu_versteuerndes_einkommen); | |
} else if (jahr == 2013) { | |
return tarifliche_einkommensteuer_2010ff(8130, zu_versteuerndes_einkommen); | |
} else if (jahr == 2014) { | |
return tarifliche_einkommensteuer_2010ff(8352, zu_versteuerndes_einkommen); | |
} else { | |
return ("Einkommensteuerformel für das Jahr " + jahr + " unbekannt"); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment