diff --git a/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/activite.py b/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/activite.py index 48e4cfc5f9..a77ebca04f 100644 --- a/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/activite.py +++ b/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/activite.py @@ -1,7 +1,7 @@ import logging from openfisca_france.model.base import * -from openfisca_france.model.prelevements_obligatoires.prelevements_sociaux.contributions_sociales.base import montant_csg_crds +from openfisca_france.model.prelevements_obligatoires.prelevements_sociaux.contributions_sociales.base import montant_csg_crds_bareme log = logging.getLogger(__name__) @@ -111,7 +111,7 @@ def formula(individu, period, parameters): plafond_securite_sociale = individu('plafond_securite_sociale', period) csg = parameters(period).prelevements_sociaux.contributions_sociales.csg - montant_csg = montant_csg_crds( + montant_csg = montant_csg_crds_bareme( base_avec_abattement = assiette_csg_abattue, base_sans_abattement = assiette_csg_non_abattue, abattement_parameter = csg.activite.abattement, @@ -135,7 +135,7 @@ def formula(individu, period, parameters): plafond_securite_sociale = individu('plafond_securite_sociale', period) csg_parameters = parameters(period).prelevements_sociaux.contributions_sociales.csg - montant_csg = montant_csg_crds( + montant_csg = montant_csg_crds_bareme( base_avec_abattement = assiette_csg_abattue, base_sans_abattement = assiette_csg_non_abattue, abattement_parameter = csg_parameters.activite.abattement, @@ -161,7 +161,7 @@ def formula(individu, period, parameters): law = parameters(period) - montant_crds = montant_csg_crds( + montant_crds = montant_csg_crds_bareme( law_node = law.prelevements_sociaux.contributions_sociales.crds, base_avec_abattement = assiette_csg_abattue, base_sans_abattement = assiette_csg_non_abattue, @@ -418,39 +418,56 @@ def formula(individu, period): class csg_imposable_non_salarie(Variable): value_type = float entity = Individu - label = 'Assiette CSG des personnes non salariées' + label = 'CSG des personnes non salariées' definition_period = YEAR def formula(individu, period, parameters): assiette_csg_crds_non_salarie = individu('assiette_csg_crds_non_salarie', period) csg = parameters(period).prelevements_sociaux.contributions_sociales.csg.activite - taux = csg.imposable.taux - return - taux * assiette_csg_crds_non_salarie + + montant_csg = montant_csg_crds_bareme( + base_sans_abattement = assiette_csg_crds_non_salarie, + law_node = csg.imposable, + ) + + return montant_csg class csg_deductible_non_salarie(Variable): value_type = float entity = Individu - label = 'Assiette CSG des personnes non salariées' + label = 'CSG des personnes non salariées' definition_period = YEAR def formula(individu, period, parameters): assiette_csg_crds_non_salarie = individu('assiette_csg_crds_non_salarie', period) csg = parameters(period).prelevements_sociaux.contributions_sociales.csg.activite - taux = csg.deductible.taux - return - taux * assiette_csg_crds_non_salarie + + montant_csg = montant_csg_crds_bareme( + base_sans_abattement = assiette_csg_crds_non_salarie, + law_node = csg.deductible, + ) + + return montant_csg class crds_non_salarie(Variable): value_type = float entity = Individu - label = 'Assiette CSG des personnes non salariées' + label = 'CRDS des personnes non salariées' definition_period = YEAR def formula(individu, period, parameters): assiette_csg_crds_non_salarie = individu('assiette_csg_crds_non_salarie', period) - taux = parameters(period).prelevements_sociaux.contributions_sociales.crds.taux - return - taux * assiette_csg_crds_non_salarie + + law = parameters(period) + + montant_crds = montant_csg_crds_bareme( + base_sans_abattement = assiette_csg_crds_non_salarie, + law_node = law.prelevements_sociaux.contributions_sociales.crds, + ) + + return montant_crds class revenus_non_salarie_nets(Variable): diff --git a/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/base.py b/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/base.py index c6069d165d..3dfc283938 100644 --- a/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/base.py +++ b/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/base.py @@ -31,3 +31,36 @@ def montant_csg_crds(base_avec_abattement = None, base_sans_abattement = None, i + law_node.taux_reduit * indicatrice_taux_reduit + law_node.taux_median * indicatrice_taux_intermediaire ) * base + + +def montant_csg_crds_bareme(base_avec_abattement = None, base_sans_abattement = None, indicatrice_taux_plein = None, + indicatrice_taux_intermediaire = None, indicatrice_taux_reduit = None, abattement_parameter = None, law_node = None, plafond_securite_sociale = None): + assert law_node is not None + if base_sans_abattement is None: + base_sans_abattement = 0 + if base_avec_abattement is None: + base = base_sans_abattement + else: + assert plafond_securite_sociale is not None + assert abattement_parameter is not None + base = base_avec_abattement - abattement_parameter.calc( + base_avec_abattement, + factor = plafond_securite_sociale, + round_base_decimals = 2, + ) + base_sans_abattement + if indicatrice_taux_plein is None and indicatrice_taux_reduit is None: + return -law_node.taux.calc(base) + elif indicatrice_taux_plein is not None and indicatrice_taux_reduit is not None and indicatrice_taux_intermediaire is None: + return -( + law_node.taux_plein.calc(base) * indicatrice_taux_plein + + law_node.taux_reduit.calc(base) * indicatrice_taux_reduit + ) + else: + assert indicatrice_taux_plein is not None + assert indicatrice_taux_reduit is not None + assert indicatrice_taux_intermediaire is not None + return -( + law_node.taux_plein.calc(base) * indicatrice_taux_plein + + law_node.taux_reduit.calc(base) * indicatrice_taux_reduit + + law_node.taux_median.calc(base) * indicatrice_taux_intermediaire + ) diff --git a/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/capital.py b/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/capital.py index 823c917ae6..6f1bd4822b 100644 --- a/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/capital.py +++ b/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/capital.py @@ -1,5 +1,7 @@ import logging + from openfisca_france.model.base import * +from openfisca_france.model.prelevements_obligatoires.prelevements_sociaux.contributions_sociales.base import montant_csg_crds_bareme log = logging.getLogger(__name__) @@ -318,7 +320,7 @@ class csg_glo_assimile_salaire_ir_et_ps(Variable): def formula(individu, period, parameters): f1tt = individu('f1tt', period) csg_activite = parameters(period).prelevements_sociaux.contributions_sociales.csg.activite - taux = csg_activite.imposable.taux + csg_activite.deductible.taux + taux = csg_activite.imposable.taux.rates[0] + csg_activite.deductible.taux.rates[0] return - f1tt * taux @@ -332,10 +334,16 @@ class crds_glo_assimile_salaire_ir_et_ps(Variable): def formula(individu, period, parameters): f1tt = individu('f1tt', period) - return - f1tt * ( - parameters(period).prelevements_sociaux.contributions_sociales.crds.taux + + law = parameters(period) + + montant_crds = montant_csg_crds_bareme( + base_sans_abattement = f1tt, + law_node = law.prelevements_sociaux.contributions_sociales.crds, ) + return montant_crds + class contribution_salariale_glo_assimile_salaire(Variable): calculate_output = calculate_output_add @@ -390,16 +398,18 @@ class crds_revenus_capital(Variable): def formula(foyer_fiscal, period, parameters): assiette_csg_revenus_capital = foyer_fiscal('assiette_csg_revenus_capital', period) - prelevements_sociaux = parameters(period).taxation_capital.prelevements_sociaux - crds_glo_assimile_salaire_ir_et_ps_i = foyer_fiscal.members('crds_glo_assimile_salaire_ir_et_ps', period) crds_glo_assimile_salaire_ir_et_ps = foyer_fiscal.sum(crds_glo_assimile_salaire_ir_et_ps_i) - return ( - - assiette_csg_revenus_capital * prelevements_sociaux.crds.produits_de_placement - + crds_glo_assimile_salaire_ir_et_ps + law = parameters(period) + + montant_crds = montant_csg_crds_bareme( + base_sans_abattement = assiette_csg_revenus_capital, + law_node = law.prelevements_sociaux.contributions_sociales.crds, ) + return (montant_crds + crds_glo_assimile_salaire_ir_et_ps) + class prelevements_sociaux_revenus_capital_hors_csg_crds(Variable): value_type = float diff --git a/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/remplacement.py b/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/remplacement.py index ec24a80854..efdfb6e5a0 100644 --- a/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/remplacement.py +++ b/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/contributions_sociales/remplacement.py @@ -1,9 +1,8 @@ import logging from openfisca_france.model.base import * -from openfisca_france.model.prelevements_obligatoires.prelevements_sociaux.contributions_sociales.base import ( - montant_csg_crds - ) +from openfisca_france.model.prelevements_obligatoires.prelevements_sociaux.contributions_sociales.base import montant_csg_crds_bareme + log = logging.getLogger(__name__) @@ -74,7 +73,7 @@ def formula_2015(individu, period, parameters): chomage_cotisation_retraite_complementaire = individu('chomage_cotisation_retraite_complementaire', period) assiette_csg_chomage = chomage_brut - chomage_cotisation_retraite_complementaire - montant_csg = montant_csg_crds( + montant_csg = montant_csg_crds_bareme( base_avec_abattement = assiette_csg_chomage, indicatrice_taux_plein = (taux_csg_remplacement == TypesTauxCSGRemplacement.taux_plein), indicatrice_taux_reduit = (taux_csg_remplacement == TypesTauxCSGRemplacement.taux_reduit), @@ -140,7 +139,7 @@ def formula_2015(individu, period, parameters): chomage_cotisation_retraite_complementaire = individu('chomage_cotisation_retraite_complementaire', period) assiette_csg_chomage = chomage_brut - chomage_cotisation_retraite_complementaire - montant_csg = montant_csg_crds( + montant_csg = montant_csg_crds_bareme( base_avec_abattement = assiette_csg_chomage, indicatrice_taux_plein = (taux_csg_remplacement == TypesTauxCSGRemplacement.taux_plein), indicatrice_taux_reduit = (taux_csg_remplacement == TypesTauxCSGRemplacement.taux_reduit), @@ -209,7 +208,7 @@ def formula_2015(individu, period, parameters): (taux_csg_remplacement == TypesTauxCSGRemplacement.taux_reduit) + (taux_csg_remplacement == TypesTauxCSGRemplacement.taux_plein) ) - montant_crds = montant_csg_crds( + montant_crds = montant_csg_crds_bareme( base_avec_abattement = assiette_crds_chomage, abattement_parameter = parameters.prelevements_sociaux.contributions_sociales.csg.activite.abattement, law_node = parameters.prelevements_sociaux.contributions_sociales.crds, @@ -297,7 +296,7 @@ def formula_2019(individu, period, parameters): [TypesTauxCSGRetraite.exonere, TypesTauxCSGRetraite.taux_reduit, TypesTauxCSGRetraite.taux_intermediaire, TypesTauxCSGRetraite.taux_plein] ) - montant_csg = montant_csg_crds( + montant_csg = montant_csg_crds_bareme( base_sans_abattement = retraite_brute, indicatrice_taux_plein = (taux_csg_retraite == TypesTauxCSGRetraite.taux_plein), indicatrice_taux_reduit = (taux_csg_retraite == TypesTauxCSGRetraite.taux_reduit), @@ -321,7 +320,7 @@ def formula_2015(individu, period, parameters): [TypesTauxCSGRetraite.exonere, TypesTauxCSGRetraite.taux_reduit, TypesTauxCSGRetraite.taux_plein] ) - montant_csg = montant_csg_crds( + montant_csg = montant_csg_crds_bareme( base_sans_abattement = retraite_brute, indicatrice_taux_plein = (taux_csg_retraite == TypesTauxCSGRetraite.taux_plein), indicatrice_taux_reduit = (taux_csg_retraite == TypesTauxCSGRetraite.taux_reduit), @@ -334,7 +333,7 @@ def formula(individu, period, parameters): # formula_1997_2014 à corriger (cf. retraite_brute = individu('retraite_brute', period) parameters = parameters(period) - montant_csg = parameters.prelevements_sociaux.contributions_sociales.csg.remplacement.pensions_retraite_invalidite.deductible.taux_plein * retraite_brute + montant_csg = parameters.prelevements_sociaux.contributions_sociales.csg.remplacement.pensions_retraite_invalidite.deductible.taux_plein.rates[0] * retraite_brute return - montant_csg @@ -363,7 +362,7 @@ def formula_2019(individu, period, parameters): [TypesTauxCSGRetraite.exonere, TypesTauxCSGRetraite.taux_reduit, TypesTauxCSGRetraite.taux_intermediaire, TypesTauxCSGRetraite.taux_plein] ) - montant_csg = montant_csg_crds( + montant_csg = montant_csg_crds_bareme( base_sans_abattement = retraite_brute, indicatrice_taux_plein = (taux_csg_retraite == TypesTauxCSGRetraite.taux_plein), indicatrice_taux_reduit = (taux_csg_retraite == TypesTauxCSGRetraite.taux_reduit), @@ -387,7 +386,7 @@ def formula_2015(individu, period, parameters): [TypesTauxCSGRetraite.exonere, TypesTauxCSGRetraite.taux_reduit, TypesTauxCSGRetraite.taux_plein] ) - montant_csg = montant_csg_crds( + montant_csg = montant_csg_crds_bareme( base_sans_abattement = retraite_brute, indicatrice_taux_plein = (taux_csg_retraite == TypesTauxCSGRetraite.taux_plein), indicatrice_taux_reduit = (taux_csg_retraite == TypesTauxCSGRetraite.taux_reduit), @@ -400,7 +399,7 @@ def formula(individu, period, parameters): # formula_1997_2014 à corriger (cf. retraite_brute = individu('retraite_brute', period) parameters = parameters(period) - montant_csg = parameters.prelevements_sociaux.contributions_sociales.csg.remplacement.pensions_retraite_invalidite.imposable.taux_plein * retraite_brute + montant_csg = parameters.prelevements_sociaux.contributions_sociales.csg.remplacement.pensions_retraite_invalidite.imposable.taux_plein.rates[0] * retraite_brute return - montant_csg @@ -429,7 +428,7 @@ def formula_2019(individu, period, parameters): [TypesTauxCSGRetraite.exonere, TypesTauxCSGRetraite.taux_reduit, TypesTauxCSGRetraite.taux_intermediaire, TypesTauxCSGRetraite.taux_plein] ) - montant_crds = montant_csg_crds( + montant_crds = montant_csg_crds_bareme( base_sans_abattement = retraite_brute, law_node = parameters.prelevements_sociaux.contributions_sociales.crds, plafond_securite_sociale = parameters.prelevements_sociaux.pss.plafond_securite_sociale_mensuel, @@ -451,7 +450,7 @@ def formula_2015(individu, period, parameters): [TypesTauxCSGRetraite.exonere, TypesTauxCSGRetraite.taux_reduit, TypesTauxCSGRetraite.taux_plein] ) - montant_crds = montant_csg_crds( + montant_crds = montant_csg_crds_bareme( base_sans_abattement = retraite_brute, law_node = parameters.prelevements_sociaux.contributions_sociales.crds, plafond_securite_sociale = parameters.prelevements_sociaux.pss.plafond_securite_sociale_mensuel, @@ -461,7 +460,7 @@ def formula_2015(individu, period, parameters): def formula(individu, period, parameters): # formula_1997_2014 à corriger (cf. commentaire au niveau de la variable) retraite_brute = individu('retraite_brute', period) parameters = parameters(period) - taux = parameters.prelevements_sociaux.contributions_sociales.crds.taux + taux = parameters.prelevements_sociaux.contributions_sociales.crds.taux.rates[0] return - taux * retraite_brute diff --git a/openfisca_france/model/prestations/aides_logement.py b/openfisca_france/model/prestations/aides_logement.py index 54a1f66621..fc0cc3c1cd 100644 --- a/openfisca_france/model/prestations/aides_logement.py +++ b/openfisca_france/model/prestations/aides_logement.py @@ -13,7 +13,7 @@ from openfisca_france.model.base import * from openfisca_france.model.revenus.activite.salarie import TypesConges from openfisca_france.model.prestations.prestations_familiales.base_ressource import nb_enf - +from openfisca_france.model.prelevements_obligatoires.prelevements_sociaux.contributions_sociales.base import montant_csg_crds_bareme log = logging.getLogger(__name__) @@ -1410,8 +1410,15 @@ class crds_logement(Variable): def formula(famille, period, parameters): aide_logement_montant_brut = famille('aide_logement_montant_brut_crds', period) - crds = parameters(period).prelevements_sociaux.contributions_sociales.crds.taux - return -aide_logement_montant_brut * crds + + law = parameters(period) + + montant_crds = montant_csg_crds_bareme( + base_sans_abattement = aide_logement_montant_brut, + law_node = law.prelevements_sociaux.contributions_sociales.crds, + ) + + return montant_crds class TypesZoneApl(Enum): diff --git a/openfisca_france/model/prestations/complement_are.py b/openfisca_france/model/prestations/complement_are.py index 77e75607fd..bb6efb9eef 100644 --- a/openfisca_france/model/prestations/complement_are.py +++ b/openfisca_france/model/prestations/complement_are.py @@ -317,7 +317,7 @@ def formula(individu, period, parameters): # taux global par défaut : au demandeur d'emploi de suivre une démarche # pour la prise en compte du RFR (exonération potentielle de CRDS) - taux_global_crds_chomage = parametres_prelevements_sociaux.contributions_sociales.crds.taux + taux_global_crds_chomage = parametres_prelevements_sociaux.contributions_sociales.crds.taux.rates[0] crds_theorique = assiette_journaliere_crds * taux_global_crds_chomage # après la CSG, la CRDS ne doit pas faire baisser le montant net de l'allocation en-dessous du smic brut diff --git a/openfisca_france/model/prestations/minima_sociaux/anciens_ms.py b/openfisca_france/model/prestations/minima_sociaux/anciens_ms.py index 8a1be5b560..90b10e9be1 100644 --- a/openfisca_france/model/prestations/minima_sociaux/anciens_ms.py +++ b/openfisca_france/model/prestations/minima_sociaux/anciens_ms.py @@ -2,6 +2,7 @@ from openfisca_france.model.base import * from openfisca_france.model.prestations.prestations_familiales.base_ressource import nb_enf +from openfisca_france.model.prelevements_obligatoires.prelevements_sociaux.contributions_sociales.base import montant_csg_crds_bareme class api(Variable): @@ -183,9 +184,15 @@ class crds_rsa_activite(Variable): def formula_2009_06_01(famille, period, parameters): rsa_activite = famille('rsa_activite', period) - taux_crds = parameters(period).prelevements_sociaux.contributions_sociales.crds.taux - return - taux_crds * rsa_activite + law = parameters(period) + + montant_crds = montant_csg_crds_bareme( + base_sans_abattement = rsa_activite, + law_node = law.prelevements_sociaux.contributions_sociales.crds, + ) + + return montant_crds class rsa_activite_net_crds(Variable): diff --git a/openfisca_france/model/prestations/minima_sociaux/ppa.py b/openfisca_france/model/prestations/minima_sociaux/ppa.py index 11d8d1640b..b068715c3e 100644 --- a/openfisca_france/model/prestations/minima_sociaux/ppa.py +++ b/openfisca_france/model/prestations/minima_sociaux/ppa.py @@ -1,6 +1,7 @@ from openfisca_core.periods import Instant, Period from openfisca_france.model.base import * from numpy import round as round_, logical_or as or_, remainder as remainder_, datetime64 +from openfisca_france.model.prelevements_obligatoires.prelevements_sociaux.contributions_sociales.base import montant_csg_crds_bareme class ppa_eligibilite(Variable): @@ -522,9 +523,15 @@ class crds_ppa(Variable): def formula_2016_01_01(famille, period, parameters): ppa = famille('ppa', period) - taux_crds = parameters(period).prelevements_sociaux.contributions_sociales.crds.taux - return - taux_crds * ppa + law = parameters(period) + + montant_crds = montant_csg_crds_bareme( + base_sans_abattement = ppa, + law_node = law.prelevements_sociaux.contributions_sociales.crds, + ) + + return montant_crds class ppa_nette_crds(Variable): diff --git a/openfisca_france/model/prestations/prestations_familiales/af.py b/openfisca_france/model/prestations/prestations_familiales/af.py index 649c5d11c1..c2c3c88ff5 100644 --- a/openfisca_france/model/prestations/prestations_familiales/af.py +++ b/openfisca_france/model/prestations/prestations_familiales/af.py @@ -2,6 +2,7 @@ from openfisca_france.model.base import * from openfisca_france.model.prestations.prestations_familiales.base_ressource import nb_enf +from openfisca_france.model.prelevements_obligatoires.prelevements_sociaux.contributions_sociales.base import montant_csg_crds_bareme class af_nbenf(Variable): @@ -437,9 +438,14 @@ class crds_af(Variable): def formula(famille, period, parameters): af = famille('af', period) - taux_crds = parameters(period).prelevements_sociaux.contributions_sociales.crds.taux + law = parameters(period) - return -(af) * taux_crds + montant_crds = montant_csg_crds_bareme( + base_sans_abattement = af, + law_node = law.prelevements_sociaux.contributions_sociales.crds, + ) + + return montant_crds class af_nettes_crds(Variable): diff --git a/openfisca_france/model/prestations/prestations_familiales/ars.py b/openfisca_france/model/prestations/prestations_familiales/ars.py index 36a38267ca..67b9de04f9 100644 --- a/openfisca_france/model/prestations/prestations_familiales/ars.py +++ b/openfisca_france/model/prestations/prestations_familiales/ars.py @@ -4,6 +4,7 @@ from openfisca_france.model.base import * from openfisca_france.model.prestations.prestations_familiales.base_ressource import nb_enf +from openfisca_france.model.prelevements_obligatoires.prelevements_sociaux.contributions_sociales.base import montant_csg_crds_bareme class ars(Variable): @@ -74,9 +75,14 @@ class crds_ars(Variable): def formula(famille, period, parameters): ars = famille('ars', period) - taux_crds = parameters(period).prelevements_sociaux.contributions_sociales.crds.taux + law = parameters(period) - return -(ars) * taux_crds + montant_crds = montant_csg_crds_bareme( + base_sans_abattement = ars, + law_node = law.prelevements_sociaux.contributions_sociales.crds, + ) + + return montant_crds class ars_nette_crds(Variable): diff --git a/openfisca_france/model/prestations/prestations_familiales/asf.py b/openfisca_france/model/prestations/prestations_familiales/asf.py index df905c279d..7ed8595141 100644 --- a/openfisca_france/model/prestations/prestations_familiales/asf.py +++ b/openfisca_france/model/prestations/prestations_familiales/asf.py @@ -1,4 +1,5 @@ from openfisca_france.model.base import * +from openfisca_france.model.prelevements_obligatoires.prelevements_sociaux.contributions_sociales.base import montant_csg_crds_bareme class asf_elig_enfant(Variable): @@ -90,9 +91,14 @@ class crds_asf(Variable): def formula(famille, period, parameters): asf = famille('asf', period) - taux_crds = parameters(period).prelevements_sociaux.contributions_sociales.crds.taux + law = parameters(period) - return -(asf) * taux_crds + montant_crds = montant_csg_crds_bareme( + base_sans_abattement = asf, + law_node = law.prelevements_sociaux.contributions_sociales.crds, + ) + + return montant_crds class asf_nette_crds(Variable): diff --git a/openfisca_france/model/prestations/prestations_familiales/cf.py b/openfisca_france/model/prestations/prestations_familiales/cf.py index cbae52f89d..c374d2df99 100644 --- a/openfisca_france/model/prestations/prestations_familiales/cf.py +++ b/openfisca_france/model/prestations/prestations_familiales/cf.py @@ -1,6 +1,7 @@ from numpy import round, logical_or as or_ from openfisca_france.model.base import * +from openfisca_france.model.prelevements_obligatoires.prelevements_sociaux.contributions_sociales.base import montant_csg_crds_bareme class cf_enfant_a_charge(Variable): @@ -353,9 +354,14 @@ class crds_cf(Variable): def formula(famille, period, parameters): cf = famille('cf', period) - taux_crds = parameters(period).prelevements_sociaux.contributions_sociales.crds.taux + law = parameters(period) - return -(cf) * taux_crds + montant_crds = montant_csg_crds_bareme( + base_sans_abattement = cf, + law_node = law.prelevements_sociaux.contributions_sociales.crds, + ) + + return montant_crds class cf_net_crds(Variable): diff --git a/openfisca_france/model/prestations/prestations_familiales/paje.py b/openfisca_france/model/prestations/prestations_familiales/paje.py index 5e8ccfc915..82d236c4e7 100644 --- a/openfisca_france/model/prestations/prestations_familiales/paje.py +++ b/openfisca_france/model/prestations/prestations_familiales/paje.py @@ -3,6 +3,7 @@ from openfisca_france.model.base import * from openfisca_france.model.prestations.prestations_familiales.base_ressource import nb_enf from openfisca_core.periods import Instant +from openfisca_france.model.prelevements_obligatoires.prelevements_sociaux.contributions_sociales.base import montant_csg_crds_bareme # Prestations familiales @@ -763,9 +764,14 @@ class crds_ape(Variable): def formula(famille, period, parameters): ape = famille('ape', period) - taux_crds = parameters(period).prelevements_sociaux.contributions_sociales.crds.taux + law = parameters(period) - return -(ape) * taux_crds + montant_crds = montant_csg_crds_bareme( + base_sans_abattement = ape, + law_node = law.prelevements_sociaux.contributions_sociales.crds, + ) + + return montant_crds class ape_nette_crds(Variable): @@ -811,9 +817,14 @@ class crds_apje(Variable): def formula(famille, period, parameters): apje = famille('apje', period) - taux_crds = parameters(period).prelevements_sociaux.contributions_sociales.crds.taux + law = parameters(period) + + montant_crds = montant_csg_crds_bareme( + base_sans_abattement = apje, + law_node = law.prelevements_sociaux.contributions_sociales.crds, + ) - return -(apje) * taux_crds + return montant_crds class apje_nette_crds(Variable): @@ -988,9 +999,14 @@ class crds_paje(Variable): def formula(famille, period, parameters): paje = famille('paje', period) - taux_crds = parameters(period).prelevements_sociaux.contributions_sociales.crds.taux + law = parameters(period) + + montant_crds = montant_csg_crds_bareme( + base_sans_abattement = paje, + law_node = law.prelevements_sociaux.contributions_sociales.crds, + ) - return -(paje) * taux_crds + return montant_crds class paje_nette_crds(Variable): diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/crds/taux.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/crds/taux.yaml index 23e0cb18a4..4fa16142d6 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/crds/taux.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/crds/taux.yaml @@ -1,12 +1,17 @@ description: Taux de la contribution au remboursement de la dette sociale (CRDS) -values: - 1996-02-01: - value: 0.005 +brackets: +- threshold: + 1996-02-01: + value: 0 + rate: + 1996-02-01: + value: 0.005 metadata: - short_label: Taux global - last_value_still_valid_on: "2023-07-05" - label_en: CRDS - unit: /1 + short_label: Taux + last_value_still_valid_on: "2024-07-22" + label_en: CRDS rate + rate_unit: /1 + threshold_unit: currency reference: 1996-02-01: - title: Article 1600-0 J du Code général des impôts diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/deductible/taux.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/deductible/taux.yaml index eb6ef0e450..e14ebc72cf 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/deductible/taux.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/deductible/taux.yaml @@ -1,19 +1,24 @@ description: Taux de la contribution sociale généralisée (CSG) déductible sur les revenus d'activité -values: - 1991-02-01: - value: null - 1997-01-01: - value: 0.01 - 1998-01-01: - value: 0.051 - 2018-01-01: - value: 0.068 +brackets: +- threshold: + 1991-02-01: + value: 0 + rate: + 1991-02-01: + value: null + 1997-01-01: + value: 0.01 + 1998-01-01: + value: 0.051 + 2018-01-01: + value: 0.068 metadata: short_label: Taux last_value_still_valid_on: "2024-07-22" label_en: CSG - rates on work incomes ipp_csv_id: csg_act_ded - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1991-02-01: title: Loi 90-1168 du 29/12/90, art. 127 à 135 (LF pour 1991) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/imposable/taux.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/imposable/taux.yaml index 3566cfe4d8..9f270e5850 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/imposable/taux.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/imposable/taux.yaml @@ -1,14 +1,19 @@ description: Taux de la contribution sociale généralisée (CSG) imposable sur les revenus d'activité -values: - 1991-02-01: - value: 0.011 - 1993-07-01: - value: 0.024 +brackets: +- threshold: + 1991-02-01: + value: 0 + rate: + 1991-02-01: + value: 0.011 + 1993-07-01: + value: 0.024 metadata: short_label: Taux last_value_still_valid_on: "2024-07-22" label_en: CSG - rates on work incomes - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1991-02-01: title: Loi 90-1168 du 29/12/90, art. 127 à 135 (LF pour 1991) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/deductible/taux_plein.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/deductible/taux_plein.yaml index 8b25c12f42..4ea51e3c01 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/deductible/taux_plein.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/deductible/taux_plein.yaml @@ -1,17 +1,22 @@ description: Taux plein de la contribution sociale généralisée (CSG) déductible sur les allocations chômage -values: - 1991-02-01: - value: null - 1997-01-01: - value: 0.01 - 1998-01-01: - value: 0.038 +brackets: +- threshold: + 1991-02-01: + value: 0 + rate: + 1991-02-01: + value: null + 1997-01-01: + value: 0.01 + 1998-01-01: + value: 0.038 metadata: short_label: Taux plein last_value_still_valid_on: "2024-07-24" label_en: CSG - rates on unemployment incomes ipp_csv_id: csg_cho_ded - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1991-02-01: title: Loi 90-1168 du 29/12/90, art. 127 à 135 (LF pour 1991) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/deductible/taux_reduit.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/deductible/taux_reduit.yaml index 1483c75dfe..88cde68f16 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/deductible/taux_reduit.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/deductible/taux_reduit.yaml @@ -1,17 +1,22 @@ description: Taux réduit de la contribution sociale généralisée (CSG) déductible sur les allocations chômage -values: - 1991-02-01: - value: null - 1997-01-01: - value: 0.01 - 1998-01-01: - value: 0.038 +brackets: +- threshold: + 1991-02-01: + value: 0 + rate: + 1991-02-01: + value: null + 1997-01-01: + value: 0.01 + 1998-01-01: + value: 0.038 metadata: short_label: Taux réduit last_value_still_valid_on: "2024-07-24" label_en: CSG - rates on unemployment incomes ipp_csv_id: csg_cho_red - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1991-02-01: title: Loi 90-1168 du 29/12/90, art. 127 à 135 (LF pour 1991) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/imposable/taux_plein.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/imposable/taux_plein.yaml index bcc1ccbce1..a0a8dad213 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/imposable/taux_plein.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/imposable/taux_plein.yaml @@ -1,12 +1,17 @@ description: Taux plein de la contribution sociale généralisée (CSG) imposable sur les allocations chômage -values: - 1997-01-01: - value: 0.024 +brackets: +- threshold: + 1997-01-01: + value: 0 + rate: + 1997-01-01: + value: 0.024 metadata: short_label: Taux plein last_value_still_valid_on: "2024-07-24" label_en: CSG - rates on unemployment incomes - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1997-01-01: - title: Article L136-8 du Code de la sécurité sociale (taux global) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/imposable/taux_reduit.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/imposable/taux_reduit.yaml index 96a30e1aa6..3b365fd5c1 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/imposable/taux_reduit.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/imposable/taux_reduit.yaml @@ -1,12 +1,17 @@ description: Taux réduit de la contribution sociale généralisée (CSG) imposable sur les revenus d'activité -values: - 1997-01-01: - value: 0 +brackets: +- threshold: + 1997-01-01: + value: 0 + rate: + 1997-01-01: + value: 0 metadata: short_label: Taux réduit last_value_still_valid_on: "2024-07-24" label_en: CSG - rates on work incomes - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1997-01-01: - title: Article L136-8 du Code de la sécurité sociale (taux global) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/deductible/taux_median.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/deductible/taux_median.yaml index 28c3a4c744..18a7ad8d73 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/deductible/taux_median.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/deductible/taux_median.yaml @@ -1,14 +1,19 @@ description: Taux médian de la contribution sociale généralisée (CSG) déductible sur les pensions de retraite et d'invalidité -values: - 1991-02-01: - value: null - 2019-01-01: - value: 0.042 +brackets: +- threshold: + 1991-02-01: + value: 0 + rate: + 1991-02-01: + value: null + 2019-01-01: + value: 0.042 metadata: short_label: Taux médian last_value_still_valid_on: "2024-07-24" ipp_csv_id: csg_pens_median_deductible - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 2019-01-01: - title: Article 154 quinquies du Code général des impôts (taux global) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/deductible/taux_plein.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/deductible/taux_plein.yaml index 571ce3eb67..92f63617c2 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/deductible/taux_plein.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/deductible/taux_plein.yaml @@ -1,20 +1,25 @@ description: Taux plein de la contribution sociale généralisée (CSG) déductible sur les pensions de retraite et d'invalidité -values: - 1991-02-01: - value: null - 1997-01-01: - value: 0.01 - 1998-01-01: - value: 0.038 - 2005-01-01: - value: 0.042 - 2018-01-01: - value: 0.059 +brackets: +- threshold: + 1991-02-01: + value: 0 + rate: + 1991-02-01: + value: null + 1997-01-01: + value: 0.01 + 1998-01-01: + value: 0.038 + 2005-01-01: + value: 0.042 + 2018-01-01: + value: 0.059 metadata: short_label: Taux plein last_value_still_valid_on: "2024-07-24" ipp_csv_id: csg_pens_ded - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1991-02-01: title: Loi 90-1168 du 29/12/90, art. 127 à 135 (LF pour 1991) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/deductible/taux_reduit.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/deductible/taux_reduit.yaml index fc16ac9bb8..a39fafb2b4 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/deductible/taux_reduit.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/deductible/taux_reduit.yaml @@ -1,16 +1,21 @@ description: Taux réduit de la contribution sociale généralisée (CSG) déductible sur les pensions de retraite et d'invalidité -values: - 1991-02-01: - value: null - 1997-01-01: - value: 0.01 - 1998-01-01: - value: 0.038 +brackets: +- threshold: + 1991-02-01: + value: 0 + rate: + 1991-02-01: + value: null + 1997-01-01: + value: 0.01 + 1998-01-01: + value: 0.038 metadata: short_label: Taux réduit last_value_still_valid_on: "2024-07-24" ipp_csv_id: csg_pens_red_deductible - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1991-02-01: title: Loi 90-1168 du 29/12/90, art. 127 à 135 (LF pour 1991) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/imposable/taux_median.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/imposable/taux_median.yaml index 6616a353fa..5421354168 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/imposable/taux_median.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/imposable/taux_median.yaml @@ -1,11 +1,16 @@ description: Taux médian de la contribution sociale généralisée (CSG) imposable sur les pensions de retraite et d'invalidité -values: - 1997-01-01: - value: 0.024 +brackets: +- threshold: + 1991-02-01: + value: 0 + rate: + 1997-01-01: + value: 0.024 metadata: short_label: Taux médian last_value_still_valid_on: "2024-07-24" - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1997-01-01: title: Article 154 quinquies du Code général des impôts (taux global) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/imposable/taux_plein.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/imposable/taux_plein.yaml index 08bc252b67..fa633695f8 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/imposable/taux_plein.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/imposable/taux_plein.yaml @@ -1,11 +1,16 @@ description: Taux plein de la contribution sociale généralisée (CSG) imposable sur les pensions de retraite et d'invalidité -values: - 1997-01-01: - value: 0.024 +brackets: +- threshold: + 1991-02-01: + value: 0 + rate: + 1997-01-01: + value: 0.024 metadata: short_label: Taux plein last_value_still_valid_on: "2024-07-24" - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1997-01-01: title: Article 154 quinquies du Code général des impôts (taux global) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/imposable/taux_reduit.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/imposable/taux_reduit.yaml index f7a04a43b6..1162e9aff1 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/imposable/taux_reduit.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/imposable/taux_reduit.yaml @@ -1,12 +1,17 @@ description: Taux réduit de la contribution sociale généralisée (CSG) imposable sur les pensions de retraite et d'invalidité -values: - 1997-01-01: - value: 0 +brackets: +- threshold: + 1991-02-01: + value: 0 + rate: + 1997-01-01: + value: 0 metadata: short_label: Taux réduit last_value_still_valid_on: "2024-07-24" label_en: CSG - rates on work incomes - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1997-01-01: - title: Article 154 quinquies du Code général des impôts (taux global) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/taux_median.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/taux_median.yaml index 14f408ad18..78499da94b 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/taux_median.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/taux_median.yaml @@ -1,15 +1,20 @@ description: Taux médian de la contribution sociale généralisée (CSG) sur les pensions de retraite et d'invalidité -values: - 1991-02-01: - value: null - 2019-01-01: - value: 0.066 +brackets: +- threshold: + 1991-02-01: + value: 0 + rate: + 1991-02-01: + value: null + 2019-01-01: + value: 0.066 metadata: short_label: Taux médian global last_value_still_valid_on: "2024-07-24" label_en: CSG - rates on replacement incomes ipp_csv_id: csg_pens_median_total - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1991-02-01: title: Loi 90-1168 du 29/12/90, art. 127 à 135 (LF pour 1991) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/taux_plein.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/taux_plein.yaml index 67bef9ee21..f5122ab789 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/taux_plein.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/taux_plein.yaml @@ -1,23 +1,28 @@ description: Taux plein global de la contribution sociale généralisée (CSG) sur les pensions de retraite et d'invalidité -values: - 1991-02-01: - value: 0.011 - 1993-07-01: - value: 0.024 - 1997-01-01: - value: 0.034 - 1998-01-01: - value: 0.062 - 2005-01-01: - value: 0.066 - 2018-01-01: - value: 0.083 +brackets: +- threshold: + 1991-02-01: + value: 0 + rate: + 1991-02-01: + value: 0.011 + 1993-07-01: + value: 0.024 + 1997-01-01: + value: 0.034 + 1998-01-01: + value: 0.062 + 2005-01-01: + value: 0.066 + 2018-01-01: + value: 0.083 metadata: short_label: Taux plein global last_value_still_valid_on: "2024-07-24" label_en: CSG - rates on work incomes ipp_csv_id: csg_pens - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1991-02-01: title: Loi 90-1168 du 29/12/90, art. 127 à 135 (LF pour 1991) diff --git a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/taux_reduit.yaml b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/taux_reduit.yaml index 44b5151a2b..dc1d2411f0 100644 --- a/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/taux_reduit.yaml +++ b/openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/pensions_retraite_invalidite/taux_reduit.yaml @@ -1,17 +1,22 @@ description: Taux réduit global de la contribution sociale généralisée (CSG) sur les pensions de retraite et d'invalidité -values: - 1991-02-01: - value: null - 1997-01-01: - value: 0.01 - 1998-01-01: - value: 0.038 +brackets: +- threshold: + 1991-02-01: + value: 0 + rate: + 1991-02-01: + value: null + 1997-01-01: + value: 0.01 + 1998-01-01: + value: 0.038 metadata: short_label: Taux réduit global last_value_still_valid_on: "2024-07-24" label_en: CSG - rates on work incomes ipp_csv_id: csg_pens_red - unit: /1 + rate_unit: /1 + threshold_unit: currency reference: 1991-02-01: title: Loi 90-1168 du 29/12/90, art. 127 à 135 (LF pour 1991) diff --git a/openfisca_france/parameters/taxation_capital/prelevements_sociaux/crds/index.yaml b/openfisca_france/parameters/taxation_capital/prelevements_sociaux/crds/index.yaml deleted file mode 100644 index 4fec606a0d..0000000000 --- a/openfisca_france/parameters/taxation_capital/prelevements_sociaux/crds/index.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: Contribution au remboursement de la dette sociale (CRDS) sur les revenus du capital -metadata: - documentation_start: true - short_label: CRDS sur les revenus du capital - label_en: CRDS on financial income - order: - - revenus_du_patrimoine - - produits_de_placement -documentation: |- - Référence dans les codes législatifs : - Pour le taux de CRDS : l'ordonnance 96-50 du 24/01/1996 est codifiée aux articles 1600-0 G à 1600-0 J du CGI. diff --git a/openfisca_france/parameters/taxation_capital/prelevements_sociaux/crds/produits_de_placement.yaml b/openfisca_france/parameters/taxation_capital/prelevements_sociaux/crds/produits_de_placement.yaml deleted file mode 100644 index caa9595593..0000000000 --- a/openfisca_france/parameters/taxation_capital/prelevements_sociaux/crds/produits_de_placement.yaml +++ /dev/null @@ -1,13 +0,0 @@ -description: Taux sur les produits de placement de la contribution au remboursement de la dette sociale (CRDS) sur les revenus du capital -values: - 1996-02-01: - value: 0.005 -metadata: - short_label: Produits de placement - last_value_still_valid_on: "1996-01-01" - label_en: CRDS on financial income - ipp_csv_id: tx_crds_rk_plac - unit: /1 - reference: - 1996-02-01: - title: Ordonnance 96-50 du 24/01/1996, art. 15, 16 et 19 diff --git a/openfisca_france/parameters/taxation_capital/prelevements_sociaux/crds/revenus_du_patrimoine.yaml b/openfisca_france/parameters/taxation_capital/prelevements_sociaux/crds/revenus_du_patrimoine.yaml deleted file mode 100644 index 590bc086b5..0000000000 --- a/openfisca_france/parameters/taxation_capital/prelevements_sociaux/crds/revenus_du_patrimoine.yaml +++ /dev/null @@ -1,13 +0,0 @@ -description: Taux sur les revenus du patrimoine de la contribution au remboursement de la dette sociale (CRDS) sur les revenus du capital -values: - 1996-02-01: - value: 0.005 -metadata: - short_label: Taux CRDS capital revenus du patrimoine - last_value_still_valid_on: "1996-01-01" - label_en: CRDS on financial income - ipp_csv_id: tx_crds_rk_patr - unit: /1 - reference: - 1996-02-01: - title: Ordonnance 96-50 du 24/01/1996, art. 15, 16 et 19 diff --git a/openfisca_france/parameters/taxation_capital/prelevements_sociaux/index.yaml b/openfisca_france/parameters/taxation_capital/prelevements_sociaux/index.yaml index 9417457144..795abe4600 100644 --- a/openfisca_france/parameters/taxation_capital/prelevements_sociaux/index.yaml +++ b/openfisca_france/parameters/taxation_capital/prelevements_sociaux/index.yaml @@ -4,7 +4,6 @@ metadata: label_en: Social levies on financial income order: - csg - - crds - prelevement_social_exceptionnel_cnav - contribution_sociale_permanente_cnaf - contribution_sociale_cnav diff --git a/tests/formulas/base_a_net.yaml b/tests/formulas/base_a_net.yaml index 6df1396cbb..92561fcc67 100644 --- a/tests/formulas/base_a_net.yaml +++ b/tests/formulas/base_a_net.yaml @@ -5,7 +5,7 @@ ### privé non cadre - name: 1PSS_2018_privenoncadre - absolute_error_margin: 0.05 + absolute_error_margin: 0.005 period: 2018-01 input: salaire_de_base: 3311 @@ -45,7 +45,7 @@ ### privé cadre - name: 1PSS_2018_privecadre - absolute_error_margin: 0.05 + absolute_error_margin: 0.005 period: 2018-01 input: salaire_de_base: 3311 @@ -85,7 +85,7 @@ ### public - name: 1PSS_2018_public - absolute_error_margin: 0.05 + absolute_error_margin: 0.005 period: 2018-01 input: traitement_indiciaire_brut: 3311 @@ -130,7 +130,7 @@ ### test présence hsup - name: 1PSS_2018_privenoncadre_hsup - absolute_error_margin: 0.05 + absolute_error_margin: 0.005 period: 2018-01 input: salaire_de_base: 3311 @@ -171,7 +171,7 @@ ### temps partiel - name: 1PSS_2018_privenoncadre_tpspart - absolute_error_margin: 0.05 + absolute_error_margin: 0.005 period: 2018-01 input: salaire_de_base: 3311 @@ -213,7 +213,7 @@ ### privé non cadre - name: 4PSS_2018_privenoncadre - absolute_error_margin: 0.05 + absolute_error_margin: 0.005 period: 2018-01 input: salaire_de_base: 13244 @@ -253,7 +253,7 @@ ### privé cadre - name: 4PSS_2018_privecadre - absolute_error_margin: 0.05 + absolute_error_margin: 0.005 period: 2018-01 input: salaire_de_base: 13244 @@ -293,7 +293,7 @@ ### public - name: 4PSS_2018_public - absolute_error_margin: 0.05 + absolute_error_margin: 0.005 period: 2018-01 input: traitement_indiciaire_brut: 13244 @@ -340,7 +340,7 @@ ### privé non cadre - name: 8PSS_2018_privenoncadre - absolute_error_margin: 0.05 + absolute_error_margin: 0.005 period: 2018-01 input: salaire_de_base: 3311*8 @@ -380,7 +380,7 @@ ### privé cadre - name: 8PSS_2018_privecadre - absolute_error_margin: 0.05 + absolute_error_margin: 0.005 period: 2018-01 input: salaire_de_base: 3311*8 @@ -420,7 +420,7 @@ ### public - name: 8PSS_2018_public - absolute_error_margin: 0.05 + absolute_error_margin: 0.005 period: 2018-01 input: traitement_indiciaire_brut: 3311*8 @@ -466,7 +466,7 @@ ## 1 PSS - name: 1PSS_2021 - absolute_error_margin: 0.05 + absolute_error_margin: 0.005 period: 2021-01 input: salaire_de_base: 3428 @@ -507,7 +507,7 @@ ## >1 PSS - name: justabove1PSS_2021 - absolute_error_margin: 0.05 + absolute_error_margin: 0.005 period: 2021-01 input: salaire_de_base: 3429