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('Distinta delle competenze mensili | ');
print ('');
print("Personale: $matrice[$personale] |
");
print('');
if($personale<=5) print("Calcoli su orario normale | ");
if($personale>5) print ("Servizio di ore: $ore su orario normale di $normale ore.");
print ('');
print ("Anni di servizio: $matrice[$uno] |
");
print('');
print ('');
$stampo= number_format($matrice[$tre], 2, ',', '.');
print("Stipendio annuo lordo di riferimento: $stampo |
");
print('');
print ('');
$stampo= number_format($matrice2[$personale], 2, ',', '.');
print("Indennità Integrativa speciale annua compresa nello stipendio annuo lordo: $stampo |
");
print('Descrizione | ');
print ('Importi |
');
print ('Competenze | ');
print ('Ritenute |
');
print('');
// 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 | ");
$stampo= number_format($mensile, 2, ',', '.');
print ('');
print("$stampo | ");
print (' |
');
print('');
print ("Indennità integrativa speciale da sommare allo stipendio mensile");
$stampo= number_format($integrativa, 2, ',', '.');
print (' | ');
print("$stampo | ");
print (' |
');
print('');
print ("Compenso individuale accessorio");
$stampo= number_format($cia, 2, ',', '.');
print (' | ');
print("$stampo | ");
print (' |
');
$imponibile = ($mensile + $integrativa + $cia);
};
if ($personale==5) {
print ("Stipendio mensile depurato da IIS inglobata");
$stampo= number_format($mensile, 2, ',', '.');
print ('');
print("$stampo | ");
print (' | ');
print('');
print ("Indennità integrativa speciale da sommare allo stipendio mensile");
$stampo= number_format($integrativa, 2, ',', '.');
print (' | ');
print("$stampo | ");
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("$stampo | ");
print (' | ');
print('');
print ("Indennità integrativa speciale da sommare allo stipendio mensile");
$stampo= number_format($integrativa2, 2, ',', '.');
print (' | ');
print("$stampo | ");
print (' |
');
print('');
print ("Retribuzione professionale docenti");
$stampo= number_format($rpd2, 2, ',', '.');
print (' | ');
print("$stampo | ");
print (' |
');
};
// stampo la parte rimanente della tabella
print('');
print ("Totale competenze mensili lorde");
$stampo= number_format($imponibile, 2, ',', '.');
print (' | ');
print("$stampo | ");
print (' |
');
print('Dettaglio ritenute assistenziali e previdenziali | ');
print (' | |
');
print('
Descrizione | ');
print ('Imponibile | Aliquota% | ');
print ('Ritenuta |
');
// 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('
OP. DI PREV./TFR | ');
$stampo= number_format($imp1, 2, ',', '.');
print ('');
print("$stampo | ");
print('2,50 su 80 | ');
$stampo= number_format($rite1, 2, ',', '.');
print ('');
print("$stampo |
");
// stampo fondo credito
print('FONDO CREDITO | ');
$stampo= number_format($imp2, 2, ',', '.');
print ('');
print("$stampo | ");
print('0,35 su 100 | ');
$stampo= number_format($rite2, 2, ',', '.');
print ('');
print("$stampo |
");
// stampo ritenuta INPDAP
print('INPDAP 100% | ');
$stampo= number_format($imp3, 2, ',', '.');
print ('');
print("$stampo | ");
print('8,75 su 100 | ');
$stampo= number_format($rite3, 2, ',', '.');
print ('');
print("$stampo |
");
// stampo totale delle tre ritenute
print('Totale ritenute assistenziali e previdenziali | ');
print (' | ');
$stampo= number_format($ritenute, 2, ',', '.');
print ('');
print("$stampo |
");
// 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 ('Dettaglio ritenute fiscali | ');
print (' | |
');
print ('Descrizione | Imponibile | ');
print ('Aliquota % | Ritenuta |
');
print ('Aliquota massima(1) | | ');
print ("$massima | ");
print(' |
');
print ('Aliquota progressiva(2) | ');
$stampo = number_format($imponibile2,2,',', '.');
print ("$stampo | ");
print('');
// scrivo in %
$percento=($progressiva*100);
$stampo = number_format($percento,3,',', '.');
print ("$stampo | ");
print ('');
$stampo = number_format($impostamese,2,',', '.');
print ("$stampo |
");
print ('Totale (1+2-3) | | ');
$stampo = number_format($totritenute,2,',', '.');
print ("$stampo |
");
print ('Detrazione lavoro dipendente (3) | ');
$stampo = number_format($detramese5,2,',', '.');
print ("$stampo | ");
print (' | | | |
');
print ('');
print ("Totale ritenute | ");
print (' | ');
print ('');
$stampo = number_format($totritenute2,2,',', '.');
print ("$stampo |
");
print ('');
print ("Netto pagato | ");
print (' | ');
print ('');
$stampo = number_format($netto,2,',', '.');
print ("$stampo |
");
print ('
');
?>