function lst2022() { global $jre4, $zre4j, $vbezbso, $kennvmt; mpara(); mre4jl(); $jre4 = ($zre4j*100 + $jsonstb); // Voraussichtlicher Jahreslohn für Sonstige Bezüge $jvbez = $zvbezj*100; // darin enthaltene Versorgungsbezüge // nicht im PAP! $vbezbso = 0; $kennvmt = 0; mre4(); mre4abz(); mberech(); msonst(); mvmt(); } //Zuweisung von Werten für bestimmte Sozialversicherungsparameter function mpara() { global $krv, $bbgrv, $rvsatzan, $tbsvorv, $bbgkvpv, $kvsatzan, $kvsatzag, $kvz, $pvs, $pvsatzan, $pvsatzag, $pvz, $w1stkl5, $w2stkl5, $w3stkl5, $gfb, $solzfrei; if ($krv < 2) { if ($krv == 0){ $bbgrv = 84600; } else { $bbgrv = 81000; } $rvsatzan = 0.0930; $tbsvorv = 0.88; } $bbgkvpv = 58050; $kvsatzan = $kvz/200 + 0.07; //halber Zusatzbeitrag $kvsatzag = $kvz/200 + 0.07; if ($pvs == 1) { $pvsatzan = 0.02025; $pvsatzag = 0.01025; } else { $pvsatzan = 0.01525; $pvsatzag = 0.01525; } if ($pvz == 1){ $pvsatzan = $pvsatzan + 0.0035; } $w1stkl5 = 11480; $w2stkl5 = 29298; $w3stkl5 = 222260; $gfb = 9984; $solzfrei = 16956; } //Ermittlung des Jahresarbeitslohns und der Freibeträge function mre4jl() { global $jlfreib, $jlhinzu, $jfreib, $jhinzu, $lzz, $zre4j, $re4, $zvbezj, $vbez, $lzzfreib, $lzzhinzu, $af; 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; //da Jahres-Beträge übernommen werden $jlhinzu = $jhinzu / 100; // nicht im PAP if ($zre4j < 0){ $zre4j = 0; } if ($zvbezj <=0 || $vbez<=0){ $zvbezj = 0; } if($af = 0){ $f=1; } } //Freibetraege fuer Versorgungsbezuege, Altersentlastungsbetrag ($39b Abs. 2 Satz 2 EStG) PAP Seite 16 function mre4() { global $zvbez, $fvbz, $fvb, $vbezbso, $fvbzso, $fvbso, $vjahr, $j, $lzz, $vbezb, $vbezm, $zmvb, $vbezs, $hfvb, $vbezso, $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; $fvbz = ceil($tab3[$j] / 12 * $zmvb); } else { $vbezb = $vbezm * $zmvb + $vbezs; $hfvb = $tab2[$j]; $fvbz = $tab3[$j]; } $fvb = ceil(floor($vbezb * $tab1[$j]*100))/10000; if ($fvb > $hfvb){ $fvb = $hfvb; } $fvbso = $fvb + ceil(floor($vbezbso * $tab1[$j]*100))/10000; if ($fvbso > $tab2[$j]){ $fvbso = $tab2[$j]; } $hfvbzso = ($vbezb + $vbezbso) / 100 - $fvbso; $fvbzso = ceil($fvbz + $vbezbso / 100); if ($fvbzso > $hfvbzso){ $fvbzso = ceil($hfvbzso); } if ($fvbzso > $tab3[$j]){ $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]); $hbalte = $tab5[$k]; if ($alte > $hbalte){ $alte = $hbalte; } } } // Ermittlung des Jahresarbeitslohns nach Abzug der Freibeträge function mre4abz() { global $zre4, $zre4j, $fvb, $alte, $jlfreib, $jlhinzu, $zre4vp, $zvbez, $zvbezj, $entsch, $kennvmt; $zre4 = $zre4j - $fvb - $alte - $jlfreib + $jlhinzu; if($zre4 < 0){ $zre4 = 0; } $zre4vp = $zre4j; if($kennvmt == 2){ $zre4vp = $zre4vp - $entsch/100; } $zvbez = $zvbezj - $fvb; if($zvbez < 0){ $zvbez = 0; } } //Berechnung für laufende Lohnzahlungszeiträume function mberech() { global $vfrb, $fvb, $fvbz, $wvfrb, $zve, $gfb, $lstjahr, $zkf, $st, $f, $ztabfb, $kfb, $jbmg; mztabfb(); $vfrb = ($anp + $fvb + $fvbz) * 100; mlstjahr(); $wvfrb = ($zve - $gfb) * 100; if ($wvfrb < 0) { $wvfrb = 0; } $lstjahr = $st * $f; uplstlzz(); upvkvlzz(); if($zkf > 0) { $ztabfb = $ztabfb + $kfb; mre4abz(); mlstjahr(); $jbmg = $st * $f; } else { $jbmg = $lstjahr; } msolz(); } //Ermittlung der festen Tabellenfreibetraege (ohne Vorsorgepauschale) PAP Seite 21 function mztabfb() { global $kfb, $vbez, $zvbez, $fvbz, $fvbzso, $zre4, $anp, $stkl, $zkf, $ztabfb, $kztab; // $efa = 0; // $sap = 0; // $kfb = 0; $anp = 0; if ($zvbez > 0) { if ($zvbez < $fvbz){ $fvbz = floor($zvbez); // auf Euro abrunden (nach 2.1 PAP) } } if ($stkl < 6) { if ($zvbez > 0) { if ($zvbez - $fvbz < 102){ $anp = ceil($zvbez - $fvbz); // auf Euro aufrunden } else { $anp = 102; } } } else { $fvbz = 0; $fvbzso = 0; } if ($stkl < 6) { if ($zre4 > $zvbez) { if ($zre4 - $zvbez < 1000){ $anp = ceil($anp + $zre4 - $zvbez); }else{ $anp = $anp + 1000; } } } $kztab = 1; if ($stkl == 1) { $sap = 36; $kfb = $zkf * 8388; } if ($stkl == 2) { $efa = 4008; // 2022 $sap = 36; $kfb = $zkf * 8388; } if ($stkl == 3) { $kztab = 2; $sap = 36; $kfb = $zkf * 8388; } if ($stkl == 4) { $sap = 36; $kfb = $zkf * 4194; } if ($stkl == 5){ $sap = 36; $kfb = 0; } if ($stkl == 6){ $kfb = 0; } $ztabfb = $efa + $anp + $sap + $fvbz; } //Ermittlung der Jahreslohnsteuer function mlstjahr() { global $kennvmt, $st, $zre4, $zve, $stkl, $zre4vmt, $ztabfb, $vmt, $vkapa, $vsp, $kztab, $x, $stovmt; upevp(); if($kennvmt != 1){ $zve = $zre4 - $ztabfb - $vsp; upmlst(); } else { $zve = $zre4 - $ztabfb - $vsp - $vmt / 100 - $vkapa / 100; if($zve < 0) { $zve = ($zve + $vmt/100 + $vkapa / 100) / 5; upmlst(); $st = $st * 5; } else { upmlst(); $stovmt = $st; $zve = $zve + ($vmt+$vkapa) / 500; upmlst(); $st = ($st - $stovmt) * 5 + $stovmt; } } } function upvkvlzz() { global $jw, $vkv, $anteil1, $vkvlzz; upvkv(); $jw = $vkv; upanteil(); $vkvlzz = $anteil1; } function upvkv() { global $pkv,$vsp2,$vsp3,$vkv; if($pkv > 0){ if($vsp2 > $vsp3){ $vkv = $vsp2 * 100; }else{ $vkv = $vsp3 * 100; } } else { $vkv = 0; } } function uplstlzz() { global $jw, $lstjahr, $lstlzz, $anteil1; $jw = $lstjahr * 100; upanteil(); $lstlzz = $anteil1; } function upmlst() { global $zve, $stkl, $kztab, $x; if ($zve < 1) { $zve = 0; $x = 0; } else { $x = floor($zve / $kztab); // auf Euro abrunden if ($stkl < 5){ uptab21(); }else{ mst5_6(); } } } // Vorsorgepauschale ($39b Abs. 2 Satz 6 Nr 3 EStG) function upevp() { global $bbgrv, $tbsvorv, $rvsatzan, $krv, $zre4vp, $vsp, $vsp1, $vsp2, $stkl, $vspn; if ($krv > 1){ $vsp1 = 0; } else { if($zre4vp > $bbgrv){ $zre4vp = $bbgrv; } $vsp1 = $tbsvorv * $zre4vp; $vsp1 = $vsp1 * $rvsatzan; } $vsp2 = 0.12 * $zre4vp; if($stkl == 3){ $vhb = 3000; } else { $vhb = 1900; } 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 5 Nr 3 EStG) Vergleichsberechnung global $zre4vp, $bbgkvpv, $krv, $kvsatzag, $kvsatzan, $pkv, $pkpv, $pvsatzag, $pvsatzan, $pvz, $pvs, $vsp3, $stkl, $kvz, $vsp1, $vsp; if($zre4vp > $bbgkvpv){ $zre4vp = $bbgkvpv;} if($pkv > 0){ if($stkl==6){ $vsp3 = 0;} else { $vsp3 = $pkpv * 12; if($pkv == 2) { $vsp3 = $vsp3 - $zre4vp * ($kvsatzag + $pvsatzag); } } } else { $vsp3 = $zre4vp * ($kvsatzan + $pvsatzan); } $vsp = ceil($vsp3 + $vsp1); } function mst5_6() { // Lohnsteuer fuer die Steuerklassen V und VI (ü 39b Abs. 2 Satz 7 EStG) global $zx, $x, $st, $w1stkl5, $w2stkl5, $w3stkl5; $zzx = $x; if ($zzx > $w2stkl5) { $zx = $w2stkl5; up5_6(); if ($zzx > $w3stkl5){ $st = $st + ($w3stkl5 - $w2stkl5) * 0.42; $st = floor($st + ($zzx - $w3stkl5) * 0.45); } else $st = floor($st + ($zzx-$w2stkl5) * 0.42); } else { $zx = $zzx; up5_6(); if ($zzx > $w1stkl5) { $vergl = $st; $zx = $w1stkl5; up5_6(); $hoch = floor($st + ($zzx - $w1stkl5) * 0.42); if ($hoch < $vergl) $st = $hoch; else $st = $vergl; } } } function up5_6() { global $x, $zx, $st; $x = $zx * 1.25; uptab21(); $st1 = $st; $x = $zx * 0.75; uptab21(); $st2 = $st; $diff = ($st1 - $st2) * 2; $mist = floor($zx * 0.14); if ($mist > $diff) $st = $mist; else $st = $diff; } function msolz() { // Solidaritätszuschlag global $kztab, $jbmg, $jw, $jwsolza, $jwsolzn, $jwbka, $jwbkn, $anteil1, $solzlzz, $bk, $r, $solzfrei; $solzfrei = $solzfrei * $kztab; if ($jbmg > $solzfrei) { $solzj = $jbmg * 5.5 / 100; $solzmin = ($jbmg - $solzfrei) * 11.9 / 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 // anteil1 abrunden, anteil2 wird nicht gebraucht global $lzz, $jw, $anteil1, $anteil2; if ($lzz == 1) { $anteil1 = $jw; $anteil2 = $jw; } if ($lzz == 2) { $anteil1 = floor(round($jw * 100 / 12)/100); $anteil2 = ceil($jw / 12); } if ($lzz == 3) { $anteil1 = floor(round($jw * 700 / 360)/100); $anteil2 = ceil($jw * 7 / 360); } if ($lzz == 4) { $anteil1 = floor(round($jw * 100 / 360)/100); $anteil2 = ceil($jw / 360); } } function msonst() { // Berechnung sonstiger Bezüge, global $lzz, $lstoso, $zmvb, $sonstb, $zre4j, $jre4, $sonstb, $zvbezj, $jvbez, $vbs, $lstso, $st, $sts, $lstoso, $solzs, $r, $bks, $sterbe, $wvfrbm, $zve, $gfb, $vbezbso, $f, $vkvsonst, $vkv; $lzz = 1; if($zmvb == 0) $zmvb = 12; if ($sonstb > 0) { mosonst(); upvkv(); $vkvsonst = $vkv; $zre4j = ($jre4 + $sonstb) / 100; $zvbezj = ($jvbez + $vbs) / 100; $vbezbso = $sterbe; mre4sonst(); mlstjahr(); $wvfrbm = ($zve - $gfb) * 100; if ($wvfrbm < 0) { $wvfrbm = 0;} upvkv(); $vkvsonst = $vkv - $vkvsonst; $lstso = $st * 100; $sts = floor(($lstso - $lstoso) * $f); if($sts < 0) $sts = 0; msolzsts(); if ($r > 0) $bks = $sts; else $bks = 0; } else { $vkvsonst = 0; $lstso = 0; $sts = 0; $solzs = 0; $bks = 0; } } function msolzsts(){ // neu in PAP 2022: Berechnung des SolZ auf sonstige Bezüge global $f, $x, $sts, $solzs, $solzfrei, $st, $stkl, $kztab, $kfb, $zve, $zkf; if ($zkf > 0) $solzszve = $zve - $kfb; else $solzszve = $zve; if ($solzszve < 1) { $solzszve = 0; $x = 0;} else $x = floor($solzszve / $kztab); if ($stkl < 5) uptab21(); else mst5_6(); $solzsbmg = floor($st * $f); if ($solzsbmg > $solzfrei) $solzs = floor($sts * 5.5) / 100; else $solzs = 0; } function mvmt() { // Berechnung der Vergütung für mehrjährige Tätigkeit global $zre4vp, $jre4ent, $sonstent, $ztabfb, $fvbz, $fvbzoso, $vkapa, $vmt, $lstso, $lstoso, $vbezbso, $sterbe, $zre4j, $jre4, $sonstb, $zvbezj, $jvbez, $vbs, $st, $kennvmt, $stv, $solzv, $r, $bkv, $lst2, $lst3, $lst1, $f; if($vkapa < 0) $vkapa = 0; if ($vmt + $vkapa > 0) { if($lstso == 0) { mosonst(); $lst1 = $lstoso; } else $lst1 = $lstso; $vbezbso = $sterbe + $vkapa; $zre4j = ($jre4 + $sonstb + $vmt + $vkapa) / 100; $zvbezj = ($jvbez + $vbs + $vkapa) / 100; $kennvmt = 2; mre4sonst(); mlstjahr(); $lst3 = $st * 100; mre4abz(); $zre4vp = $zre4vp - $jre4ent/100 - $sonstent/100; $kennvmt=1; mlstjahr(); $lst2 = $st * 100; $stv = $lst2 - $lst1; $lst3 = $lst3 - $lst1; if ($lst3 < $stv) $stv = $lst3; if ($stv < 0) $stv = 0; else $stv = floor($stv * $f); $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. global $zre4j, $zre4vp, $jre4, $jre4ent, $vfrbs1, $anp, $fvb, $fvbz, $wfvrbo, $gfb, $zvbezj, $jvbez, $jlfreib, $jlhinzu, $jfreib, $jhinzu, $lstoso, $st; $zre4j = $jre4 / 100; $zvbezj = $jvbez / 100; $jlfreib = $jfreib / 100; $jlhinzu = $jhinzu / 100; mre4(); mre4abz(); $zre4vp = $zre4vp - $jre4ent/100; mztabfb(); $vfrbs1 = ($anp + $fvb + $fvbz) * 100; mlstjahr(); $wfvrbo = ($zve - $gfb) * 100; if ($wfvrbo < 0) { $wfvrbo = 0;} $lstoso = $st * 100; } function mre4sonst() { // Sonderberechnung mit sonstigen Bezüge für Berechnung sonstige Bezüge/Vergütung // mehrjährige Tätigkeit. global $fvb, $fvbso, $fvbz, $fvbzso, $zre4vp, $jre4ent, $sonstent, $vfrbs1, $vfrbs2, $anp; mre4(); $fvb = $fvbso; mre4abz(); $zre4vp = $zre4vp - $jre4ent/100 - $sonstent/100; $fvbz = $fvbzso; mztabfb(); $vfrbs2 = ($anp + $fvb + $fvbz) * 100 - $vfrbs1; } function uptab21() { //Tarifliche Einkommensteuer, global $x, $st, $kztab, $abjuli, $gfb; if ($x < $gfb + 1){ $st = 0; } else { if ($x < 14927) { $y = ($x - $gfb) / 10000; $rw = $y * 1008.7; $rw = $rw + 1400; $st = floor($rw * $y); } else { if ($x < 58597) { $y = ($x - 14926) / 10000; $rw = $y * 206.43; $rw = $rw + 2397; $rw = $rw * $y; $st = floor($rw + 938.24); } else { if( $x < 277826){ $st = floor($x * 0.42 - 9267.53); } else { $st = floor($x * 0.45 - 17602.28); } } } } $st = $st * $kztab; } // --- Ende PAP ----------------------------------------------- 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; } } /* function komma($wert) { //error 8 cent 25 cent lohnsteuer und pflegezuschuss fuer kinderlose //echo "
", $wert, ": "; if ($wert < 1) $cent =1; else $cent = 0; $laenge = strlen($wert); $pos = strrpos($wert,"."); if($pos == false) $wert = $wert.".00"; elseif ($laenge - $pos == 2) $wert = $wert."0"; //old $wert1 = number_format($wert*1000, '', '', '.'); $wert1 = number_format($wert*1000, 0, '', '.'); $laenge = strlen($wert1); $wert = substr($wert1,-$laenge,-1); if ($cent){ //echo "0.".$wert; return "0.".$wert; }else{ //echo $wert; return $wert; } }*/ function komma($wert) { $wert = number_format($wert, 2, ',', '.'); return $wert; } // ------ Berechnung Sozialabgaben --------------- function soz() { global $kvz, $zmvb, $vbez, $kapindex, $sterbe, $kvwertvb, $jvbez, $bemesk, $bemesr, $jre4, $re4soz, $lzzsoz, $land, $sonstb, $jsonstb, $krv, $lzz, $pvz, $kvsatz, $anteil1, $anteil2, $jw, $rentewert, $rentewertag, $kvwert, $kvwertag, $pflegewert, $pflegewertag, $aloswert, $aloswertag, $pvs, $pkv, $kvp, $sozproz, $sozprozvb, $jvbez, $jre4ret, $re4ret, $sterbesoz; $lzz = $lzzsoz; $pflege = 1.525; $pflege_ag = $pflege; if($land==13) { $pflege = 2.025; $pflege_ag = 1.025; } $pvzusatz = 0; if ($pvz == 1) $pvzusatz = 0.35; if($kvsatz < 14.0) $kvsatz=0; // else // $kvsatz = floor($kvsatz*10)/10; bemesberech(); if($bemesk >= $re4soz){ $bemesk = $re4ret/100 + ($sonstb-$sterbesoz)/100; } else { $restsonstb = max($bemesk-($jre4ret + $jsonstb),0); $jw = min($jre4ret,$bemesk); jahranteil(); $bemesk = ($restsonstb + $anteil2)/100; } if($bemesr>=$re4soz) $bemesr = $re4ret/100 + ($sonstb-$sterbesoz)/100; else { $restsonstb = max($bemesr-($jre4ret + $jsonstb),0); $jw = min($jre4ret,$bemesr); jahranteil(); $bemesr = ($restsonstb + $anteil2)/100; } $rente = 9.3; $alos = 1.20; if($krv == 2) $bemesr=0; if($kvsatz == 0) $bemesk=0; $rentewert=round($bemesr*$rente)/100; $rentewertag=$rentewert; if($bemesk>0){ $kvwert=round($bemesk*$kvsatz/2 + $bemesk*$kvz/2)/100; $kvwertag=round($bemesk*$kvsatz/2 + $bemesk*$kvz/2)/100; $pflegewert=round($bemesk*$pflege + $bemesk*$pvzusatz)/100; $pflegewertag=round($bemesk*$pflege_ag)/100; } $aloswert=round($bemesr*$alos)/100; $aloswertag=$aloswert; $kvwertvb=0; $sterbesozrest = 0; $sozproz = $kvsatz + $kvz/2 + $pflege + $pvzusatz; $sozprozvb = 17.65 + $kvz + $pvzusatz; //sozprozvb = voller KV + PV Beitrag if($kvsatz>0 && $jvbez>0){ $bemeskvbganz = min(max(5805000-$re4soz,0),$jvbez + $sterbe*$kapindex); if($bemeskvbganz > $jvbez){ $sterbesozrest = ($bemeskvbganz - $jvbez); $bemeskvb = $jvbez; } else { $bemeskvb = $bemeskvbganz; } $jw = $bemeskvb; jahranteil(); $bemeskvb = $anteil2; $kvwertvb=round(($anteil2 + $sterbesozrest)* $sozprozvb/100)/100; } if ($kvp>0){ if($pkv == 2){ $jw = $kvp*100/2; jahranteil(); $jw = min($anteil1, ( (58050 / 100 * (7.3 + 1.525 + 0.65)) * 100 ) ); // 2021: 7.3% + 1.525% + 0.65% von 58050 jahranteil(); $kvwertag = round($anteil2)/100; if($land==13){ $jw = $kvp*100/2; jahranteil(); $jw = min($anteil1, ( (58050 / 100 * (7.3 + 1.025 + 0.65)) * 100 ) ); // 2021: 7.3% + 1.025% + 0.65% von 58050 jahranteil(); $kvwertag = round($anteil2)/100; } } else $kvwertag = 0; $kvwert=$kvp-$kvwertag; } } function bemesberech() { global $bemesk, $re4soz, $kvp, $land, $bemesr; $bemesk = min($re4soz,5805000); if($kvp > 0) $bemesk = 0; if ($land==30||$land==4||$land==8||$land==13||$land==14||$land==16) $bemesr = min(8100000,$re4soz); else $bemesr = min(8460000,$re4soz); } //------------------------------- Parameterübergabe ----------------------- $ajahr = $_POST['ajahr']; if($ajahr>2004) $alter1=1; $pvz = 1; $pvz = $_POST['kinderlos']; $stkl = $_POST['stkl']; $f = str_replace(",",".",($_POST['f'])); $af = 0; if($f > 0 && $f < 1 && $stkl == 4) $af = 1; else $f=1; $zkf = $_POST['zkf']; $land = $_POST['bundesland']; $pvs = 0; if($land==13) $pvs = 1; $kist = $_POST['r']; if($kist==0) $r=0; else $r=1; $krv = $_POST['e_krv']; if ($land==3||$land==4||$land==8||$land==13||$land==14||$land==16 && $krv == 0) $krv = 1; $kvz = $_POST['kvz']; $lzz = $_POST['lzz']; $re4 = str_replace(",",".",($_POST['re4']))*100; $sonstb = str_replace(",",".",($_POST['sonstb']))*100; $entsch1 = str_replace(",",".",($_POST['entsch_1']))*100; $entsch2 = str_replace(",",".",($_POST['entsch_2']))*100; $entsch = ($entsch1 + $entsch2); $jre4ent = str_replace(",",".",($_POST['jre4ent']))*100; $sonstent = str_replace(",",".",($_POST['sonstent']))*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']; if($lzz==2) $zmvb=12; $vbezs = str_replace(",",".",($_POST['vbezs']))*100; $sterbe = str_replace(",",".",($_POST['sterbe']))*100; $vbs = $sterbe; $vkapa = ($_POST['vkapa'])*100; $vjahr = $_POST['vjahr']; $vbezm = str_replace(",",".",($_POST['vbezm']))*100; mre4jl(); $re4soz = $zre4j*100 + $sonstb + $jsonstb - ($zvbezj*100 + $sterbe); $lzzsoz = $lzz; $re4ret = $re4 - $vbez; $jre4ret = ($zre4j - $zvbezj)*100; $kapindex = $_POST['kapindex']; $sterbesoz = $sterbe; $pkpv = str_replace(",",".",($_POST['e_pkpv'])); $kvp = str_replace(",",".",($_POST['e_kvp'])); $pkv = 0; $kvsatz = 0; if($pkpv > 0) $pkv = $_POST['e_pkv']; if($kvp == 0) $kvsatz = str_replace(",",".",($_POST['kvsatz'])); if($kvsatz==0 && $pkpv==0) $pkv=1; $brutto = ($re4+$sonstb+$vmt+$vkapa)/100; // print_r($_POST); // zur Überprüfung der übergebenen Parameter lst2022(); //Berechnung Lohnsteuer // ------------------ Ausgabe ------------------------------ echo "
"; echo ""; $steuer = floor($lstlzz+$stv+$sts)/100; $soli = floor($solzlzz+$solzs+$solzv)/100; $kirche = floor(($bk+$bkv+$bks)*$kist/100)/100; $stges = $steuer+$soli+$kirche; echo ""; $info=""; if($f > 0 && $f < 1) $info = "(Ehegattenfaktor von ".$f." berücksichtigt)"; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; //--------------- Auswertung und Ausgabe Sozialabgaben -------------------- $kvsatz=0; if($kvp == 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(); // --- Sozialabgaben berechnen ----- echo ""; if($pkv>0) echo ""; if($bemesk>0 && $pkv==0) { echo ""; echo ""; } if($kvwertvb>0) { echo ""; } if($bemesr>0){ echo ""; echo ""; } echo ""; echo ""; $sozges = $kvwert+$pflegewert+$rentewert+$aloswert+$kvwertvb; echo""; $netto = $brutto-($stges+$sozges); echo ""; if($aganzeige==1) { echo ""; echo ""; if($pkv == 2) echo ""; if($bemesk>0 && $pkv==0) { echo ""; echo ""; } if($bemesr>0){ echo ""; echo ""; } $umlwert=0; if($u1>0) { if ($land==4||$land==8||$land==13||$land==14||$land==16) $jw = 7740000; else $jw = 8280000; jahranteil(); $umlwert=min($re4ret,$anteil2); $u3 = min($re4ret + $sonstb, $anteil2)* 0.001; echo ""; echo ""; echo ""; echo ""; } if($kvp>0) $pflegewert=0; $agsumme=$kvwertag+$pflegewertag+$aloswertag+$rentewertag+$brutto+floor($umlwert*$u1)*0.01 + floor($umlwert*$u2)* 0.01 + floor($u3*0.6)* 0.01 + floor($umlwert*$bg)* 0.01; echo ""; } echo "
Ergebnis Lohnsteuerberechnung 2022
 
Bruttolohn: ".komma($brutto)."
Lohnsteuer: ".$info. " ".komma($steuer)."
davon Steuer für laufenden Lohn ".komma($lstlzz/100)."
davon Steuer für Einmalbezug ".komma($sts/100)."
davon Steuer für Vergütung mehrjäriger Tätigkeit ".komma($stv/100)."

Solidaritätszuschlag:

".komma($soli)."

".$kist."% Kirchensteuer: ".komma($kirche)."
 
eigener Anteil private Kranken-/Pflegeversicherung: ".komma($kvwert)."
Beitrag zur Krankenversicherung: ".komma($kvwert)."
Beitrag zur Pflegeversicherung: ".komma($pflegewert)."
".$sozprozvb."% (voller) Kranken- und Pflegeversicherungsbeitrag für Versorgungsbezüge: "; if($sterbe>0 && $kapindex==1) echo " (krankenversicherungspflichtige Kapitalauszahlung berücksichtigt)"; echo "".komma($kvwertvb)."
Beitrag zur Rentenversicherung: ".komma($rentewert)."
Beitrag zur Arbeitslosenversicherung: ".komma($aloswert)."
 
Summe der Steuern: ".komma($stges)."
Summe Sozialversicherung: ".komma($sozges)."
Netto: ".komma($netto)." "; echo "

Arbeitgeberanteil
Zuschuss zur privaten Kranken-/Pflegeversicherung: ".komma($kvwertag)."
Krankenversicherung: ".komma($kvwertag)."
Pflegeversicherung: ".komma($pflegewertag)."
Rentenversicherung: ".komma($rentewertag)."
Arbeitslosenversicherung: ".komma($aloswertag)."
Umlage U1: ".komma(floor($umlwert*$u1)*0.01)."
Umlage U2: ".komma(floor($umlwert*$u2)*0.01)."
Insolvenzumlage (0,12%): ".komma((floor($u3*1.2)/100))."
BG-Beitrag: ".komma(floor($umlwert*$bg)*0.01)."
Arbeitgeber Gesamtbelastung: ".komma($agsumme)."
"; echo "
"; //echo "

<<< zurück/neue Berechnung"; //echo "

 

"; //echo ""; // folgende Zeile kann man zur Überprüfung anzeigen lassen (Doppelslash dazu entfernen) // echo "

"; // if($fvb > 0) // echo "FVB: ".$fvb." | FVBZ: ".$fvbz." | "; // if($alte > 0) // echo "PKPV: ".$pkpv." | "; // echo "VSP: ".$vsp." | VSP1: ".$vsp1." | VSP3: ".$vsp3." | AG-Anteil ".$zre4vp."

"; //echo ""; //echo "";