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). –
- L’imposta
lorda è determinata applicando al reddito complessivo, al netto degli
oneri deducibili indicati nell’articolo 10, le seguenti aliquote per
scaglioni di reddito:
- )
fino a 15.000 euro, 23 per cento;
- )
oltre 15.000 euro e fino a 28.000 euro, 27 per cento;
- ) oltre
28.000 euro e fino a 55.000 euro, 38 per cento;
- )
oltre 55.000 euro e fino a 75.000 euro, 41 per cento;
- )
oltre 75.000 euro, 43 per cento.
- 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.
- 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.
- 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:
- Me.R_AnnoIRPEF:
anno di computo dell’IRPEF (vedi la colonna Anno della tabella
AliquoteIRPEF;
- Me.R_ScaglionamentoIRPEF:
questo controllo mostra a video i risultati dell’applicazione dei vari
scaglioni IRPEF all’importo lordo.
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 (€)
|
|
800 – 110 * Reddito/15.000
|
15.000 < Reddito <= 40.000
|
690
|
40.000 < Reddito <= 80.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 (€)
|
|
|
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
|
|
|
n > 3
|
|
|
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 (€)
|
|
|
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).
- 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.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;
- ) 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;
- ) 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.
- La
detrazione spettante ai sensi del comma 1, lettera c), è aumentata di
un importo pari a:
- ) 10
euro, se l’ammontare del reddito complessivo è superiore a 23.000
euro ma non a 24.000 euro;
- ) 20
euro, se l’ammontare del reddito complessivo è superiore a 24.000
euro ma non a 25.000 euro;
- ) 30
euro, se l’ammontare del reddito complessivo è superiore a 25.000
euro ma non a 26.000 euro;
- ) 40
euro, se l’ammontare del reddito complessivo è superiore a 26.000
euro ma non a 27.700 euro;
- ) 25
euro, se l’ammontare del reddito complessivo è superiore a 27.700
euro ma non a 28.000 euro.
- 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.725
euro, se il reddito complessivo non supera 7.500 euro.
L’ammontare della detrazione effettivamente spettante non può essere
inferiore a 690 euro;
- ) 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;
- ) 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;
- 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.783
euro, se il reddito complessivo non supera 7.750 euro.
L’ammontare della detrazione effettivamente spettante non può essere inferiore
a 713 euro;
- ) 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;
- ) 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.
- 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),
spetta una detrazione dall’imposta lorda, non cumulabile con quelle
previste ai commi 1, 2, 3 e 4 del presente articolo, pari a:
- ) 1.104
euro, se il reddito complessivo non supera 4.800 euro;
- ) 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.
- 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