Skip to content
Snippets Groups Projects
Commit cc33a0a6 authored by clallemand's avatar clallemand
Browse files

adapte plf 2025

parent 97790698
No related branches found
No related tags found
No related merge requests found
...@@ -14,7 +14,8 @@ from openfisca_france_reforms.plf_plfss_2025.cdhr import ( ...@@ -14,7 +14,8 @@ from openfisca_france_reforms.plf_plfss_2025.cdhr import (
contribution_differentielle_hauts_revenus_eligible, contribution_differentielle_hauts_revenus_eligible,
contribution_differentielle_hauts_revenus, contribution_differentielle_hauts_revenus,
contribution_exceptionnelle_hauts_revenus_majoration, contribution_exceptionnelle_hauts_revenus_majoration,
revenus_nets_apres_impot_menage #revenus_nets_apres_impot_menage
impots_directs
) )
...@@ -137,4 +138,5 @@ class PlfPlfss2025(Reform): ...@@ -137,4 +138,5 @@ class PlfPlfss2025(Reform):
self.add_variable(contribution_differentielle_hauts_revenus) self.add_variable(contribution_differentielle_hauts_revenus)
self.add_variable(contribution_differentielle_hauts_revenus_decote) self.add_variable(contribution_differentielle_hauts_revenus_decote)
self.add_variable(contribution_exceptionnelle_hauts_revenus_majoration) self.add_variable(contribution_exceptionnelle_hauts_revenus_majoration)
self.update_variable(revenus_nets_apres_impot_menage) #self.update_variable(revenus_nets_apres_impot_menage)
self.update_variable(impots_directs)
...@@ -209,31 +209,77 @@ class contribution_differentielle_hauts_revenus(Variable): ...@@ -209,31 +209,77 @@ class contribution_differentielle_hauts_revenus(Variable):
return contribution_differentielle_hauts_revenus_eligible * contribution_differentielle_hauts_revenus_montant return contribution_differentielle_hauts_revenus_eligible * contribution_differentielle_hauts_revenus_montant
class revenus_nets_apres_impot_menage(Variable): # class revenus_nets_apres_impot_menage(Variable):
# value_type = float
# entity = Menage
# label = 'Revenus nets après impôts'
# definition_period = YEAR
# def formula_2025_01_01(menage, period):
# revenus_nets_menage = menage('revenus_nets_menage', period, options = [ADD])
# irpp_economique_i = menage.members.foyer_fiscal('irpp_economique', period)
# irpp_economique = menage.sum(irpp_economique_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)
# contribution_differentielle_hauts_revenus_i = menage.members.foyer_fiscal('contribution_differentielle_hauts_revenus', period)
# contribution_differentielle_hauts_revenus = menage.sum(contribution_differentielle_hauts_revenus_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)
# isf_ifi_i = menage.members.foyer_fiscal('isf_ifi', period)
# isf_ifi = menage.sum(isf_ifi_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)
# return revenus_nets_menage + irpp_economique + isf_ifi - contribution_differentielle_hauts_revenus
# def formula_2024_01_01(menage, period):
# revenus_nets_menage = menage('revenus_nets_menage', period, options = [ADD])
# irpp_economique_i = menage.members.foyer_fiscal('irpp_economique', period)
# irpp_economique = menage.sum(irpp_economique_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)
# isf_ifi_i = menage.members.foyer_fiscal('isf_ifi', period)
# isf_ifi = menage.sum(isf_ifi_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)
# return revenus_nets_menage + irpp_economique + isf_ifi
class impots_directs(Variable):
value_type = float value_type = float
entity = Menage entity = Menage
label = 'Revenus nets après impôts' label = 'Impôts directs'
reference = 'http://fr.wikipedia.org/wiki/Imp%C3%B4t_direct'
definition_period = YEAR definition_period = YEAR
def formula_2025_01_01(menage, period): def formula_2025_01_01(menage, period, parameters):
revenus_nets_menage = menage('revenus_nets_menage', period, options = [ADD]) '''
Pour les impôts définis au niveau du foyer fiscal :
on prend en compte l'impôt des foyers fiscaux dont le déclarant principal est dans le ménage
'''
irpp_economique_i = menage.members.foyer_fiscal('irpp_economique', period) irpp_economique_i = menage.members.foyer_fiscal('irpp_economique', period)
irpp_economique = menage.sum(irpp_economique_i, role = FoyerFiscal.DECLARANT_PRINCIPAL) irpp_economique = menage.sum(irpp_economique_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)
isf_ifi_i = menage.members.foyer_fiscal('isf_ifi', period)
isf_ifi = menage.sum(isf_ifi_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)
contribution_differentielle_hauts_revenus_i = menage.members.foyer_fiscal('contribution_differentielle_hauts_revenus', period) contribution_differentielle_hauts_revenus_i = menage.members.foyer_fiscal('contribution_differentielle_hauts_revenus', period)
contribution_differentielle_hauts_revenus = menage.sum(contribution_differentielle_hauts_revenus_i, role = FoyerFiscal.DECLARANT_PRINCIPAL) contribution_differentielle_hauts_revenus = menage.sum(contribution_differentielle_hauts_revenus_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)
isf_ifi_i = menage.members.foyer_fiscal('isf_ifi', period)
isf_ifi = menage.sum(isf_ifi_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)
return revenus_nets_menage + irpp_economique + isf_ifi - contribution_differentielle_hauts_revenus return (
irpp_economique
+ isf_ifi
+ contribution_differentielle_hauts_revenus
)
def formula(menage, period, parameters):
'''
Pour les impôts définis au niveau du foyer fiscal :
on prend en compte l'impôt des foyers fiscaux dont le déclarant principal est dans le ménage
'''
def formula_2024_01_01(menage, period):
revenus_nets_menage = menage('revenus_nets_menage', period, options = [ADD])
irpp_economique_i = menage.members.foyer_fiscal('irpp_economique', period) irpp_economique_i = menage.members.foyer_fiscal('irpp_economique', period)
irpp_economique = menage.sum(irpp_economique_i, role = FoyerFiscal.DECLARANT_PRINCIPAL) irpp_economique = menage.sum(irpp_economique_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)
isf_ifi_i = menage.members.foyer_fiscal('isf_ifi', period) isf_ifi_i = menage.members.foyer_fiscal('isf_ifi', period)
isf_ifi = menage.sum(isf_ifi_i, role = FoyerFiscal.DECLARANT_PRINCIPAL) isf_ifi = menage.sum(isf_ifi_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)
return revenus_nets_menage + irpp_economique + isf_ifi return (
\ No newline at end of file irpp_economique
+ isf_ifi
)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment