-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ajoute l'exonération TO-DE du secteur agricole #1861
Conversation
definition_period = MONTH | ||
set_input = set_input_divide_by_period | ||
documentation = ''' | ||
Non modélisé (2022), tout employeur MSA sauf ces employeurs : |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ces types d'employeurs n'ont pas été modélisés ici parce que je n'ai pas su les catégoriser clairement. Toute suggestion est la bienvenue ; nous pourrions ajouter ça dans une PR suivante si ça ne vous semble pas bloquant.
documentation = ''' | ||
Exonération de cotisations et contributions employeur sur les bas salaires. | ||
|
||
Non modélisé (2022): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
De même que pour les catégories d'entreprises, la modélisation de cette règle n'était pas évidente pour cette première version de TO-DE dans la mesure où nous avons défini l'exonération au mois (par rapport aux cotisations/contrib en particulier). Mais l'absence de cette contrainte peut donner lieu à un montant erroné à l'année si on est éligible à l'année cc @eraviart.
# l'individu est le travailleur occasionnel | ||
eligible = individu('exoneration_cotisations_employeur_tode_eligibilite', period) | ||
|
||
# cotisations assurances sociales agricoles (ASA) - identiques régime général |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Les cotisations et contributions ont été indiquées dans l'ordre de l'Article L741-16. Je n'y ai pas clairement vu les cotisations vieillesse mais elles figurent bien sur la page MSA.
Les commentaires par ligne de cotis/contrib peuvent être supprimés.
# Puis dégressive : 1,2 × C/0,40 × (1,6 × montant mensuel du SMIC/ rémunération mensuelle brute hors heures supplémentaires et complémentaires-1) | ||
# Devient nulle à 1.6 SMIC | ||
|
||
salaire_de_base = individu('salaire_de_base', period) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
salaire_de_base
choisi au regard de la formule de calcul qui indiquerémunération mensuelle brute hors heures supplémentaires et complémentaires
.
D'un autre côté,La rémunération mensuelle brute correspond à celle retenue pour le calcul des cotisations de la réduction générale des cotisations patronales (réduction Fillon).
d'après la page TO-DE de la MSA.
Le régime agricole a quelques spécificités et l’exonération TO-DE s’applique à l’essentiel des cotisations de sécurité sociale pour l'employeur du secteur agricole. C’est pourquoi, au cours de la revue de cette PR, vous serez peut-être amené à effectuer quelques recherches sur les sites internet de différentes institutions qui n’indiquent pas toujours clairement le contexte dans lequel elles s’inscrivent. Ce qui suit a pour vocation à vous apporter un peu de contexte, au cas où 🙂 En résumé : Dans sa mission, la Sécurité Sociale adresse cinq types de risques, qui forment les six branches de la Sécurité sociale :
Source : solidarites-sante.gouv.fr
La Mutualité sociale agricole (MSA) est un guichet unique qui gère l’ensemble des risques au profit de deux populations :
Source : agriculture.gouv.fr
Elle est organisée en :
Si l’on compare avec le régime général, les personnes soumises au régime agricole ont un interlocuteur unique et local tout au long de leur vie. Source : MSA solidarite-responsabilite-democratie D’un point de vue seuils et taux de cotisations employeur, le régime agricole tend à se rapprocher du régime général. Du moins, c’est ce que l’on constate si l’on compare les barèmes employeur du régime général existants dans openfisca-france et ceux de la MSA pour les cotisations employeurs des salariés au 1er janvier 2022 (références législatives incluses en bas de pages ; document trouvé via cette page).
D’un point de vue maladie, deux termes sont récurrents : AMEXA et ASA.
Enfin, la tendance au rapprochement avec le régime général est ancienne et a, par exemple, déjà été évoquée par le Sénat en 2007. |
|
Rebase en cours pré-ouverture à la revue. |
exoneration_cotisations_employeur_tode_eligibilite: true | ||
exoneration_cotisations_employeur_tode: 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
De mon interprétation de la documentation MSA, on peut être éligible à la TO-DE mais ne pas bénéficier d'exonération. C'est ce qu'on voit entre autre ici.
@clallemand Revue de PR proposée selon les recommandations de GitHub mais n'hésite pas à faire suivre au besoin. 😊 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je ne suis pas entré dans le détail, j'ai plus des questions que des retours sur l'implémentation.
...e/parameters/prelevements_sociaux/reductions_cotisations_sociales/agricole/tode/plafond.yaml
Outdated
Show resolved
Hide resolved
contrat_duree_determinee_type: contrat_saisonnier | ||
categorie_salarie: prive_non_cadre | ||
taches_salarie_type: travaux_forestiers | ||
exposition_accident: faible |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je ne pense pas que cela ait une importance, mais le risque d'accident est plutôt élevé pour les travailleurs agricoles.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Effectivement, nous pourrions l'améliorer. Je le conserve juste pour le moment parce qu'il s'agit du seul niveau de risque pour lequel nous savons quel taux nous appliquons, à savoir, le taux "bureau" 😳 (cf. issue #2047).
allegement_cotisation_maladie: (1603.15 * 1.5) * (0.13 - 0.07) # sous 2.5 SMIC | ||
|
||
famille: -1 * 1603.15 * 1.5 * 0.0525 # FIXME: à <= 3.5 SMIC devrait être au prelevements_sociaux.cotisations_securite_sociale_regime_general.famille.taux_reduit | ||
accident_du_travail: -1 * 1603.15 * 1.5 * 0.009 # FIXME: taux 2018 à mettre à jour |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Les FIXME sont toujours d'actualités ? Il y a une issue ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
La voici en #2047 et la situation s'avère un peu plus complexe qu'anticipé.
Je pensais mettre à jour les taux d'après la référence
Barème des taux collectifs 2022 en fonction des catégories de risques
donnée sur cleiss.fr ne fonctionne plus et la mise à jour 2023 résume bien la situation avec pour valeur de taux le motVariable
🤣
taches_salarie_type: prolongement_production | ||
exposition_accident: faible | ||
|
||
salaire_de_base: 1603.15 * 2.6 # 4168.19 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Le montant des paramètres est 1603.12 et non 1603.15. Pourquoi cet écart ?
- Pourquoi
* 2.6
et pas* 1.6
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pourquoi * 2.6 et pas * 1.6 ?
Effectivement, l'exonération de TO-DE est nulle à partir de 1.6 SMIC mais on ne sort pas pour autant de toutes les réductions de cotisations employeur. Ce n'était pas obligatoire pour ce test mais afin d'avoir un cas plus neutre, on choisit ici de sortir de toutes les exonérations, la TODE et les autres.
Celle s'appliquant au seuil le plus haut ici est a priori la réduction du taux de cotisations maladie : réduction de 6% jusqu'à 2.5 SMIC. C'est pourquoi les ressources choisies sont à 2.6 SMIC.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Le montant des paramètres est 1603.12 et non 1603.15. Pourquoi cet écart ?
Dans sa section 2/ Comment calculer l'exonération ?
, la fiche MSA sur la TO-DE indique :
Précisions sur ce calcul
La rémunération mensuelle brute correspond à celle retenue pour le calcul des cotisations de la réduction générale des cotisations patronales. (Réduction générale à l'article L. 241-13 du code de sécurité sociale dans sa version en vigueur en 2010).
_Le montant mensuel du SMIC est égal à 151,67 fois le SMIC horaire._
Il doit être corrigé pour un salarié dont la rémunération contractuelle n'est pas fixée pour l'ensemble du mois considéré sur la base d'une durée hebdomadaire (ou rapportée à la durée du cycle) de 35 heures ou d'une durée annuelle de 1607 heures (ex : temps partiel, salarié non mensualisé, salariés dont la rémunération est calculée sur une base ne correspondant pas à la durée de 35 h hebdomadaire ou 1607h par an, situations d'entrées-sorties en cours de mois, salariés dont le contrat de travail est suspendu en raison de maladie avec maintien ou non de salaires, etc.).
Après correction éventuelle du SMIC, cette valeur ne doit pas être augmentée des heures supplémentaires et complémentaires non majorées.
Ce qui correspondrait donc au SMIC proratisé.
Or, en avril 2022 (période des tests), le SMIC horaire brut est de 10.57€.
Si on lui applique le facteur cité ci-dessus, nous obtenons :
10.57 * 151.67 = 1603.1519, soit le 1603.15 utilisé dans les tests.
Hello @clallemand, Est-ce que la revue est jouable pour toi ? :) |
Test de la TO-DE sur une période annuelle : from openfisca_core.simulation_builder import SimulationBuilder
from openfisca_france import FranceTaxBenefitSystem
tbs = FranceTaxBenefitSystem()
sb = SimulationBuilder()
simulation = sb.build_default_simulation(tbs, count=1)
year = 2022
simulation.set_input('secteur_activite_employeur', year, ['agricole'])
simulation.set_input('regime_securite_sociale', year, ['regime_agricole'])
simulation.set_input('choix_exoneration_cotisations_employeur_agricole', year, [True])
simulation.set_input('effectif_entreprise', year, [5])
simulation.set_input('contrat_de_travail_type', year, ['cdd'])
simulation.set_input('contrat_duree_determinee_type', year, ['contrat_saisonnier'])
simulation.set_input('categorie_salarie', year, ['prive_non_cadre'])
simulation.set_input('taches_salarie_type', year, ['travaux_forestiers'])
simulation.set_input('exposition_accident', year, ['faible'])
simulation.set_input('salaire_de_base', year, [1923 * 12]) # 1923.78
exoneration_cotisations_employeur_tode_eligibilite = simulation.calculate_add('exoneration_cotisations_employeur_tode_eligibilite', year)
print("exoneration_cotisations_employeur_tode_eligibilite :", exoneration_cotisations_employeur_tode_eligibilite)
exoneration_cotisations_employeur_tode = simulation.calculate_add('exoneration_cotisations_employeur_tode', year)
print("exoneration_cotisations_employeur_tode :", exoneration_cotisations_employeur_tode)
print("! attendu : ", 625.61 * 12)
allegement_fillon = simulation.calculate_add('allegement_fillon', year)
print("allegement_fillon :", allegement_fillon)
allegement_cotisation_maladie = simulation.calculate_add('allegement_cotisation_maladie', year)
print("allegement_cotisation_maladie :", allegement_cotisation_maladie)
exonerations_et_allegements = simulation.calculate_add('exonerations_et_allegements', year)
print("exonerations_et_allegements :", exonerations_et_allegements) |
] | ||
definition_period = MONTH | ||
set_input = set_input_divide_by_period | ||
end = '2025-12-31' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
La fiche MSA sur la TODE indique la prolongation du dispositif au 31 décembre 2025 (en place du 31 décembre 2022). On voit dans le suivi de versions de l'article L751-16 que l'article est abrogé au-delà de cette date. C'est un peu moins explicite sur l'article 8 de la LFSS pour 2023 😅
Au-delà de cette date, le mécanisme est inchangé comme l'indique la même page MSA : Au 1er janvier 2026, vous pourrez bénéficier de la réduction générale des cotisations patronales (réduction Fillon).
La page service-public, elle, semble avoir une erreur de date et parle de 2024.
Sur la base de l'exemple de fiche de paie https://www.cogilog.com/bulletin-travailleur-occasionnel-du-regime-agricole/
car devient nulle pour une rémunération mensuelle égale ou supérieure au salaire minimum de croissance majoré de 60 %
code rural et de la pêche maritime
puisque tout travail agricole relève a priori de la MSA
Corrige le style des tests yaml Et précision mineure de commentaire
Prolongement 2023 discuté
…e et d'allocations familiales.
La somme des exonérations doit être égale à la TO-DE
Corrige une typo limitée au CHANGELOG sur la version précédente Corrige de la mise en forme mineure sur les versions antérieures dans le CHANGELOG
L'exonération TO-DE de cette PR a été revue à l'automne 2022, sur la base des tests par un administrateur expert des Affaires sociales qui a confirmé le mécanisme général. Le dispositif est ainsi en production depuis cette date sur l'interface du simulateur socio-fiscal leximpact et, à l'exception de la prolongation du dispositif jusqu'à fin 2025 aucun changement n'a été apporté depuis. De plus, à l'exception des questionnements soulevés au cours de la modélisation sur les taux pré-existants de cotisations (en particulier sur l'issue #2047), aucun autre problème n'a été relevé. Je merge donc 🙂 |
model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/exonerations.py
model/revenus/activite/salarie.py
parameters/prelevements_sociaux/reductions_cotisations_sociales/agricole/tode
exoneration_cotisations_employeur_tode
et la référence dansexonerations_et_allegements
contrat_duree_determinee_type
,taches_salarie_type
ettravailleur_occasionnel_agricole
allegement_cotisation_allocations_familiales
et ajouteallegement_cotisation_allocations_familiales_base
pour le non cumul avecallegement_fillon
Informations complémentaires :
L'exonération TO-DE s'étend jusqu'au 31 décembre 2025 depuis la promulgation de la LFSS pour 2023 (précédemment, la TO-DE s'achevait au 31 décembre 2022).
Dans
openfisca-france
, les barèmes de cotisations sont pré-processés.Ainsi, si pour vérifier la cotisation employeur exonérée pour le travailleur agricole, on cherche un barème de cotisation employeur, son nom YAML ne sera pas identique à son nom en mémoire qui sera passé par l'étape de pré-processing au chargement du TaxBenefitSystem.
Ensuite, l'application du barème de cotisation employeur se fait par un appel à une fonction auxiliaire partagées par toutes les cotisations, apply_bareme. Cette fonction dépend du mode de recouvrement des cotisations choisi (d'où la présence de cette information dans les tests YAML de cette PR). Puis elle fait appel à compte_cotisation qui contient également l'assiette de ressources prises en considération pour la calcul des cotisations.
Néanmoins, si le calcul des cotisations est utile au test de l'exonération TO-DE, cette dernière s'applique d'un point de vue calcul après le calcul des cotisations. On ne fait pas donc pas directement mention du mode de recouvrement dans la TO-DE.
Ces changements :
Quelques conseils à prendre en compte :
setup.py
.CHANGELOG.md
.