diff --git a/openfisca_france_reforms/plf_plfss_2025/__init__.py b/openfisca_france_reforms/plf_plfss_2025/__init__.py index 4520914ecea4953bd643516833803e0ead8741cf..571ae0fed495cee817645064e2953cbae02cdd3f 100644 --- a/openfisca_france_reforms/plf_plfss_2025/__init__.py +++ b/openfisca_france_reforms/plf_plfss_2025/__init__.py @@ -14,7 +14,8 @@ from openfisca_france_reforms.plf_plfss_2025.cdhr import ( contribution_differentielle_hauts_revenus_eligible, contribution_differentielle_hauts_revenus, contribution_exceptionnelle_hauts_revenus_majoration, - revenus_nets_apres_impot_menage + #revenus_nets_apres_impot_menage + impots_directs ) @@ -137,4 +138,5 @@ class PlfPlfss2025(Reform): 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(revenus_nets_apres_impot_menage) + #self.update_variable(revenus_nets_apres_impot_menage) + self.update_variable(impots_directs) diff --git a/openfisca_france_reforms/plf_plfss_2025/cdhr.py b/openfisca_france_reforms/plf_plfss_2025/cdhr.py index c6b2913832fff285f9b0c29e771c42b808eeac6f..0ebe2bac32548d0a6b2cab7cb55cd0e7131c0e4a 100644 --- a/openfisca_france_reforms/plf_plfss_2025/cdhr.py +++ b/openfisca_france_reforms/plf_plfss_2025/cdhr.py @@ -209,31 +209,77 @@ class contribution_differentielle_hauts_revenus(Variable): 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 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 - def formula_2025_01_01(menage, period): - revenus_nets_menage = menage('revenus_nets_menage', period, options = [ADD]) + def formula_2025_01_01(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 + ''' + 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) + 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 + 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 = 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 \ No newline at end of file + return ( + irpp_economique + + isf_ifi + ) \ No newline at end of file