
| Current Path : /home/ift/52_procpy/fibu/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //home/ift/52_procpy/fibu/lohn2008.php |
<?php
// PHP-Programm nach dem Programmablaufplan für die maschinelle Berechnung
// der vom Arbeitslohn einzubehaltenden Lohnsteuer, des Solidrätätszuschlags und
// der Maßstabsteuer für die Kirchenlohnsteuer 2008
// Version 30.4.2008 (Berlin Ost zugefügt)
// Der Programmablaufplan findet sich auf den Internetseiten des BMF zum
// Herunterladen unter https://www.abgabenrechner.de/pruefdaten/pap2008.pdf
error_reporting(E_ALL);
function lst2008() { //Programmablaufplan 2008, Steuerung S.10
global $jre4, $zre4j, $jsonstb, $jvbez,$zvbezj, $kennz, $kennvmt, $lstjahr, $st, $jw, $lstlzz, $anteil1, $zkf, $ztabfb, $kfb, $jbmg, $jvbez;
mre4jl();
$jre4 = ($zre4j*100 + $jsonstb); // Voraussichtlicher Jahreslohn für Sonstige Bezüge
$jvbez = $zvbezj*100; // darin enthaltene Versorgungsbezüge
// nicht im PAP!
$kennz = 0;
mre4();
mre4abz();
mztabfb();
$kennvmt=0;
mlstjahr();
$lstjahr = $st;
$jw = $lstjahr * 100;
upanteil();
$lstlzz = $anteil1;
if ($zkf > 0) {
$ztabfb = $ztabfb + $kfb;
mlstjahr();
$jbmg = $st;
}
else
$jbmg = $lstjahr;
msolz();
$jre4 = $jre4 + $jsonstb; // nicht im PAP, berücksichtigt
//schon abgerechnete Einmalbezüge/Jahr
$jvbez = $zvbezj*100; //darin enthaltene Versorgungsbezüge
msonst();
mvmt();
}
function mre4jl() {
//Ermittlung des Jahresarbeitslohns und der Freibeträge, PAP 2008, S. 12
global $jlfreib, $jlhinzu, $jfreib, $jhinzu, $lzz, $zre4j, $re4, $zvbezj, $vbez, $lzzfreib, $lzzhinzu;
if ($lzz == 1) {
$zre4j = $re4 / 100;
$zvbezj = $vbez / 100;
$jlfreib = $lzzfreib /100;
$jlhinzu = $lzzhinzu / 100;
}
if ($lzz == 2) {
$zre4j = ($re4 * 12) /100;
$zvbezj = ($vbez * 12) /100;
$jlfreib = ($lzzfreib * 12) /100;
$jlhinzu = ($lzzhinzu * 12) / 100;
}
if ($lzz == 3) {
$zre4j = ($re4 * 360 / 7) /100;
$zvbezj = ($vbez * 360 / 7) /100;
$jlfreib = ($lzzfreib * 360 / 7) /100;
$jlhinzu = ($lzzhinzu * 360 / 7) / 100;
}
if ($lzz == 4) {
$zre4j = ($re4 * 360) /100;
$zvbezj = ($vbez * 360) /100;
$jlfreib = ($lzzfreib * 360) /100;
$jlhinzu = ($lzzhinzu * 360) / 100;
}
$jlfreib = $jfreib / 100; //wenn Jahres-Beträge übernommen werden
$jlhinzu = $jhinzu / 100;
if ($zre4j < 0) // nicht im PAP
$zre4j = 0;
if ($zvbezj <=0 || $vbez<=0)
$zvbezj = 0;
}
function mre4() {
//Freibetraege fuer Versorgungsbezuege, Altersentlastungsbetrag (§39b Abs. 2 Satz 2 EStG) PAP Seite 10
global $zvbez, $fvbz, $fvb, $fvbzso, $fvbso, $vjahr, $j, $lzz, $vbezb, $vbezm, $zmvb, $vbezs, $hfvb, $vbezso, $sterbe, $vkapa, $hfvbzso, $alter1, $alte, $ajahr, $k, $bmg, $zre4j, $zvbezj, $hbalte;
$tab1 = Array (0, 0.4, 0.384, 0.368, 0.352, 0.336, 0.32, 0.304, 0.288, 0.272, 0.256, 0.24, 0.224, 0.208, 0.192, 0.176, 0.16, 0.152, 0.144, 0.136, 0.128, 0.12, 0.112, 0.104, 0.096, 0.088, 0.08, 0.072, 0.064, 0.056, 0.048, 0.04, 0.032, 0.024, 0.016, 0.008, 0);
$tab2 = Array (0, 3000, 2880, 2760, 2640, 2520, 2400, 2280, 2160, 2040, 1920, 1800, 1680, 1560, 1440, 1320, 1200, 1140, 1080, 1020, 960, 900, 840, 780, 720, 660, 600, 540, 480, 420, 360, 300, 240, 180, 120, 60, 0);
$tab3= Array (0, 900, 864, 828, 792, 756, 720, 684, 648, 612, 576, 540, 504, 468, 432, 396, 360, 342, 324, 306, 288, 270, 252, 234, 216, 198, 180, 162, 144, 126, 108, 90, 72, 54, 36, 18, 0);
$tab4 = $tab1;
$tab5 = Array (0,1900, 1824, 1748, 1672, 1596, 1520, 1444, 1368, 1292, 1216, 1140, 1064, 988, 912, 836, 760, 722, 684, 646, 608, 570, 532, 494, 456, 418, 380, 342, 304, 266, 228, 190, 152, 114, 76, 38, 0);
if ($zvbezj == 0) {
$fvbz = 0;
$fvb = 0;
$fvbzso = 0;
$fvbso = 0;
}
else {
if ($vjahr < 2006)
$j = 1;
else {
if ($vjahr < 2040)
$j = $vjahr - 2004;
else
$j = 36;
}
if ($lzz == 1) {
$vbezb = $vbezm * $zmvb + $vbezs;
$hfvb = $tab2[$j] / 12 * $zmvb * 100;
$fvbz = ceil($tab3[$j] / 12 * $zmvb);
}
else {
$vbezb = $vbezm * $zmvb + $vbezs;
$hfvb = $tab2[$j];
$fvbz = $tab3[$j];
}
$fvb = ceil($vbezb * $tab1[$j])/100;
if ($fvb > $hfvb)
$fvb = $hfvb;
$vbezso = $sterbe + $vkapa;
$fvbso = ceil(($fvb + ($vbezso * $tab1[$j] / 100))*100)/100;
if ($fvbso > $tab2[$j])
$fvbso = $tab2[$j];
$hfvbzso = ($vbezb + $vbezso) /100 - $fvbso;
if ($tab3[$j] > $hfvbzso)
$fvbzso = ceil($hfvbzso);
else
$fvbzso = $tab3[$j];
$hfvbz = $vbezb / 100 - $fvb;
if($fvbz > $hfvbz)
$fvbz = ceil($hfvbz);
}
if ($alter1 == 0)
$alte = 0;
else {
if ($ajahr < 2006)
$k = 1;
else {
if ($ajahr < 2040)
$k = $ajahr - 2004;
else
$k = 36;
}
$bmg = $zre4j - $zvbezj;
$alte = ceil($bmg * $tab4[$k] * 100) / 100;
$hbalte = $tab5[$k];
if ($alte > $hbalte)
$alte = $hbalte;
}
}
function mre4abz() {
// Ermittlung des Jahresarbeitslohns nach Abzug der Freibeträge, PAP 2008, S. 15
global $zre4, $zre4j, $fvb, $alte, $jlfreib, $jlhinzu, $zre4vp, $zvbez, $zvbezj;
$zre4 = $zre4j - $fvb - $alte - $jlfreib + $jlhinzu;
if($zre4 < 0)
$zre4 = 0;
$zre4vp = $zre4j - $fvb - $alte;
if($zre4vp < 0)
$zre4vp = 0;
$zvbez = $zvbezj - $fvb;
if($zvbez < 0)
$zvbez = 0;
}
function mztabfb() {
//Ermittlung der festen Tabellenfreibetraege (ohne Vorsorgepauschale) PAP Seite 13
global $kfb, $vbez, $zvbez, $fvbz, $zre4, $anp, $stkl, $zkf, $ztabfb, $kztab;
$efa = 0;
$sap = 0;
$kfb = 0;
$anp = 0;
if ($zvbez > 0) {
if ($zvbez < $fvbz)
$fvbz = floor($zvbez);
}
if ($stkl < 6) {
if ($zvbez > 0) {
if ($zvbez - $fvbz < 102)
$anp = $zvbez - $fvbz;
else
$anp = 102;
}
}
else {
$fvbz = 0;
$fvbzso = 0;
}
if ($stkl < 6) {
if ($zre4 > $zvbez) {
if ($zre4 - $zvbez < 920)
$anp = $anp + $zre4 - $zvbez;
else
$anp = $anp + 920;
}
}
$kztab = 1;
if ($stkl == 1) {
$sap = 36;
$kfb = $zkf * 5808;
}
if ($stkl == 2) {
$efa = 1308;
$sap = 36;
$kfb = $zkf * 5808;
}
if ($stkl == 3) {
$kztab = 2;
$sap = 72;
$kfb = $zkf * 5808;
}
if ($stkl == 4) {
$sap = 36;
$kfb = $zkf * 2904;
}
if ($stkl == 5)
$kfb = 0;
if ($stkl == 6)
$kfb = 0;
$ztabfb = $efa + $anp + $sap + $fvbz;
}
function mlstjahr() { //Ermittlung der Jahreslohnsteuer, PAP S. 14
global $zre4, $kennvmt, $zve, $stkl, $zre4vmt, $ztabfb, $zre4oso, $ztabfboso, $vsp, $kztab, $x;
if ($stkl < 5)
upevp();
else
$vsp = 0;
if($kennvmt == 0)
$zve = $zre4 - $ztabfb - $vsp;
else {
if($kennvmt == 1)
$zve = $zre4oso - $ztabfboso + $zre4vmt - $vsp;
else
$zve = ($zre4 - $ztabfb) / 5 - $vsp;
}
if ($zve < 1) {
$zve = 0;
$x = 0;
}
else
$x = floor($zve / $kztab); // auf Euro abrunden
if ($stkl < 5)
uptab07();
else
mst5_6();
}
function upevp() {
// Vorsorgepauschale (§39b Abs. 2 Satz 6 Nr 3 EStG)PAP Seite 15
global $krv, $zre4vp, $kztab, $vsp;
if ($krv > 0)
$vsp1 = 0;
else {
if ($zre4vp > 63600)
$zre4vp = 63600;
$vsp1 = 0.32 * $zre4vp;
$vsp1 = $vsp1 * 0.0995;
}
$vsp2 = 0.11 * $zre4vp;
$vhb = 1500 * $kztab;
if ($vsp2 > $vhb)
$vsp2 = $vhb;
$vspn = ceil($vsp1 + $vsp2); //auf Euro aufrunden
mvsp();
if ($vspn > $vsp)
$vsp = $vspn;
}
function mvsp() {
//Vorsorgepauschale (§39b Abs. 2 Satz 6 Nr 3 EStG) Vergleichsberechnung
//fuer Guenstigerpruefung PAP Seite 16
global $kennz, $zre4vp1, $zre4vp, $kztab, $krv, $vspvor, $vspmax1, $vspmax2, $vspo;
$vspo = $zre4vp * 0.2;
$vspvor = 3068 * $kztab;
$vspmax1 = 1334 * $kztab;
$vspmax2 = 667 * $kztab;
$vspkurz = 1134 * $kztab;
if ($krv == 1) {
if ($vspo > $vspkurz)
$vsp = $vspkurz;
else
$vsp = floor($vspo); // auf Euro abrunden
}
else
umvsp();
}
function umvsp() { //Vorsorgepauschale, PAP 2008, S. 17
global $kennz, $zre4vp1, $zre4vp, $kztab, $krv, $vspvor, $vspmax1, $vspmax2, $vspo, $vsp;
$vspvor = $vspvor - $zre4vp * 0.16;
if ($vspvor < 0)
$vspvor = 0;
if ($vspo > $vspvor) {
$vsp = $vspvor;
$vsprest = $vspo - $vspvor;
if ($vsprest > $vspmax1) {
$vsp = $vsp + $vspmax1;
$vsprest = floor(($vsprest - $vspmax1)*100) / 200; //auf Cent aufrunden
if ($vsprest > $vspmax2)
$vsp = floor($vsp + $vspmax2); //auf Euro abrunden
else
$vsp = floor($vsp + $vsprest); //auf Euro abrunden
}
else
$vsp = floor($vsp + $vsprest); //auf Euro abrunden
}
else
$vsp = floor($vspo); // auf Euro abrunden
}
function mst5_6() {
// Lohnsteuer fuer die Steuerklassen V und VI (§ 39b Abs. 2 Satz 8 EStG) PAP Seite 18
global $zx, $x, $st;
$zzx = $x;
if ($zzx > 25812) {
$zx = 25812;
up5_6();
if ($zzx > 200000){
$st = $st + (200000 - 25812) * 0.42;
$st = floor($st + ($zzx - 200000) * 0.45);
}
else
$st = floor($st + ($zzx-25812) * 0.42);
}
else {
$zx = $zzx;
up5_6();
if ($zzx > 9144) {
$vergl = $st;
$zx = 9144;
up5_6();
$hoch = floor($st + ($zzx - 9144) * 0.42);
if ($hoch < $vergl)
$st = $hoch;
else
$st = $vergl;
}
}
}
function up5_6() {
global $x, $zx, $st;
$x = $zx * 1.25;
uptab07();
$st1 = $st;
$x = $zx * 0.75;
uptab07();
$st2 = $st;
$diff = ($st1 - $st2) * 2;
$mist = floor($zx * 0.15);
if ($mist > $diff)
$st = $mist;
else
$st = $diff;
}
function msolz() { // Solidaritätszuschlag, PAP S. 19
global $kztab, $jbmg, $jw, $anteil1, $solzlzz, $bk, $r;
$solzfrei = 972 * $kztab;
if ($jbmg > $solzfrei) {
$solzj = $jbmg * 5.5 / 100;
$solzmin = ($jbmg - $solzfrei) * 20 / 100;
if ($solzmin < $solzj)
$solzj = $solzmin;
$jw = $solzj * 100;
upanteil();
$solzlzz = $anteil1;
}
else
$solzlzz = 0;
if ($r > 0){
$jw = $jbmg * 100;
upanteil();
$bk = $anteil1;
}
else
$bk = 0;
}
function upanteil() { // Anteil der Jahresbeiträge für einen LZZ
// PAP 2008, S. 20
// anteil1 abrunden, anteil2 aufrunden
global $lzz, $jw, $anteil1, $anteil2;
if ($lzz == 1) {
$anteil1 = $jw;
$anteil2 = $jw;
}
if ($lzz == 2) {
$anteil1 = floor($jw / 12);
$anteil2 = ceil($jw / 12);
}
if ($lzz == 3) {
$anteil1 = floor($jw * 7 / 360);
$anteil2 = ceil($jw * 7 / 360);
}
if ($lzz == 4) {
$anteil1 = floor($jw / 360);
$anteil2 = ceil($jw / 360);
}
}
function msonst() { // Berechnung sonstiger Bezüge, PAP 2008, S. 21
global $lzz, $lstoso, $zmvb, $sonstb, $zre4j, $jre4, $sonstb, $zvbezj, $jvbez, $vbs, $lstso, $st, $sts, $lstoso, $solzs, $r, $bks;
$lzz = 1;
if($zmvb == 0)
$zmvb = 12;
if ($sonstb > 0) {
mosonst();
$zre4j = ($jre4 + $sonstb) / 100;
$zvbezj = ($jvbez + $vbs) / 100;
mre4sonst();
mlstjahr();
$lstso = $st * 100;
$sts = $lstso - $lstoso;
if($sts < 0)
$sts = 0;
$solzs = floor($sts * 5.5 / 100);
if ($r > 0)
$bks = $sts;
else
$bks = 0;
}
else {
$lstso = 0;
$sts = 0;
$solzs = 0;
$bks = 0;
}
}
function mvmt() { // Berechnung der Vergütung für mehrjährige Tätigkeit
// PAP 2008, S. 22
global $vkapa, $vmt, $lstso, $lstoso, $zre4oso, $zre4, $zre4vmt, $ztabfboso, $ztabfb, $fvbzoso, $fvbz, $zre4j, $jre4, $sonstb, $vbezj, $jvbez, $vbs, $st, $kennvmt, $jfreib, $jhinzu, $stv, $solzv, $r, $bkv, $lst2, $lst3, $lst1;
if($vkapa < 0)
$vkapa = 0;
if ($vmt + $vkapa > 0) {
if($lstso == 0) {
mosonst();
$lst1 = $lstoso;
}
else
$lst1 = $lstso;
$zre4oso = $zre4;
$ztabfboso = $ztabfb;
$fvbzoso = $fvbz;
$zre4j = ($jre4 + $sonstb + $vmt + $vkapa) / 100;
$vbezj = ($jvbez + $vbs + $vkapa) / 100;
mre4sonst();
mlstjahr();
$lst3 = $st * 100;
$ztabfb = $ztabfb - $fvbz + $fvbzoso;
$kennvmt=1;
if($jre4 + $sonstb + $jfreib + $jhinzu < 0) {
$kennvmt = 2;
mlstjahr();
$lst2 = $st * 100;
$stv = $lst2 * 5;
}
else {
$zre4vmt = ($vmt/100 + $vkapa/100 - $ztabfb + $ztabfboso)/5;
mlstjahr();
$lst2 = $st * 100;
$stv = ($lst2 - $lst1) * 5;
}
$lst3 = $lst3 - $lst1;
if ($lst3 < $stv)
$stv = $lst3;
if ($stv < 0)
$stv = 0;
$solzv = floor($stv * 5.5 / 100);
if ($r > 0)
$bkv = $stv;
else
$bkv = 0;
}
else {
$stv = 0;
$solzv = 0;
$bkv = 0;
}
}
function mosonst() {
// Sonderberechnung ohne sonstige Bezüge für Berechnung sonstige Bezüge/Vergütung
// mehrjährige Tätigkeit. PAP 2008, S. 26
global $zre4j, $jre4, $zvbezj, $jvbez, $jlfreib, $jlhinzu, $jfreib, $jhinzu, $lstoso, $st;
$zre4j = $jre4 / 100;
$zvbezj = $jvbez / 100;
$jlfreib = $jfreib / 100;
$jlhinzu = $jhinzu / 100;
mre4();
mre4abz();
mztabfb();
mlstjahr();
$lstoso = $st * 100;
}
function mre4sonst() {
// Sonderberechnung mit sonstigen Bezüge für Berechnung sonstige Bezüge/Vergütung
// mehrjährige Tätigkeit. PAP 2008, S. 26
global $fvb, $fvbso, $fvbz, $fvbzso;
mre4();
$fvb = $fvbso;
mre4abz();
$fvbz = $fvbzso;
mztabfb();
}
function uptab07() { //Tarifliche Einkommensteuer, PAP 2008, S. 23
global $x, $st, $kztab;
if ($x < 7665)
$st = 0;
else {
if ($x < 12740) {
$y = ($x - 7664) / 10000;
$rw = $y * 883.74;
$rw = $rw + 1500;
$st = floor($rw * $y);
}
else {
if ($x < 52152) {
$y = ($x - 12739) / 10000;
$rw = $y * 228.74;
$rw = $rw + 2397;
$rw = $rw * $y;
$st = floor($rw + 989);
}
else {
if( $x < 250001)
$st = floor($x * 0.42 - 7914);
else
$st = floor($x * 0.45 - 15414);
}
}
}
$st = $st * $kztab;
}
//------------------------------- Parameterübergabe -----------------------
function jahranteil() { // Berechnung Jahreslohn aus LZZ-Lohn
// (nicht im PAP enthalten)
// für Berechnung sonstige bzw. mehrjährige Bezüge notwendig.
global $lzz, $jw, $anteil1, $anteil2;
if ($lzz == 1){
$anteil1 = $jw;
$anteil2 = $anteil1;
}
if ($lzz == 2){
$anteil1 = $jw * 12;
$anteil2 = $jw/12;
}
if ($lzz == 3){
$anteil1 = $jw * 360 / 7;
$anteil2 = $jw * 7/360;
}
if ($lzz == 4){
$anteil1 = $jw * 360;
$anteil2 = $jw/360;
}
}
$ajahr = $_POST['ajahr'];
if($ajahr>2004)
$alter1=1;
$stkl = $_POST['stkl'];
$zkf = $_POST['zkf'];
$land = $_POST['bundesland'];
if($land < 3)
$kist = 8;
else
$kist = 9;
$r = $_POST['r'];
$krv = $_POST['krv'];
$lzz = $_POST['lzz'];
$re4 = str_replace(",",".",($_POST['re4']))*100;
$re4ret = $re4;
$sonstb = str_replace(",",".",($_POST['sonstb']))*100;
$jsonstb = ($_POST['jsonstb'])*100;
$vmt = ($_POST['vmt'])*100;
$jfreib = ($_POST['jfreib'])*100; // ggflls in $lzzjfreib ändern (f. anderen Zeitraum)
$jhinzu = ($_POST['jhinzu'])*100; // ggflls in $lzzjhinzu ändern
$vbez = str_replace(",",".",($_POST['vbez']))*100;
$zmvb = $_POST['zmvb'];
$vbezs = str_replace(",",".",($_POST['vbezs']))*100;
$sterbe = str_replace(",",".",($_POST['sterbe']))*100;
$vkapa = ($_POST['vkapa'])*100;
$vjahr = $_POST['vjahr'];
$vbezm = str_replace(",",".",($_POST['vbezm']))*100;
mre4jl();
$re4soz = $zre4j*100;
$lzzsoz = $lzz;
if (isset($_REQUEST['abjuli']))
$abjuli = $_REQUEST['abjuli'];
else
$abjuli = 'off';
$brutto = komma(($re4+$sonstb+$vmt+$vkapa)/100);
// print_r($_POST); // zur Überprüfung der übergebenen Parameter
lst2008(); //Berechnung
// ------------------ Ausgabe ------------------------------
function komma($wert) {
$laenge = strlen($wert);
$pos = strrpos($wert,".");
if($pos == false)
$wert = $wert.".00";
elseif ($laenge - $pos == 2)
$wert = $wert."0";
return $wert;
}
echo "<p align='center'> <p>";
echo "<style> TD {font-family: arial;font-size:10pt;text-align: right;}</style>";
echo "<center><TABLE border=0 width=400><TR><TD align=right colspan=3><font size=2 face=Verdana color=#909090><b>Ergebnis PHP-Gehaltsrecher 2008</b></font></TD></TR>";
echo "<TR><TD colspan=3> </TD></TR>";
$steuer = komma(floor($lstlzz+$stv+$sts)/100);
$soli = komma(floor($solzlzz+$solzs+$solzv)/100);
$kirche = komma(floor(($bk+$bkv+$bks)*$kist/100)/100);
$stges = $steuer+$soli+$kirche;
echo "<TR><b><TD>Bruttolohn:</TD><TD> ".$brutto."</TD><TD> €</TD></TR><TR><TD colspan=3></TD></TR>";
echo "<TR><TD><b>Lohnsteuer: </TD><TD> ".$steuer."</TD><TD> €</TD></TR>";
echo "<TR><TD>davon Steuer für laufenden Lohn </TD><TD>".komma($lstlzz/100)."</TD><TD> €</TD></TR>";
echo "<TR><TD>davon Steuer für Einmalbezug </TD><TD> ".komma($sts/100)."</TD><TD> €</TD></TR>";
echo "<TR><TD>davon Steuer für Vergütung mehrjäriger Tätigkeit </TD><TD>".komma($stv/100)."</TD><TD> €</TD></TR>";
echo "<TR><TD><br> <b>Solidaritätszuschlag:</b> </TD><TD><br> ".$soli."</TD><TD><br> €</TD></TR>";
echo "<TR><TD><b>".$kist."% Kirchensteuer:</b></TD><TD> ".$kirche."</TD><TD> €</TD></TR>";
function soz() {
global $bemesk, $bemesr, $jre4, $re4soz, $lzzsoz, $land, $sonstb, $jsonstb, $krv, $lzz, $kinderlos, $kvsatz, $anteil1, $anteil2, $jw, $rentewert, $rentewertag, $kvwert, $kvwertag, $pflegewert, $pflegewertag, $abjuli, $aloswert, $aloswertag, $pkv;
$lzz = $lzzsoz;
if($krv>0) $re4soz=0;
$pflege = 0.85;
if($abjuli == 'on')
$pflege = 0.975;
if($lzz==1)
$pflege=0.9125;
$pflege_ag = $pflege;
if($land==13) {
$pflege = 1.35;
$pflege_ag = 0.35;
if($abjuli == 'on') {
$pflege = 1.475;
$pflege_ag = 0.475;
}
if($lzz==1){
$pflege_ag = 0.4125;
$pflege = 1.4125;
}
}
$pvzusatz = 0;
if ($kinderlos == 1)
$pvzusatz = 0.25;
if($kvsatz<=10.4)
$kvsatz=0;
else
$kvsatz = floor($kvsatz*10)/10;
bemesberech();
$jw = $bemesk;
$bemeskoso = $bemesk;
upanteil();
$bemesklzz = $anteil1;
$jw = $bemesr;
$bemesroso = $bemesr;
upanteil();
$bemesrlzz = $anteil1;
$re4soz = $re4soz + $sonstb + $jsonstb; // Bemessungsgrenzen für Gesamtlohn
bemesberech(); // ermitteln
$bemeskganz = $bemesk;
$bemesrganz = $bemesr;
$bemesk = round($bemesklzz + max($bemeskganz-($bemeskoso+$jsonstb),0))/100;
$bemesr = round($bemesrlzz + max($bemesrganz-($bemesroso+$jsonstb),0))/100;
$rente = 9.95;
$alos = 1.65;
$kzahn = 0.9;
if ($kvsatz==0)
$bemesk=0;
$rentewert=round($bemesr*$rente)/100;
$rentewertag=$rentewert;
$kvwert=round($bemesk*$kvsatz/2 + $bemesk*$kzahn)/100;
$kvwertag=round($bemesk*$kvsatz/2)/100;
$pflegewert=round($bemesk*$pflege + $bemesk*$pvzusatz)/100;
$pflegewertag=round($bemesk*$pflege_ag)/100;
$aloswert=round($bemesr*$alos)/100;
$aloswertag=$aloswert;
if ($pkv>0){
$jw = $pkv*100/2;
jahranteil();
$jw = min($anteil1,336960);
if($abjuli == 'on')
$jw = min($anteil1,342360);
jahranteil();
$kvwertag = round($anteil2)/100;
if($land==13){
$jw = $pkv*100/2;
jahranteil();
$jw = min($anteil1,315360);
if($abjuli == 'on')
$jw = min($anteil1,320760);
jahranteil();
$kvwertag = round($anteil2)/100;
}
$kvwert=$pkv-$kvwertag;
}
}
function bemesberech() {
global $pkv, $bemesk, $re4soz, $pkv, $land, $bemesr;
$bemesk = min($re4soz,4320000);
if($pkv > 0)
$bemesk = 0;
if ($land==30||$land==4||$land==8||$land==13||$land==14||$land==16)
$bemesr = min(5400000,$re4soz);
else
$bemesr = min(6360000,$re4soz);
}
//--------------- Auswertung und Ausgabe --------------------
$kinderlos = $_POST['kinderlos'];
$pkv = str_replace(",",".",($_POST['e_pkv']));
$kvsatz=0;
if($pkv == 0)
$kvsatz = str_replace(",",".",($_POST['kvsatz']));
$aganzeige = $_POST['aganzeige'];
$u1 = str_replace(",",".",($_POST['e_u1']))*0.01;
$u2 = str_replace(",",".",($_POST['e_u2']))*0.01;
$bg = str_replace(",",".",($_POST['e_bg']))*0.01;
//print_r($_POST);
soz();
echo "<TR><TD colspan=3> </TD></TR>";
if($pkv>0)
echo "<TR><TD>eigener Anteil private Krankenversicherung: </TD><TD>".komma($kvwert)."</TD><TD> €</TD></TR>";
if($re4soz>0) {
if($pkv==0){
echo "<TR><TD>Beitrag zur Krankenversicherung: </TD><TD>".komma($kvwert)."</TD><TD> €</TD></TR>";
echo "<TR><TD>Beitrag zur Pflegeversicherung: </TD><TD>".komma($pflegewert)."</TD><TD> €</TD></TR>";
}
echo "<TR><TD>Beitrag zur Rentenversicherung: </TD><TD>".komma($rentewert)."</TD><TD> €</TD></TR>";
echo "<TR><TD>Beitrag zur Arbeitslosenversicherung: </TD><TD>".komma($aloswert)."</TD><TD> €</TD></TR>";
}
echo "<TR><TD colspan=3> </TD></TR>";
echo "<TR><TD><font color=#900000>Summe der Steuern:</font></TD><TD><font color=#900000> ".komma($stges)."</font></TD><TD><font color=#900000> €</font></TD></TR>";
$sozges = komma($kvwert+$pflegewert+$rentewert+$aloswert);
echo"<TR><TD><font color=#009000>Summe Sozialversicherung:</font></TD><TD><font color=#009000> ".komma($sozges)."</font></TD><TD><font color=#009000> € </font></TD></TR>";
$netto = komma($brutto-($stges+$sozges));
echo "<TR><TD><font color=#900090><b>Nettoverdienst:</b></font> </TD><TD><font color=#900090><b>".$netto."</b></font></TD><TD><font color=#900090> <b>€</b></font>";
echo "</font></TD></TR>";
if($aganzeige==1) {
echo "<TR><TD colspan=3><hr size=0></TD></TR>";
echo "<TR><TD style=\"text-align: left;\"><font color=#0000FF><b>Arbeitgeberanteil:</b></font> </TD></TR>";
if($pkv>0)
echo "<TR><TD>Zuschuss zur privaten Krankenversicherung: </TD><TD>".komma($kvwertag)."</TD><TD> €</TD></TR>";
if($kvsatz>0) {
echo "<TR><TD>Krankenversicherung: </TD><TD>".komma($kvwertag)."</TD><TD> €</TD></TR>";
echo "<TR><TD>Pflegeversicherung: </TD><TD>".komma($pflegewertag)."</TD><TD> €</TD></TR>";
}
if($re4soz>0){
echo "<TR><TD>Rentenversicherung: </TD><TD>".komma($rentewertag)."</TD><TD> €</TD></TR>";
echo "<TR><TD>Arbeitslosenversicherung: </TD><TD>".komma($aloswertag)."</TD><TD> €</TD></TR>";
}
$umlwert=0;
if($u1>0) {
if ($land==4||$land==8||$land==13||$land==14||$land==16)
$jw = 5400000;
else
$jw = 6360000;
jahranteil();
$umlwert=min($re4ret,$anteil2);
echo "<TR><TD>Umlage U1:</TD><TD> ".komma(floor($umlwert*$u1)*0.01)."</TD><TD> €</TD></TR>";
echo "<TR><TD>Umlage U2:</TD><TD> ".komma(floor($umlwert*$u2)*0.01)."</TD><TD> €</TD></TR>";
echo "<TR><TD>BG-Beitrag:</TD><TD> ".komma(floor($umlwert*$bg)*0.01)."</TD><TD> €</TD></TR>";
}
if($pkv>0)
$pflegewert=0;
$agsumme=$kvwertag+$pflegewertag+$aloswertag+$rentewertag+$brutto+floor($umlwert*$u1)*0.01+ floor($umlwert*$u2)*0.01 + floor($umlwert*$bg)*0.01;
echo "<TR><TD><font color=#000090><b>Arbeitgeber Gesamtbelastung</b></font>: </TD><TD><font color=#000090><b>".komma($agsumme)."</b></font></TD><TD><font color=#000090> <b>€</b></font></TD></TR>";
}
echo "</TABLE>";
echo "<p align=center><a href='#' onClick='history.back()'><font size=2 face=arial>zurück</font></a>";
// echo "<script language='JavaScript'>status='ALTE: ".$alte." | ZTABFB: ".$ztabfb." | VSP: ".$vsp." | LSTLZZ: ".$lstlzz/100." '</script>"; // diese Statuszeile kann man dann löschen
echo "<script language='JavaScript'>status='FVB: ".$fvb." | FVBZ: ".$fvbz."| ALTE: ".$alte." | VSP: ".$vsp." | ZTABFB: ".$ztabfb." | LSTLZZ: ".$lstlzz." | LSTSO: ".$lstso." | LSTOSO: ".$lstoso." | STS: ".$sts." STV: ".$stv." '</script>";
?>