6) $normale=18; // controllo errori di scelta dell'utente if ($personale == 0) { print ("Non hai indicato il tipo di personale. Torna indietro!
"); exit; }; if ($anniservizio == 0) { print ("Non hai indicato gli anni di servizio. Torna indietro!
"); exit; }; if (($ore == 0)&&($personale>5)) { print ("Non hai indicato le ore settimanali di servizio. Torna indietro!
"); exit; }; if (($ore >18)&&($personale>6)) { print ("Le ore non possono essere più di 18. Torna indietro!
"); exit; }; if ($coniuge == 0) { print ("Non hai indicato se il coniuge è a carico. Torna indietro!
"); exit; }; // leggo il file stipendi05.txt $nomefile = "stipendi05.txt"; $fp = fopen($nomefile, "r"); for ($t=1; $t<81; $t++) $matrice[$t] = fgets ($fp, 4096); fclose($fp); // leggo file dell'indennità $nomefile = "indennita.txt"; $fp = fopen($nomefile, "r"); for ($t=1; $t<81; $t++) $matrice2[$t] = fgets ($fp, 4096); fclose($fp); $tre = $anniservizio.$personale; $uno = $anniservizio."0"; // faccio dei calcoli $mensile= ($matrice[$tre]-$matrice2[$personale])/12; $integrativa = $matrice2[$personale]/12; // coefficienti delle ritenute $opera = 0.8*0.025; $fondo1 = 0.0035; $inpdap1 = 0.0875; // stampo i risultati print(''); print(''); print ('"); print('"); if($personale>5) print ("Servizio di ore: $ore su orario normale di $normale ore."); print ('"); print(''); print ('"); print(''); print ('"); print(''); print (''); print (''); print (''); print('"); $stampo= number_format($mensile, 2, ',', '.'); print ('"); print (''); print('"); print (''); print('"); print (''); $imponibile = ($mensile + $integrativa + $cia); }; if ($personale==5) { print ("Stipendio mensile depurato da IIS inglobata"); $stampo= number_format($mensile, 2, ',', '.'); print ('"); print (''); print('"); print (''); $imponibile = ($mensile + $integrativa); }; if ($personale>5) { if($anniservizio<4) $rpd=154.82; if(($anniservizio>3)&&($anniservizio<6)) $rpd=190.65; if($anniservizio>5) $rpd=239.17; $mensile2=($mensile/$normale)*$ore; $integrativa2=($integrativa/$normale)*$ore; $rpd2=($rpd/$normale)*$ore; $imponibile = ($mensile2 + $integrativa2 + $rpd2); print ("Stipendio mensile depurato da IIS inglobata"); $stampo= number_format($mensile2, 2, ',', '.'); print ('"); print (''); print('"); print (''); print('"); print (''); }; // stampo la parte rimanente della tabella print('"); print (''); print(''); print (''); print(''); print (''); print (''); // calcolo ritenute // calcolo ritenute personale ATA if ($personale<6) { $imp1= $mensile + $integrativa; $rite1= $imp1*$opera; if ($personale==5) $cia=0; $imp2=$imp1+$cia; $rite2= $imp2*$fondo1; $imp3=$imp2; $rite3= $imp3*$inpdap1; $ritenute = $rite1 + $rite2 + $rite3; $imponibile2 = $imponibile - $ritenute; }; // calcolo ritenute personale docente if ($personale>5) { $imp1= $mensile2 + $integrativa2; $rite1= $imp1*$opera; $imp2=$imp1+$rpd2; $rite2= $imp2*$fondo1; $imp3=$imp2; $rite3= $imp3*$inpdap1; $ritenute = $rite1 + $rite2 + $rite3; $imponibile2 = $imponibile - $ritenute; }; // stampo le ritenute // stampo opera di previdenza/tfr print(''); $stampo= number_format($imp1, 2, ',', '.'); print ('"); print(''); $stampo= number_format($rite1, 2, ',', '.'); print ('"); // stampo fondo credito print(''); $stampo= number_format($imp2, 2, ',', '.'); print ('"); print(''); $stampo= number_format($rite2, 2, ',', '.'); print ('"); // stampo ritenuta INPDAP print(''); $stampo= number_format($imp3, 2, ',', '.'); print ('"); print(''); $stampo= number_format($rite3, 2, ',', '.'); print ('"); // stampo totale delle tre ritenute print(''); print (''); $stampo= number_format($ritenute, 2, ',', '.'); print ('"); // calcolo stipendio annuo $fondo13=1.18*0.0035; $inpdap13=1.18*0.0875; // calcolo stipendio personale ATA if ($personale<6) { // totale stipendio lordo if ($personale==5) $cia=0; $totstipendio=$mensile*13; $totintegrativa=$integrativa*13; $totcia=$cia*12; //totale ritenute $totopera =($totstipendio + $totintegrativa)*$opera; $tot1fondo =$totstipendio*$fondo13; $tot2fondo = ($totintegrativa + $totcia)*$fondo1; $tot1inpdap =$totstipendio*$inpdap13; $tot2inpdap = ($totintegrativa + $totcia)*$inpdap1; $reddito13 = $totstipendio + $totintegrativa + $totcia - $totopera - $tot1fondo - $tot2fondo - $tot1inpdap - $tot2inpdap; }; // calcolo stipendio o personale docente if ($personale>5) { // totale stipendio lordo $totstipendio=$mensile2*13; $totintegrativa=$integrativa2*13; $totrpd=$rpd2*12; // totale ritenute $totopera=($totstipendio + $totintegrativa)*$opera; $tot1fondo =$totstipendio*$fondo13; $tot2fondo = ($totintegrativa + $totrpd)*$fondo1; $tot1inpdap =$totstipendio*$inpdap13; $tot2inpdap = ($totintegrativa + $totrpd)*$inpdap1; $reddito13 = $totstipendio + $totintegrativa + $totrpd - $totopera - $tot1fondo - $tot2fondo - $tot1inpdap - $tot2inpdap; }; // calcolo imposta IRE // NO TAX AREA $rapporto = (26000+7500-$reddito13)/26000; $arrotondo = number_format ($rapporto,4,'.', ""); $deduzione1 = 7500*$arrotondo; if ($rapporto>=1) $deduzione1= 7500; // calcolo deduzioni con norme del 2005 $deduzione2=$deduzione3=$deduzione4=$deduzione5=$deduzione6=0.00; // calcolo deduzione coniuge a carico if ($coniuge=="1") $deduzione2=3200.00; // calcolo deduzioni figli a carico if ($figli>0) { if ($coniuge=="2") $deduzione3= ($figli*2900.00)/2; if (($coniuge=="2")&&($minori>0)) $deduzione4= ($minori*550.00)/2; if (($coniuge=="2")&&($handicappato>0)) $deduzione5= ($handicappato*800.00)/2; if ($coniuge=="1") $deduzione3 = ($figli*2900.00); if (($coniuge=="1")&&($minori>0)) $deduzione4= ($minori*550.00); if (($coniuge=="1")&&($handicappato>0)) $deduzione5= ($handicappato*800.00); if ($mancante=="1") $deduzione6= ($figli*300.00); }; // calcolo del reddito imponibile IRE annuo $totdeduzioni=($deduzione2+$deduzione3+$deduzione4+$deduzione5+$deduzione6); $rappodeduzioni=(78000+$totdeduzioni-$reddito13)/78000; $deduarrotondo = number_format($rappodeduzioni,4,'.', ''); $deduzionefamiglia= ($totdeduzioni*$deduarrotondo); if ($rappodeduzioni>=1) $deduzionefamiglia =$totdeduzioni; $reddito= ($reddito13-$deduzione1-$deduzionefamiglia); // calcolo dell'imposta $scaglione1=26000; $scaglione2=33500; $scaglione3=100000; $reddito1= ($reddito - $scaglione1); $reddito2= ($reddito - $scaglione2); $reddito3= ($reddito - $scaglione3); if ($reddito <= $scaglione1) { $imposta = ($reddito*0.23); $massima="23,000"; }; if (($reddito> $scaglione1)&&($reddito<= $scaglione2)) { $imposta = 5980 + ($reddito1*0.33); $massima="33,000"; }; if (($reddito> $scaglione2)&&($reddito<= $scaglione3)) { $imposta = 8455 + ($reddito2*0.39); $massima="39,000"; }; if ($reddito> $scaglione3) { $imposta = 34390 + ($reddito3*0.43); $massima="39,000+4,000"; }; //calcolo detrazioni di imposta if ($reddito13<=27000) $detrazione5=0; if (($reddito13>27000)&&($reddito13<=29500)) $detrazione5=130; if (($reddito13>29500)&&($reddito13<=36500)) $detrazione5=235; if (($reddito13>36500)&&($reddito13<=41500)) $detrazione5=180; // calcolo stipendio netto mensile // divido detrazione per 12 mesi $detramese5=$detrazione5/12; // calcolo percentuale progressiva $progressiva = $imposta/$reddito13; // calcolo imposta del mese $impostamese = $imponibile2*$progressiva; // calcolo totale ritenute IRE $totritenute=$impostamese-$detramese5; if ($totritenute<0) $totritenute =0; // aggiungo le ritenute previdenziali al totale ritenute IRE $totritenute2=$totritenute+$ritenute; // calcolo il netto mensile $netto = ($imponibile2 -$totritenute); //*********** // inizio stampa dati fiscali ************* print (''); print (''); print (''); print (''); print ('"); print(''); print ('"); print('"); print ('"); print ('"); print ('"); print (''); print ('"); print (''); print ('"); print ('"); print (''); print ('"); print ('
Distinta delle competenze mensili'); print("Personale: $matrice[$personale]
'); if($personale<=5) print("Calcoli su orario normale'); print ("Anni di servizio: $matrice[$uno]
'); $stampo= number_format($matrice[$tre], 2, ',', '.'); print("Stipendio annuo lordo di riferimento: $stampo
'); $stampo= number_format($matrice2[$personale], 2, ',', '.'); print("Indennità Integrativa speciale annua compresa nello stipendio annuo lordo: $stampo
Descrizione Importi
CompetenzeRitenute
'); // calcolo il compenso individuale accessorio if ($personale<5) { if ($personale<3) $cia=48.25; if (($personale==3)||($personale==4)) $cia=52.83; print ("Stipendio mensile depurato da IIS inglobata'); print("$stampo  
'); print ("Indennità integrativa speciale da sommare allo stipendio mensile"); $stampo= number_format($integrativa, 2, ',', '.'); print (''); print("$stampo  
'); print ("Compenso individuale accessorio"); $stampo= number_format($cia, 2, ',', '.'); print (''); print("$stampo  
'); print("$stampo  
'); print ("Indennità integrativa speciale da sommare allo stipendio mensile"); $stampo= number_format($integrativa, 2, ',', '.'); print (''); print("$stampo  
'); print("$stampo  
'); print ("Indennità integrativa speciale da sommare allo stipendio mensile"); $stampo= number_format($integrativa2, 2, ',', '.'); print (''); print("$stampo  
'); print ("Retribuzione professionale docenti"); $stampo= number_format($rpd2, 2, ',', '.'); print (''); print("$stampo  
'); print ("Totale competenze mensili lorde"); $stampo= number_format($imponibile, 2, ',', '.'); print (''); print("$stampo  
Dettaglio ritenute assistenziali e previdenziali  
DescrizioneImponibileAliquota%Ritenuta
OP. DI PREV./TFR'); print("$stampo 2,50 su 80'); print("$stampo
FONDO CREDITO'); print("$stampo 0,35 su 100'); print("$stampo
INPDAP 100%'); print("$stampo 8,75 su 100'); print("$stampo
Totale ritenute assistenziali e previdenziali '); print("$stampo
Dettaglio ritenute fiscali  
DescrizioneImponibileAliquota %Ritenuta
Aliquota massima(1) '); print ("$massima 
Aliquota progressiva(2)'); $stampo = number_format($imponibile2,2,',', '.'); print ("$stampo'); // scrivo in % $percento=($progressiva*100); $stampo = number_format($percento,3,',', '.'); print ("$stampo '); $stampo = number_format($impostamese,2,',', '.'); print ("$stampo
Totale (1+2-3) '); $stampo = number_format($totritenute,2,',', '.'); print ("$stampo
Detrazione lavoro dipendente (3)'); $stampo = number_format($detramese5,2,',', '.'); print ("$stampo    
'); print ("Totale ritenute '); $stampo = number_format($totritenute2,2,',', '.'); print ("$stampo
'); print ("Netto pagato '); $stampo = number_format($netto,2,',', '.'); print ("$stampo
'); ?>