CALCOLO IRPEF 2007

Michele de Nittis

Testo Normativo Articolo 1 Comma 6 (L. 296/2006)

Al testo unico delle imposte sui redditi, di cui al decreto del Presidente della Repubblica 22 dicembre 1986, n. 917, e successive modificazioni, sono apportate le seguenti modificazioni: a) all’articolo 3, relativo alla base imponibile, al comma 1, le parole: ", nonché delle deduzioni effettivamente spettanti ai sensi degli articoli 11 e 12," sono soppresse;

Scaglioni

l’articolo 11 è sostituito dal seguente: "Art. 11. – (Determinazione dell’imposta). –

  1. L’imposta lorda è determinata applicando al reddito complessivo, al netto degli oneri deducibili indicati nell’articolo 10, le seguenti aliquote per scaglioni di reddito:
    1. ) fino a 15.000 euro, 23 per cento;
    2. ) oltre 15.000 euro e fino a 28.000 euro, 27 per cento;
    3. ) oltre 28.000 euro e fino a 55.000 euro, 38 per cento;
    4. ) oltre 55.000 euro e fino a 75.000 euro, 41 per cento;
    5. ) oltre 75.000 euro, 43 per cento.
  2. Se alla formazione del reddito complessivo concorrono soltanto redditi di pensione non superiori a 7.500 euro, goduti per l’intero anno, redditi di terreni per un importo non superiore a 185,92 euro e il reddito dell’unità immobiliare adibita ad abitazione principale e delle relative pertinenze, l’imposta non è dovuta.
  3. L’imposta netta è determinata operando sull’imposta lorda, fino alla concorrenza del suo ammontare, le detrazioni previste negli articoli 12, 13, 15 e 16 nonché in altre disposizioni di legge.
  4. Dall’imposta netta si detrae l’ammontare dei crediti d’imposta spettanti al contribuente a norma dell’articolo 165. Se l’ammontare dei crediti d’imposta è superiore a quello dell’imposta netta il contribuente ha diritto, a sua scelta, di computare l’eccedenza in diminuzione dell’imposta relativa al periodo d’imposta successivo o di chiederne il rimborso in sede di dichiarazione dei redditi";

In altre parole

Scaglione (€)

Aliquota (%)

0 < Reddito <= 15.000

23

15.000 < Reddito <= 28.000

27

28.000 < Reddito <= 55.000

38

55.000 < Reddito <= 75.000

41

75.000 Reddito

43

 

Implementazione

In previsione di un futuro riutilizzo del codice, si è predisposta una tabella, denominata AliquoteIRPEF, la cui struttura e contenuto sono descritti nella seguente tabella:

 

ID

Da

A

aliquota

anno

1

€ 0

€ 15.000

0,23

2007

2

€ 15.000

€ 28.000

0,27

2007

3

€ 28.000

€ 55.000

0,38

2007

4

€ 55.000

€ 75.000

0,41

2007

5

€ 75.000

 

0,43

2007

 

Si noti che la tabella può contenere scaglioni ed aliquote di diversi anni finanziari.

La procedura che calcola l’IRPEF è la seguente:

 

Private Function calcolaIRPEF(imponibile As Double) As Double

Dim imponibile_residuo As Double

Dim scaglione_da, scaglione_a As Double

Dim MySql As String

Dim Recset As DAO.Recordset

Dim aliquota As Single

 

'// Prelevo la tavola di calcolo dell'imposta

MySql = "SELECT * FROM AliquoteIRPEF WHERE anno=" & Me.R_AnnoIRPEF.Value & " ORDER BY Da"

Set Recset = CurrentDb.OpenRecordset(MySql, dbOpenDynaset)

 

'// inizializzazione

imponibile_residuo = 0

 

'// controllo iniziale

If imponibile = 0 Then

    calcolaIRPEF = 0

    Exit Function

End If

' // ciclo di calcolo

Do While (Recset.EOF = False)

    aliquota = Recset.Fields("aliquota").Value

    scaglione_da = Recset.Fields("Da").Value

    If IsNull(Recset.Fields("A").Value) = True Then

        '// ultimo scaglione IRPEF

        imponibile_residuo = (imponibile - scaglione_da) * aliquota

        calcolaIRPEF = calcolaIRPEF + imponibile_residuo '// nota: i valori delle aliquote sono già pronti

        '// predisposizione della per mostrare il risultato

        Me.R_ScaglionamentoIRPEF.RowSource = Me.R_ScaglionamentoIRPEF.RowSource & ";" & Format(scaglione_da, "####.#0") & "; ;" & aliquota * 100 & ";" & Format(imponibile_residuo, "####.#0")

        Exit Do

    End If

    scaglione_a = Recset.Fields("A").Value

    If imponibile >= scaglione_a Then

        imponibile_residuo = (scaglione_a - scaglione_da) * aliquota

        calcolaIRPEF = calcolaIRPEF + imponibile_residuo

        '// predisposizione della per mostrare il risultato

        Me.R_ScaglionamentoIRPEF.RowSource = Me.R_ScaglionamentoIRPEF.RowSource & ";" & Format(scaglione_da, "####.#0") & ";" & Format(scaglione_a, "####.#0") & ";" & aliquota * 100 & ";" & Format(imponibile_residuo, "####.#0")

    Else

        imponibile_residuo = (imponibile - scaglione_da) * aliquota

        calcolaIRPEF = calcolaIRPEF + imponibile_residuo

        '// predisposizione della per mostrare il risultato

        Me.R_ScaglionamentoIRPEF.RowSource = Me.R_ScaglionamentoIRPEF.RowSource & ";" & Format(scaglione_da, "####.#0") & ";" & Format(scaglione_a, "####.#0") & ";" & aliquota * 100 & ";" & Format(imponibile_residuo, "####.#0")

        Exit Do

    End If

    Recset.MoveNext

Loop

End Function

 

NOTA BENE

La procedura sopra riportata prevede una maschera in cui sono presenti dei controlli da cui prelevare dei valori necessari per il calcolo o per mostrare i risultati del calcolo:

Detrazioni Per carichi di Famiglia (ex NTFA)

l’articolo 12 è sostituito dal seguente: "Art. 12. – (Detrazioni per carichi di famiglia). –

1.     Dall’imposta lorda si detraggono per carichi di famiglia i seguenti importi:

a)     per il coniuge non legalmente ed effettivamente separato:

1)    800 euro, diminuiti del prodotto tra 110 euro e l’importo corrispondente al rapporto fra reddito complessivo e 15.000 euro, se il reddito complessivo non supera 15.000 euro;

2)    690 euro, se il reddito complessivo è superiore a 15.000 euro ma non a 40.000 euro;

3)    690 euro, se il reddito complessivo è superiore a 40.000 euro ma non a 80.000 euro. La detrazione spetta per la parte corrispondente al rapporto tra l’importo di 80.000 euro, diminuito del reddito complessivo, e 40.000 euro;

b)    la detrazione spettante ai sensi della lettera a) è aumentata di un importo pari a:

1)    10 euro, se il reddito complessivo è superiore a 29.000 euro ma non a 29.200 euro;

2)    20 euro, se il reddito complessivo è superiore a 29.200 euro ma non a 34.700 euro;

3)    30 euro, se il reddito complessivo è superiore a 34.700 euro ma non a 35.000 euro;

4)    20 euro, se il reddito complessivo è superiore a 35.000 euro ma non a 35.100 euro;

5)    10 euro, se il reddito complessivo è superiore a 35.100 euro ma non a 35.200 euro;

c)     800 euro per ciascun figlio, compresi i figli naturali riconosciuti, i figli adottivi e gli affidati o affiliati. La detrazione è aumentata a 900 euro per ciascun figlio di età inferiore a tre anni. Le predette detrazioni sono aumentate di un importo pari a 220 euro per ogni figlio portatore di handicap ai sensi dell’articolo 3 della legge 5 febbraio 1992, n. 104. Per i contribuenti con più di tre figli a carico la detrazione è aumentata di 200 euro per ciascun figlio a partire dal primo. La detrazione spetta per la parte corrispondente al rapporto tra l’importo di 95.000 euro, diminuito del reddito complessivo, e 95.000 euro. In presenza di più figli, l’importo di 95.000 euro è aumentato per tutti di 15.000 euro per ogni figlio successivo al primo. La detrazione è ripartita nella misura del 50 per cento tra i genitori non legalmente ed effettivamente separati ovvero, previo accordo tra gli stessi, spetta al genitore che possiede un reddito complessivo di ammontare più elevato. In caso di separazione legale ed effettiva o di annullamento, scioglimento o cessazione degli effetti civili del matrimonio, la detrazione spetta, in mancanza di accordo, al genitore affidatario. Nel caso di affidamento congiunto o condiviso la detrazione è ripartita, in mancanza di accordo, nella misura del 50 per cento tra i genitori. Ove il genitore affidatario ovvero, in caso di affidamento congiunto, uno dei genitori affidatari non possa usufruire in tutto o in parte della detrazione, per limiti di reddito, la detrazione è assegnata per intero al secondo genitore. Quest’ultimo, salvo diverso accordo tra le parti, è tenuto a riversare all’altro genitore affidatario un importo pari all’intera detrazione ovvero, in caso di affidamento congiunto, pari al 50 per cento della detrazione stessa. In caso di coniuge fiscalmente a carico dell’altro, la detrazione compete a quest’ultimo per l’intero importo. Se l’altro genitore manca o non ha riconosciuto i figli naturali e il contribuente non è coniugato o, se coniugato, si è successivamente legalmente ed effettivamente separato, ovvero se vi sono figli adottivi, affidati o affiliati del solo contribuente e questi non è coniugato o, se coniugato, si è successivamente legalmente ed effettivamente separato, per il primo figlio si applicano, se più convenienti, le detrazioni previste alla lettera a);

d)    750 euro, da ripartire pro quota tra coloro che hanno diritto alla detrazione, per ogni altra persona indicata nell’articolo 433 del codice civile che conviva con il contribuente o percepisca assegni alimentari non risultanti da provvedimenti dell’autorità giudiziaria. La detrazione spetta per la parte corrispondente al rapporto tra l’importo di 80.000 euro, diminuito del reddito complessivo, e 80.000 euro.

2.     Le detrazioni di cui al comma 1 spettano a condizione che le persone alle quali si riferiscono possiedano un reddito complessivo, computando anche le retribuzioni corrisposte da enti e organismi internazionali, rappresentanze diplomatiche e consolari e missioni, nonché quelle corrisposte dalla Santa Sede, dagli enti gestiti direttamente da essa e dagli enti centrali della Chiesa cattolica, non superiore a 2.840,51 euro, al lordo degli oneri deducibili.

3.     Le detrazioni per carichi di famiglia sono rapportate a mese e competono dal mese in cui si sono verificate a quello in cui sono cessate le condizioni richieste.

4.     Se il rapporto di cui al comma 1, lettera a), numero 1), è uguale a uno, la detrazione compete nella misura di 690 euro. Se i rapporti di cui al comma 1, lettera a), numeri 1) e 3), sono uguali a zero, la detrazione non compete. Se i rapporti di cui al comma 1, lettere c) e d), sono pari a zero, minori di zero o uguali a uno, le detrazioni non competono. Negli altri casi, il risultato dei predetti rapporti si assume nelle prime quattro cifre decimali";


 

In altre parole

Coniuge non legalmente ed effettivamente separato

Reddito

Detrazione (€)

0 < Reddito <= 15.000

800 – 110 * Reddito/15.000

15.000 < Reddito <= 40.000

690

40.000 < Reddito <= 80.000

690 * (80.000 – Reddito) / 40.000

80.000 < Reddito

0

 

Implementazione VBA-Access

La detrazione per familiari a carico viene calcolata con le seguenti funzioni VBA:

 

Public Function detrazioniFamiliari(LordoRPA As Double, n_tot_figli As Integer, n_figli3 As Integer, n_figli As Integer, nh3 As Integer, nh As Integer, n_familiari As Integer, coniuge As Boolean, mesi As Integer, perc As Double) As Double

' calcola le detrazioni

'   LordoRPA:           Lordo;

'   n_tot_figli:        Numero totale di figli a carico;

'   n_figli:            Numero di figli di età non inferiore a tre anni

'   n_figli3:           Numero di figli di età inferiore a tre anni

'   nh:                 Numero di figli portatori di handicap

'   nh3:                Numero di figli di età inferiore ai tre anni portatori di handicap

'   n_familiari:        Numero di altri familiari a carico

'   mesi:               Numero di mesi effettivi di carico in un anno

'   perc:               Percentuale di carico dei figli

 

If mesi < 1 Then mesi = 1

If mesi > 12 Then mesi = 12

detrazioniFamiliari = (perc / 100) * detrazioneFigli(LordoRPA, n_tot_figli, n_figli, n_figli3, nh3, nh, mesi) + detrazioneAltriFamiliari(LordoRPA, n_familiari, mesi)

If coniuge = True Then

    detrazioniFamiliari = detrazioniFamiliari + detrazioneConiuge(LordoRPA, mesi)

End If

End Function

 

Private Function detrazioneConiuge(LordoRPA As Double, mesi As Integer) As Double

' 08/01/2007

' Detrazione per conuige

Dim rapporto As Double

If LordoRPA <= 15000 Then

    rapporto = (LordoRPA / 15000)

    If rapporto <> 0 Then

        detrazioneConiuge = 800 - 110 * tronca4(rapporto)

    Else

        detrazioneConiuge = 0

    End If

End If

 

If 15000 < LordoRPA And LordoRPA <= 40000 Then

    detrazioneConiuge = 690

    If 29000 < LordoRPA And LordoRPA <= 29200 Then detrazioneConiuge = detrazioneConiuge + 10

    If 29200 < LordoRPA And LordoRPA <= 34700 Then detrazioneConiuge = detrazioneConiuge + 20

    If 34700 < LordoRPA And LordoRPA <= 35000 Then detrazioneConiuge = detrazioneConiuge + 30

    If 35000 < LordoRPA And LordoRPA <= 35100 Then detrazioneConiuge = detrazioneConiuge + 20

    If 35100 < LordoRPA And LordoRPA <= 35200 Then detrazioneConiuge = detrazioneConiuge + 10

End If

 

If 40000 < LordoRPA And LordoRPA <= 80000 Then

    rapporto = (80000 - LordoRPA) / 40000

    detrazioneConiuge = 690 * tronca4(rapporto)

End If

 

If LordoRPA > 80000 Then detrazioneConiuge = 0

detrazioneConiuge = detrazioneConiuge * (mesi / 12#)

End Function


 

Figli a carico

Figli

 

Detrazione (€)

1 di n

 

800 * (95.000 + ((n-1)*15.000) – Reddito) / (95.000 + (n-1)*15.000))

1 di n (di età inferiore a tre anni)

 

900 * (95.000 + ((n-1)*15.000) – Reddito) / (95.000 + (n-1)*15.000))

n con handicap

 

Detrazione + n*220

n > 3

 

Detrazione + n*200

 

Implementazione VBA-Access

Private Function detrazioneFigli(LordoRPA As Double, n_tot_figli As Integer, n As Integer, n3 As Integer, nh3 As Integer, nh As Integer, mesi As Integer) As Double

' detrazione per figli

' n_tot_figli   : numero totale di figli;

' n             : numero di figli di età inferiore ai tre anni

' n3            : numero di figli di età superiore o uguale a tre anni

' nh3           : numero di figli di età inferiore ai tre anni portatori di handicap

' nh            : numero di figli portatori di handicap

' mesi          : numero di mesi di carico

detrazioneFigli = detrazioneFigli3(LordoRPA, n, nh, n_tot_figli, mesi)

detrazioneFigli = detrazioneFigli + detrazioneFigliMin3(LordoRPA, n3, nh3, n_tot_figli, mesi)

End Function

 

Private Function detrazioneFigliMin3(RedditoRPA As Double, n As Integer, nh As Integer, n_tot_figli As Integer, mesi As Integer) As Double

' detrazione per figli minori di tre anni

' n= numero di figli inferiori a tre anni

' n_tot_figli = numero complessivo di figli

' mesi = numero di mesi di carico

Dim rapporto As Double

Dim detrazione_supplementare As Double

Dim detrazione_handicap As Double

If n_tot_figli = 0 Then

    detrazioneFigliMin3 = 0

    Exit Function

End If

' se i figli sono più di tre

If n_tot_figli > 3 Then

    detrazione_supplementare = 200#

Else

    detrazione_supplementare = 0#

End If

' se vi sono figli portatori di handicap

If nh > 0 Then

    detrazione_handicap = 220#

Else

    detrazione_handicap = 0

End If

rapporto = (95000# + ((n_tot_figli - 1) * 15000#) - RedditoRPA) / (95000# + (n_tot_figli - 1) * 15000#)

   

If rapporto <= 0 Or rapporto = 1 Then

    detrazioneFigliMin3 = 0

Else

    'detrazioneFigliMin3 = n * (900# + detrazione_supplementare) * tronca4(rapporto)

    detrazioneFigliMin3 = ((n - nh) * (900# + detrazione_supplementare) + nh * (900# + detrazione_handicap + detrazione_supplementare)) * tronca4(rapporto)

End If

    detrazioneFigliMin3 = detrazioneFigliMin3 * (mesi / 12#)

End Function

 

Private Function detrazioneFigli3(RedditoRPA As Double, n As Integer, nh As Integer, n_tot_figli As Integer, mesi As Integer) As Double

' detrazione per figli maggiori di tre anni

' n= numero di figli maggiori di tre anni

' nh = numero di figli portatori di handicap

' n_tot_figli = numero complessivo di figli

Dim rapporto As Double

Dim detrazione_supplementare As Double

Dim detrazione_handicap As Double

 

'controllo cautelativo

If nh > n Then nh = n

If n_tot_figli <= 0 Or n <= 0 Then

    detrazioneFigli3 = 0

    Exit Function

End If

' se i figli sono più di tre

If n_tot_figli > 3 Then

    detrazione_supplementare = 200#

Else

    detrazione_supplementare = 0#

End If

' se vi sono figli portatori di handicap

If nh > 0 Then

    detrazione_handicap = 220#

Else

    detrazione_handicap = 0

End If

' calcolo del rapporto

rapporto = (95000# + ((n_tot_figli - 1) * 15000#) - RedditoRPA) / (95000# + (n_tot_figli - 1) * 15000#)

   

If rapporto <= 0 Or rapporto = 1 Then

    detrazioneFigli3 = 0

Else

    'detrazioneFigli3 = n * (800# + detrazione_supplementare) * tronca4(rapporto)

    detrazioneFigli3 = ((n - nh) * (800# + detrazione_supplementare) + nh * (800# + detrazione_handicap + detrazione_supplementare)) * tronca4(rapporto)

End If

detrazioneFigli3 = detrazioneFigli3 * (mesi / 12#)

End Function

 

Altri Familiari a carico conviventi

Familiari

 

Detrazione (€)

1 di n

 

750 * (80.000 – Reddito) / 80.000

 

Private Function detrazioneAltriFamiliari(LordoRPA As Double, n As Integer, mesi As Integer) As Double

' detrazione per altri familiari a carico conviventi

' n=numero di familiari a carico

' mesi= numero di mesi a carico

Dim rapporto As Double

If n = 0 Then

    detrazioneAltriFamiliari = 0

    Exit Function

End If

rapporto = (80000# - LordoRPA) / 80000#

 

' clausola per non far sballare il programma

If LordoRPA < 0 Then LordoRPA = 0 'un po' improbabile ma non si sa mai...

 

If rapporto > 0 And rapporto < 1 Then

    detrazioneAltriFamiliari = n * (750 * tronca4(rapporto))

    'detrazioneAltriFamiliari = 0

Else

    detrazioneAltriFamiliari = 0

End If

detrazioneAltriFamiliari = detrazioneAltriFamiliari * (mesi / 12#)

End Function

Altre Detrazioni (ex NTA)

l’articolo 13 è sostituito dal seguente: "Art. 13. – (Altre detrazioni).

  1. Se alla formazione del reddito complessivo concorrono uno o più redditi di cui agli articoli 49, con esclusione di quelli indicati nel comma 2, lettera a), e 50, comma 1, lettere a), b), c), c-bis), d), h-bis) e l), spetta una detrazione dall’imposta lorda, rapportata al periodo di lavoro nell’anno, pari a:
    1. ) 1.840 euro, se il reddito complessivo non supera 8.000 euro. L’ammontare della detrazione effettivamente spettante non può essere inferiore a 690 euro. Per i rapporti di lavoro a tempo determinato, l’ammontare della detrazione effettivamente spettante non può essere inferiore a 1.380 euro;
    2. ) 1.338 euro, aumentata del prodotto tra 502 euro e l’importo corrispondente al rapporto tra 15.000 euro, diminuito del reddito complessivo, e 7.000 euro, se l’ammontare del reddito complessivo è superiore a 8.000 euro ma non a 15.000 euro;
    3. ) 1.338 euro, se il reddito complessivo è superiore a 15.000 euro ma non a 55.000 euro. La detrazione spetta per la parte corrispondente al rapporto tra l’importo di 55.000 euro, diminuito del reddito complessivo, e l’importo di 40.000 euro.
  2. La detrazione spettante ai sensi del comma 1, lettera c), è aumentata di un importo pari a:
    1. ) 10 euro, se l’ammontare del reddito complessivo è superiore a 23.000 euro ma non a 24.000 euro;
    2. ) 20 euro, se l’ammontare del reddito complessivo è superiore a 24.000 euro ma non a 25.000 euro;
    3. ) 30 euro, se l’ammontare del reddito complessivo è superiore a 25.000 euro ma non a 26.000 euro;
    4. ) 40 euro, se l’ammontare del reddito complessivo è superiore a 26.000 euro ma non a 27.700 euro;
    5. ) 25 euro, se l’ammontare del reddito complessivo è superiore a 27.700 euro ma non a 28.000 euro.
  3. Se alla formazione del reddito complessivo concorrono uno o più redditi di PENSIONE di cui all’articolo 49, comma 2, lettera a), spetta una detrazione dall’imposta lorda, non cumulabile con quella di cui al comma 1 del presente articolo, rapportata al periodo di pensione nell’anno, pari a:
    1. ) 1.725 euro, se il reddito complessivo non supera 7.500 euro. L’ammontare della detrazione effettivamente spettante non può essere inferiore a 690 euro;
    2.  ) 1.255 euro, aumentata del prodotto tra 470 euro e l’importo corrispondente al rapporto tra 15.000 euro, diminuito del reddito complessivo, e 7.500 euro, se l’ammontare del reddito complessivo è superiore a 7.500 euro ma non a 15.000 euro;
    3. ) 1.255 euro, se il reddito complessivo è superiore a 15.000 euro ma non a 55.000 euro. La detrazione spetta per la parte corrispondente al rapporto tra l’importo di 55.000 euro, diminuito del reddito complessivo, e l’importo di 40.000 euro;
  4. Se alla formazione del reddito complessivo dei soggetti di età non inferiore a 75 anni concorrono uno o più redditi di pensione di cui all’articolo 49, comma 2, lettera a), spetta una detrazione dall’imposta lorda, in luogo di quella di cui al comma 3 del presente articolo, rapportata al periodo di pensione nell’anno e non cumulabile con quella prevista al comma 1, pari a:
    1. ) 1.783 euro, se il reddito complessivo non supera 7.750 euro. L’ammontare della detrazione effettivamente spettante non può essere inferiore a 713 euro;
    2. ) 1.297 euro, aumentata del prodotto tra 486 euro e l’importo corrispondente al rapporto tra 15.000 euro, diminuito del reddito complessivo, e 7.250 euro, se l’ammontare del reddito complessivo è superiore a 7.750 euro ma non a 15.000 euro;
    3. ) 1.297 euro, se il reddito complessivo è superiore a 15.000 euro ma non a 55.000 euro. La detrazione spetta per la parte corrispondente al rapporto tra l’importo di 55.000 euro, diminuito del reddito complessivo, e l’importo di 40.000 euro.
  5.  Se alla formazione del reddito complessivo concorrono uno o più redditi di cui agli articoli 50, comma 1, lettere e), f), g), h) e i), 53, 66 e 67, comma 1, lettere i) e l)[1], spetta una detrazione dall’imposta lorda, non cumulabile con quelle previste ai commi 1, 2, 3 e 4 del presente articolo, pari a:
    1. ) 1.104 euro, se il reddito complessivo non supera 4.800 euro;
    2. ) 1.104 euro, se il reddito complessivo è superiore a 4.800 euro ma non a 55.000 euro. La detrazione spetta per la parte corrispondente al rapporto tra l’importo di 55.000 euro, diminuito del reddito complessivo, e l’importo di 50.200 euro.
  6. Se il risultato dei rapporti indicati nei commi 1, 3, 4 e 5 è maggiore di zero, lo stesso si assume nelle prime quattro cifre decimali. "; e) all’articolo 24, il comma 3 è sostituito dal seguente: "3. Dall’imposta lorda si scomputano le detrazioni di cui all’articolo 13 nonché quelle di cui all’articolo 15, comma 1, lettere a), b), g), h), h-bis) e i). Le detrazioni per carichi di famiglia non competono".

In altre parole:

Lavoratore Dipendente

Fascia di reddito annuo (importi in €)

Detrazione (€)

0< Reddito <= 8.000

1.840 ovvero 1.380 per lavoratori a T.D.

8.000 < Reddito <= 15.000

1.338 + 502 * (15.000 – Reddito) / 7000

15.000 < Reddito <= 55.000

1.338 * (55.000 – Reddito) / 40.000

Reddito > 55.000

0

 

Pensionato di età inferiore a 75 anni

Fascia di reddito annuo (importi in €)

Detrazione (€)

0< Reddito <= 7.500

1.725.

7.000 < Reddito <= 15.000

1.255 + 470 * (15.000 – Reddito) / 7500

15.000 < Reddito <= 55.000

1.255 * (55.000 – Reddito) / 40.000

Reddito > 55.000

0

 

Pensionato di età superiore o uguale a 75 anni

Fascia di reddito annuo (importi in €)

Detrazione (€)

0< Reddito <= 7.500

1.783.

7.000 < Reddito <= 15.000

1.297 + 486 * (15.000 – Reddito) / 7.250

15.000 < Reddito <= 55.000

1.297 * (55.000 – Reddito) / 40.000

Reddito > 55.000

0

 

Lavoratore Autonomo e altre fattispecie

Fascia di reddito annuo (importi in €)

Detrazione (€)

0< Reddito <= 4.800

1.104

4.800 < Reddito <= 55.000

1.104 * (55.000 – Reddito) / 50.200

Reddito > 55.000

0

 

Implementazione VBA-Access

Public Function calcolaDetrazioneIRPEF(LordoRPA As Double, tipologia As Integer, gg As Integer) As Double

' Calcola la detrazione IRPEF in funzione della tipologia di contribuente

' - Lordo RPA: Importo lordo al netto delle ritenute assistenziali e previdenziali

' - tipologia: {1,2,3,4,5} tipologia di contribuente/lavoratore;

' - gg: giorni di lavoro effettivamente svolto.

' 05/01/2006

Select Case tipologia

    Case 1

        calcolaDetrazioneIRPEF = calcolaDetrazioneIRPEFDipendente(LordoRPA, False)

    Case 2

        calcolaDetrazioneIRPEF = calcolaDetrazioneIRPEFDipendente(LordoRPA, True)

    Case 3

        calcolaDetrazioneIRPEF = calcolaDetrazioneIRPEFAutonomo(LordoRPA)

    Case 4

        calcolaDetrazioneIRPEF = calcolaDetrazioneIRPEFPensionato(LordoRPA)

    Case 5

        calcolaDetrazioneIRPEF = calcolaDetrazioneIRPEFPensionato75(LordoRPA)

End Select

    calcolaDetrazioneIRPEF = calcolaDetrazioneIRPEF * (gg / 365)

End Function

 

Lavoratore dipendente a Tempo determinato o indeterminato

Private Function calcolaDetrazioneIRPEFDipendente(LordoRPA As Double, TD As Boolean) As Double

' Calcola la detrazione IRPEF per un dipendente

' TD = true indica un lavoratore a tempo determinato

' 05/01/2006

 

If LordoRPA <= 8000 Then calcolaDetrazioneIRPEFDipendente = 1840

If LordoRPA > 8000 And LordoRPA <= 15000 Then calcolaDetrazioneIRPEFDipendente = 1338 + 502 * (15000 - LordoRPA) / 7000

If LordoRPA > 15000 And LordoRPA <= 55000 Then

    calcolaDetrazioneIRPEFDipendente = 1338 * (55000 - LordoRPA) / 40000

    If LordoRPA > 23000 And LordoRPA <= 24000 Then calcolaDetrazioneIRPEFDipendente = calcolaDetrazioneIRPEFDipendente + 10

    If LordoRPA > 24000 And LordoRPA <= 25000 Then calcolaDetrazioneIRPEFDipendente = calcolaDetrazioneIRPEFDipendente + 20

    If LordoRPA > 25000 And LordoRPA <= 26000 Then calcolaDetrazioneIRPEFDipendente = calcolaDetrazioneIRPEFDipendente + 30

    If LordoRPA > 26000 And LordoRPA <= 27000 Then calcolaDetrazioneIRPEFDipendente = calcolaDetrazioneIRPEFDipendente + 40

    If LordoRPA > 27000 And LordoRPA <= 28000 Then calcolaDetrazioneIRPEFDipendente = calcolaDetrazioneIRPEFDipendente + 25

End If

If LordoRPA > 55000 Then calcolaDetrazioneIRPEFDipendente = 0

 

' Lavoratore a tempo determinato

If (TD = True And calcolaDetrazioneIRPEFDipendente < 690 And LordoRPA <= 8000) Then calcolaDetrazioneIRPEFDipendente = 690

 

End Function

 

Lavoratore Autonomo

Private Function calcolaDetrazioneIRPEFAutonomo(LordoRPA As Double) As Double

' Calcola la detrazione IRPEF per un lavoratore autonomo o altre categorie similari di

' cui agli artt. 50, 53, 66, 67 del TUIR

' 05/01/2006

 

If LordoRPA <= 4800 Then calcolaDetrazioneIRPEFAutonomo = 1104

If LordoRPA > 4800 And LordoRPA <= 55000 Then calcolaDetrazioneIRPEFAutonomo = 1104 * (55000# - LordoRPA) / 50200#

End Function

 

Pensionato

Private Function calcolaDetrazioneIRPEFPensionato(LordoRPA As Double) As Double

' Calcola la detrazione IRPEF per un pensionato

' 05/01/2006

 

If LordoRPA <= 7500 Then calcolaDetrazioneIRPEFPensionato = 1725

If LordoRPA > 7500 And LordoRPA <= 15000 Then calcolaDetrazioneIRPEFPensionato = 1255 + 470 * (15000 - LordoRPA) / 7000

If LordoRPA > 15000 And LordoRPA <= 55000 Then calcolaDetrazioneIRPEFPensionato = 1255 * (55000 - LordoRPA) / 40000

If LordoRPA > 55000 Then calcolaDetrazioneIRPEFPensionato = 0

 

' Valore minimo

If (calcolaDetrazioneIRPEFPensionato > 690 And LordoRPA <= 7500) Then calcolaDetrazioneIRPEFPensionato = 690

 

End Function

 

Pensionato oltre 75 anni

Private Function calcolaDetrazioneIRPEFPensionato75(LordoRPA As Double) As Double

' Calcola la detrazione IRPEF per un pensionato over 75

' 05/01/2006

 

If LordoRPA <= 7750 Then calcolaDetrazioneIRPEFPensionato75 = 1783

If LordoRPA > 7750 And LordoRPA <= 15000 Then calcolaDetrazioneIRPEFPensionato75 = 1297 + 486 * (15000 - LordoRPA) / 7250

If LordoRPA > 15000 And LordoRPA <= 55000 Then calcolaDetrazioneIRPEFPensionato75 = 1297 * (55000 - LordoRPA) / 40000

If LordoRPA > 55000 Then calcolaDetrazioneIRPEFPensionato75 = 0

 

' Valore minimo

If (calcolaDetrazioneIRPEFPensionato75 > 713 And LordoRPA <= 7750) Then calcolaDetrazioneIRPEFPensionato75 = 713

 

End Function



[1]

·       l'attività libero professionale intramuraria del personale dipendente del Servizio sanitario nazionale;

·       gettoni di presenza e gli altri compensi corrisposti dallo Stato, dalle regioni, dalle province e dai comuni per l'esercizio di pubbliche funzioni … ;

·       indennità … percepite dai membri del Parlamento …;

·       rendite vitalizie e le rendite a tempo determinato…;

·       gli altri assegni periodici;

·       redditi di lavoro autonomo;

·       redditi d'impresa dei soggetti che … sono ammessi al regime di contabilità semplificata (imprese minori);

·       redditi derivanti da attività commerciali non esercitate abitualmente;

·       redditi derivanti da attività di lavoro autonomo non esercitate abitualmente o dalla assunzione di obblighi di fare, non fare o permettere;