From e9a61d0dc14dd6844381b2b32a054504db6d61aa Mon Sep 17 00:00:00 2001 From: Johan Girod Date: Tue, 20 Sep 2022 19:16:04 +0200 Subject: [PATCH] =?UTF-8?q?R=C3=A9ecrit=20les=20r=C3=A8gles=20li=C3=A9es?= =?UTF-8?q?=20=C3=A0=20la=20cotisations=20ATMP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le but : plus de cohérence et de simplicité, et mettre à jour avec les évolutions législatives - disparition du taux bureau remplacé par le taux fonction support - modifications des seuils taux collectif / taux individuel si alsace moselle - modifications des taux fonctions support si convention collective BTP - simplification du flux des questions : On demande le taux exact de l'entreprise -> Si inconnu on approxime par le taux collectif - mise à jour à la dernière version de publicodes qui corrige un bug dans le score des missing des règles avec par défaut --- api/package.json | 4 +- .../test-e2e/__snapshots__/index.test.ts.snap | 124 +++++++++--------- exoneration-covid/package.json | 4 +- modele-social/package.json | 4 +- .../règles/entreprise/entreprise.yaml | 32 ++--- .../règles/entreprise/établissement.yaml | 33 +++++ .../conventions-collectives/bâtiment.yaml | 5 + modele-social/règles/salarié/cotisations.yaml | 94 +++++-------- modele-social/règles/salarié/salarié.yaml | 11 ++ site/package.json | 4 +- .../components/conversation/RuleInput.tsx | 2 +- site/source/components/ui/Progress.tsx | 2 +- site/source/locales/rules-en.yaml | 46 ++++++- site/source/locales/ui-en.yaml | 2 +- site/source/locales/ui-fr.yaml | 12 +- .../_components/CasParticuliers.tsx | 4 +- .../reducers/companySituationReducer.ts | 17 ++- .../simulations-salarié.test.ts.snap | 100 +++++++------- .../test/regressions/simulations-salarié.yaml | 2 +- yarn.lock | 40 +++--- 20 files changed, 305 insertions(+), 237 deletions(-) diff --git a/api/package.json b/api/package.json index 9bf857fce..c4833a5c3 100644 --- a/api/package.json +++ b/api/package.json @@ -30,7 +30,7 @@ "@apidevtools/swagger-cli": "^4.0.4", "@koa/cors": "^3.3.0", "@koa/router": "^10.1.1", - "@publicodes/api": "^1.0.0-beta.53", + "@publicodes/api": "^1.0.0-beta.54", "@sentry/node": "^7.1.1", "@sentry/tracing": "^7.1.1", "got": "^12.4.1", @@ -40,7 +40,7 @@ "koa-static": "^5.0.0", "modele-social": "workspace:^", "nodemon": "^2.0.16", - "publicodes": "^1.0.0-beta.53", + "publicodes": "^1.0.0-beta.54", "rate-limiter-flexible": "^2.3.8", "swagger-ui-dist": "^4.11.1" }, diff --git a/api/source/test-e2e/__snapshots__/index.test.ts.snap b/api/source/test-e2e/__snapshots__/index.test.ts.snap index 4c372dafd..e75e0be81 100644 --- a/api/source/test-e2e/__snapshots__/index.test.ts.snap +++ b/api/source/test-e2e/__snapshots__/index.test.ts.snap @@ -5,26 +5,26 @@ exports[`e2e test mon-entreprise api > Test evaluate brut => net + super brut 2` "evaluate": [ { "missingVariables": { - "dirigeant . gérant minoritaire": 907714.3376000001, - "entreprise . catégorie juridique": 17241229.895199995, - "salarié . activité partielle": 73493.59219999998, - "salarié . contrat": 482043.04020000005, - "salarié . contrat . statut cadre": 1276.232, - "salarié . contrat . temps de travail . temps partiel": 88174.30859999996, - "salarié . convention collective": 116477.33420000001, - "salarié . cotisations . prévoyances . santé . montant": 1276.1043999999997, - "salarié . cotisations . prévoyances . santé . taux employeur": 1276.1043999999997, - "salarié . régimes spécifiques . DFS": 696.0928, - "salarié . rémunération . avantages en nature": 10094.293399999999, - "salarié . rémunération . frais professionnels . titres-restaurant": 12414.293399999999, - "salarié . rémunération . frais professionnels . trajets domicile travail . forfait mobilités durables . montant": 29466.998599999988, - "salarié . rémunération . frais professionnels . trajets domicile travail . prime de transport . montant": 29467.926599999995, - "salarié . rémunération . frais professionnels . trajets domicile travail . transports publics . montant": 68219.21139999997, - "salarié . rémunération . primes . activité . base": 10093.293399999999, - "salarié . rémunération . primes . fin d'année": 10093.293399999999, - "salarié . temps de travail . heures supplémentaires": 29233.76899999999, - "situation personnelle . domiciliation fiscale à l'étranger": 232.03480000000005, - "établissement . localisation": 500.03800000000007, + "dirigeant . gérant minoritaire": 4530728, + "entreprise . catégorie juridique": 32658640, + "salarié . activité partielle": 149408, + "salarié . contrat": 1112382, + "salarié . contrat . statut cadre": 3596, + "salarié . contrat . temps de travail . temps partiel": 231246, + "salarié . convention collective": 249806, + "salarié . cotisations . prévoyances . santé . montant": 2320, + "salarié . cotisations . prévoyances . santé . taux employeur": 2320, + "salarié . régimes spécifiques . DFS": 1624, + "salarié . rémunération . avantages en nature": 23027, + "salarié . rémunération . frais professionnels . titres-restaurant": 25347, + "salarié . rémunération . frais professionnels . trajets domicile travail . forfait mobilités durables . montant": 59450, + "salarié . rémunération . frais professionnels . trajets domicile travail . prime de transport . montant": 68730, + "salarié . rémunération . frais professionnels . trajets domicile travail . transports publics . montant": 180322, + "salarié . rémunération . primes . activité . base": 23026, + "salarié . rémunération . primes . fin d'année": 23026, + "salarié . temps de travail . heures supplémentaires": 46922, + "situation personnelle . domiciliation fiscale à l'étranger": 580, + "établissement . localisation": 880, }, "nodeValue": 2749.50805, "traversedVariables": [ @@ -222,9 +222,11 @@ exports[`e2e test mon-entreprise api > Test evaluate brut => net + super brut 2` "salarié . cotisations . ATMP", "salarié . régimes spécifiques . intermittents du spectacle . artiste . réduction de taux . ATMP", "salarié . cotisations . ATMP . taux", - "salarié . cotisations . ATMP . taux connu", - "salarié . cotisations . ATMP . taux réduit", - "salarié . cotisations . ATMP . taux collectif", + "salarié . cotisations . ATMP . taux fonctions support", + "salarié . régimes spécifiques . alsace moselle . ATMP . seuil taux mixte ou individuel", + "salarié . cotisations . ATMP . seuil taux mixte ou individuel", + "établissement . taux ATMP", + "établissement . taux ATMP . taux collectif", "salarié . cotisations . ATMP . taux moyen", "salarié . cotisations . FNAL . taux", "salarié . cotisations . FNAL . éligible taux réduit", @@ -255,36 +257,36 @@ exports[`e2e test mon-entreprise api > Test evaluate brut => net + super brut 2` }, { "missingVariables": { - "dirigeant . gérant minoritaire": 162997.1825, - "entreprise . TVA": 2.0003, - "entreprise . association non lucrative": 4.0007, - "entreprise . catégorie juridique": 3095984.994099999, - "entreprise . salariés . effectif . seuil": 184.03310000000002, - "salarié . activité partielle": 12069.2637, - "salarié . contrat": 84747.25210000001, - "salarié . contrat . statut cadre": 216.05949999999999, - "salarié . contrat . temps de travail . temps partiel": 15286.6289, - "salarié . convention collective": 22822.624499999998, - "salarié . cotisations . ATMP . taux collectif": 4.000299999999999, - "salarié . cotisations . ATMP . taux connu": 8.001100000000001, - "salarié . cotisations . ATMP . taux réduit": 4.0007, - "salarié . cotisations . exonérations . JEI": 196.0415, - "salarié . cotisations . exonérations . lodeom": 24.0087, - "salarié . cotisations . prévoyances . santé . montant": 212.03789999999998, - "salarié . cotisations . prévoyances . santé . taux employeur": 212.03789999999998, - "salarié . coût total employeur . aides . emploi franc . éligible": 10.003499999999999, - "salarié . régimes spécifiques . DFS": 432.0618999999999, - "salarié . rémunération . avantages en nature": 2252.2869, - "salarié . rémunération . frais professionnels . titres-restaurant": 2668.2869, - "salarié . rémunération . frais professionnels . trajets domicile travail . forfait mobilités durables . montant": 6168.6368999999995, - "salarié . rémunération . frais professionnels . trajets domicile travail . prime de transport . montant": 6168.8033, - "salarié . rémunération . frais professionnels . trajets domicile travail . transports publics . montant": 14002.286500000002, - "salarié . rémunération . primes . activité . base": 2252.2869, - "salarié . rémunération . primes . fin d'année": 2252.2869, - "salarié . temps de travail . heures supplémentaires": 4820.300100000001, - "établissement . localisation": 244.0363, + "dirigeant . gérant minoritaire": 814757, + "entreprise . TVA": 5, + "entreprise . association non lucrative": 11, + "entreprise . catégorie juridique": 5865649, + "entreprise . salariés . effectif . seuil": 515, + "salarié . activité partielle": 24705, + "salarié . contrat": 197257, + "salarié . contrat . statut cadre": 811, + "salarié . contrat . temps de travail . temps partiel": 41573, + "salarié . convention collective": 49065, + "salarié . cotisations . ATMP . taux fonctions support": 11, + "salarié . cotisations . exonérations . JEI": 611, + "salarié . cotisations . exonérations . lodeom": 111, + "salarié . cotisations . prévoyances . santé . montant": 591, + "salarié . cotisations . prévoyances . santé . taux employeur": 591, + "salarié . coût total employeur . aides . emploi franc . éligible": 45, + "salarié . régimes spécifiques . DFS": 1051, + "salarié . rémunération . avantages en nature": 5121, + "salarié . rémunération . frais professionnels . titres-restaurant": 5537, + "salarié . rémunération . frais professionnels . trajets domicile travail . forfait mobilités durables . montant": 12537, + "salarié . rémunération . frais professionnels . trajets domicile travail . prime de transport . montant": 14201, + "salarié . rémunération . frais professionnels . trajets domicile travail . transports publics . montant": 36865, + "salarié . rémunération . primes . activité . base": 5121, + "salarié . rémunération . primes . fin d'année": 5121, + "salarié . temps de travail . heures supplémentaires": 7821, + "établissement . localisation": 631, + "établissement . taux ATMP": 11, + "établissement . taux ATMP . taux collectif": 7, }, - "nodeValue": 4752.1452, + "nodeValue": 4751.7952000000005, "traversedVariables": [ "salarié . coût total employeur", "salarié . rémunération . brut", @@ -464,9 +466,11 @@ exports[`e2e test mon-entreprise api > Test evaluate brut => net + super brut 2` "salarié . cotisations . ATMP", "salarié . régimes spécifiques . intermittents du spectacle . artiste . réduction de taux . ATMP", "salarié . cotisations . ATMP . taux", - "salarié . cotisations . ATMP . taux connu", - "salarié . cotisations . ATMP . taux réduit", - "salarié . cotisations . ATMP . taux collectif", + "salarié . cotisations . ATMP . taux fonctions support", + "salarié . régimes spécifiques . alsace moselle . ATMP . seuil taux mixte ou individuel", + "salarié . cotisations . ATMP . seuil taux mixte ou individuel", + "établissement . taux ATMP", + "établissement . taux ATMP . taux collectif", "salarié . cotisations . ATMP . taux moyen", "salarié . cotisations . FNAL . taux", "salarié . cotisations . FNAL . éligible taux réduit", @@ -523,7 +527,7 @@ exports[`e2e test mon-entreprise api > Test evaluate micro entreprise 2`] = ` "evaluate": [ { "missingVariables": { - "entreprise . activité . mixte": 24.0042, + "entreprise . activité . mixte": 66, }, "nodeValue": 9324, "traversedVariables": [ @@ -587,8 +591,8 @@ exports[`e2e test mon-entreprise api > Test evaluate micro entreprise 2`] = ` }, { "missingVariables": { - "entreprise . activité . mixte": 100.0178, - "établissement . localisation": 7.0005, + "entreprise . activité . mixte": 278, + "établissement . localisation": 12, }, "nodeValue": 1469, "traversedVariables": [ @@ -650,8 +654,8 @@ exports[`e2e test mon-entreprise api > Test evaluate micro entreprise 2`] = ` }, { "missingVariables": { - "entreprise . activité . mixte": 124.02199999999999, - "établissement . localisation": 7.0005, + "entreprise . activité . mixte": 344, + "établissement . localisation": 12, }, "nodeValue": 31207, "traversedVariables": [ diff --git a/exoneration-covid/package.json b/exoneration-covid/package.json index e2ba147a4..c9b335d14 100644 --- a/exoneration-covid/package.json +++ b/exoneration-covid/package.json @@ -19,10 +19,10 @@ "devDependencies": { "js-yaml": "^4.1.0", "onchange": "^7.1.0", - "publicodes": "=1.0.0-beta.53" + "publicodes": "=1.0.0-beta.54" }, "peerDependencies": { - "publicodes": "^1.0.0-beta.53" + "publicodes": "^1.0.0-beta.54" }, "scripts": { "build": "node ../scripts/build-rules.js", diff --git a/modele-social/package.json b/modele-social/package.json index 0c5d8b10a..fbf58fbd8 100644 --- a/modele-social/package.json +++ b/modele-social/package.json @@ -21,10 +21,10 @@ "devDependencies": { "js-yaml": "^4.1.0", "onchange": "^7.1.0", - "publicodes": "^1.0.0-beta.53" + "publicodes": "^1.0.0-beta.54" }, "peerDependencies": { - "publicodes": "^1.0.0-beta.53" + "publicodes": "^1.0.0-beta.54" }, "scripts": { "build": "node ../scripts/build-rules.js", diff --git a/modele-social/règles/entreprise/entreprise.yaml b/modele-social/règles/entreprise/entreprise.yaml index f8e76c82b..99dfcd32e 100644 --- a/modele-social/règles/entreprise/entreprise.yaml +++ b/modele-social/règles/entreprise/entreprise.yaml @@ -378,22 +378,21 @@ entreprise . exonérations . ACRE: entreprise . salariés: entreprise . salariés . effectif: unité: employés - formule: - variations: - - si: seuil = 'moins de 5' - alors: 4 employés - - si: seuil = 'moins de 11' - alors: 10 employés - - si: seuil = 'moins de 20' - alors: 19 employés - - si: seuil = 'moins de 50' - alors: 49 employés - - si: seuil = 'moins de 150' - alors: 149 employés - - si: seuil = 'moins de 250' - alors: 250 employés - - si: seuil = 'plus de 250' - alors: 251 employés + variations: + - si: seuil = 'moins de 5' + alors: 4 employés + - si: seuil = 'moins de 11' + alors: 10 employés + - si: seuil = 'moins de 20' + alors: 19 employés + - si: seuil = 'moins de 50' + alors: 49 employés + - si: seuil = 'moins de 150' + alors: 149 employés + - si: seuil = 'moins de 250' + alors: 250 employés + - si: seuil = 'plus de 250' + alors: 251 employés avec: seuil: @@ -415,6 +414,7 @@ entreprise . salariés . effectif: - moins de 150 - moins de 250 - plus de 250 + par défaut: "'moins de 5'" avec: moins de 5: diff --git a/modele-social/règles/entreprise/établissement.yaml b/modele-social/règles/entreprise/établissement.yaml index 003f94543..9db9dbbcc 100644 --- a/modele-social/règles/entreprise/établissement.yaml +++ b/modele-social/règles/entreprise/établissement.yaml @@ -73,3 +73,36 @@ durée: depuis: entreprise . date de création jusqu'à: 31/12/2019 + +établissement . taux ATMP: + description: | + Le taux de la cotisation AT/MP est déterminé pour chaque établissement en fonction des éléments suivants : + + - Activité principale + - Taille de l'établissement + - Secteur d'activité + - Fréquence et la gravité des sinistres (accidents du travail, maladies professionnelles) survenus + + Si vous ne connaissez pas le taux de l'établissement, cliquez sur « Passer  ». + question: Quel est le taux de la cotisation AT/MP pour l'établissement ? + unité: '%' + par défaut: taux collectif + références: + Connaître le taux AT/MP de votre entreprise sur votre compte AT/MP: https://www.net-entreprises.fr/declaration/compte-atmp/#lessentiel + Comment calculer les cotisations accidents du travail et maladies professionnelles (AT/MP) ?: https://entreprendre.service-public.fr/vosdroits/F33665 + + avec: + taux collectif: + question: De quel domaine d'activité dépend votre entreprise ? + par défaut: salarié . cotisations . ATMP . taux moyen + unité: '%' + note: Les taux collectifs spécifiques du régime Alsace-Moselle ne sont pas implémentés + + # TODO : cette ligne n'est utile que pour déprioriser cette question par rapport à celle sur de `taux ATMP`. + # Il y a peut-être un bug dans publicodes : on s'attendrait à ce soit déjà le cas. + + avertissement taux minimum: + type: notification + si: taux ATMP < salarié . cotisations . ATMP . taux minimum + niveau: avertissement + description: Le taux renseigné est inférieur au taux minimum légal diff --git a/modele-social/règles/salarié/conventions-collectives/bâtiment.yaml b/modele-social/règles/salarié/conventions-collectives/bâtiment.yaml index cace2a78a..14c908672 100644 --- a/modele-social/règles/salarié/conventions-collectives/bâtiment.yaml +++ b/modele-social/règles/salarié/conventions-collectives/bâtiment.yaml @@ -171,3 +171,8 @@ salarié . convention collective . BTP . OPPBTP: produit: assiette: contrat . salaire brut * 1.1314 taux: 0.11% + +salarié . convention collective . BTP . taux ATMP fonctions support: + remplace: cotisations . ATMP . taux fonctions support . montant + valeur: 0.70% + Arrêté du 24 décembre 2021 Relatif à la tarification des risques d'accidents du travail et de maladies professionnelles pour l'année 2022: https://www.legifrance.gouv.fr/jorf/article_jo/JORFARTI000044616026 diff --git a/modele-social/règles/salarié/cotisations.yaml b/modele-social/règles/salarié/cotisations.yaml index fee152b90..65d69b0d7 100644 --- a/modele-social/règles/salarié/cotisations.yaml +++ b/modele-social/règles/salarié/cotisations.yaml @@ -564,26 +564,18 @@ salarié . cotisations . chômage: salarié . cotisations . ATMP: experimental: oui - titre: Cotisation Accidents du Travail et Maladies Professionnelles + titre: Accidents du Travail et Maladies Professionnelles description: Cotisation due au titre des Accidents du Travail et Maladies Professionnelles. - cotisation: - dû par: employeur - branche: accidents du travail et maladies professionnelles - destinataire: Urssaf - responsable: CARSAT - formule: - produit: - assiette: cotisations . assiette - taux: - nom: taux - variations: - - si: taux connu - alors: taux personnalisé - - si: taux réduit - alors: 0.8% - - sinon: taux collectif + produit: + assiette: cotisations . assiette + taux: + nom: taux + variations: + - si: taux fonctions support + alors: taux fonctions support . montant + - sinon: établissement . taux ATMP références: - taux réduit 2020 (code 00.00B): https://www.legifrance.gouv.fr/loda/id/JORFTEXT000039684705 + Comment calculer les cotisations accidents du travail et maladies professionnelles (AT/MP) ?: https://entreprendre.service-public.fr/vosdroits/F33665#:~:text=La%20cotisation%20AT%2FMP%20couvre,Activit%C3%A9%20principale avec: taux minimum: @@ -597,60 +589,36 @@ salarié . cotisations . ATMP: alors: 0.70 % références: Article D241-2-4: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000041460928&cidTexte=LEGITEXT000006073189&dateTexte=20200101 - Mise à jour 2022: https://www.legifrance.gouv.fr/jorf/article_jo/JORFARTI000044793102 taux moyen: - valeur: 2.24% + valeur: 2.23% références: - Arrêté tarification AT/MP 2020: https://www.legifrance.gouv.fr/loda/id/JORFTEXT000039684705 + Article 2 de l'arrêté du 24 décembre 2021 Relatif à la tarification des risques d'accidents du travail et de maladies professionnelles pour l'année 2022: https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000044616004 - taux réduit: - titre: taux réduit pour activité sans risque - question: L'activité de l'établissement ou du salarié est-elle sans aucun risque ? + taux fonctions support: + applicable si: entreprise . salariés . effectif < seuil taux mixte ou individuel description: | - Ce taux correspond : - - aux petites entreprises dont l'activité n'est pas risquée, par exemple du conseil en informatique - - au nouveau "taux support" : pour les entreprises d'effectif inférieur à 150, les salariés des fonctions support (par exemple, secrétariat, comptabilité, ressources humaines) cotisent à un taux réduit. - applicable si: entreprise . salariés . effectif <= 150 + Le taux « fonctions support » permet à l’employeur qui le demande de bénéficier d’un taux de cotisation AT/MP réduit pour les salariés non exposés au risque principal de l’établissement. Il est réservé aux salariés occupant à titre principal une fonction support de nature administrative. + + Sont considérées comme fonctions supports de nature administrative : + + - le secrétariat ; + - l’accueil ; + - la comptabilité ; + - les affaires juridiques ; + - la gestion financière ; + - les ressources humaines. + question: Le salarié occupe-t-il une fonction support de nature administrative ? par défaut: non références: - fiche ameli.fr: https://www.ameli.fr/employeur/actualites/evolution-de-la-tarification-de-lassurance-maladie-risques-professionnels-ce-qui-change + Taux fonctions support: https://www.ameli.fr/entreprise/votre-entreprise/cotisation-atmp/calcul-taux-atmp-tpe-moins-20-salaries#text_66210 + 'Comprendre et expliquer : le taux fonctions support (PDF)': https://cramif.fr/sites/default/files/inline-files/comprendre-expliquer-le-taux-fonctions-supports-VDEF.pdf + Annexe 2 de l'Arrêté du 24 décembre 2021 Relatif à la tarification des risques d'accidents du travail et de maladies professionnelles pour l'année 2022: https://www.legifrance.gouv.fr/jorf/article_jo/JORFARTI000044616026 - taux connu: - question: Connaissez-vous le taux AT/MP applicable à votre entreprise ? - par défaut: non - description: | - Le taux de la cotisation Accident du Travail et Maladie Professionnel varie selon l'activité de l'entreprise, pour refleter le niveau de risque auxquels sont exposé leur salariés. + avec: + montant: 0.83% - Les entreprises de moins de 20 salariés sont assujetties à ce taux collectif commun à toute leur branche. - - A partir de 150 employé, le taux est individualisé en fonction des relevés réels des accidents et maladies professionnels de l'entreprise. - - Entre les deux, le taux est modulé. - - Ce taux n'a pas d'influence sur le net car il s'agit d'une cotisation à la charge de l'employeur. - références: - Description compte ATMP: https://www.ameli.fr/entreprise/votre-entreprise/compte-accidents-du-travail-et-maladies-professionnelles/mp/teleservice-compte-atmp - Accès compte ATMP (entreprise): https://www.net-entreprises.fr/declaration/compte-atmp/#lessentiel - - taux personnalisé: - question: Quel est le taux AT/MP de l'entreprise ? - description: > - Les entreprises de plus de 20 salariés ont un taux individualisé. L'entreprise peut consulter son taux effectif directement sur espace net-entreprise. - références: - Accès compte ATMP (entreprise): https://www.net-entreprises.fr/declaration/compte-atmp/ - par défaut: taux moyen - - taux collectif: - titre: Taux collectif ATMP - non applicable si: taux connu - question: De quel domaine d'activité dépend votre entreprise ? - description: | - Les entreprises de moins de 20 salariés sont assujetties à ce taux collectif. Pour les entreprises plus importantes, - ce taux est modulé (jusqu'à 150 salariés) voire individualisé (au-delà). - par défaut: taux moyen - references: - Arrêté tarification AT/MP 2020: https://www.legifrance.gouv.fr/loda/id/JORFTEXT000039684705 + seuil taux mixte ou individuel: 20 employés salarié . cotisations . contribution au dialogue social: description: | diff --git a/modele-social/règles/salarié/salarié.yaml b/modele-social/règles/salarié/salarié.yaml index 5b7ae9d04..11e831ccb 100644 --- a/modele-social/règles/salarié/salarié.yaml +++ b/modele-social/règles/salarié/salarié.yaml @@ -44,6 +44,17 @@ salarié . régimes spécifiques . alsace moselle: - établissement . localisation . département = 'Haut-Rhin' - établissement . localisation . département = 'Moselle' +salarié . régimes spécifiques . alsace moselle . ATMP: + avec: + seuil taux mixte ou individuel: + remplace: cotisations . ATMP . seuil taux mixte ou individuel + valeur: 50 employés + taux fonctions support: + référence: + Annexe de l'Arrêté du 24 décembre 2021 Relatif à la tarification des risques d'accidents du travail et de maladies professionnelles pour l'année 2022: https://www.legifrance.gouv.fr/jorf/article_jo/JORFARTI000044616039 + remplace: cotisations . ATMP . taux fonctions support . montant + valeur: 0.86% + salarié . régimes spécifiques . impatriés: question: Le salarié bénéficie-t-il du régime des impatriés ? non applicable si: situation personnelle . domiciliation fiscale à l'étranger diff --git a/site/package.json b/site/package.json index e30eb3f39..966d37168 100644 --- a/site/package.json +++ b/site/package.json @@ -79,8 +79,8 @@ "isbot": "^3.5.0", "markdown-to-jsx": "^7.1.7", "modele-social": "workspace:^", - "publicodes": "^1.0.0-beta.53", - "publicodes-react": "^1.0.0-beta.53", + "publicodes": "^1.0.0-beta.54", + "publicodes-react": "^1.0.0-beta.54", "react": "^17.0.0", "react-colorful": "^5.5.1", "react-dom": "^17.0.0", diff --git a/site/source/components/conversation/RuleInput.tsx b/site/source/components/conversation/RuleInput.tsx index eab5d3c1d..52b4660bf 100644 --- a/site/source/components/conversation/RuleInput.tsx +++ b/site/source/components/conversation/RuleInput.tsx @@ -134,7 +134,7 @@ export default function RuleInput({ throw new Error("Les seules API implémentées sont 'commune'") } - if (rule.dottedName === 'salarié . cotisations . ATMP . taux collectif') { + if (rule.dottedName === 'établissement . taux ATMP . taux collectif') { return } diff --git a/site/source/components/ui/Progress.tsx b/site/source/components/ui/Progress.tsx index 7f1c4f015..48a3860ca 100644 --- a/site/source/components/ui/Progress.tsx +++ b/site/source/components/ui/Progress.tsx @@ -46,7 +46,7 @@ const ProgressContainer = styled.div` ` const ProgressBar = styled.div` width: 0; - transition: width 0.15s; + transition: width 0.5s; background-color: ${({ theme }) => theme.colors.bases.primary[500]}; height: ${({ theme }) => theme.spacings.xxs}; ` diff --git a/site/source/locales/rules-en.yaml b/site/source/locales/rules-en.yaml index 8a8f0640d..9cd6f29a7 100644 --- a/site/source/locales/rules-en.yaml +++ b/site/source/locales/rules-en.yaml @@ -6289,6 +6289,9 @@ salarié . convention collective . BTP . congés intempéries . caisse de rattac salarié . convention collective . BTP . cotisations employeur: titre.en: '[automatic] employer contributions' titre.fr: cotisations employeur +salarié . convention collective . BTP . taux ATMP fonctions support: + titre.en: '[automatic] ATMP rate for support functions' + titre.fr: taux ATMP fonctions support salarié . convention collective . HCR: description.en: '[automatic] The business is a hotel, café, restaurant or similar.' description.fr: L'entreprise est un hôtel, café, restaurant ou assimilé. @@ -6569,8 +6572,8 @@ salarié . cotisations . ATMP: and occupational diseases.' description.fr: Cotisation due au titre des Accidents du Travail et Maladies Professionnelles. - titre.en: '[automatic] Workplace accidents and occupational diseases contribution' - titre.fr: Cotisation Accidents du Travail et Maladies Professionnelles + titre.en: '[automatic] Workplace accidents and occupational diseases' + titre.fr: Accidents du Travail et Maladies Professionnelles salarié . cotisations . CEG: description.en: '[automatic] This contribution, created in 2019, both offsets the burdens resulting from retirements before age 67 and honors the pension @@ -7111,6 +7114,9 @@ salarié . régimes spécifiques . alsace moselle: Attention : c'est une **simplification** : l'affiliation est plus compliquée que celà, voir les conditions exactes [sur le site du régime](http://regime-local.fr/salaries/). titre.en: Alsace-Moselle scheme titre.fr: Régime Alsace-Moselle +salarié . régimes spécifiques . alsace moselle . ATMP: + titre.en: '[automatic] ATMP' + titre.fr: ATMP salarié . régimes spécifiques . impatriés: description.en: > [automatic] If you are an employee or a manager with tax status, @@ -7727,6 +7733,42 @@ situation personnelle . domiciliation fiscale à l'étranger: question.fr: Dans quelle commune l'établissement est-il implanté ? titre.en: localisation titre.fr: localisation +établissement . taux ATMP: + description.en: > + [automatic] The rate of the AT/MP contribution is determined for + each establishment according to the following elements: + + + - Main activity + + - Size of the establishment + + - Sector of activity + + - Frequency and severity of accidents (work-related accidents, occupational diseases) + + + If you do not know the rate of the establishment, click on "Skip". + description.fr: > + Le taux de la cotisation AT/MP est déterminé pour chaque + établissement en fonction des éléments suivants : + + + - Activité principale + + - Taille de l'établissement + + - Secteur d'activité + + - Fréquence et la gravité des sinistres (accidents du travail, maladies professionnelles) survenus + + + Si vous ne connaissez pas le taux de l'établissement, cliquez sur « Passer  ». + question.en: '[automatic] What is the rate of the AT/MP contribution for the + establishment?' + question.fr: Quel est le taux de la cotisation AT/MP pour l'établissement ? + titre.en: '[automatic] ATMP rate' + titre.fr: taux ATMP établissement . versement mobilité: titre.en: '[automatic] mobility payment' titre.fr: versement mobilité diff --git a/site/source/locales/ui-en.yaml b/site/source/locales/ui-en.yaml index f3d9dc74d..13f41c1e1 100644 --- a/site/source/locales/ui-en.yaml +++ b/site/source/locales/ui-en.yaml @@ -1248,7 +1248,7 @@ pages: for the "mobility payment" rule with the "search" button at the top right<1>Using the <2>dedicated service on urssaf.fr<6>The collective AT/MP - rate<7><0><0>employee . contributions . ATMP . collective + rate<7><0><0>establishment . ATMP rate . collective rate<8>This collective rate must be found manually. You can use :<1><0><0>A csv export of the table of collective net rates published in the Official Journal<1>The service <2>Account AT/MP diff --git a/site/source/locales/ui-fr.yaml b/site/source/locales/ui-fr.yaml index 37aa5ed3b..25d25dc32 100644 --- a/site/source/locales/ui-fr.yaml +++ b/site/source/locales/ui-fr.yaml @@ -1011,12 +1011,12 @@ pages: retrouver :<1><0>En saisissant votre commune dans un simulateur, puis en recherchant la règle « versement mobilité » avec le bouton « rechercher » en haut à droite<1>Grâce au <2>service dédié sur - urssaf.fr<6>Le taux collectif AT/MP<7><0><0>salarié - . cotisations . ATMP . taux collectif<8>Ce taux collectif - doit être retrouvé manuellement. Vous pouvez utiliser :<1><0><0>Un - export csv du tableau des taux nets collectifs paru au Journal - Officiel<1>Le service <2>Compte AT/MP de - net-entreprise" + urssaf.fr<6>Le taux collectif + AT/MP<7><0><0>établissement . taux ATMP . taux + collectif<8>Ce taux collectif doit être retrouvé + manuellement. Vous pouvez utiliser :<1><0><0>Un export csv du + tableau des taux nets collectifs paru au Journal Officiel<1>Le + service <2>Compte AT/MP de net-entreprise" StepByStep: <0><0>Choisir le simulateur en fonction du calcul qui nous intéresse<1>Par exemple le <4>simulateur salarié pour calculer un net à partir du brut.<1><0>Effectuer une simulation avec diff --git a/site/source/pages/integration/_components/CasParticuliers.tsx b/site/source/pages/integration/_components/CasParticuliers.tsx index fce9ff302..6fd4c0cb0 100644 --- a/site/source/pages/integration/_components/CasParticuliers.tsx +++ b/site/source/pages/integration/_components/CasParticuliers.tsx @@ -120,8 +120,8 @@ export function CasParticuliers() {

Le taux collectif AT/MP

- - salarié . cotisations . ATMP . taux collectif + + établissement . taux ATMP . taux collectif diff --git a/site/source/reducers/companySituationReducer.ts b/site/source/reducers/companySituationReducer.ts index 19624ee9f..29f9107e3 100644 --- a/site/source/reducers/companySituationReducer.ts +++ b/site/source/reducers/companySituationReducer.ts @@ -5,21 +5,26 @@ import { omit } from '@/utils' import { Situation } from './rootReducer' const SAVED_NAMESPACES = [ - 'salarié . ATMP', 'dirigeant . gérant minoritaire', 'dirigeant . indépendant . PL . métier', - 'entreprise . exonérations . ACRE', 'entreprise . activité', 'entreprise . catégorie juridique', 'entreprise . date de création', - 'entreprise . salariés . effectif', + 'entreprise . salariés', + 'entreprise . exercice', + 'entreprise . exonérations', 'entreprise . TVA', + 'entreprise . association non lucrative', 'entreprise . imposition', 'entreprise . SIREN', 'entreprise . nom', - 'établissement . adresse', - 'établissement . localisation', - 'entreprise . activité . principale', + 'établissement', + 'salarié . convention collective', + // Titre restaurant + 'salarié . rémunération . frais professionnels . titres-restaurant . montant unitaire', + 'salarié . rémunération . frais professionnels . titres-restaurant . taux employeur', + // Mutuelle + 'salarié . cotisations . prévoyances . santé', ] as Array export type Company = Omit diff --git a/site/test/regressions/__snapshots__/simulations-salarié.test.ts.snap b/site/test/regressions/__snapshots__/simulations-salarié.test.ts.snap index df3a86045..d65dcb8a3 100644 --- a/site/test/regressions/__snapshots__/simulations-salarié.test.ts.snap +++ b/site/test/regressions/__snapshots__/simulations-salarié.test.ts.snap @@ -11,12 +11,12 @@ Notifications affichées : salarié . convention collective . contrôle décharg `; exports[`calculate simulations-salarié > CCN batiment 2`] = ` -"[3820,0,2500,1933,1824] +"[3819,0,2500,1933,1824] Notifications affichées : salarié . convention collective . contrôle décharge" `; exports[`calculate simulations-salarié > CCN batiment 3`] = ` -"[3870,0,2500,1949,1837] +"[3869,0,2500,1949,1837] Notifications affichées : salarié . convention collective . contrôle décharge" `; @@ -31,7 +31,7 @@ Notifications affichées : salarié . convention collective . contrôle décharg `; exports[`calculate simulations-salarié > CCN spectacle vivant 1`] = ` -"[3796,0,2500,2155,2039] +"[3795,0,2500,2155,2039] Notifications affichées : salarié . contrat . CDD . information, salarié . convention collective . contrôle décharge" `; @@ -43,7 +43,7 @@ Notifications affichées : salarié . rémunération . assiette de vérification exports[`calculate simulations-salarié > JEI 1`] = `"[3443,0,3000,2353,2168]"`; exports[`calculate simulations-salarié > JEI 2`] = ` -"[26527,0,20000,15997,10736] +"[26525,0,20000,15997,10736] Notifications affichées : salarié . contrat . salaire brut . contrôle salaire élevé" `; @@ -67,7 +67,7 @@ exports[`calculate simulations-salarié > activité partielle 7`] = `"[980,0,400 exports[`calculate simulations-salarié > aides 1`] = `"[2302,0,2000,1561,1527]"`; exports[`calculate simulations-salarié > aides 2`] = ` -"[12819,0,10000,8925,7687] +"[12818,0,10000,8925,7687] Notifications affichées : salarié . contrat . salaire brut . contrôle salaire élevé" `; @@ -84,13 +84,13 @@ Notifications affichées : salarié . rémunération . assiette de vérification `; exports[`calculate simulations-salarié > apprentissage 2`] = ` -"[1381,0,1500,1460,1460] +"[1380,0,1500,1460,1460] Notifications affichées : salarié . rémunération . assiette de vérification du SMIC . contrôle" `; exports[`calculate simulations-salarié > atmp 1`] = `"[2410,0,2000,1561,1527]"`; -exports[`calculate simulations-salarié > avantages 1`] = `"[2543,0,2000,1540,1490]"`; +exports[`calculate simulations-salarié > avantages 1`] = `"[2542,0,2000,1540,1490]"`; exports[`calculate simulations-salarié > avantages 2`] = `"[2553,0,2000,1539,1489]"`; @@ -111,12 +111,12 @@ Notifications affichées : salarié . contrat . CDD . information" `; exports[`calculate simulations-salarié > cdd 3`] = ` -"[3735,0,2200,2197,2084] +"[3734,0,2200,2197,2084] Notifications affichées : salarié . contrat . CDD . information" `; exports[`calculate simulations-salarié > cdd 4`] = ` -"[4277,0,2200,2292,2108] +"[4276,0,2200,2292,2108] Notifications affichées : salarié . contrat . CDD . information" `; @@ -129,31 +129,31 @@ exports[`calculate simulations-salarié > contrat pro 1`] = `"[1566,0,1500,1165, exports[`calculate simulations-salarié > contrat pro 2`] = `"[1566,0,1500,1165,1165]"`; -exports[`calculate simulations-salarié > effectif 1`] = `"[2355,0,2000,1561,1527]"`; +exports[`calculate simulations-salarié > effectif 1`] = `"[2354,0,2000,1561,1527]"`; exports[`calculate simulations-salarié > effectif 2`] = `"[2401,0,2000,1561,1527]"`; -exports[`calculate simulations-salarié > effectif 3`] = `"[2414,0,2000,1561,1527]"`; +exports[`calculate simulations-salarié > effectif 3`] = `"[2413,0,2000,1561,1527]"`; -exports[`calculate simulations-salarié > effectif 4`] = `"[2414,0,2000,1561,1527]"`; +exports[`calculate simulations-salarié > effectif 4`] = `"[2413,0,2000,1561,1527]"`; exports[`calculate simulations-salarié > frais pro - DFS 1`] = `"[2078,0,2000,1622,1622]"`; exports[`calculate simulations-salarié > frais pro - DFS 2`] = `"[2178,0,2000,1584,1549]"`; -exports[`calculate simulations-salarié > frais pro - DFS 3`] = `"[2133,0,2000,1598,1562]"`; +exports[`calculate simulations-salarié > frais pro - DFS 3`] = `"[2132,0,2000,1598,1562]"`; -exports[`calculate simulations-salarié > frais pro - DFS 4`] = `"[2133,0,2000,1598,1562]"`; +exports[`calculate simulations-salarié > frais pro - DFS 4`] = `"[2132,0,2000,1598,1562]"`; -exports[`calculate simulations-salarié > frais pro - DFS 5`] = `"[2355,0,2000,1561,1527]"`; +exports[`calculate simulations-salarié > frais pro - DFS 5`] = `"[2354,0,2000,1561,1527]"`; -exports[`calculate simulations-salarié > frais pro - DFS 6`] = `"[1766,0,1700,1351,1351]"`; +exports[`calculate simulations-salarié > frais pro - DFS 6`] = `"[1765,0,1700,1351,1351]"`; exports[`calculate simulations-salarié > frais pro - DFS 7`] = `"[3221,0,2600,2125,2105]"`; exports[`calculate simulations-salarié > frais pro - abo transports + transports personnels 1`] = `"[4373,0,3200,2545,2348]"`; -exports[`calculate simulations-salarié > frais pro - abo transports + transports personnels 2`] = `"[4897,0,3200,2856,2566]"`; +exports[`calculate simulations-salarié > frais pro - abo transports + transports personnels 2`] = `"[4896,0,3200,2856,2566]"`; exports[`calculate simulations-salarié > frais pro - abo transports + transports personnels 3`] = `"[4665,0,3200,2823,2624]"`; @@ -165,23 +165,23 @@ exports[`calculate simulations-salarié > frais pro - abonnement transports publ exports[`calculate simulations-salarié > frais pro - abonnement transports publics 4`] = `"[4356,0,3200,2527,2330]"`; -exports[`calculate simulations-salarié > frais pro - titres restaurant 1`] = `"[2395,0,2000,1521,1487]"`; +exports[`calculate simulations-salarié > frais pro - titres restaurant 1`] = `"[2394,0,2000,1521,1487]"`; exports[`calculate simulations-salarié > frais pro - titres restaurant 2`] = `"[4300,0,3000,2135,1945]"`; exports[`calculate simulations-salarié > frais pro - titres restaurant 3`] = `"[2438,0,2000,1493,1458]"`; -exports[`calculate simulations-salarié > frais pro - transports personnels seul 1`] = `"[4382,0,3200,2553,2356]"`; +exports[`calculate simulations-salarié > frais pro - transports personnels seul 1`] = `"[4381,0,3200,2553,2356]"`; -exports[`calculate simulations-salarié > frais pro - transports personnels seul 2`] = `"[4382,0,3200,2553,2356]"`; +exports[`calculate simulations-salarié > frais pro - transports personnels seul 2`] = `"[4381,0,3200,2553,2356]"`; -exports[`calculate simulations-salarié > frais pro - transports personnels seul 3`] = `"[5008,0,3200,2918,2621]"`; +exports[`calculate simulations-salarié > frais pro - transports personnels seul 3`] = `"[5007,0,3200,2918,2621]"`; -exports[`calculate simulations-salarié > frais pro - transports personnels seul 4`] = `"[4382,0,3200,2553,2356]"`; +exports[`calculate simulations-salarié > frais pro - transports personnels seul 4`] = `"[4381,0,3200,2553,2356]"`; -exports[`calculate simulations-salarié > frais pro - transports personnels seul 5`] = `"[4357,0,3200,2528,2331]"`; +exports[`calculate simulations-salarié > frais pro - transports personnels seul 5`] = `"[4356,0,3200,2528,2331]"`; -exports[`calculate simulations-salarié > frais pro - transports personnels seul 6`] = `"[4152,0,3200,2606,2497]"`; +exports[`calculate simulations-salarié > frais pro - transports personnels seul 6`] = `"[4151,0,3200,2606,2497]"`; exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 1`] = `"[2455,0,2000,1636,1601]"`; @@ -195,12 +195,12 @@ Notifications affichées : salarié . convention collective . contrôle décharg `; exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 5`] = ` -"[2422,0,2000,1589,1555] +"[2421,0,2000,1589,1555] Notifications affichées : salarié . convention collective . contrôle décharge" `; exports[`calculate simulations-salarié > heures supplémentaires et complémentaires 6`] = ` -"[2404,0,2000,1601,1566] +"[2403,0,2000,1601,1566] Notifications affichées : salarié . convention collective . contrôle décharge" `; @@ -224,49 +224,49 @@ exports[`calculate simulations-salarié > impôt sur le revenu - quotient famili exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 5`] = `"[4070,0,3000,2353,2201]"`; -exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 6`] = `"[12886,0,9000,7169,6171]"`; +exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 6`] = `"[12885,0,9000,7169,6171]"`; -exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 7`] = `"[12886,0,9000,7169,6678]"`; +exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 7`] = `"[12885,0,9000,7169,6678]"`; -exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 8`] = `"[12886,0,9000,7169,6900]"`; +exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 8`] = `"[12885,0,9000,7169,6900]"`; exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 9`] = `"[4070,0,3000,2353,2195]"`; exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 10`] = `"[4070,0,3000,2353,2353]"`; exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 11`] = ` -"[28342,0,20000,15997,12860] +"[28340,0,20000,15997,12860] Notifications affichées : salarié . contrat . salaire brut . contrôle salaire élevé" `; exports[`calculate simulations-salarié > impôt sur le revenu - quotient familial 12`] = ` -"[28342,0,20000,15997,11045] +"[28340,0,20000,15997,11045] Notifications affichées : salarié . contrat . salaire brut . contrôle salaire élevé" `; exports[`calculate simulations-salarié > impôt sur le revenu 1`] = `"[4070,0,3000,2353,2168]"`; exports[`calculate simulations-salarié > impôt sur le revenu 2`] = ` -"[41833,0,30000,24265,14709] +"[41830,0,30000,24265,14709] Notifications affichées : salarié . contrat . salaire brut . contrôle salaire élevé" `; exports[`calculate simulations-salarié > impôt sur le revenu 3`] = ` -"[4960,0,3000,2851,2564] +"[4959,0,3000,2851,2564] Notifications affichées : salarié . contrat . CDD . information" `; -exports[`calculate simulations-salarié > impôt sur le revenu 4`] = `"[3750,0,3000,2353,2252]"`; +exports[`calculate simulations-salarié > impôt sur le revenu 4`] = `"[3749,0,3000,2353,2252]"`; exports[`calculate simulations-salarié > impôt sur le revenu 5`] = ` -"[41833,0,30000,24265,14709] +"[41830,0,30000,24265,14709] Notifications affichées : salarié . contrat . salaire brut . contrôle salaire élevé" `; exports[`calculate simulations-salarié > impôt sur le revenu 6`] = `"[4070,0,3000,2626,2517]"`; exports[`calculate simulations-salarié > impôt sur le revenu 7`] = ` -"[41833,0,30000,27005,16679] +"[41830,0,30000,27005,16679] Notifications affichées : salarié . contrat . salaire brut . contrôle salaire élevé" `; @@ -285,9 +285,9 @@ Notifications affichées : salarié . rémunération . assiette de vérification exports[`calculate simulations-salarié > lodeom 2`] = `"[2000,0,2000,1561,1527]"`; -exports[`calculate simulations-salarié > lodeom 3`] = `"[3750,0,3000,2353,2168]"`; +exports[`calculate simulations-salarié > lodeom 3`] = `"[3749,0,3000,2353,2168]"`; -exports[`calculate simulations-salarié > lodeom 4`] = `"[5428,0,4000,3151,2760]"`; +exports[`calculate simulations-salarié > lodeom 4`] = `"[5427,0,4000,3151,2760]"`; exports[`calculate simulations-salarié > lodeom 5`] = `"[7784,0,5500,4357,3640]"`; @@ -313,9 +313,9 @@ exports[`calculate simulations-salarié > lodeom innovation et croissance 2`] = exports[`calculate simulations-salarié > lodeom innovation et croissance 3`] = `"[3000,0,3000,2353,2168]"`; -exports[`calculate simulations-salarié > lodeom innovation et croissance 4`] = `"[4409,0,4000,3151,2760]"`; +exports[`calculate simulations-salarié > lodeom innovation et croissance 4`] = `"[4408,0,4000,3151,2760]"`; -exports[`calculate simulations-salarié > lodeom innovation et croissance 5`] = `"[7542,0,5500,4357,3640]"`; +exports[`calculate simulations-salarié > lodeom innovation et croissance 5`] = `"[7541,0,5500,4357,3640]"`; exports[`calculate simulations-salarié > stage 1`] = ` "[500,0,500,500,500] @@ -335,11 +335,11 @@ Notifications affichées : salarié . rémunération . assiette de vérification exports[`calculate simulations-salarié > taux spécifiques retraite complémentaire 2`] = `"[3317,0,2500,1979,1869]"`; exports[`calculate simulations-salarié > taux spécifiques retraite complémentaire 3`] = ` -"[1588,0,1521,1170,1170] +"[1587,0,1521,1170,1170] Notifications affichées : salarié . rémunération . assiette de vérification du SMIC . contrôle" `; -exports[`calculate simulations-salarié > taux spécifiques retraite complémentaire 4`] = `"[3279,0,2500,1938,1854]"`; +exports[`calculate simulations-salarié > taux spécifiques retraite complémentaire 4`] = `"[3278,0,2500,1938,1854]"`; exports[`calculate simulations-salarié > temps partiel 1`] = `"[2477,2188,2000,1561,1527]"`; @@ -389,32 +389,32 @@ exports[`calculate simulations-salarié > échelle de salaires 7`] = ` Notifications affichées : salarié . rémunération . assiette de vérification du SMIC . contrôle" `; -exports[`calculate simulations-salarié > échelle de salaires 8`] = `"[2355,0,2000,1561,1527]"`; +exports[`calculate simulations-salarié > échelle de salaires 8`] = `"[2354,0,2000,1561,1527]"`; -exports[`calculate simulations-salarié > échelle de salaires 9`] = `"[3296,0,2500,1957,1848]"`; +exports[`calculate simulations-salarié > échelle de salaires 9`] = `"[3295,0,2500,1957,1848]"`; exports[`calculate simulations-salarié > échelle de salaires 10`] = `"[4070,0,3000,2353,2168]"`; -exports[`calculate simulations-salarié > échelle de salaires 11`] = `"[5428,0,4000,3151,2760]"`; +exports[`calculate simulations-salarié > échelle de salaires 11`] = `"[5427,0,4000,3151,2760]"`; -exports[`calculate simulations-salarié > échelle de salaires 12`] = `"[7079,0,5000,3955,3387]"`; +exports[`calculate simulations-salarié > échelle de salaires 12`] = `"[7078,0,5000,3955,3387]"`; exports[`calculate simulations-salarié > échelle de salaires 13`] = ` -"[14315,0,10000,7972,6108] +"[14314,0,10000,7972,6108] Notifications affichées : salarié . contrat . salaire brut . contrôle salaire élevé" `; exports[`calculate simulations-salarié > échelle de salaires 14`] = ` -"[28342,0,20000,15997,10736] +"[28340,0,20000,15997,10736] Notifications affichées : salarié . contrat . salaire brut . contrôle salaire élevé" `; exports[`calculate simulations-salarié > échelle de salaires 15`] = ` -"[128588,0,100000,87195,46332] +"[128578,0,100000,87195,46332] Notifications affichées : salarié . contrat . salaire brut . contrôle salaire élevé" `; exports[`calculate simulations-salarié > échelle de salaires 16`] = ` -"[1244012,0,1000000,896295,446184] +"[1243912,0,1000000,896295,446184] Notifications affichées : salarié . contrat . salaire brut . contrôle salaire élevé" `; diff --git a/site/test/regressions/simulations-salarié.yaml b/site/test/regressions/simulations-salarié.yaml index 0662b4958..3c9ed9a57 100644 --- a/site/test/regressions/simulations-salarié.yaml +++ b/site/test/regressions/simulations-salarié.yaml @@ -84,7 +84,7 @@ cdd: atmp: - salarié . contrat . salaire brut: 2000 €/mois - salarié . cotisations . ATMP . taux collectif: 5% + établissement . taux ATMP . taux collectif: 5% aides: - salarié . contrat . salaire brut: 2000 €/mois diff --git a/yarn.lock b/yarn.lock index 6c76f397b..895ec7694 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4714,9 +4714,9 @@ __metadata: languageName: node linkType: hard -"@publicodes/api@npm:^1.0.0-beta.53": - version: 1.0.0-beta.53 - resolution: "@publicodes/api@npm:1.0.0-beta.53" +"@publicodes/api@npm:^1.0.0-beta.54": + version: 1.0.0-beta.54 + resolution: "@publicodes/api@npm:1.0.0-beta.54" dependencies: "@koa/cors": ^3.3.0 "@koa/router": ^10.1.1 @@ -4725,7 +4725,7 @@ __metadata: openapi-validator-middleware: ^3.2.6 peerDependencies: publicodes: ^1.0.0-beta.47 - checksum: bbce40bdf1e1d1b32dee84d4aadb8c1dcfcf32f59c5a487fa527a1a1dd6f41db325a8f4eda4bc967f2c1caf655539dd4854adba4ddb6a01efde771f04711cc67 + checksum: 8383c05d90b638db49b951dda470adf361ec103ecb43b6b3a4e3a0da84d9f62083391ba46c1927cb0bcd1c90dd66b7b20a8e7a6df3b2e592df88fba56c6af79a languageName: node linkType: hard @@ -10036,7 +10036,7 @@ __metadata: "@apidevtools/swagger-cli": ^4.0.4 "@koa/cors": ^3.3.0 "@koa/router": ^10.1.1 - "@publicodes/api": ^1.0.0-beta.53 + "@publicodes/api": ^1.0.0-beta.54 "@sentry/node": ^7.1.1 "@sentry/tracing": ^7.1.1 "@types/koa": ^2.13.4 @@ -10053,7 +10053,7 @@ __metadata: koa-static: ^5.0.0 modele-social: "workspace:^" nodemon: ^2.0.16 - publicodes: ^1.0.0-beta.53 + publicodes: ^1.0.0-beta.54 rate-limiter-flexible: ^2.3.8 rimraf: ^3.0.2 swagger-ui-dist: ^4.11.1 @@ -15664,9 +15664,9 @@ __metadata: dependencies: js-yaml: ^4.1.0 onchange: ^7.1.0 - publicodes: =1.0.0-beta.53 + publicodes: =1.0.0-beta.54 peerDependencies: - publicodes: ^1.0.0-beta.53 + publicodes: ^1.0.0-beta.54 languageName: unknown linkType: soft @@ -21278,9 +21278,9 @@ __metadata: dependencies: js-yaml: ^4.1.0 onchange: ^7.1.0 - publicodes: ^1.0.0-beta.53 + publicodes: ^1.0.0-beta.54 peerDependencies: - publicodes: ^1.0.0-beta.53 + publicodes: ^1.0.0-beta.54 languageName: unknown linkType: soft @@ -23665,28 +23665,28 @@ __metadata: languageName: node linkType: hard -"publicodes-react@npm:^1.0.0-beta.53": - version: 1.0.0-beta.53 - resolution: "publicodes-react@npm:1.0.0-beta.53" +"publicodes-react@npm:^1.0.0-beta.54": + version: 1.0.0-beta.54 + resolution: "publicodes-react@npm:1.0.0-beta.54" dependencies: styled-components: ^5.1.0 peerDependencies: publicodes: 1.0.0-beta.40 react: ^17 || ^18 react-dom: ^17 || ^18 - checksum: 670adfd701fbddc647df1ca92daf37e5b57a09a3286623d852564891a210d52cfe8d82611fbb9460c3a73c9c3e3c9192ed05febb3fc9a104ec41b5701ba0988d + checksum: 104e489dabdd865f50110348ea778bfd896817b27497803115fe04e95b91c9f59fc1ab11bb54b1af5f6e9a093721ca2720f086f501a1c00acfac6987202ce2d1 languageName: node linkType: hard -"publicodes@npm:=1.0.0-beta.53, publicodes@npm:^1.0.0-beta.53": - version: 1.0.0-beta.53 - resolution: "publicodes@npm:1.0.0-beta.53" +"publicodes@npm:=1.0.0-beta.54, publicodes@npm:^1.0.0-beta.54": + version: 1.0.0-beta.54 + resolution: "publicodes@npm:1.0.0-beta.54" dependencies: moo: ^0.5.1 nearley: ^2.19.2 peerDependencies: "@types/mocha": ^9.0.0 - checksum: 8e30527df0e0510e2ab4d5f6898faa1431e9ea401cbb3657a8fc38fdaad11591684e654c6891c9b058b2d4c470c170d93150449ca483aacbbc8e14f17a9de5f2 + checksum: 2a02cfa9e21e1aeb757c757f597ca3ece6d2c22fa863a3cf95b85c14238ff801e8d1a1357dcec03961b517da3154aedfe9ddeb58761c468c31aec6ae692f2e29 languageName: node linkType: hard @@ -25783,8 +25783,8 @@ __metadata: markdown-to-jsx: ^7.1.7 modele-social: "workspace:^" netlify-cli: ^10.6.3 - publicodes: ^1.0.0-beta.53 - publicodes-react: ^1.0.0-beta.53 + publicodes: ^1.0.0-beta.54 + publicodes-react: ^1.0.0-beta.54 react: ^17.0.0 react-colorful: ^5.5.1 react-dom: ^17.0.0