OpenFisca-France 168.0.12__py3-none-any.whl → 168.0.13__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of OpenFisca-France might be problematic. Click here for more details.

Files changed (20) hide show
  1. {OpenFisca_France-168.0.12.data → OpenFisca_France-168.0.13.data}/data/share/openfisca/openfisca-france/CHANGELOG.md +13 -0
  2. {OpenFisca_France-168.0.12.dist-info → OpenFisca_France-168.0.13.dist-info}/METADATA +1 -1
  3. {OpenFisca_France-168.0.12.dist-info → OpenFisca_France-168.0.13.dist-info}/RECORD +20 -9
  4. openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/exonerations.py +111 -10
  5. openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/travail_fonction_publique.py +3 -1
  6. openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/indemnite_compensatrice_fonctionnaires/index.yaml +9 -0
  7. openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/indemnite_compensatrice_fonctionnaires/taux.yaml +16 -0
  8. openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/index.yaml +6 -0
  9. openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/zrd/index.yaml +9 -0
  10. openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/zrd/plafond_exoneration_integrale_part_remuneration.yaml +15 -0
  11. openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/zrd/plafond_part_remuneration.yaml +15 -0
  12. openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/zrr/index.yaml +9 -0
  13. openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/zrr/plafond_exoneration_integrale_part_remuneration.yaml +32 -0
  14. openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/zrr/plafond_part_remuneration.yaml +25 -0
  15. openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/jei/index.yaml +11 -0
  16. openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/jei/plafond_part_remuneration.yaml +17 -0
  17. {OpenFisca_France-168.0.12.data → OpenFisca_France-168.0.13.data}/data/share/openfisca/openfisca-france/README.md +0 -0
  18. {OpenFisca_France-168.0.12.dist-info → OpenFisca_France-168.0.13.dist-info}/LICENSE.AGPL.txt +0 -0
  19. {OpenFisca_France-168.0.12.dist-info → OpenFisca_France-168.0.13.dist-info}/WHEEL +0 -0
  20. {OpenFisca_France-168.0.12.dist-info → OpenFisca_France-168.0.13.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 168.0.13 [2344](https://github.com/openfisca/openfisca-france/pull/2344)
4
+
5
+ * Évolution du système socio-fiscal. | Amélioration technique. Ces changements modifient l'API publique d'OpenFisca France et ajoutent une fonctionnalité : la possibilité de modifier des paramètres actuellement en dur dans les formules.
6
+
7
+ * Périodes concernées : à partir du 01/01/2011.
8
+ * Zones impactées :
9
+ * Modification formules dans `prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/exonerations.py`.
10
+ * Modification formules dans `prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/travail_fonction_publique.py`
11
+ * Création d'un nouveau dossier de paramètre dans `prelevements_sociaux/contributions_sociales/csg/activite` pour l'`indemnite_compensatrice_fonctionnaires`
12
+ * Création d'un nouveau dossier de paramètre dans `prelevements_sociaux/reductions_cotisations_sociales` pour les `exonerations_geographiques_cotis` et `jei`
13
+
14
+ * Détails : Retire une partie des paramètres en dur de l'indémnité compensatrice CSG, de l'exonération JEI, et des exonération zonnées ZRR et ZRD
15
+
3
16
  ## 168.0.12 [2314](https://github.com/openfisca/openfisca-france/pull/2314)
4
17
 
5
18
  * Changement mineur.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: OpenFisca-France
3
- Version: 168.0.12
3
+ Version: 168.0.13
4
4
  Summary: French tax and benefit system for OpenFisca
5
5
  Home-page: https://github.com/openfisca/openfisca-france
6
6
  Author: OpenFisca Team
@@ -1,5 +1,5 @@
1
- OpenFisca_France-168.0.12.data/data/share/openfisca/openfisca-france/CHANGELOG.md,sha256=aKXH1k4Gu7fL5qgFlYBocD00BGJ7JyES-SnF9eIir8A,450435
2
- OpenFisca_France-168.0.12.data/data/share/openfisca/openfisca-france/README.md,sha256=nIa6V4zevZpj2DX1rcpgs6AATTerCCy4622S1D3-CDI,18642
1
+ OpenFisca_France-168.0.13.data/data/share/openfisca/openfisca-france/CHANGELOG.md,sha256=oMkAA2uy7jmelOeKASDd6FyPom25DGAjIbmPB5NQvlE,451577
2
+ OpenFisca_France-168.0.13.data/data/share/openfisca/openfisca-france/README.md,sha256=nIa6V4zevZpj2DX1rcpgs6AATTerCCy4622S1D3-CDI,18642
3
3
  openfisca_france/__init__.py,sha256=MHLZ0V8uQHi4lkZ5bPAoLjsWTJe-wJgLfPxFvbCCxHc,126
4
4
  openfisca_france/entities.py,sha256=nGl52ncj9wZzFwASKZk4_OHzhqOUuXGBxNmIiwxZU-c,2576
5
5
  openfisca_france/france_taxbenefitsystem.py,sha256=UHVqvkqqYk-9RanSPWlVy3uieG77GCSrWCOqVpeN30I,1687
@@ -64,10 +64,10 @@ openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisation
64
64
  openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/base.py,sha256=96NhETcZCaE7jai2T7sf7XnJ7Es9kdHRXKWiwoiSW7Y,13182
65
65
  openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/chomage.py,sha256=BUI1fCE9frrtRvO1cCU3pOMRnWEvNK2m9uxAdZBGQ7A,2219
66
66
  openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/contrat_professionnalisation.py,sha256=8ideXZBZOWimNzDZ0mJN8GdUYsj-hlLKNEBKT7pIYS0,6274
67
- openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/exonerations.py,sha256=vZEJHHXHWoD9fYlr4lK0vmlmnA5r5NPryar-dqzxEbY,32516
67
+ openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/exonerations.py,sha256=V31o2ZIPAznFFnoc1YCgLOwwsG4HlE9L5Y239B7F994,39015
68
68
  openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/preprocessing.py,sha256=FyxqYwgpcEGwjEgc3tdhW4r5KZKtaKoB9Ah6kNqDz9Q,25173
69
69
  openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/stage.py,sha256=9AHP_zThKouQcwQw-cZMFCSYV56crYxunGCjUlv1gRA,7272
70
- openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/travail_fonction_publique.py,sha256=e7S0PGhfjvCMRuKox1xnnnZBZ4yNHBs-f5fBVb5rRdI,16228
70
+ openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/travail_fonction_publique.py,sha256=2wwzivFc2nPGopMOkix6Zl9n-0WLME6h0_dt0qRgqAA,16382
71
71
  openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/travail_non_salarie.py,sha256=Qmvr-UruYGlj3Ay8WDT49uXUbwSanSVpeXCn7PpE4PU,24851
72
72
  openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/travail_prive.py,sha256=Nc-M5kqqFi_1YpxvkvYQHG65-3Iddu_I8wHvD51gkso,44647
73
73
  openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/travail_totaux.py,sha256=vHJWfH0s0BYqbup9pcZisAI3cKGXlmBTdLYzWJOxgNA,9967
@@ -1361,6 +1361,8 @@ openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/acti
1361
1361
  openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/deductible/taux.yaml,sha256=vcoaLSCuVN3rpf4j7QVsiYeXWI4tS_Q8b2jUjOeQPBc,1331
1362
1362
  openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/imposable/index.yaml,sha256=7TDN5XL2YRx-wVkXLzgWwlrlE_tfOCzsSenBDzgUXjg,183
1363
1363
  openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/imposable/taux.yaml,sha256=7u8QOlwvztyQPQ7eJqFTUFZnkQI03ayxX2kf80yEJTE,1443
1364
+ openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/indemnite_compensatrice_fonctionnaires/index.yaml,sha256=rmtrsgH92lCcogYQ4cTV3iPfDRqHEmeFShvYbHHoGso,666
1365
+ openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/activite/indemnite_compensatrice_fonctionnaires/taux.yaml,sha256=blNW4aS0VF1StT_dmLgAcfWGcac9mCAyQ59fr6xkczo,652
1364
1366
  openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/index.yaml,sha256=5h3ADrdefB8Y9Jn4hbN4HBCF6tIH1-s8_b6p3iKuOpM,1430
1365
1367
  openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/index.yaml,sha256=FguZJf8XexTGewVW-tGH3_yh-yYGjQ4wc9gqcVefC8c,174
1366
1368
  openfisca_france/parameters/prelevements_sociaux/contributions_sociales/csg/remplacement/allocations_chomage/min_exo.yaml,sha256=_5DjsrK3Diyd0wOMuk8fQPqEGpQg4N2y6svp8VRJkdI,763
@@ -1884,6 +1886,15 @@ openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales
1884
1886
  openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/cits/index.yaml,sha256=fayjBfpAclH1S4aHcoRxopFdc53ET1b0cERrUc3Coo0,903
1885
1887
  openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/cits/plafond_smic.yaml,sha256=b9ZJs2UMHNQNhZjGhOL0V3RL-Dpgh9iQWYK01k-k28w,916
1886
1888
  openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/cits/taux.yaml,sha256=OuNJ87IGbI6mcgHzpd176nXkfL8XYq8OQN6-7jshv7o,889
1889
+ openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/index.yaml,sha256=Xb8pat5Utnw1kGYBXz5D4oNC8ylInl3XoHnG6E324f4,219
1890
+ openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/zrd/index.yaml,sha256=9U-BJYrxXRpIRkmfTHqLBdRwVzD6CLKQ3-wGJdJR5lE,567
1891
+ openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/zrd/plafond_exoneration_integrale_part_remuneration.yaml,sha256=3jEPM0XXg87sbqhUpbRd1bNY7eXiaIlP9MCqxowc_v4,755
1892
+ openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/zrd/plafond_part_remuneration.yaml,sha256=0-cvT_njjPx15SnitApBSNvtdHSpc-NlLfd2Q0GAufc,773
1893
+ openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/zrr/index.yaml,sha256=itk2haLuE1a3D7ML2ybAZelICgqZKS3cAiV5UgC4OzI,515
1894
+ openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/zrr/plafond_exoneration_integrale_part_remuneration.yaml,sha256=brVAyMSN0WFgJ99gsKuXJRQlTH-n99_zHCWQHtTJtsE,1826
1895
+ openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/exonerations_geographiques_cotis/zrr/plafond_part_remuneration.yaml,sha256=MElivI4RPI8BKtmrXC3zZpM7mP67bFdmiHCsLAlb2Q0,1474
1896
+ openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/jei/index.yaml,sha256=8PbiJ7NxlnOJpaEfPF3UOqRXUWYE7-yFsiPGiBQUkDw,970
1897
+ openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/jei/plafond_part_remuneration.yaml,sha256=6tK6NIxHidXmppRp9kLyiR9d_RsHPORxdlep57x8CaA,879
1887
1898
  openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/robien/index.yaml,sha256=sifHRHsnz6lGMtS7sYOxB5UjE8gPsWzXCvxgEs8CdVE,1486
1888
1899
  openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/robien/reduction_temps_travail_10/index.yaml,sha256=uK9EAQ2emL0A2A2E_CxZk5cHLerxflqCIsF_tUz-ZOw,263
1889
1900
  openfisca_france/parameters/prelevements_sociaux/reductions_cotisations_sociales/robien/reduction_temps_travail_10/taux_6annees_suivantes.yaml,sha256=-n2nKVlFh17f01f0D-2rY3H2EVZzmlAx_KPUPXwi1JU,860
@@ -4014,8 +4025,8 @@ tests/test_parameters.py,sha256=9ByrtcJpaV32qCE-u4FY4fzCugFUW8utc5_KUAmYKG8,354
4014
4025
  tests/test_preprocessing.py,sha256=BBMFR4GlFFqu86XfVcrHRbps_SpoWb1QS1lmu3c5bCE,6973
4015
4026
  tests/test_scenarios.py,sha256=A7SmVt_iyDTbNTE45WgGQlQZkJ0uJ1ZGUhTV3ziwLUw,1009
4016
4027
  tests/test_tax_rates.py,sha256=B_CnSIqCijGYkKW7XVZlF8uot0otNJ-Sq-DKINPATfA,1551
4017
- OpenFisca_France-168.0.12.dist-info/LICENSE.AGPL.txt,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
4018
- OpenFisca_France-168.0.12.dist-info/METADATA,sha256=4SH8xKMBIPT5gCKITtbLNJeJvBhiBhG6d4WFl0KQ63k,20518
4019
- OpenFisca_France-168.0.12.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
4020
- OpenFisca_France-168.0.12.dist-info/top_level.txt,sha256=hmd7WhmLN_CyB52sP702pN9WlJqO9YMVuzeBRNp3hfs,23
4021
- OpenFisca_France-168.0.12.dist-info/RECORD,,
4028
+ OpenFisca_France-168.0.13.dist-info/LICENSE.AGPL.txt,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
4029
+ OpenFisca_France-168.0.13.dist-info/METADATA,sha256=tXcQUMe3v61SoSFkVYthuK79bFRVTGvJSTe8r70e4YM,20518
4030
+ OpenFisca_France-168.0.13.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
4031
+ OpenFisca_France-168.0.13.dist-info/top_level.txt,sha256=hmd7WhmLN_CyB52sP702pN9WlJqO9YMVuzeBRNp3hfs,23
4032
+ OpenFisca_France-168.0.13.dist-info/RECORD,,
@@ -168,7 +168,49 @@ class exoneration_cotisations_employeur_jei(Variable):
168
168
  definition_period = MONTH
169
169
  set_input = set_input_divide_by_period
170
170
 
171
- def formula(individu, period, parameters):
171
+ def formula_2004_01_01(individu, period, parameters):
172
+ assiette_allegement = individu('assiette_allegement', period)
173
+ jei_date_demande = individu('jei_date_demande', period)
174
+ jeune_entreprise_innovante = individu('jeune_entreprise_innovante', period)
175
+ plafond_securite_sociale = individu('plafond_securite_sociale', period)
176
+ categorie_salarie = individu('categorie_salarie', period)
177
+ smic_proratise = individu('smic_proratise', period)
178
+
179
+ bareme_by_type_sal_name = parameters(period).cotsoc.cotisations_employeur
180
+ bareme_names = ['vieillesse_deplafonnee', 'vieillesse_plafonnee', 'maladie', 'famille']
181
+
182
+ exoneration = smic_proratise * 0.0
183
+ for bareme_name in bareme_names:
184
+ exoneration += apply_bareme_for_relevant_type_sal(
185
+ bareme_by_type_sal_name = bareme_by_type_sal_name,
186
+ bareme_name = bareme_name,
187
+ categorie_salarie = categorie_salarie,
188
+ base = assiette_allegement,
189
+ plafond_securite_sociale = plafond_securite_sociale,
190
+ round_base_decimals = 2,
191
+ )
192
+
193
+ exoneration_relative_year_passed = exoneration_relative_year(period, jei_date_demande)
194
+ rate_by_year_passed = {
195
+ 0: 1,
196
+ 1: 1,
197
+ 2: 1,
198
+ 3: 1,
199
+ 4: 1,
200
+ 5: 1,
201
+ 6: 1,
202
+ 7: 1,
203
+ } # TODO: move to parameters file
204
+ for year_passed, rate in rate_by_year_passed.items():
205
+ condition_on_year_passed = exoneration_relative_year_passed == timedelta64(year_passed, 'Y')
206
+ if condition_on_year_passed.any():
207
+ exoneration[condition_on_year_passed] = rate * exoneration
208
+
209
+ return - exoneration * jeune_entreprise_innovante
210
+
211
+ # À compter de 2011, l'exonération JEI est modifiée avec l'introduction, par l'article 175 de la LOI n° 2010-1657 du 29 décembre 2010 de finances pour 2011, d'une double limite de l'exonération. L'exonération s'applique uniquement sur la part de la rémunération inférieur à 4,5 fois le Smic, et un montant maximal par établissement est instauré.
212
+
213
+ def formula_2011_01_01(individu, period, parameters):
172
214
  assiette_allegement = individu('assiette_allegement', period)
173
215
  jei_date_demande = individu('jei_date_demande', period)
174
216
  jeune_entreprise_innovante = individu('jeune_entreprise_innovante', period)
@@ -176,8 +218,11 @@ class exoneration_cotisations_employeur_jei(Variable):
176
218
  smic_proratise = individu('smic_proratise', period)
177
219
  categorie_salarie = individu('categorie_salarie', period)
178
220
 
221
+ # Cette formule ne tient pas compte du montant maximal d'exonération dont chaque établissement peut bénéficier et qui est de 5 PSS (231 840 € en 2024)
222
+
179
223
  bareme_by_type_sal_name = parameters(period).cotsoc.cotisations_employeur
180
224
  bareme_names = ['vieillesse_deplafonnee', 'vieillesse_plafonnee', 'maladie', 'famille']
225
+ plafond_part_remuneration = parameters(period).prelevements_sociaux.reductions_cotisations_sociales.jei.plafond_part_remuneration
181
226
 
182
227
  exoneration = smic_proratise * 0.0
183
228
  for bareme_name in bareme_names:
@@ -185,7 +230,7 @@ class exoneration_cotisations_employeur_jei(Variable):
185
230
  bareme_by_type_sal_name = bareme_by_type_sal_name,
186
231
  bareme_name = bareme_name,
187
232
  categorie_salarie = categorie_salarie,
188
- base = min_(assiette_allegement, 4.5 * smic_proratise),
233
+ base = min_(assiette_allegement, plafond_part_remuneration * smic_proratise),
189
234
  plafond_securite_sociale = plafond_securite_sociale,
190
235
  round_base_decimals = 2,
191
236
  )
@@ -401,16 +446,25 @@ class exoneration_cotisations_employeur_zrd(Variable):
401
446
  definition_period = MONTH
402
447
  set_input = set_input_divide_by_period
403
448
 
404
- def formula(individu, period, parameters):
449
+ # L'exonération a été créée en 2009 par la loi de finances rectificative du 30 décembre 2008.
450
+
451
+ def formula_2009_01_01(individu, period, parameters):
405
452
  assiette_allegement = individu('assiette_allegement', period)
406
453
  entreprise_creation = individu('entreprise_creation', period)
407
454
  smic_proratise = individu('smic_proratise', period)
408
455
  zone_restructuration_defense = individu('zone_restructuration_defense', period)
456
+ seuils = parameters(period).prelevements_sociaux.reductions_cotisations_sociales.exonerations_geographiques_cotis.zrd
457
+ t_max_parameters = parameters(period).prelevements_sociaux
409
458
 
410
459
  eligible = zone_restructuration_defense
411
- taux_max = .281 # TODO: move to parameters file
412
- seuil_max = 2.4
413
- seuil_min = 1.4
460
+
461
+ # Paramètre T mis en dur initialement dans la formule et laissé tel quel car le paramètre reductions_cotisations_sociales.alleg_gen.mmid.taux existe uniquement depuis 2019.
462
+
463
+ taux_max = .281 if period.start.year < 2019 else (t_max_parameters.cotisations_securite_sociale_regime_general.mmid.employeur.maladie.rates[0] - t_max_parameters.reductions_cotisations_sociales.alleg_gen.mmid.taux + t_max_parameters.cotisations_securite_sociale_regime_general.cnav.employeur.vieillesse_plafonnee.rates[0] + t_max_parameters.cotisations_securite_sociale_regime_general.cnav.employeur.vieillesse_deplafonnee.rates[0] + t_max_parameters.cotisations_securite_sociale_regime_general.famille.employeur.famille.rates[0] - t_max_parameters.reductions_cotisations_sociales.allegement_cotisation_allocations_familiales.reduction)
464
+
465
+ seuil_max = seuils.plafond_part_remuneration
466
+ seuil_min = seuils.plafond_exoneration_integrale_part_remuneration
467
+
414
468
  taux_exoneration = compute_taux_exoneration(assiette_allegement, smic_proratise, taux_max, seuil_max, seuil_min)
415
469
 
416
470
  exoneration_relative_year_passed = exoneration_relative_year(period, entreprise_creation)
@@ -453,7 +507,7 @@ class exoneration_cotisations_employeur_zrr(Variable):
453
507
  #
454
508
  # L'employeur ne doit avoir procédé à aucun licenciement économique durant les 12 mois précédant l'embauche.
455
509
 
456
- def formula(individu, period, parameters):
510
+ def formula_1997_01_01(individu, period, parameters):
457
511
  assiette_allegement = individu('assiette_allegement', period)
458
512
  contrat_de_travail_type = individu('contrat_de_travail_type', period)
459
513
  TypesContrat = contrat_de_travail_type.possible_values
@@ -462,6 +516,7 @@ class exoneration_cotisations_employeur_zrr(Variable):
462
516
  effectif_entreprise = individu('effectif_entreprise', period)
463
517
  smic_proratise = individu('smic_proratise', period)
464
518
  zone_revitalisation_rurale = individu('zone_revitalisation_rurale', period)
519
+ seuils = parameters(period).prelevements_sociaux.reductions_cotisations_sociales.exonerations_geographiques_cotis.zrr
465
520
 
466
521
  duree_cdd_eligible = contrat_de_travail_fin > contrat_de_travail_debut + timedelta64(365, 'D')
467
522
  # TODO: move to parameters file
@@ -478,9 +533,55 @@ class exoneration_cotisations_employeur_zrr(Variable):
478
533
  * duree_validite
479
534
  )
480
535
 
481
- taux_max = .281 if period.start.year < 2015 else .2655 # TODO: move to parameters file
482
- seuil_max = 2.4
483
- seuil_min = 1.5
536
+ taux_max = .281
537
+ plafond = seuils.plafond_exoneration_integrale_part_remuneration
538
+
539
+ ratio_smic_salaire = smic_proratise / (assiette_allegement + 1e-16)
540
+ taux_exoneration = round_(
541
+ taux_max * max_(plafond * (1 - ratio_smic_salaire), 0),
542
+ 4,
543
+ )
544
+ exoneration_cotisations_zrr = taux_exoneration * assiette_allegement * eligible
545
+
546
+ return exoneration_cotisations_zrr
547
+
548
+ def formula_2008_03_01(individu, period, parameters):
549
+ assiette_allegement = individu('assiette_allegement', period)
550
+ contrat_de_travail_type = individu('contrat_de_travail_type', period)
551
+ TypesContrat = contrat_de_travail_type.possible_values
552
+ contrat_de_travail_debut = individu('contrat_de_travail_debut', period)
553
+ contrat_de_travail_fin = individu('contrat_de_travail_fin', period)
554
+ effectif_entreprise = individu('effectif_entreprise', period)
555
+ smic_proratise = individu('smic_proratise', period)
556
+ zone_revitalisation_rurale = individu('zone_revitalisation_rurale', period)
557
+ seuils = parameters(period).prelevements_sociaux.reductions_cotisations_sociales.exonerations_geographiques_cotis.zrr
558
+ t_max_parameters = parameters(period).prelevements_sociaux
559
+
560
+ duree_cdd_eligible = contrat_de_travail_fin > contrat_de_travail_debut + timedelta64(365, 'D')
561
+ # TODO: move to parameters file
562
+ contrat_de_travail_eligible = (contrat_de_travail_type == TypesContrat.cdi) + ((contrat_de_travail_type == TypesContrat.cdd) * (duree_cdd_eligible))
563
+
564
+ duree_validite = (
565
+ datetime64(period.start) + timedelta64(1, 'D') - contrat_de_travail_debut
566
+ ).astype('timedelta64[Y]') < timedelta64(1, 'Y')
567
+
568
+ eligible = (
569
+ contrat_de_travail_eligible
570
+ * (effectif_entreprise <= 50)
571
+ * zone_revitalisation_rurale
572
+ * duree_validite
573
+ )
574
+
575
+ if period.start.year < 2015:
576
+ taux_max = 0.281
577
+ elif period.start.year < 2019:
578
+ taux_max = 0.2655
579
+ else:
580
+ taux_max = (t_max_parameters.cotisations_securite_sociale_regime_general.mmid.employeur.maladie.rates[0] - t_max_parameters.reductions_cotisations_sociales.alleg_gen.mmid.taux + t_max_parameters.cotisations_securite_sociale_regime_general.cnav.employeur.vieillesse_plafonnee.rates[0] + t_max_parameters.cotisations_securite_sociale_regime_general.cnav.employeur.vieillesse_deplafonnee.rates[0] + t_max_parameters.cotisations_securite_sociale_regime_general.famille.employeur.famille.rates[0] - t_max_parameters.reductions_cotisations_sociales.allegement_cotisation_allocations_familiales.reduction)
581
+
582
+ seuil_max = seuils.plafond_part_remuneration
583
+ seuil_min = seuils.plafond_exoneration_integrale_part_remuneration
584
+
484
585
  taux_exoneration = compute_taux_exoneration(assiette_allegement, smic_proratise, taux_max, seuil_max, seuil_min)
485
586
  exoneration_cotisations_zrr = taux_exoneration * assiette_allegement * eligible
486
587
 
@@ -116,7 +116,9 @@ class indemnite_compensatrice_csg(Variable):
116
116
  remuneration_principale = individu('remuneration_principale', period)
117
117
  categorie_salarie = individu('categorie_salarie', period)
118
118
  eligible = ((categorie_salarie == TypesCategorieSalarie.public_titulaire_etat) + (categorie_salarie == TypesCategorieSalarie.public_titulaire_militaire) + (categorie_salarie == TypesCategorieSalarie.public_titulaire_territoriale) + (categorie_salarie == TypesCategorieSalarie.public_titulaire_hospitaliere)) > 0
119
- indem = remuneration_principale * 0.0076
119
+ taux_indemnite = parameters(period).prelevements_sociaux.contributions_sociales.csg.activite.indemnite_compensatrice_fonctionnaires.taux
120
+
121
+ indem = remuneration_principale * taux_indemnite
120
122
 
121
123
  return indem * eligible
122
124
 
@@ -0,0 +1,9 @@
1
+ description: Indemnité compensatrice de CSG de la fonction publique
2
+ metadata:
3
+ label_en: CSG compensatory allowance
4
+ reference:
5
+ 2018-01-01:
6
+ - title: Article 113 de la LOI n° 2017-1837 du 30 décembre 2017 de finances pour 2018 (1)
7
+ href: https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000036377692
8
+ documentation: |-
9
+ Cette indemnité compensatrice concerne les agents publics civils et les militaires, mais « n'est pas versée aux agents [...] qui sont affiliés au régime général de la sécurité sociale au titre des prestations en espèces de l'assurance maladie.» II. de l'article 2 du Décret n° 2017-1889 du 30 décembre 2017
@@ -0,0 +1,16 @@
1
+ description: Taux de l'indemnité compensatrice de CSG versée aux fonctionnaires civils et militaires
2
+ values:
3
+ 2018-01-01:
4
+ value: 0.0076
5
+ metadata:
6
+ short_label: Taux indemnité compensatrice
7
+ last_value_still_valid_on: "2024-08-12"
8
+ label_en: CSG compensatory allowance rate
9
+ ipp_csv_id: csg_act
10
+ unit: /1
11
+ reference:
12
+ 2018-01-01:
13
+ - title: Article 2 du décret n° 2017-1889 du 30 décembre 2017 pris en application de l'article 113 de la loi n° 2017-1837 du 30 décembre 2017 de finances pour 2018
14
+ href: https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000036501673
15
+ official_journal_date:
16
+ 2018-01-01: "2017-12-31"
@@ -0,0 +1,6 @@
1
+ description: Exonérations géographiques de cotisations employeur
2
+ metadata:
3
+ reference:
4
+ 0001-01-01:
5
+ - title: BOSS.gouv.fr
6
+ href: https://boss.gouv.fr/portail/accueil/exonerations/exonerations-zonees.html
@@ -0,0 +1,9 @@
1
+ description: Exonération de cotisations employeur applicable en zone de restructuration de la défence (ZRD)
2
+ metadata:
3
+ short_label: Exonération en zone de restructuration de la défense (ZRD)
4
+ reference:
5
+ 0001-01-01:
6
+ - title: Article 34 de la loi n° 2008-1443 du 30 décembre 2008 de finances rectificative pour 2008 (1)
7
+ href: https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000037075159/
8
+ - title: BOSS.gouv.fr
9
+ href: https://boss.gouv.fr/portail/accueil/exonerations/exonerations-zonees.html#titre-chapitre-3--exoneration-applicab
@@ -0,0 +1,15 @@
1
+ description: Plafond de rémunération (en nombre de Smic) de l'exonération intégrale de cotisations employeur en zone de restructuration de la défense (ZRD)
2
+ values:
3
+ 2009-01-01:
4
+ value: 1.4
5
+ metadata:
6
+ short_label: Plafond de rémunération de l'exonération intégrale
7
+ last_value_still_valid_on: "2024-08-12"
8
+ label_en: Remuneration ceiling for full exemption
9
+ unit: smic
10
+ reference:
11
+ 2009-01-01:
12
+ - title: Article 34 de la loi n° 2008-1443 du 30 décembre 2008 de finances rectificative pour 2008 (1)
13
+ href: https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000037075159/
14
+ - title: BOSS.gouv.fr
15
+ href: https://boss.gouv.fr/portail/accueil/exonerations/exonerations-zonees.html#titre-chapitre-3--exoneration-applicab
@@ -0,0 +1,15 @@
1
+ description: Plafond de rémunération (en nombre de Smic) de l'exonération de cotisations employeur au titre des embauches en zone de restructuration de la défense (ZRD)
2
+ values:
3
+ 2009-01-01:
4
+ value: 2.4
5
+ metadata:
6
+ short_label: Plafond de rémunération de l'exonération (Point d'annulation)
7
+ last_value_still_valid_on: "2024-08-12"
8
+ label_en: Remuneration ceiling for exemption
9
+ unit: smic
10
+ reference:
11
+ 2009-01-01:
12
+ - title: Article 34 de la loi n° 2008-1443 du 30 décembre 2008 de finances rectificative pour 2008 (1)
13
+ href: https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000037075159/
14
+ - title: BOSS.gouv.fr
15
+ href: https://boss.gouv.fr/portail/accueil/exonerations/exonerations-zonees.html#titre-chapitre-3--exoneration-applicab
@@ -0,0 +1,9 @@
1
+ description: Exonérations de cotisations employeur au titre des embauches en zone de revitalisation rurale (ZRR)
2
+ metadata:
3
+ short_label: Exonération en zone de revitalisation rurale (ZRR)
4
+ reference:
5
+ 0001-01-01:
6
+ - title: Article L241-19 du Code de la sécurité sociale
7
+ href: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000038610258
8
+ - title: BOSS.gouv.fr
9
+ href: https://boss.gouv.fr/portail/accueil/exonerations/exonerations-zonees.html#titre-chapitre-1--exoneration-applicab
@@ -0,0 +1,32 @@
1
+ description: Plafond de rémunération (en nombre de Smic) de l'exonération intégrale de cotisations employeur au titre des embauches en zone de revitalisation rurale (ZRR)
2
+ values:
3
+ 1997-01-01:
4
+ value: 1.5
5
+ 2008-03-01:
6
+ value: 1.5
7
+ 2009-01-01:
8
+ value: 1.5
9
+ metadata:
10
+ short_label: Plafond de rémunération de l'exonération intégrale
11
+ last_value_still_valid_on: "2024-08-12"
12
+ label_en: Remuneration ceiling for full exemption
13
+ unit: smic
14
+ reference:
15
+ 1997-01-01:
16
+ - title: Article L322-13, I., du Code du travail
17
+ href: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000006648287/1996-11-15/
18
+ 2008-03-01:
19
+ - title: Article L131-4-2 du Code de la sécurité sociale
20
+ href: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000006741069/2008-03-01
21
+ 2009-01-01:
22
+ - title: Article 6 du décret n° 97-127 du 12 février 1997
23
+ href: https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000037456942
24
+ - title: BOSS.gouv.fr
25
+ href: https://boss.gouv.fr/portail/accueil/exonerations/exonerations-zonees.html#titre-chapitre-1--exoneration-applicab-section-3--modalites-dapplicatio-b-calcul-du-montant-de-lexonerat
26
+ notes:
27
+ 1997-01-01:
28
+ - title: Le plafond de la rémunération prise en compte est, depuis le début du dispositif en 1994, de "montant du salaire minimum de croissance majoré de 50 p. 100.".
29
+ 2008-03-01:
30
+ - title: À partir du 1er mars 2008 apparaît la dégressivité à compter de ce paramètre qui reste à 1,5 Smic mais qui est déplacé dans le Code de la sécurité sociale
31
+ 2009-01-01:
32
+ - title: À partir de 2009, les deux paramètres (celui-ci, plafond de l'exonération totale et le point d'annulation) sont déplacés dans l'article 6 du décret n° 97-127 du 12 février 1997. Décret qui est donc modifié.
@@ -0,0 +1,25 @@
1
+ description: Plafond de rémunération (en nombre de Smic) de l'exonération de cotisations employeur au titre des embauches en zone de revitalisation rurale (ZRR)
2
+ values:
3
+ 2008-03-01:
4
+ value: 2.4
5
+ 2009-01-01:
6
+ value: 2.4
7
+ metadata:
8
+ short_label: Plafond de rémunération de l'exonération (Point d'annulation)
9
+ last_value_still_valid_on: "2024-08-12"
10
+ label_en: Remuneration ceiling for exemption
11
+ unit: smic
12
+ reference:
13
+ 2008-03-01:
14
+ - title: Article L131-4-2 du Code de la sécurité sociale
15
+ href: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000006741069/2008-03-01
16
+ 2009-01-01:
17
+ - title: Article 6 du décret n° 97-127 du 12 février 1997
18
+ href: https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000037456942
19
+ - title: BOSS.gouv.fr
20
+ href: https://boss.gouv.fr/portail/accueil/exonerations/exonerations-zonees.html#titre-chapitre-1--exoneration-applicab-section-3--modalites-dapplicatio-b-calcul-du-montant-de-lexonerat
21
+ notes:
22
+ 2008-03-01:
23
+ - title: Ce paramètre n'existait pas à moment de la création du dispositif en 1997. La dégressivité apparaît à partir du 1er mars 2008 apparaît la dégressivité dans le Code de la sécurité sociale
24
+ 2009-01-01:
25
+ - title: À partir de 2009, les deux paramètres (le plafond de l'exonération totale et, celui-ci, le point d'annulation) sont déplacés dans l'article 6 du décret n° 97-127 du 12 février 1997. Décret qui est donc modifié.
@@ -0,0 +1,11 @@
1
+ description: Exonération de cotisations employeur pour les jeunes entreprises innovantes (JEI)
2
+ metadata:
3
+ label_en: Exonération cotisations jeunes entreprises innovantes (JEI)
4
+ reference:
5
+ 2011-01-01:
6
+ - title: Article 131 de la loi n° 2003-1311 du 30 décembre 2003 de finances pour 2004 (1).
7
+ href: https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000037075129
8
+ - title: BOSS.gouv.fr
9
+ href: https://boss.gouv.fr/portail/accueil/exonerations/jeunes-entreprises-innovantes.html
10
+ documentation: |-
11
+ Les entreprises ayant le statut de "jeunes entreprises innovantes" (JEI) bénéficient, sous conditions, d'exonérations fiscales et sociales spécifiques pour une durée déterminée. L'exonération s'applique selon une double limite : la part de la rémunération concernée (paramètre disponible dans OpenFisca) + un montant maximal par an d'exonération par établissement employeur (ce paramètre n'est pas disponible dans OpenFisca).
@@ -0,0 +1,17 @@
1
+ description: Plafond de la part de rémunération des salariés (en nombre de Smic) concernée par l'exonération de cotisation employeur pour les jeunes entreprises innovantes (JEI)
2
+ values:
3
+ 2011-01-01:
4
+ value: 4.5
5
+ metadata:
6
+ short_label: Plafond de la rémunération concernée par l'exonération
7
+ last_value_still_valid_on: "2024-08-12"
8
+ label_en: Maximum remuneration covered by the JEI exemption
9
+ unit: Smic
10
+ reference:
11
+ 2011-01-01:
12
+ - title: Article 131, I. de la loi n° 2003-1311 du 30 décembre 2003 de finances pour 2004 (1)
13
+ href: https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000037075129/
14
+ - titre: Article 175 de la loi n° 2010-1657 du 29 décembre 2010 de finances pour 2011 (Introduit ce plafond)
15
+ href: https://www.legifrance.gouv.fr/jorf/article_jo/JORFARTI000023315782
16
+ official_journal_date:
17
+ 2011-01-01: "2010-12-30"