Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

Current Path : /home/cgabriel/20_dev/12_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
Upload File :
Current File : //home/cgabriel/20_dev/12_procpy/fibu/lohn2016.php

<?php
// PHP-Programm nach dem Programmablaufplan f&uumlr die maschinelle Berechnung
// der vom Arbeitslohn einzubehaltenden Lohnsteuer, des Solidr&aumlt&aumltszuschlags und
// der Maßstabsteuer f&uumlr die Kirchenlohnsteuer 2016
// Version 24.12.2015, 8.652 Euro Grundfreibetrag ber&uumlcksichtigt
// Der Programmablaufplan 2016 findet sich auf den Internetseiten des BMF zum
// Herunterladen unter   http://www.bundesfinanzministerium.de/Web/DE/Themen/Steuern/Steuerarten/Lohnsteuer/Programmablaufplan/programmablaufplan.html

  error_reporting(E_ALL);

  function lst2016() {  //Programmablaufplan 2016, Steuerung S.13

    global $jre4, $zre4j, $vbezbso, $kennvmt;
    
	mpara();
    mre4jl();
    $jre4 = ($zre4j*100 + $jsonstb);  // Voraussichtlicher Jahreslohn f&uumlr Sonstige Bez&uumlge
    $jvbez = $zvbezj*100;            // darin enthaltene Versorgungsbez&uumlge
                                    // nicht im PAP!
    $vbezbso = 0;
    $kennvmt = 0;
    mre4();
    mre4abz();
	mberech();
    msonst();
    mvmt();
  }
  
  function mpara() {
	 //Zuweisung von Werten f&uumlr bestimmte Sozialversicherungsparameter
	 
	 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 = 74400;}
		 else {
			 $bbgrv = 64800;}
		 $rvsatzan = 0.0935;
		 $tbsvorv = 0.64;
	 }
	 $bbgkvpv = 50850;
	 $kvsatzan = $kvz/100 + 0.07;
	 $kvsatzag = 0.07;
	 if ($pvs == 1) {
		 $pvsatzan = 0.01675;
		 $pvsatzag = 0.00675;}
	 else {
		 $pvsatzan = 0.01175;
		 $pvsatzag = 0.01175;}
	 if ($pvz == 1){
		 $pvsatzan = $pvsatzan + 0.0025;}
	$w1stkl5 = 10070;
	$w2stkl5 = 26832;
	$w3stkl5 = 203557;
	$gfb = 8652;
	$solzfrei = 972;
}
    function mre4jl() {
 //Ermittlung des Jahresarbeitslohns und der Freibetr&aumlge, PAP 2016, S. 15

 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&aumlge &uumlbernommen werden
       $jlhinzu = $jhinzu / 100;


    if ($zre4j < 0)                 // nicht im PAP
        $zre4j = 0;

    if ($zvbezj <=0 || $vbez<=0)
        $zvbezj = 0;

    if($af = 0) $f=1;
}

 function mre4() {
   //Freibetraege fuer Versorgungsbezuege, Altersentlastungsbetrag (§39b Abs. 2 Satz 2 EStG) PAP Seite 16

  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;
   }
 }

 function mre4abz() {
   // Ermittlung des Jahresarbeitslohns nach Abzug der Freibetr&aumlge, PAP 2016, S. 19

   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;
   }


function mberech() {
	 //Berechnung für laufende Lohnzahlungszeiträume
	 
	 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();
	
 }

   function mztabfb() {
  //Ermittlung der festen Tabellenfreibetraege (ohne Vorsorgepauschale) PAP Seite 21

  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 * 7248;
    }
    if ($stkl == 2) {
       $efa = 1908;
       $sap = 36;
       $kfb = $zkf * 7248;
    }
    if ($stkl == 3) {
       $kztab = 2;
       $sap = 36;
       $kfb = $zkf * 7248;
   }
    if ($stkl == 4) {
       $sap = 36;
       $kfb = $zkf * 3624;
    }
    if ($stkl == 5){
       $sap = 36;
       $kfb = 0;
    }
    if ($stkl == 6)
       $kfb = 0;

    $ztabfb = $efa + $anp + $sap + $fvbz;
 }


 function mlstjahr() {  //Ermittlung der Jahreslohnsteuer, PAP S. 22

  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() {  // PAP S. 23

  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)
       uptab16();
     else
       mst5_6();
  }

  function upevp() {
  // Vorsorgepauschale (§39b Abs. 2 Satz 6 Nr 3 EStG) PAP Seite 26

  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
 //fuer Guenstigerpruefung PAP Seite 27

  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) PAP Seite 28

    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;
	uptab16();
    $st1 = $st;
    $x = $zx * 0.75;
    uptab16();
    $st2 = $st;
    $diff = ($st1 - $st2) * 2;
    $mist = floor($zx * 0.14);
    if ($mist > $diff)
       $st = $mist;
     else
       $st = $diff;
 }


 function msolz() {   // Solidarit&aumltszuschlag, PAP S. 30

 global $kztab, $jbmg, $jw, $jwsolza, $jwsolzn, $jwbka, $jwbkn, $anteil1, $solzlzz, $bk, $r;

    $solzfrei = $solzfrei * $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&aumlge f&uumlr einen LZZ
                        // PAP, S. 31
                        // 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&uumlge, PAP, S. 30

     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;
       $solzs = floor($sts * 5.5 / 100);
       if ($r > 0)
          $bks = $sts;
        else
          $bks = 0;
     }
    else {
       $vkvsonst = 0;
       $lstso = 0;
       $sts = 0;
       $solzs = 0;
       $bks = 0;
    }
}



function mvmt() {  // Berechnung der Verg&uumltung f&uumlr mehrj&aumlhrige T&aumltigkeit
                   // PAP, S. 33

     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&uumlge f&uumlr Berechnung sonstige Bez&uumlge/Verg&uumltung
    // mehrj&aumlhrige T&aumltigkeit. PAP, S. 34

    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&uumlge f&uumlr Berechnung sonstige Bez&uumlge/Verg&uumltung
    // mehrj&aumlhrige T&aumltigkeit. PAP S. 35

    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 uptab16() {  //Tarifliche Einkommensteuer, PAP, S. 36

  global $x, $st, $kztab, $abjuli, $gfb;

         if ($x < $gfb + 1)
          $st = 0;
        else {
        if ($x < 13670) {
           $y = ($x - $gfb) / 10000;
           $rw = $y * 993.62;
           $rw = $rw + 1400;
           $st = floor($rw * $y);
         }
         else {
           if ($x < 53666) {
              $y = ($x - 13669) / 10000;
              $rw = $y * 225.40;
              $rw = $rw + 2397;
              $rw = $rw * $y;
              $st = floor($rw + 952.48);
            }
         else {
            if( $x < 254447)
                $st = floor($x * 0.42 - 8394.14);
         else
                $st = floor($x * 0.45 - 16027.52);
               }
           }
       }

    $st = $st * $kztab;
    
}

  // --- Ende PAP 2016 -----------------------------------------------

  function jahranteil() { // Berechnung Jahreslohn aus LZZ-Lohn
                          // (nicht im PAP enthalten)
                          // f&uumlr Berechnung sonstige bzw. mehrj&aumlhrige Bez&uumlge 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 "<br>", $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;
 }
}

  // ------ 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.175;
       $pflege_ag = $pflege;
     if($land==13) {
         $pflege = 1.675;
         $pflege_ag = 0.675;
       }

       $pvzusatz = 0;
     if ($pvz == 1)
       $pvzusatz = 0.25;

      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.35;
     $alos = 1.5;
	 
     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)/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;


     $kvwertvb=0;
     $sterbesozrest = 0;
     $sozproz = $kvsatz + $kvz + $pflege + $pvzusatz;
     $sozprozvb = 16.9 + $kvz + $pvzusatz;
     if($kvsatz>0 && $jvbez>0){
      $bemeskvbganz = min(max(5085000-$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,430954); // 2015: 7.3% + 1.175% von 50850
       jahranteil();
       $kvwertag = round($anteil2)/100;
       if($land==13){
       $jw = $kvp*100/2;
       jahranteil();
       $jw = min($anteil1,405529);  // 2015: 7.3% + 0.675% von 50850
       jahranteil();
       $kvwertag = round($anteil2)/100;
       }
      }
      else
       $kvwertag = 0;

       $kvwert=$kvp-$kvwertag;
     }


   }

   function bemesberech() {

   global $bemesk, $re4soz, $kvp, $land, $bemesr;

    $bemesk = min($re4soz,5085000);
     if($kvp > 0)
        $bemesk = 0;

      if ($land==30||$land==4||$land==8||$land==13||$land==14||$land==16)
           $bemesr = min(6480000,$re4soz);

      else
           $bemesr = min(7440000,$re4soz);
   }


  //------------------------------- Parameter&uumlbergabe -----------------------

 $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 &aumlndern (f. anderen Zeitraum)
 $jhinzu = ($_POST['jhinzu'])*100;  // ggflls in $lzzjhinzu &aumlndern
 $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 &uumlberpr&uumlfung der &uumlbergebenen Parameter

 lst2016();  //Berechnung Lohnsteuer

// ------------------ Ausgabe ------------------------------

  echo "<html>";
  echo "<head>";
  echo "<title>Gehaltsrechner 2016, Ergebnis</title>";
  echo "<style> TD {font-family: arial; font-size: 11px; text-align: right;}</style>";
  echo "</head>";
  echo "<body>";
  echo "<p>&nbsp;<p>";
  echo "<center><TABLE cellpadding=5 cellspacing=0 border=0><TR><TD><TABLE cellSpacing=0 cellPadding=3 border=0 width=360><TR bgColor=#909090 height=24><TD style='text-align: center' colspan=3 vAlign=middle><font color=#FFFFFF><b>Ergebnis Lohnsteuerberechnung 2016</b></font></TD></TR>";
  echo "<TR><TD colspan=3>&nbsp;</TD></TR>";

 $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 "<TR><b><TD>Bruttolohn:</TD><TD> ".komma($brutto)."</TD><TD> &euro;</TD></TR><TR><TD colspan=3></TD></TR>";
 $info="";
 if($f > 0 && $f < 1)
 $info = "</b>(Ehegattenfaktor von ".$f." ber&uumlcksichtigt)";
 echo "<TR><TD><b>Lohnsteuer: ".$info. "</TD><TD> ".komma($steuer)."</TD><TD> &euro;</TD></TR>";
 echo "<TR><TD>davon Steuer f&uumlr laufenden Lohn </TD><TD>".komma($lstlzz/100)."</TD><TD> &euro;</TD></TR>";
 echo "<TR><TD>davon Steuer f&uumlr Einmalbezug </TD><TD> ".komma($sts/100)."</TD><TD> &euro;</TD></TR>";
 echo "<TR><TD>davon Steuer f&uumlr Verg&uumltung mehrj&aumlriger T&aumltigkeit </TD><TD>".komma($stv/100)."</TD><TD> &euro;</TD></TR>";
 echo "<TR><TD><br> <b>Solidarit&aumltszuschlag:</b> </TD><TD><br> ".komma($soli)."</TD><TD><br> &euro;</TD></TR>";
 echo "<TR><TD><b>".$kist."% Kirchensteuer:</b></TD><TD> ".komma($kirche)."</TD><TD> &euro;</TD></TR>";

 //--------------- 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 "<TR><TD colspan=3>&nbsp;</TD></TR>";
      if($pkv>0)
      echo "<TR><TD>eigener Anteil private Kranken-/Pflegeversicherung: </TD><TD>".komma($kvwert)."</TD><TD>  &euro;</TD></TR>";
      if($bemesk>0 && $pkv==0) {
      echo "<TR><TD>Beitrag zur Krankenversicherung: </TD><TD>".komma($kvwert)."</TD><TD>  &euro;</TD></TR>";
      echo "<TR><TD>Beitrag zur Pflegeversicherung: </TD><TD>".komma($pflegewert)."</TD><TD>  &euro;</TD></TR>";
      }
      if($kvwertvb>0) {
      echo "<TR><TD align=right>".$sozprozvb."% (voller) Kranken- und Pflegeversicherungsbeitrag f&uumlr Versorgungsbez&uumlge: ";
      if($sterbe>0 && $kapindex==1)
      echo " (krankenversicherungspflichtige Kapitalauszahlung ber&uumlcksichtigt)";
      echo "</TD><TD vAlign=bottom align=right>".komma($kvwertvb)."</TD><TD vAlign=bottom>  &euro;</TD></TR>";
      }
      if($bemesr>0){
       echo "<TR><TD>Beitrag zur Rentenversicherung: </TD><TD>".komma($rentewert)."</TD><TD>  &euro;</TD></TR>";
      echo "<TR><TD>Beitrag zur Arbeitslosenversicherung: </TD><TD>".komma($aloswert)."</TD><TD>  &euro;</TD></TR>";
      }
        echo "<TR><TD colspan=3>&nbsp;</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>  &euro;</font></TD></TR>";
       $sozges = $kvwert+$pflegewert+$rentewert+$aloswert+$kvwertvb;
       echo"<TR><TD><font color=#009000>Summe Sozialversicherung:</font></TD><TD><font color=#009000> ".komma($sozges)."</font></TD><TD><font color=#009000>  &euro; </font></TD></TR>";
       $netto = $brutto-($stges+$sozges);
       echo "<TR><TD><font color=#900090><b>Netto:</b></font> </TD><TD><font color=#900090><b>".komma($netto)."</b></font></TD><TD><font color=#900090>  <b>&euro;</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: right;\" colspan=3><font color=#0000FF><b>Arbeitgeberanteil</b></font> </TD></TR>";
      if($pkv == 2)
      echo "<TR><TD>Zuschuss zur privaten Kranken-/Pflegeversicherung: </TD><TD>".komma($kvwertag)."</TD><TD>  &euro;</TD></TR>";
      if($bemesk>0 && $pkv==0) {
      echo "<TR><TD>Krankenversicherung: </TD><TD>".komma($kvwertag)."</TD><TD>  &euro;</TD></TR>";
      echo "<TR><TD>Pflegeversicherung: </TD><TD>".komma($pflegewertag)."</TD><TD>  &euro;</TD></TR>";
      }
      if($bemesr>0){
      echo "<TR><TD>Rentenversicherung: </TD><TD>".komma($rentewertag)."</TD><TD>  &euro;</TD></TR>";
      echo "<TR><TD>Arbeitslosenversicherung: </TD><TD>".komma($aloswertag)."</TD><TD>  &euro;</TD></TR>";
      }
      $umlwert=0;
      if($u1>0) {
       if ($land==4||$land==8||$land==13||$land==14||$land==16)
           $jw = 6480000;
       else
           $jw = 7440000;
      jahranteil();
      $umlwert=min($re4ret,$anteil2);
      $u3 = min($re4ret + $sonstb, $anteil2)* 0.001;
      echo "<TR><TD>Umlage U1:</TD><TD> ".komma(floor($umlwert*$u1)*0.01)."</TD><TD> &euro;</TD></TR>";
      echo "<TR><TD>Umlage U2:</TD><TD> ".komma(floor($umlwert*$u2)*0.01)."</TD><TD> &euro;</TD></TR>";
      echo "<TR><TD>Insolvenzumlage (0,12%):</TD><TD> ".komma((floor($u3*1.2)/100))."</TD><TD> &euro;</TD></TR>";
      echo "<TR><TD>BG-Beitrag:</TD><TD> ".komma(floor($umlwert*$bg)*0.01)."</TD><TD> &euro;</TD></TR>";
      }
      if($kvp>0)
        $pflegewert=0;
      $agsumme=$kvwertag+$pflegewertag+$aloswertag+$rentewertag+$brutto+floor($umlwert*$u1)*0.01 + floor($umlwert*$u2)* 0.01 + floor($u3*1.2)* 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>&euro;</b></font></TD></TR>";
      }
      echo "</TABLE>";
      echo "</TD></TR></TABLE>";
      echo "<p align=center><a href='javascript:goback()' style='text-decoration: none;font-family: arial;font-size: 8pt;'><b>&lt;&lt;&lt; zur&uumlck/neue Berechnung</b></font></a>";
      echo "<p>&nbsp;</p>";
      echo "<script> function goback() { history.go(-1); } </script>";
    // folgende Zeile kann man zur &uumlberpr&uumlfung anzeigen lassen (Doppelslash dazu entfernen)

     // echo "<div style='position: relative; top: 30px;'><font size=1 face=arial color=#909090><p align=center>";
     //  if($fvb > 0)
     //  echo "FVB: ".$fvb." | FVBZ: ".$fvbz." | ";
     //  if($alte > 0)
     //  echo "PKPV: ".$pkpv." | ";
     // echo "VSP: ".$vsp." | VSP1: ".$vsp1." | VSP3: ".$vsp3." | AG-Anteil ".$zre4vp."</font></div>";

       echo "</body>";
       echo "</html>";
?>

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped) Email: contact@elmoujehidin.net