Skip to content

Commit

Permalink
Change le mode de recouvrement des allègements de cotisations (#2283)
Browse files Browse the repository at this point in the history
  • Loading branch information
b-michaud authored Apr 30, 2024
2 parents 1d3671e + 25f88cf commit fb41ce4
Show file tree
Hide file tree
Showing 7 changed files with 71 additions and 6 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 165.0.0 [2283](https://github.com/openfisca/openfisca-france/pull/2084)

* Changement majeur.
* Périodes concernées : toutes.
* Zones impactées : `openfisca_france/model/revenus/activite/salarie.py.`.
* Détails :
- La valeur par défaut du mode de recouvrement des allègements de cotisations a été modifié de "fin d'année" à "progressif".
- Avec le mode de recouvrement "fin d'année", le montant des allègements obtenu est annuel, même lorsque la période définie est mensuelle (par exemple "2024-12")

### 164.1.6 [2271](https://github.com/openfisca/openfisca-france/pull/2271)

* Changement mineur.
Expand Down
6 changes: 3 additions & 3 deletions openfisca_france/model/revenus/activite/salarie.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ class TypesAllegementModeRecouvrement(Enum):
class allegement_general_mode_recouvrement(Variable):
value_type = Enum
possible_values = TypesAllegementModeRecouvrement
default_value = TypesAllegementModeRecouvrement.fin_d_annee
default_value = TypesAllegementModeRecouvrement.progressif
entity = Individu
label = 'Mode de recouvrement des allègements Fillon'
definition_period = MONTH
Expand All @@ -186,7 +186,7 @@ class allegement_general_mode_recouvrement(Variable):
class allegement_cotisation_allocations_familiales_mode_recouvrement(Variable):
value_type = Enum
possible_values = TypesAllegementModeRecouvrement
default_value = TypesAllegementModeRecouvrement.fin_d_annee
default_value = TypesAllegementModeRecouvrement.progressif
entity = Individu
label = "Mode de recouvrement de l'allègement de la cotisation d'allocations familiales"
definition_period = MONTH
Expand All @@ -196,7 +196,7 @@ class allegement_cotisation_allocations_familiales_mode_recouvrement(Variable):
class allegement_cotisation_maladie_mode_recouvrement(Variable):
value_type = Enum
possible_values = TypesAllegementModeRecouvrement
default_value = TypesAllegementModeRecouvrement.fin_d_annee
default_value = TypesAllegementModeRecouvrement.progressif
entity = Individu
label = "Mode de recouvrement de l'allègement des cotisations maladie sur les bas et moyens salaires (Ex-CICE)"
definition_period = MONTH
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

setup(
name = 'OpenFisca-France',
version = '164.1.6',
version = '165.0.0',
author = 'OpenFisca Team',
author_email = 'contact@openfisca.fr',
classifiers = [
Expand Down
12 changes: 10 additions & 2 deletions tests/formulas/maladie_mmid_employeur.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@
input:
salaire_de_base:
month:2021-01:9: 1554.58 * 9
allegement_cotisation_maladie_mode_recouvrement: fin_d_annee
allegement_cotisation_maladie_mode_recouvrement:
2021-09: fin_d_annee
2021-10: fin_d_annee
2021-11: fin_d_annee
2021-12: fin_d_annee
output:
assiette_allegement:
2021-09: 1554.58
Expand All @@ -32,7 +36,11 @@
2021-01: 3886.55 # 1554.58 * 2.5 + 0.1
2021-02: 3886.55
2021-03: 3886.55
allegement_cotisation_maladie_mode_recouvrement: progressif
allegement_cotisation_maladie_mode_recouvrement:
2021-09: progressif
2021-10: progressif
2021-11: progressif
2021-12: progressif
output:
assiette_allegement:
2021-01: 3886.55
Expand Down
37 changes: 37 additions & 0 deletions tests/formulas/prime_exceptionnelle_pouvoir_achat.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
month:2021-01:12: [60000, 60000] # 5000*12 Le salaire de 2021 ne lui permet pas d'être exonéré mais comme on prend en compte le salaire des 12 derniers mois alors il est exonéré
effectif_entreprise: [65, 65]
accord_interessement: [false, false]
allegement_cotisation_allocations_familiales_mode_recouvrement: [fin_d_annee, fin_d_annee]
output:
impot_revenu_restant_a_payer:
2021: [-7246, -7246]
Expand All @@ -26,6 +27,9 @@
effectif_entreprise: [30, 65]
accord_interessement: [false, false]
salaire_de_base: [20000, 20000]
allegement_cotisation_allocations_familiales_mode_recouvrement: [fin_d_annee, fin_d_annee]
allegement_cotisation_maladie_mode_recouvrement: [fin_d_annee, fin_d_annee]
allegement_general_mode_recouvrement: [fin_d_annee, fin_d_annee]
output:
prime_exceptionnelle_pouvoir_achat_exoneree: [2000, 1000] # Exonération de 1000 car pas d'accord d'intéressement et effectif d'entreprise > 50
prime_exceptionnelle_pouvoir_achat_non_exoneree: [0, 500]
Expand All @@ -48,6 +52,9 @@
accord_interessement: true
salaire_de_base:
2021-05: 2000
allegement_cotisation_allocations_familiales_mode_recouvrement: fin_d_annee
allegement_cotisation_maladie_mode_recouvrement: fin_d_annee
allegement_general_mode_recouvrement: fin_d_annee
output:
prime_exceptionnelle_pouvoir_achat_exoneree: 2000
prime_exceptionnelle_pouvoir_achat_non_exoneree: 200 # Non exonéré car le montant dépasse les 2000 €
Expand All @@ -65,6 +72,9 @@
accord_interessement: [true, false]
salaire_de_base:
2021-05: [2000, 2000]
allegement_cotisation_allocations_familiales_mode_recouvrement: [fin_d_annee, fin_d_annee]
allegement_cotisation_maladie_mode_recouvrement: [fin_d_annee, fin_d_annee]
allegement_general_mode_recouvrement: [fin_d_annee, fin_d_annee]
output:
prime_exceptionnelle_pouvoir_achat_exoneree: [2000, 2000]
prime_exceptionnelle_pouvoir_achat_non_exoneree: [0, 0]
Expand All @@ -80,6 +90,12 @@
2022-05: [3000, 3000]
effectif_entreprise: [55, 55]
accord_interessement: [false, false]
allegement_cotisation_allocations_familiales_mode_recouvrement:
2022-05: [fin_d_annee, fin_d_annee]
allegement_cotisation_maladie_mode_recouvrement:
2022-05: [fin_d_annee, fin_d_annee]
allegement_general_mode_recouvrement:
2022-05: [fin_d_annee, fin_d_annee]
output:
prime_exceptionnelle_pouvoir_achat_exoneree: [0, 0]
prime_exceptionnelle_pouvoir_achat_non_exoneree: [0, 0]
Expand All @@ -94,6 +110,9 @@
salaire_de_base: 2000*12
effectif_entreprise: 55
accord_interessement: false
allegement_cotisation_allocations_familiales_mode_recouvrement: fin_d_annee
allegement_cotisation_maladie_mode_recouvrement: fin_d_annee
allegement_general_mode_recouvrement: fin_d_annee
output:
prime_exceptionnelle_pouvoir_achat_exoneree: 1000
prime_exceptionnelle_pouvoir_achat_non_exoneree: 1300 # Non exonéré jusqu'à 2000 € car ni accord d'intéressement ni effectif d'entreprise
Expand All @@ -110,6 +129,12 @@
2020: [24_000, 65_000]
effectif_entreprise: [55, 55]
accord_interessement: [true, true]
allegement_cotisation_allocations_familiales_mode_recouvrement:
2020-05: [fin_d_annee, fin_d_annee]
allegement_cotisation_maladie_mode_recouvrement:
2020-05: [fin_d_annee, fin_d_annee]
allegement_general_mode_recouvrement:
2020-05: [fin_d_annee, fin_d_annee]
output:
prime_exceptionnelle_pouvoir_achat_exoneree: [2000, 0]
prime_exceptionnelle_pouvoir_achat_non_exoneree: [0, 2000] # Non exonéré car salaire annuel < 3 Smic
Expand Down Expand Up @@ -139,6 +164,9 @@
2020: [55_964, 55_964, 55_964]
2021: [55_964, 55_964, 55_964]
prime_exceptionnelle_pouvoir_achat: [1200, 1200, 1200]
allegement_cotisation_allocations_familiales_mode_recouvrement: [fin_d_annee, fin_d_annee, fin_d_annee]
allegement_cotisation_maladie_mode_recouvrement: [fin_d_annee, fin_d_annee, fin_d_annee]
allegement_general_mode_recouvrement: [fin_d_annee, fin_d_annee, fin_d_annee]
output:
quotite_de_travail:
2021-01: [1, 0.99, 1.008]
Expand Down Expand Up @@ -196,6 +224,9 @@
prime_exceptionnelle_pouvoir_achat: [2000, 2000]
accord_interessement: [true, true]
effectif_entreprise: [55, 55]
allegement_cotisation_allocations_familiales_mode_recouvrement: [fin_d_annee, fin_d_annee]
allegement_cotisation_maladie_mode_recouvrement: [fin_d_annee, fin_d_annee]
allegement_general_mode_recouvrement: [fin_d_annee, fin_d_annee]
output:
prime_exceptionnelle_pouvoir_achat_non_exoneree: [2000, 2000]
prime_exceptionnelle_pouvoir_achat_exoneree: [0, 0]
Expand All @@ -209,6 +240,9 @@
prime_exceptionnelle_pouvoir_achat: [2000, 2000]
accord_interessement: [true, true]
effectif_entreprise: [50, 50]
allegement_cotisation_allocations_familiales_mode_recouvrement: [fin_d_annee, fin_d_annee]
allegement_cotisation_maladie_mode_recouvrement: [fin_d_annee, fin_d_annee]
allegement_general_mode_recouvrement: [fin_d_annee, fin_d_annee]
output:
prime_exceptionnelle_pouvoir_achat_exoneree: [2000, 2000]
prime_exceptionnelle_pouvoir_achat_non_exoneree: [0, 0]
Expand All @@ -226,6 +260,9 @@
month:2019-09:24: [65, 65]
accord_interessement:
month:2019-09:24: [false, false]
allegement_cotisation_allocations_familiales_mode_recouvrement: [fin_d_annee, fin_d_annee]
allegement_cotisation_maladie_mode_recouvrement: [fin_d_annee, fin_d_annee]
allegement_general_mode_recouvrement: [fin_d_annee, fin_d_annee]
output:
prime_exceptionnelle_pouvoir_achat_exoneree:
2021: [1000, 0] # Exonération de 1000 car pas d'accord d'intéressement et effectif > 50
Expand Down
9 changes: 9 additions & 0 deletions tests/formulas/prime_partage_valeur.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,15 @@
# [0, 250, 350, 250, 250, 500, 600]
accord_interessement:
month:2021-01:36: [false, false, false, true, true, true, true]
allegement_cotisation_allocations_familiales_mode_recouvrement:
2022: [fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee]
2023: [fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee]
allegement_cotisation_maladie_mode_recouvrement:
2022: [fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee]
2023: [fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee]
allegement_general_mode_recouvrement:
2022: [fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee]
2023: [fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee, fin_d_annee]
output:
prime_partage_valeur_exceptionnelle:
2021: [0, 0, 0, 0, 0, 0, 0]
Expand Down
2 changes: 2 additions & 0 deletions tests/formulas/salaire_super_brut.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
input:
salaire_de_base: 1457.52
allegement_general_mode_recouvrement: anticipe
allegement_cotisation_allocations_familiales_mode_recouvrement: fin_d_annee
allegement_cotisation_maladie_mode_recouvrement: fin_d_annee
effectif_entreprise: 1
categorie_salarie: prive_non_cadre
output:
Expand Down

0 comments on commit fb41ce4

Please sign in to comment.