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 "
|
<<< 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."