Skip to content

Instantly share code, notes, and snippets.

@jorgenschaefer
Created December 9, 2013 13:14
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jorgenschaefer/7872099 to your computer and use it in GitHub Desktop.
Save jorgenschaefer/7872099 to your computer and use it in GitHub Desktop.
/* 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