Skip to content
Snippets Groups Projects
Commit 552f7c4d authored by benoit-cty's avatar benoit-cty
Browse files

Extrait la majoration et en fait une minoration de la CDHR

parent 47b5c28d
No related branches found
No related tags found
1 merge request!51CDHR : Corrige la majoration pour situation familiale
......@@ -13,6 +13,7 @@ from openfisca_france_reforms.plf_plfss_2025.cdhr import (
contribution_differentielle_hauts_revenus_decote,
contribution_differentielle_hauts_revenus_eligible,
contribution_differentielle_hauts_revenus,
contribution_exceptionnelle_hauts_revenus_majoration,
impots_directs
)
......@@ -135,4 +136,5 @@ class PlfPlfss2025(Reform):
self.add_variable(contribution_differentielle_hauts_revenus_eligible)
self.add_variable(contribution_differentielle_hauts_revenus)
self.add_variable(contribution_differentielle_hauts_revenus_decote)
self.add_variable(contribution_exceptionnelle_hauts_revenus_majoration)
self.update_variable(impots_directs)
......@@ -63,6 +63,28 @@ class contribution_differentielle_hauts_revenus_eligible(Variable):
return revenu_celibataire_eligible + revenu_couple_eligible
class contribution_exceptionnelle_hauts_revenus_majoration(Variable):
value_type = float
entity = FoyerFiscal
label = "Majoration de la contribution différentielle sur les hauts revenus"
# reference = TODO
definition_period = YEAR
calculate_output = calculate_output_divide
documentation = '''
Selon "Évaluations préalables des articles du projet de loi" :
TODO
'''
def formula_2024_01_01(foyer_fiscal, period, parameters): # PLF 2025 sur revenus 2024
# [Majoration à ip_net + pfu + prelevement_forfaitaire_liberatoire + contribution_exceptionnelle_hauts_revenus]
# III. - 2° (...)
# majoré de 1 500 € par personne à charge au sens des articles
majoration_impot_pac = parameters(period).impot_revenu.contributions_exceptionnelles.contribution_differentielle_hauts_revenus.majoration_impot_pac
nb_pac = foyer_fiscal("nb_pac", period)
# 196 à 196 B et de 12 500 € pour les contribuables soumis à imposition commune.
majoration_impot_couple = parameters(period).impot_revenu.contributions_exceptionnelles.contribution_differentielle_hauts_revenus.majoration_impot_couple
nb_adult = foyer_fiscal("nb_adult", period)
return nb_pac * majoration_impot_pac + (nb_adult == 2) * majoration_impot_couple
class contribution_differentielle_hauts_revenus_decote(Variable):
value_type = float
......@@ -93,7 +115,7 @@ class contribution_differentielle_hauts_revenus_decote(Variable):
condition_revenus_couple = couple * (contribution_differentielle_hauts_revenus_ressources <= cdhr_parameters.plafond_revenus_decote_couple)
# le montant résultant de l’application du 1° du III est diminué de la différence, [différence calculée dans contribution_differentielle_hauts_revenus]
# lorsqu’elle est positive, entre ce montant
# lorsqu’elle est positive, entre ce montant (impot_cible)
# et 82,5 % de la différence entre ce revenu et 250 000 € pour les contribuables célibataires,
# veufs, séparés ou divorcés ou 500 000 € pour les contribuables soumis à imposition commune.
taux = cdhr_parameters.taux_cdhr
......@@ -135,7 +157,7 @@ class contribution_differentielle_hauts_revenus(Variable):
# [on soustrait la décote définie en V]
contribution_differentielle_hauts_revenus_decote = foyer_fiscal("contribution_differentielle_hauts_revenus_decote", period)
impot_cible = (contribution_differentielle_hauts_revenus_ressources * taux) - contribution_differentielle_hauts_revenus_decote
impot_cible_apres_decote = (contribution_differentielle_hauts_revenus_ressources * taux) - contribution_differentielle_hauts_revenus_decote
# (9) « 2° et le montant résultant de la somme de l’impôt sur le revenu et de la contribution prévue à l’article
# 223 sexies tels que définis au IV,
......@@ -145,16 +167,8 @@ class contribution_differentielle_hauts_revenus(Variable):
pfu = -1 * foyer_fiscal("prelevement_forfaitaire_unique_ir", period)
prelevement_forfaitaire_liberatoire = -1 * foyer_fiscal("prelevement_forfaitaire_liberatoire", period)
ip_net = foyer_fiscal("ip_net", period)
impot_avant_creation_cdhr = ip_net + pfu + prelevement_forfaitaire_liberatoire + contribution_exceptionnelle_hauts_revenus
# majoré de 1 500 € par personne à charge au sens des articles 196 à 196 B
majoration_impot_pac = parameters(period).impot_revenu.contributions_exceptionnelles.contribution_differentielle_hauts_revenus.majoration_impot_pac
nb_pac = foyer_fiscal("nb_pac", period)
# et de 12 500 € pour les contribuables soumis à imposition commune.
majoration_impot_couple = parameters(period).impot_revenu.contributions_exceptionnelles.contribution_differentielle_hauts_revenus.majoration_impot_couple
nb_adult = foyer_fiscal("nb_adult", period)
montant_majoration_impot = nb_pac * majoration_impot_pac + (nb_adult == 2) * majoration_impot_couple
impot_cible += montant_majoration_impot
contribution_differentielle_hauts_revenus_montant = max_(impot_cible - impot_avant_creation_cdhr, 0)
impot_avant_creation_cdhr = ip_net + pfu + prelevement_forfaitaire_liberatoire + contribution_exceptionnelle_hauts_revenus + foyer_fiscal("contribution_exceptionnelle_hauts_revenus_majoration", period)
contribution_differentielle_hauts_revenus_montant = max_(impot_cible_apres_decote - impot_avant_creation_cdhr, 0)
# [leximpact : TODO tout ce qui suit ^_^']
# IV. – L’impôt sur le revenu mentionné au 2° du III est majoré de l’avantage en impôt procuré par les
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment