diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f470999e6..ae3c204786 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 6.0.5 + +* Add effectif_entreprise exclusion condition to Contribution Supplémentaire Apprentissage + ## 6.0.4 * Fix some regressions in parameters introcduced by 6.0.0 diff --git a/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/taxes_salaires_main_oeuvre.py b/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/taxes_salaires_main_oeuvre.py index b892106a79..281529f861 100644 --- a/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/taxes_salaires_main_oeuvre.py +++ b/openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/taxes_salaires_main_oeuvre.py @@ -77,6 +77,7 @@ class contribution_supplementaire_apprentissage(DatedVariable): column = FloatCol entity = Individu label = u"Contribution supplémentaire à l'apprentissage" + url = u"https://www.service-public.fr/professionnels-entreprises/vosdroits/F22574" @dated_function(date(2010, 1, 1)) def function(self, simulation, period): @@ -87,14 +88,16 @@ def function(self, simulation, period): taux = simulation.legislation_at(period.start).cotsoc.contribution_supplementaire_apprentissage if period.start.year > 2012: - taux_contribution = ( - (effectif_entreprise < 2000) * (ratio_alternants < .01) * taux.moins_2000_moins_1pc_alternants + - (effectif_entreprise >= 2000) * (ratio_alternants < .01) * taux.plus_2000_moins_1pc_alternants + - (.01 <= ratio_alternants) * (ratio_alternants < .02) * taux.entre_1_2_pc_alternants + - (.02 <= ratio_alternants) * (ratio_alternants < .03) * taux.entre_2_3_pc_alternants + - (.03 <= ratio_alternants) * (ratio_alternants < .04) * taux.entre_3_4_pc_alternants + - (.04 <= ratio_alternants) * (ratio_alternants < .05) * taux.entre_4_5_pc_alternants - ) + taxe_due = (effectif_entreprise >= 250) * (ratio_alternants < .05) + taux_conditionnel = ( + (effectif_entreprise < 2000) * (ratio_alternants < .01) * taux.moins_2000_moins_1pc_alternants + + (effectif_entreprise >= 2000) * (ratio_alternants < .01) * taux.plus_2000_moins_1pc_alternants + + (.01 <= ratio_alternants) * (ratio_alternants < .02) * taux.entre_1_2_pc_alternants + + (.02 <= ratio_alternants) * (ratio_alternants < .03) * taux.entre_2_3_pc_alternants + + (.03 <= ratio_alternants) * (ratio_alternants < .04) * taux.entre_3_4_pc_alternants + + (.04 <= ratio_alternants) * (ratio_alternants < .05) * taux.entre_4_5_pc_alternants + ) + taux_contribution = taxe_due * taux_conditionnel else: taux_contribution = (effectif_entreprise >= 250) * taux.plus_de_250 # TODO: gestion de la place dans le XML pb avec l'arbre des paramètres / preprocessing diff --git a/openfisca_france/tests/formulas/cout_du_travail.yaml b/openfisca_france/tests/formulas/cout_du_travail.yaml index 10770c446d..0e562db16b 100644 --- a/openfisca_france/tests/formulas/cout_du_travail.yaml +++ b/openfisca_france/tests/formulas/cout_du_travail.yaml @@ -14,11 +14,11 @@ effectif_entreprise: 1 contrat_de_travail_debut: 2015-07-01 output_variables: - salaire_super_brut: 1630.4 - cout_du_travail: 1376.4 - salaire_super_brut_hors_allegements: 2064.4 + salaire_super_brut: 1625.1 + cout_du_travail: 1370.16 + salaire_super_brut_hors_allegements: 2058.56 salaire_net: 1136 - cotisations_employeur: -606.9 + cotisations_employeur: -601.06 allegement_fillon: 407 aide_premier_salarie: 166.7 credit_impot_competitivite_emploi: 87.5 @@ -34,8 +34,8 @@ effectif_entreprise: 2 contrat_de_travail_debut: 2015-07-01 output_variables: - salaire_super_brut: 1630.4 - cout_du_travail: 1543.4 + salaire_super_brut: 1625.1 + cout_du_travail: 1537.56 - period: "2016-02" name: Cout du travail 2016, pas d'aide 1er sal. mais aide PME @@ -48,5 +48,5 @@ effectif_entreprise: 249 contrat_de_travail_debut: 2016-01-25 output_variables: - salaire_super_brut: 1655 - cout_du_travail: 1401 + salaire_super_brut: 1649.4 + cout_du_travail: 1394.8 diff --git a/openfisca_france/tests/formulas/salaire_super_brut.yaml b/openfisca_france/tests/formulas/salaire_super_brut.yaml index 4905b5416a..5b66b354f4 100644 --- a/openfisca_france/tests/formulas/salaire_super_brut.yaml +++ b/openfisca_france/tests/formulas/salaire_super_brut.yaml @@ -1,20 +1,20 @@ - period: "2015-04" name: Base - relative_error_margin: 0.005 + relative_error_margin: 0.001 input_variables: salaire_de_base: 1457.52 allegement_fillon_mode_recouvrement: 1 effectif_entreprise: 1 categorie_salarie: 0 output_variables: - cotisations_employeur: -607 + cotisations_employeur: -601.06 allegement_fillon: 407 - salaire_super_brut_hors_allegements: 2071 - salaire_super_brut: 1664 # fillon + salaire_super_brut_hors_allegements: 2059 + salaire_super_brut: 1651.3 # fillon - period: "2015-04" name: JEI -> plus d'allègement général base salaire (fillon) - relative_error_margin: 0.01 + relative_error_margin: 0.001 input_variables: salaire_de_base: 1457.52 allegement_fillon_mode_recouvrement: 1 @@ -22,9 +22,9 @@ categorie_salarie: 0 jeune_entreprise_innovante: 1 output_variables: - cotisations_employeur: -607 + cotisations_employeur: -601.2 allegement_fillon: 0 exoneration_cotisations_employeur_jei: 413 - exonerations_et_allegements: 413 # fillon + JEI - salaire_super_brut_hors_allegements: 2071 - salaire_super_brut: 1658 + exonerations_et_allegements: 413 # JEI + salaire_super_brut_hors_allegements: 2059 + salaire_super_brut: 1645.4 diff --git a/openfisca_france/tests/formulas/taxe_apprentissage.yaml b/openfisca_france/tests/formulas/taxe_apprentissage.yaml index 01778030f0..00ec98d862 100644 --- a/openfisca_france/tests/formulas/taxe_apprentissage.yaml +++ b/openfisca_france/tests/formulas/taxe_apprentissage.yaml @@ -1,5 +1,5 @@ - period: "2016-06" - description: + name: Taxe d'apprentissage / Contribution supplémentaire à l'apprentissage relative_error_margin: 0.001 input_variables: @@ -13,11 +13,64 @@ ratio_alternants: 0.015 output_variables: taxe_apprentissage: -.0068 * 1467 - contribution_supplementaire_apprentissage: -.002 * 1467 + contribution_supplementaire_apprentissage: 0 # parce que < 250 employés -> non applicable - period: "2016-06" - description: - Taxe d'apprentissage / Contribution supplémentaire à l'apprentissage + name: + Taxe d'apprentissage / CSA non applicable car ratio 0.05 + relative_error_margin: 0.001 + input_variables: + salaire_de_base: 1467 + # nécessaire pour des requêtes sur un mois de salaire : + allegement_fillon_mode_recouvrement: 1 + effectif_entreprise: 250 + categorie_salarie: 0 # non cadre + contrat_de_travail_duree: 0 + entreprise_est_association_non_lucrative: 0 + ratio_alternants: 0.05 + output_variables: + taxe_apprentissage: -.0068 * 1467 + contribution_supplementaire_apprentissage: 0 # parce que ratio alternants >= 0.05 -> non applicable + + +- period: "2016-06" + name: + Taxe d'apprentissage / CSA ratio 0.036 + relative_error_margin: 0.001 + input_variables: + salaire_de_base: 1467 + # nécessaire pour des requêtes sur un mois de salaire : + allegement_fillon_mode_recouvrement: 1 + effectif_entreprise: 250 + categorie_salarie: 0 # non cadre + contrat_de_travail_duree: 0 + entreprise_est_association_non_lucrative: 0 + ratio_alternants: 0.036 + output_variables: + taxe_apprentissage: -.0068 * 1467 + contribution_supplementaire_apprentissage: -.0005 * 1467 + + +- period: "2016-06" + name: + Taxe d'apprentissage / CSA. Grosse entreprise, faible ratio alternants + relative_error_margin: 0.001 + input_variables: + salaire_de_base: 1467 + # nécessaire pour des requêtes sur un mois de salaire : + allegement_fillon_mode_recouvrement: 1 + effectif_entreprise: 2000 + categorie_salarie: 0 # non cadre + contrat_de_travail_duree: 0 + entreprise_est_association_non_lucrative: 0 + ratio_alternants: 0.0008 + output_variables: + contribution_supplementaire_apprentissage: -.006 * 1467 + + +- period: "2016-06" + name: + Taxe d'apprentissage / CSA pour une association relative_error_margin: 0.001 input_variables: salaire_de_base: 1467 diff --git a/openfisca_france/tests/scipy/de_net_a_brut.yaml b/openfisca_france/tests/scipy/de_net_a_brut.yaml index 88f80a7b71..cd7aec38b4 100644 --- a/openfisca_france/tests/scipy/de_net_a_brut.yaml +++ b/openfisca_france/tests/scipy/de_net_a_brut.yaml @@ -53,5 +53,5 @@ fnal: -2.299999952316284 ags: -5.75 vieillesse_deplafonnee_employeur: -42.54999923706055 - contribution_supplementaire_apprentissage: -9.199999809265137 + contribution_supplementaire_apprentissage: 0 # -9.199999809265137 pour effectif > 250 chomage_salarie: -55.20000076293945 diff --git a/setup.py b/setup.py index fd81af4cf5..dcff085e1d 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup( name = 'OpenFisca-France', - version = '6.0.4', + version = '6.0.5', author = 'OpenFisca Team', author_email = 'contact@openfisca.fr', classifiers = [