Fondamenti di programmazione

Corso php a cura del prof. Pietro De Paolis

Calcolo delle ritenute previdenziali

Lo stipendio mensile che abbiamo calcolato fino ad ora è uno stipendio lordo, cioè non rappresenta il vero importo in Euro che il dipendente incassa a fine mese, ma rappresenta quello che incasserebbe se non ci fossero le tasse imposte dallo stato e le ritenute previdenziali.

Quanto alle tasse le vedremo in un secondo momento. Per chi volesse approfondire l'agomento di ritenute e tasse può consultare la nostra pagina sullo stipendio del personale scolastico. Qui ci interessa soltanto chiarire alcune formule da utilizzare per il calcolo dello stipendio netto.

Imponibile fiscale

Imponibile fiscale è l'importo sul quale si calcolano le tasse; l'imponibile fiscale si ottiene dallo stipendio mensile lordo detraendo le ritenute assistenziali e previdenziali.

Esempio

Un docente laureato ha lo stipendio lordo pari a 1.745,03 €. Le ritenute previdenziali e assistenziali ammontano a 190,60 €, quanto sarà l'imponibile fiscale?

Svolgimento

Imponibile = 1.745,03 -190.60 = 1554,43

 

Le ritenute previdenziali sono, quindi, una prima somma da detrarre dallo stipendio lordo. La parola ritenuta sta a significare un importo da detrarre, cioè togliere, allo stipendio lordo.

Vi sono tre tipi di ritenute.

Tipi di ritenute

1 - Ritenuta fondo opera e trattamento di fine rapporto. (TFR)

E' un importo da detrarre dallo stipendio lordo ed è pari ad una percentuale del 2,5% sullo stipendio lordo; tuttavia questa percentuale non si applica sull'intero stipendio lordo ma solo sull'80% di questo stipendio lordo. Inoltre questa ritenuta non si applica sulla retribuzione professionale docenti e non si applica sul compenso individuale accessorio del personale ATA.

Esempio

Docente laureato scuola secondaria superiore.

1 - Stipendio 1051,91 €

2 - Retribuzione professionale docenti: 154,82 €

3 - Indennità integrativa speciale conglobata nello stipendio: 538,30 €

Il reddito su cui calcolare la ritenuta del 2,50% è: stipendio + indennità integrativa speciale; si eccettua, quindi, la retribuzione professionale docente:

1051,91 + 538,30 = 1.590,21 €

ma si prende solo l'80% di questo reddito e si ottiene:

1590,21  .  0,80 . 0,025 = 31,80

Notiamo che 80% si può scrivere 0,80; mentre 2,5% si può scrivere 0,025

Modifica di stipendio10.php con le ritenute opera di previdenza

Intanto fissiamo una zona del programma dove andremo a mettere tutte le percentuali delle ritenute; poi assegnamo a queste percentuali dei nomi facili; per questa ritenuta scriveremo:

// coefficienti delle ritenute

$opera = 0.8*0.025;

Per cui tutte le somme che andrò a moltiplicare per questa variabile mi daranno la ritenuta ottenuta da sottrarre allo stipendio lordo.

Vediamo come fare. 

Intanto notiamo che il nostro programma è diventato abbastanza lungo, per cui non lo riporteremo tutto ogni volta ma indicheremo solo il punto in cui effettuare le modifiche. 

Per ottenere il listato completo occorre prendere il file di testo che daremo ogni volta ed aggiungere all'inizio le istruzioni riportate di seguito

<html>

<body background="sfondo2.jpg">

<font face="Verdana" color="#FF00FF" size="5" >Programma per il calcolo dello stipendio netto.</font><br>

<font face="Verdana" size="4">Anno solare 2005<br><br>

 

parte da aggiungere all'inizio del file di testo prima delle istruzioni in php

Prendiamo il listato di stipendio10.php al punto:

// faccio dei calcoli

$mensile= ($matrice[$tre]-$matrice2[$personale])/12;

$integrativa = $matrice2[$personale]/12;

// stampo i risultati

Prima di

// stampo i risultati

mi faccio uno spazio e incollo:

// coefficienti delle ritenute

$opera = 0.8*0.025;

 

ottenendo:

// faccio dei calcoli

$mensile= ($matrice[$tre]-$matrice2[$personale])/12;

$integrativa = $matrice2[$personale]/12;

// coefficienti delle ritenute

$opera = 0.8*0.025;

// stampo i risultati

 

parte del listato di stipendio10.php modificata

 

Poi dobbiamo trovare una zona dove fare i calcoli delle ritenute; va bene la parte finale del programma, prima della fine del codice in php.

print ('<td width="15%">Imponibile</td><td width="15%">Aliquota%</td>');

print ('<td width="15%">Ritenuta</td><tr></table>');

?>

<body>

</html>

 

Per cui mi faccio uno spazio ed inizio a scrivere il codice per il calcolo delle ritenute. Distinguiamo due zone una per il personale ATA e l'altra per il personale docente.

Per il personale ATA scriviamo:

// calcolo ritenute

// calcolo ritenute personale ATA

if ($personale<6  {

                          $imp1= $mensile + $integrativa;

                          $rite1= $imp1*$opera                          

};

Per il personale docente scriviamo:

// calcolo ritenute personale docente

if ($personale>5) {

                        $imp1= $mensile2 + $integrativa2;

                       $rite1= $imp1*$opera;

                        };

Il listato modificato sarà:

print ('<td width="15%">Imponibile</td><td width="15%">Aliquota%</td>');

print ('<td width="15%">Ritenuta</td><tr></table>');

// calcolo ritenute

// calcolo ritenute personale ATA

if ($personale<6) {

$imp1= $mensile + $integrativa;

$rite1= $imp1*$opera;

};

// calcolo ritenute personale docente

if ($personale>5) {

$imp1= $mensile2 + $integrativa2;

$rite1= $imp1*$opera;

};

?>

<body>

</html>

 

parte del listato di stipendio10.php modificata

 

Non ci resta ora che la stampa delle ritenute; per cui scriviamo subito dopo:

 

// calcolo ritenute

// calcolo ritenute personale ATA

if ($personale<6) {

$imp1= $mensile + $integrativa;

$rite1= $imp1*$opera;

};

// calcolo ritenute personale docente

if ($personale>5) {

$imp1= $mensile2 + $integrativa2;

$rite1= $imp1*$opera;

};

// stampo le ritenute

print('<tr><td width="35%">OP. DI PREV./TFR</td>');

$stampo= number_format($imp1, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td>");

print('<td width="15%">2,50 su 80</td>');

$stampo= number_format($rite1, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td></tr></table>");

 

?>

</body>

</html>

 

parte del listato di stipendio10.php modificata

listato completo: stipendio10.txt

 

Salviamolo come stipendio10.php ed eseguiamo di nuovo stipendio6.php ; otteniamo:

2 - Ritenuta per il fondo credito

Una seconda ritenuta da calcolare è quella per il fondo credito, che è un fondo per ottenere dei prestiti o dei mutui.

La ritenuta per il fondo credito è pari  allo  0,35% applicato sul 100% del totale del reddito lordo, compreso il compenso indivuale accessorio e la retribuzione professionale docenti.

Esempio

Docente laureato scuola secondaria superiore.

1 - Stipendio 1051,91 €

2 - Retribuzione professionale docenti: 154,82 €

3 - Indennità integrativa speciale conglobata nello stipendio: 538,30 €

Il reddito su cui calcolare la ritenuta del 0,35% è: stipendio + retribuzione professionale docenti + indennità integrativa speciale;

1051,91 + 154,82+ 538,30 = 1.745,03 €

Pertanto la ritenuta fondo credito: 

1745,03 . 0,0035 = 6,11

Notiamo che 0,35% si può scrivere 0,0035

Modifica di stipendio10.php con le ritenute per il fondo credito

Useremo la variabile:

$fondo1= 0.0035;

da mettere nello spazio dei coefficienti che diventa:

// coefficienti delle ritenute

$opera = 0.8*0.025;

$fondo1 = 0.0035;

// stampo i risultati

 

Per il calcolo dell ritenute del personale ATA scriviamo:

if ($personale==5) $cia=0;

$imp2=$imp1+$cia;

$rite2= $imp2*$fondo1;

da notare che per il Direttore, cioè quando $personale==5 mettiamo $cia a zero. 

da mettere in:

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

};

 

Mentre per il personale docente aggiungeremo:

$imp2=$imp1+$rpd2;

$rite2= $imp2*$fondo1;

 

da mettere in:

// calcolo ritenute personale docente

if ($personale>5) {

$imp1= $mensile2 + $integrativa2;

$rite1= $imp1*$opera;

$imp2=$imp1+$rpd2;

$rite2= $imp2*$fondo1;

};

// stampo le ritenute

// stampo opera di previdenza/tfr

 

Per la stampa aggiungeremo le seguenti istruzioni alla fine del programma:

// stampo fondo credito

print('<tr><td width="35%">FONDO CREDITO</td>');

$stampo= number_format($imp2, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td>");

print('<td width="15%">0,35 su 100</td>');

$stampo= number_format($rite2, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td></tr>");

 

In definitiva la parte modificata è: 

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

};

// calcolo ritenute personale docente

if ($personale>5) {

$imp1= $mensile2 + $integrativa2;

$rite1= $imp1*$opera;

$imp2=$imp1+$rpd2;

$rite2= $imp2*$fondo1;

};

// stampo le ritenute

// stampo opera di previdenza/tfr

print('<tr><td width="35%">OP. DI PREV./TFR</td>');

$stampo= number_format($imp1, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td>");

print('<td width="15%">2,50 su 80</td>');

$stampo= number_format($rite1, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td></tr>");

// stampo fondo credito

print('<tr><td width="35%">FONDO CREDITO</td>');

$stampo= number_format($imp2, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td>");

print('<td width="15%">0,35 su 100</td>');

$stampo= number_format($rite2, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td></tr>");

 

?>

</body>

</html>

 

parte del listato di stipendio10.php modificata

listato completo: stipendio10.txt

 

Salviamolo come stipendio10.php ed eseguiamo di nuovo stipendio6.php ; otteniamo:

 

3 - Ritenuta INPDAP

La ritenuta INPDAP a carico del dipendente si calcola applicando la percentuale di 8,75% sullo stipendio lordo compresa la indennità integrativa speciale, il compenso individuale accessorio e la retribuzione professionale docenti. Stiamo trascurando in questa fase i supplenti temporanei.

Esempio

Docente laureato scuola secondaria superiore.

1 - Stipendio 1051,91 €

2 - Retribuzione professionale docenti: 154,82 €

3 - Indennità integrativa speciale conglobata nello stipendio: 538,30 €

Il reddito su cui calcolare la ritenuta del 8,75% è: stipendio + retribuzione professionale docenti + indennità integrativa speciale;

1051,91 + 154,82+ 538,30 = 1.745,03 €

Pertanto la ritenuta INPDAP sarà: 

1745,03 . 0,0875 = 152,69

Notiamo che 8,75% si può scrivere 0,0875

Modifica di stipendio10.php con le ritenute per INPDAP

Useremo la variabile:

$inpdap1= 0.0875;

da mettere nello spazio dei coefficienti che diventa:

// coefficienti delle ritenute

$opera = 0.8*0.025;

$fondo1 = 0.0035;

$inpdap1 = 0.0875;

// stampo i risultati

 

Per il calcolo dell ritenute del personale ATA scriviamo:

$imp3=$imp2;

$rite3= $imp3*$inpdap1;

 

da mettere in:

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

 

};

 

Analogamente per il personale docente aggiungeremo:

$imp3=$imp2;

$rite3= $imp3*$inpdap1;

 

da mettere in:

// calcolo ritenute personale docente

if ($personale>5) {

$imp1= $mensile2 + $integrativa2;

$rite1= $imp1*$opera;

$imp2=$imp1+$rpd2;

$rite2= $imp2*$fondo1;

$imp3=$imp2;

$rite3= $imp3*$inpdap1;

};

Per la stampa aggiungeremo le seguenti istruzioni alla fine del programma:

// stampo ritenuta INPDAP

print('<tr><td width="35%">INPDAP 100%</td>');

$stampo= number_format($imp3, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td>");

print('<td width="15%">8,75 su 100</td>');

$stampo= number_format($rite3, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td></tr>");

 

In definitiva la parte modificata è: 

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

 

};

// calcolo ritenute personale docente

if ($personale>5) {

$imp1= $mensile2 + $integrativa2;

$rite1= $imp1*$opera;

$imp2=$imp1+$rpd2;

$rite2= $imp2*$fondo1;

$imp3=$imp2;

$rite3= $imp3*$inpdap1;

};

// stampo le ritenute

// stampo opera di previdenza/tfr

print('<tr><td width="35%">OP. DI PREV./TFR</td>');

$stampo= number_format($imp1, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td>");

print('<td width="15%">2,50 su 80</td>');

$stampo= number_format($rite1, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td></tr>");

// stampo fondo credito

print('<tr><td width="35%">FONDO CREDITO</td>');

$stampo= number_format($imp2, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td>");

print('<td width="15%">0,35 su 100</td>');

$stampo= number_format($rite2, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td></tr>");

// stampo ritenuta INPDAP

print('<tr><td width="35%">INPDAP 100%</td>');

$stampo= number_format($imp3, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td>");

print('<td width="15%">8,75 su 100</td>');

$stampo= number_format($rite3, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td></tr>");

 

?>

</body>

</html>

 

parte del listato di stipendio10.php modificata

listato completo: stipendio10.txt

 

Salviamolo come stipendio10.php ed eseguiamo di nuovo stipendio6.php ; otteniamo:

 

 

Non ci resta ora che fare la somma delle tre ritenute, cioè

$ritenute = $rite1 + $rite2 + $rite3;

che metteremo sia per il personale ATA che per il personale docente, nei rispettivi spazi di calcolo delle ritenute, nella parte finale.

Ci possiamo anche ricavare l'imponibile fiscale del mese togliendo dal totale dello mensile stipendio lordo il totale delle ritenute mensili, con la istruzione:

$imponibile2 = $imponibile - $ritenute;

Per la stampa aggiungeremo le seguenti istruzioni alla fine del programma:

// stampo totale delle tre ritenute

print('<tr><td width="80%" colspan="4" >Totale ritenute assistenziali e previdenziali</td>');

print ('<td width="10%" >&nbsp;</td>');

$stampo= number_format($ritenute, 2, ',', '.');

print ('<td width="10%" align="right"><font color="#008000"><b>');

print("$stampo </b></font></td></tr>");

 

La parte modificata del programma è:

// 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('<tr><td width="35%">OP. DI PREV./TFR</td>');

$stampo= number_format($imp1, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td>");

print('<td width="15%">2,50 su 80</td>');

$stampo= number_format($rite1, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td></tr>");

// stampo fondo credito

print('<tr><td width="35%">FONDO CREDITO</td>');

$stampo= number_format($imp2, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td>");

print('<td width="15%">0,35 su 100</td>');

$stampo= number_format($rite2, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td></tr>");

// stampo ritenuta INPDAP

print('<tr><td width="35%">INPDAP 100%</td>');

$stampo= number_format($imp3, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td>");

print('<td width="15%">8,75 su 100</td>');

$stampo= number_format($rite3, 2, ',', '.');

print ('<td width="15%" align="right">');

print("$stampo </td></tr>");

// stampo totale delle tre ritenute

print('<tr><td width="80%" colspan="4" >Totale ritenute assistenziali e previdenziali</td>');

print ('<td width="10%" >&nbsp;</td>');

$stampo= number_format($ritenute, 2, ',', '.');

print ('<td width="10%" align="right"><font color="#008000"><b>');

print("$stampo </b></font></td></tr>");

 

?>

</body>

</html>

 

 

parte del listato di stipendio10.php modificata

listato completo: stipendio10.txt

 

Salviamolo come stipendio10.php ed eseguiamo di nuovo stipendio6.php ; otteniamo:

 

Corso di programmazione in PHP

Dizionario php

 

prof. Pietro De Paolis

Indice Scuola Elettrica - generico


Scuola Elettrica



 

Altre applicazioni


Mappa per tipo di scuola

 

Indice di tutte le pagine del sito


Guida per navigare


Richiesta informazioni


Scuola Elettrica