Skip to content

Commit

Permalink
Merge pull request Correct Contribution Supplémentaire Apprentissage
Browse files Browse the repository at this point in the history
  • Loading branch information
laem authored Dec 13, 2016
2 parents 2b79ac8 + 00f35c9 commit dc9a677
Show file tree
Hide file tree
Showing 7 changed files with 91 additions and 31 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand All @@ -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
Expand Down
16 changes: 8 additions & 8 deletions openfisca_france/tests/formulas/cout_du_travail.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
18 changes: 9 additions & 9 deletions openfisca_france/tests/formulas/salaire_super_brut.yaml
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
- 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
effectif_entreprise: 1
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
61 changes: 57 additions & 4 deletions openfisca_france/tests/formulas/taxe_apprentissage.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
- period: "2016-06"
description:
name:
Taxe d'apprentissage / Contribution supplémentaire à l'apprentissage
relative_error_margin: 0.001
input_variables:
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion openfisca_france/tests/scipy/de_net_a_brut.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 = [
Expand Down

0 comments on commit dc9a677

Please sign in to comment.