diff --git "a/modele-social/r\303\250gles/salari\303\251/cotisations.publicodes" "b/modele-social/r\303\250gles/salari\303\251/cotisations.publicodes"
index a37f93c1ea..ba7c760609 100644
--- "a/modele-social/r\303\250gles/salari\303\251/cotisations.publicodes"
+++ "b/modele-social/r\303\250gles/salari\303\251/cotisations.publicodes"
@@ -309,9 +309,9 @@ salarié . cotisations . exonérations . lodeom . zone un:
- barème compétitivité renforcée
- barème innovation et croissance
une de ces conditions:
+ - barèmes . barème compétitivité
- entreprise . salariés . effectif < 11
- secteurs d'activité éligibles
- - barèmes . barème compétitivité
description: |
Le barème de compétitivité est applicable :
- aux employeurs de moins de 11 salariés ;
@@ -411,10 +411,113 @@ salarié . cotisations . exonérations . lodeom . zone deux:
Fiche Urssaf: https://www.urssaf.fr/accueil/employeur/beneficier-exonerations/exonerations-zonees/exoneration-lodeom.html#ancre-calcul-declaration-a-saint-barth
avec:
+ # Impossible (ou trop compliqué) avec Publicodes de gérer dans la même règle :
+ # - une valeur calculée par l'engine (avec applicabilité et formule)
+ # - une valeur choisie par l'usager (depuis une QCM)
+ # On répète donc les barèmes afin de pouvoir dans certains cas demander à l'usager
+ # de choisir directement son barème (ex: simulateur Lodéom), et dans d'autres, de
+ # déduire le barème à partir d'autres paramètres (effectif, secteur éligible...)
+ # (ex: simulateur salarié)
+ # /!\ Attention /!\ Penser à modifier les titres, descriptions et références dans
+ # les 2 règles à chaque évolution
+ barèmes:
+ question: Quel barème souhaitez-vous appliquer ?
+ formule:
+ une possibilité:
+ choix obligatoire: oui
+ possibilités:
+ - barème moins de 11 salariés
+ - barème sectoriel
+ - barème renforcé
+ avec:
+ barème moins de 11 salariés:
+ valeur: barèmes = 'barème moins de 11 salariés'
+ titre: Barème pour les employeurs de moins de 11 salariés
+ description: |
+ L’exonération est applicable aux employeurs occupant moins de 11 salariés.
+
+ Par ailleurs, peuvent également être éligibles à cette exonération les employeurs qui, bien que remplissant
+ les conditions pour bénéficier du barème sectoriel sans critère d’effectif, choisissent d’opter pour
+ cette exonération, plus favorable, car elles ont moins de 11 salariés.
+ références:
+ Fiche Urssaf: https://www.urssaf.fr/accueil/employeur/beneficier-exonerations/exonerations-zonees/exoneration-lodeom.html#ancre-calcul-declaration-a-saint-barth
+ Champ d'application du barème réservé aux employeurs de moins de 11 salariés: https://boss.gouv.fr/portail/accueil/exonerations/exonerations-zonees.html#1520
+
+ barème sectoriel:
+ valeur: barèmes = 'barème sectoriel'
+ titre: Barème d'exonération sectorielle
+ description: |
+ L’exonération est applicable aux employeurs, quel que soit leur effectif, relevant d’un des secteurs d’activité
+ éligibles au dispositif d’exonération « Lodeom » :
+ - 🔬 recherche et développement ;
+ - 📷 tourisme, y compris les activités de loisirs s’y rapportant ;
+ - 🛏️ hôtellerie ;
+ - 🌱 agronutrition ;
+ - 🌳 environnement ;
+ - 🔋 énergies renouvelables ;
+ - 🚜 agriculture (y compris les coopératives agricoles et sociétés d’intérêt collectif agricoles
+ et leurs unions ainsi que les coopératives maritimes et leurs unions) ;
+ - 🎣 pêche, cultures marines et aquaculture ;
+ - 🏗 bâtiment et travaux publics
+ - 🍴 restauration ;
+ - 📰 presse ;
+ - 🎥 production audiovisuelle.
+ - ⛵ transport fluvial ou maritime pour les employeurs assurant :
+ - la desserte maritime ou fluviale de plusieurs points de la Guadeloupe, de la Guyane, de la Martinique, de La Réunion, de Saint-Barthélemy ou de Saint-Martin ;
+ - la liaison entre les ports de ces départements ou collectivités ;
+ - la liaison entre les ports de la Réunion et de Mayotte.
+ - ✈️ transport aérien pour les employeurs assurant :
+ - la liaison entre la métropole et la Guadeloupe, la Guyane, la Martinique, La Réunion, Saint-Martin, Saint-Barthélemy ;
+ - la liaison entre ces départements ou collectivités et entre la Réunion et Mayotte ;
+ - la desserte intérieure de ces départements ou collectivités.
+ références:
+ Fiche Urssaf: https://www.urssaf.fr/accueil/employeur/beneficier-exonerations/exonerations-zonees/exoneration-lodeom.html#ancre-calcul-declaration-a-saint-barth
+ Champ d'application du barème réservé aux employeurs de moins de 11 salariés: https://boss.gouv.fr/portail/accueil/exonerations/exonerations-zonees.html#1540
+
+ barème renforcé:
+ valeur: barèmes = 'barème renforcé'
+ titre: Barème d'exonération renforcée
+ description: |
+ Pour bénéficier du barème d'exonération renforcée, les employeurs doivent :
+ - employer moins de 250 salariés,
+ - réaliser un chiffre d’affaires annuel inférieur à 50 millions d’euros
+ - et, pour ceux installés à Saint-Martin, être soumis de plein droit ou sur option à
+ un régime réel d’imposition.
+
+ Par ailleurs, l'employeur doit remplir au moins l’une des conditions suivantes :
+ - soit relever de l’un des secteurs d’activité éligibles à la réduction d’impôt sur le revenu ouverte aux
+ contribuables domiciliés en France qui ont réalisés des investissements productifs neufs en outre-mer
+ (prévue à l’article 199 undecies B du code général des impôts) ;
+ - soit exercer une des activités suivantes :
+ - comptabilité ;
+ - conseil aux entreprises ;
+ - ingénierie ou études techniques à destination des entreprises ;
+ - recherche et développement
+ - technologies de l’information et de la communication.
+
+ L'employeur doit également remplir au moins l’une des conditions suivantes :
+ - soit relever d'un des secteurs suivants :
+ - 🔬 recherche et développement ;
+ - 🖥️ technologies de l’information et de la communication ;
+ - 📷 tourisme, y compris les activités de loisirs s’y rapportant ;
+ - 🌱 agronutrition ;
+ - 🌳 environnement ;
+ - 🔋 énergies renouvelables ;
+ - soit bénéficier du régime de « perfectionnement actif ».
+ références:
+ Fiche Urssaf: https://www.urssaf.fr/accueil/employeur/beneficier-exonerations/exonerations-zonees/exoneration-lodeom.html#ancre-calcul-declaration-a-saint-barth
+ Champ d'application du barème réservé aux employeurs de moins de 11 salariés: https://boss.gouv.fr/portail/accueil/exonerations/exonerations-zonees.html#1560
+
barème moins de 11 salariés:
titre: Barème pour les employeurs de moins de 11 salariés
- formule: entreprise . salariés . effectif < 11
- non applicable si: barème compétitivité
+ formule:
+ une de ces conditions:
+ - barèmes . barème moins de 11 salariés
+ - entreprise . salariés . effectif < 11
+ non applicable si:
+ une de ces conditions:
+ - barème sectoriel
+ - barème compétitivité
description: |
L’exonération est applicable aux employeurs occupant moins de 11 salariés.
@@ -427,11 +530,14 @@ salarié . cotisations . exonérations . lodeom . zone deux:
barème sectoriel:
titre: Barème d'exonération sectorielle
+ non applicable si: barème compétitivité
formule:
- toutes ces conditions:
- - barème moins de 11 salariés = non
- - barème compétitivité = non
- - secteurs d'activité éligibles = oui
+ une de ces conditions:
+ - barèmes . barème sectoriel
+ - toutes ces conditions:
+ - barème moins de 11 salariés = non
+ - barème compétitivité = non
+ - secteurs d'activité éligibles = oui
description: |
L’exonération est applicable aux employeurs, quel que soit leur effectif, relevant d’un des secteurs d’activité
éligibles au dispositif d’exonération « Lodeom » :
@@ -465,6 +571,7 @@ salarié . cotisations . exonérations . lodeom . zone deux:
applicable si: entreprise . salariés . effectif < 250
question: Êtes-vous éligible au barème d'exonération renforcée ?
par défaut: non
+ formule: barèmes . barème renforcé
description: |
Pour bénéficier du barème d'exonération renforcée, les employeurs doivent :
- employer moins de 250 salariés,
diff --git a/site/cypress/integration/mon-entreprise/lodeom.ts b/site/cypress/integration/mon-entreprise/lodeom.ts
index 0689adba2a..539e9e340c 100755
--- a/site/cypress/integration/mon-entreprise/lodeom.ts
+++ b/site/cypress/integration/mon-entreprise/lodeom.ts
@@ -16,6 +16,7 @@ describe('Simulateur lodeom', { testIsolation: false }, function () {
})
it('should allow to change time period', function () {
+ cy.contains('Guadeloupe, Guyane, Martinique, La Réunion').click()
cy.contains('Barème de compétitivité').click()
cy.contains('Exonération annuelle').click()
cy.get(inputSelector).first().type('{selectall}42000')
@@ -78,7 +79,41 @@ describe('Simulateur lodeom', { testIsolation: false }, function () {
).should('include.text', '978,25 €')
})
+ it('should allow to select a zone', function () {
+ cy.contains('Saint-Barthélémy, Saint-Martin').click()
+ cy.get(
+ '#salarié___cotisations___exonérations___lodeom___zone_deux___barèmes'
+ )
+ .contains('Barème pour les employeurs de moins de 11 salariés')
+ .click()
+
+ cy.get(
+ 'p[id="salarié___cotisations___exonérations___lodeom___montant-value"]'
+ ).should('include.text', '530,25 €')
+
+ cy.get(
+ '#salarié___cotisations___exonérations___lodeom___zone_deux___barèmes'
+ )
+ .contains("Barème d'exonération sectorielle")
+ .click()
+
+ cy.get(
+ 'p[id="salarié___cotisations___exonérations___lodeom___montant-value"]'
+ ).should('include.text', '350,35 €')
+
+ cy.get(
+ '#salarié___cotisations___exonérations___lodeom___zone_deux___barèmes'
+ )
+ .contains("Barème d'exonération renforcée")
+ .click()
+
+ cy.get(
+ 'p[id="salarié___cotisations___exonérations___lodeom___montant-value"]'
+ ).should('include.text', '644 €')
+ })
+
it('should display a custom warning for a remuneration too high', function () {
+ cy.contains('Guadeloupe, Guyane, Martinique, La Réunion').click()
cy.get(inputSelector).first().type('{selectall}6500')
cy.get('div[id="simulator-legend"]').should(
@@ -271,6 +306,18 @@ describe('Simulateur lodeom', { testIsolation: false }, function () {
cy.get('@recapTable').should('include.text', 'code 473')
cy.get('@recapTable').should('include.text', 'code 685')
+
+ cy.contains('Saint-Barthélémy, Saint-Martin').click()
+
+ cy.get('@recapTable').should('include.text', 'code 688')
+
+ cy.contains("Barème d'exonération sectorielle").click()
+
+ cy.get('@recapTable').should('include.text', 'code 686')
+
+ cy.contains('Barème pour les employeurs de moins de 11 salariés').click()
+
+ cy.get('@recapTable').should('include.text', 'code 687')
})
it('should be RGAA compliant', function () {
diff --git a/site/source/hooks/useZoneLodeom.ts b/site/source/hooks/useZoneLodeom.ts
new file mode 100644
index 0000000000..1487a5e82e
--- /dev/null
+++ b/site/source/hooks/useZoneLodeom.ts
@@ -0,0 +1,38 @@
+import { useDispatch } from 'react-redux'
+
+import { useEngine } from '@/components/utils/EngineContext'
+import { toOuiNon } from '@/domaine/engine/toOuiNon'
+import { batchUpdateSituation } from '@/store/actions/actions'
+
+const zones = ['zone un', 'zone deux']
+
+export type ZoneLodeom = (typeof zones)[number]
+
+type ReturnType = {
+ currentZone?: ZoneLodeom
+ updateZone: (zone: ZoneLodeom) => void
+}
+
+export const useZoneLodeom = (): ReturnType => {
+ const engine = useEngine()
+ const dispatch = useDispatch()
+ const dottedName = 'salarié . cotisations . exonérations . lodeom'
+
+ const currentZone = zones.find((zone) => {
+ const zoneValue = engine.evaluate(`${dottedName} . ${zone}`).nodeValue
+
+ return !!zoneValue
+ })
+
+ const updateZone = (newZone: ZoneLodeom): void => {
+ const newSituation = zones.reduce((situation, zone) => {
+ return {
+ ...situation,
+ [`${dottedName} . ${zone}`]: toOuiNon(zone === newZone),
+ }
+ }, {})
+ dispatch(batchUpdateSituation(newSituation))
+ }
+
+ return { currentZone, updateZone }
+}
diff --git a/site/source/locales/rules-en.yaml b/site/source/locales/rules-en.yaml
index 190bf1eb5e..017e42de9e 100644
--- a/site/source/locales/rules-en.yaml
+++ b/site/source/locales/rules-en.yaml
@@ -9693,6 +9693,197 @@ salarié . cotisations . exonérations . lodeom . zone deux:
- la desserte intérieure de ces départements ou collectivités.
titre.en: '[automatic] Sector exemption scale'
titre.fr: Barème d'exonération sectorielle
+ barèmes:
+ avec:
+ barème moins de 11 salariés:
+ description.en: >
+ [automatic] The exemption applies to employers with fewer
+ than 11 employees.
+
+
+ In addition, employers may also be eligible for this exemption if, although they meet the conditions
+
+ the conditions to benefit from the sectoral scale without headcount criteria, choose to opt for this
+
+ this more favorable exemption, because they have fewer than 11 employees.
+ description.fr: >
+ L’exonération est applicable aux employeurs occupant moins
+ de 11 salariés.
+
+
+ Par ailleurs, peuvent également être éligibles à cette exonération les employeurs qui, bien que remplissant
+
+ les conditions pour bénéficier du barème sectoriel sans critère d’effectif, choisissent d’opter pour
+
+ cette exonération, plus favorable, car elles ont moins de 11 salariés.
+ titre.en: '[automatic] Scale for employers with fewer than 11 employees'
+ titre.fr: Barème pour les employeurs de moins de 11 salariés
+ barème renforcé:
+ description.en: >
+ [automatic] To qualify for the enhanced exemption scale, employers
+ must :
+
+ - have fewer than 250 employees,
+
+ - have annual sales of less than €50 million
+
+ - and, in the case of employers based in Saint-Martin, be subject to an automatic or optional
+
+ a real tax regime.
+
+
+ In addition, the employer must meet at least one of the following conditions:
+
+ - either fall within one of the business sectors eligible for the income tax reduction available to
+
+ taxpayers domiciled in France who have made new productive investments in overseas France
+
+ (provided for in article 199 undecies B of the French General Tax Code) ;
+
+ - carry out one of the following activities
+ - accounting ;
+ - business consulting ;
+ - engineering or technical studies for companies;
+ - research and development
+ - information and communication technologies.
+
+ The employer must also meet at least one of the following conditions:
+
+ - either belong to one of the following sectors:
+ - 🔬 research and development;
+ - 🖥️ information and communication technologies;
+ - 📷 tourism, including related leisure activities;
+ - 🌱 agronutrition;
+ - 🌳 environment ;
+ - 🔋 renewable energies;
+ - or benefit from the "inward processing" regime.
+ description.fr: >
+ Pour bénéficier du barème d'exonération renforcée, les employeurs
+ doivent :
+
+ - employer moins de 250 salariés,
+
+ - réaliser un chiffre d’affaires annuel inférieur à 50 millions d’euros
+
+ - et, pour ceux installés à Saint-Martin, être soumis de plein droit ou sur option à
+
+ un régime réel d’imposition.
+
+
+ Par ailleurs, l'employeur doit remplir au moins l’une des conditions suivantes :
+
+ - soit relever de l’un des secteurs d’activité éligibles à la réduction d’impôt sur le revenu ouverte aux
+
+ contribuables domiciliés en France qui ont réalisés des investissements productifs neufs en outre-mer
+
+ (prévue à l’article 199 undecies B du code général des impôts) ;
+
+ - soit exercer une des activités suivantes :
+ - comptabilité ;
+ - conseil aux entreprises ;
+ - ingénierie ou études techniques à destination des entreprises ;
+ - recherche et développement
+ - technologies de l’information et de la communication.
+
+ L'employeur doit également remplir au moins l’une des conditions suivantes :
+
+ - soit relever d'un des secteurs suivants :
+ - 🔬 recherche et développement ;
+ - 🖥️ technologies de l’information et de la communication ;
+ - 📷 tourisme, y compris les activités de loisirs s’y rapportant ;
+ - 🌱 agronutrition ;
+ - 🌳 environnement ;
+ - 🔋 énergies renouvelables ;
+ - soit bénéficier du régime de « perfectionnement actif ».
+ titre.en: '[automatic] Reinforced exemption scale'
+ titre.fr: Barème d'exonération renforcée
+ barème sectoriel:
+ description.en: >
+ [automatic] The exemption applies to employers, regardless of their
+ workforce, in one of the following business sectors
+
+ eligible for the "Lodeom" exemption scheme:
+
+ - 🔬 research and development ;
+
+ - 📷 tourism, including related leisure activities;
+
+ - 🛏️ hotels;
+
+ - 🌱 agronutrition ;
+
+ - 🌳 environment ;
+
+ - 🔋 renewable energies;
+
+ - 🚜 agriculture (including agricultural cooperatives and sociétés d'intérêt collectif agricoles
+
+ and their unions as well as maritime cooperatives and their unions);
+
+ - 🎣 fishing, marine cultures and aquaculture;
+
+ - 🏗 construction and public works
+
+ - 🍴 catering ;
+
+ - 📰 press ;
+
+ - 🎥 audiovisual production.
+
+ - ⛵ river or sea transport for employers providing:
+ - sea or river services to several points in Guadeloupe, French Guiana, Martinique, Réunion, Saint-Barthélemy or Saint-Martin;
+ - connections between ports in these departments or communities;
+ - between the ports of Réunion and Mayotte.
+ - ✈️ air transport for employers providing :
+ - between mainland France and Guadeloupe, French Guiana, Martinique, Réunion, Saint-Martin or Saint-Barthélemy;
+ - between these departments or communities and between Réunion and Mayotte;
+ - domestic services within these departments or communities.
+ description.fr: >
+ L’exonération est applicable aux employeurs, quel que soit leur
+ effectif, relevant d’un des secteurs d’activité
+
+ éligibles au dispositif d’exonération « Lodeom » :
+
+ - 🔬 recherche et développement ;
+
+ - 📷 tourisme, y compris les activités de loisirs s’y rapportant ;
+
+ - 🛏️ hôtellerie ;
+
+ - 🌱 agronutrition ;
+
+ - 🌳 environnement ;
+
+ - 🔋 énergies renouvelables ;
+
+ - 🚜 agriculture (y compris les coopératives agricoles et sociétés d’intérêt collectif agricoles
+
+ et leurs unions ainsi que les coopératives maritimes et leurs unions) ;
+
+ - 🎣 pêche, cultures marines et aquaculture ;
+
+ - 🏗 bâtiment et travaux publics
+
+ - 🍴 restauration ;
+
+ - 📰 presse ;
+
+ - 🎥 production audiovisuelle.
+
+ - ⛵ transport fluvial ou maritime pour les employeurs assurant :
+ - la desserte maritime ou fluviale de plusieurs points de la Guadeloupe, de la Guyane, de la Martinique, de La Réunion, de Saint-Barthélemy ou de Saint-Martin ;
+ - la liaison entre les ports de ces départements ou collectivités ;
+ - la liaison entre les ports de la Réunion et de Mayotte.
+ - ✈️ transport aérien pour les employeurs assurant :
+ - la liaison entre la métropole et la Guadeloupe, la Guyane, la Martinique, La Réunion, Saint-Martin, Saint-Barthélemy ;
+ - la liaison entre ces départements ou collectivités et entre la Réunion et Mayotte ;
+ - la desserte intérieure de ces départements ou collectivités.
+ titre.en: '[automatic] Sector exemption scale'
+ titre.fr: Barème d'exonération sectorielle
+ question.en: '[automatic] What scale would you like to apply?'
+ question.fr: Quel barème souhaitez-vous appliquer ?
+ titre.en: '[automatic] scales'
+ titre.fr: barèmes
titre.en: '[automatic] Saint-Barthélémy, Saint-Martin'
titre.fr: Saint-Barthélémy, Saint-Martin
salarié . cotisations . exonérations . lodeom . zone un:
diff --git a/site/source/locales/ui-en.yaml b/site/source/locales/ui-en.yaml
index 5402263f29..be949ed34d 100644
--- a/site/source/locales/ui-en.yaml
+++ b/site/source/locales/ui-en.yaml
@@ -137,6 +137,7 @@ Graphique statistiques détaillés de la satisfaction, présence d’une alterna
Graphique statistiques détaillés du nombre visites par jour, présence d’une alternative accessible après l’image:
Graph showing detailed statistics on the number of visits per day, with an
alternative accessible after the image
+Guadeloupe, Guyane, Martinique, La Réunion: Guadeloupe, French Guiana, Martinique, Reunion Island
Habituellement: Usually
Impôt: Tax
Impôt au barème: Tax scale
@@ -278,6 +279,7 @@ Répartition du chiffre d'affaires: Sales breakdown
Répondez à quelques questions additionnelles afin de préciser votre résultat.: Answer a few additional questions to clarify your result.
Résultat fiscal: Taxable income
Réussite: Success
+Saint-Barthélémy, Saint-Martin: Saint-Barthélémy, Saint-Martin
Saisissez votre domaine d'activité: Enter your field of activity
Salaire brut: Gross salary
Salaire brut mensuel: Gross monthly salary
@@ -377,6 +379,7 @@ Vous êtes dirigeant d'une SAS(U) ? <2>Accéder au simulateur de revenu dédié<
with a company director, there are <1>3 possible statuses1> for
you<3>(collaborating spouse3>, <6>associate spouse6> or <9>salaried
spouse9>).
+Zone de l'entreprise: Company zone
accessibility:
description: Référentiel Général d'Amélioration de l'Accessibilité (General
Accessibility Improvement Reference System)
diff --git a/site/source/locales/ui-fr.yaml b/site/source/locales/ui-fr.yaml
index 761393d942..6ca8c80352 100644
--- a/site/source/locales/ui-fr.yaml
+++ b/site/source/locales/ui-fr.yaml
@@ -146,6 +146,7 @@ Graphique statistiques détaillés de la satisfaction, présence d’une alterna
Graphique statistiques détaillés du nombre visites par jour, présence d’une alternative accessible après l’image:
Graphique statistiques détaillés du nombre visites par jour, présence d’une
alternative accessible après l’image
+Guadeloupe, Guyane, Martinique, La Réunion: Guadeloupe, Guyane, Martinique, La Réunion
Habituellement: Habituellement
Impôt: Impôt
Impôt au barème: Impôt au barème
@@ -293,6 +294,7 @@ Répartition du chiffre d'affaires: Répartition du chiffre d'affaires
Répondez à quelques questions additionnelles afin de préciser votre résultat.: Répondez à quelques questions additionnelles afin de préciser votre résultat.
Résultat fiscal: Résultat fiscal
Réussite: Réussite
+Saint-Barthélémy, Saint-Martin: Saint-Barthélémy, Saint-Martin
Saisissez votre domaine d'activité: Saisissez votre domaine d'activité
Salaire brut: Salaire brut
Salaire brut mensuel: Salaire brut mensuel
@@ -400,6 +402,7 @@ Vous êtes dirigeant d'une SAS(U) ? <2>Accéder au simulateur de revenu dédié<
"Vous êtes marié(e), pacsé(e) ou en union libre avec un chef d’entreprise : il
existe <1>3 statuts possibles1> pour vous (<3>conjoint collaborateur3>,
<6>conjoint associé6> ou <9>conjoint salarié9>)."
+Zone de l'entreprise: Zone de l'entreprise
accessibility:
description: Référentiel Général d’Amélioration de l’Accessibilité
title: Accessibilité
diff --git a/site/source/pages/simulateurs/lodeom/Lodeom.tsx b/site/source/pages/simulateurs/lodeom/Lodeom.tsx
index 17e8d71249..5fd575da0e 100644
--- a/site/source/pages/simulateurs/lodeom/Lodeom.tsx
+++ b/site/source/pages/simulateurs/lodeom/Lodeom.tsx
@@ -7,9 +7,11 @@ import RégularisationSwitch from '@/components/RéductionDeCotisations/Régular
import { SelectSimulationYear } from '@/components/SelectSimulationYear'
import SimulateurWarning from '@/components/SimulateurWarning'
import Simulation from '@/components/Simulation'
+import { useZoneLodeom } from '@/hooks/useZoneLodeom'
import { RégularisationMethod } from '@/utils/réductionDeCotisations'
import BarèmeSwitch from './components/BarèmeSwitch'
+import ZoneSwitch from './components/ZoneSwitch'
import LodeomSimulationGoals from './Goals'
export default function LodeomSimulation() {
@@ -39,6 +41,8 @@ export default function LodeomSimulation() {
const [régularisationMethod, setRégularisationMethod] =
useState('progressive')
+ const { currentZone } = useZoneLodeom()
+
return (
<>
}>
@@ -51,12 +55,17 @@ export default function LodeomSimulation() {
)}
toggles={
<>
+
-
-
+ {currentZone === 'zone un' && (
+ <>
+
+
+ >
+ )}
>
}
diff --git "a/site/source/pages/simulateurs/lodeom/components/Bar\303\250meSwitch.tsx" "b/site/source/pages/simulateurs/lodeom/components/Bar\303\250meSwitch.tsx"
index 5b7d5b75dd..6cdd75d658 100644
--- "a/site/source/pages/simulateurs/lodeom/components/Bar\303\250meSwitch.tsx"
+++ "b/site/source/pages/simulateurs/lodeom/components/Bar\303\250meSwitch.tsx"
@@ -1,7 +1,18 @@
+import { DottedName } from 'modele-social'
+
+import { useZoneLodeom } from '@/hooks/useZoneLodeom'
import { SimpleField } from '@/pages/assistants/components/Fields'
export default function BarèmeSwitch() {
+ const { currentZone } = useZoneLodeom()
+
return (
-
+ currentZone && (
+
+ )
)
}
diff --git a/site/source/pages/simulateurs/lodeom/components/WarningSalaireTrans.tsx b/site/source/pages/simulateurs/lodeom/components/WarningSalaireTrans.tsx
index 55662bd939..976a02c7e5 100644
--- a/site/source/pages/simulateurs/lodeom/components/WarningSalaireTrans.tsx
+++ b/site/source/pages/simulateurs/lodeom/components/WarningSalaireTrans.tsx
@@ -1,12 +1,16 @@
import { Trans } from 'react-i18next'
import { useEngine } from '@/components/utils/EngineContext'
+import { useZoneLodeom } from '@/hooks/useZoneLodeom'
export default function WarningSalaireTrans() {
+ const { currentZone } = useZoneLodeom()
const engine = useEngine()
- const currentBarème = engine.evaluate(
- 'salarié . cotisations . exonérations . lodeom . zone un . barèmes'
- ).nodeValue
+ const currentBarème =
+ currentZone &&
+ engine.evaluate(
+ `salarié . cotisations . exonérations . lodeom . ${currentZone} . barèmes`
+ ).nodeValue
return (
currentBarème && (
diff --git a/site/source/pages/simulateurs/lodeom/components/ZoneSwitch.tsx b/site/source/pages/simulateurs/lodeom/components/ZoneSwitch.tsx
new file mode 100644
index 0000000000..a50b436914
--- /dev/null
+++ b/site/source/pages/simulateurs/lodeom/components/ZoneSwitch.tsx
@@ -0,0 +1,24 @@
+import { useTranslation } from 'react-i18next'
+
+import { Radio, ToggleGroup } from '@/design-system'
+import { useZoneLodeom } from '@/hooks/useZoneLodeom'
+
+export default function ZoneSwitch() {
+ const { currentZone, updateZone } = useZoneLodeom()
+ const { t } = useTranslation()
+
+ return (
+ {
+ updateZone(value)
+ }}
+ aria-label={t("Zone de l'entreprise")}
+ >
+
+ {t('Guadeloupe, Guyane, Martinique, La Réunion')}
+
+ {t('Saint-Barthélémy, Saint-Martin')}
+
+ )
+}
diff --git a/site/source/pages/simulateurs/lodeom/simulationConfig.ts b/site/source/pages/simulateurs/lodeom/simulationConfig.ts
index 54b6837719..8451d94f12 100644
--- a/site/source/pages/simulateurs/lodeom/simulationConfig.ts
+++ b/site/source/pages/simulateurs/lodeom/simulationConfig.ts
@@ -29,6 +29,10 @@ export const configRéductionGénérale: SimulationConfig = {
},
],
'liste noire': [
+ 'établissement . commune',
+ 'salarié . cotisations . exonérations . lodeom . zone un . barème compétitivité renforcée',
+ 'salarié . cotisations . exonérations . lodeom . zone un . barème innovation et croissance',
+ 'salarié . cotisations . exonérations . lodeom . zone deux . barème compétitivité',
'entreprise . salariés . effectif . seuil',
'salarié . contrat . CDD . motif',
'salarié . rémunération . primes . activité . base',
@@ -41,8 +45,5 @@ export const configRéductionGénérale: SimulationConfig = {
dirigeant: 'non',
'entreprise . catégorie juridique': "''",
'entreprise . imposition': 'non',
- 'salarié . cotisations . exonérations . lodeom . zone un': "'oui'",
- 'salarié . cotisations . exonérations . lodeom . zone un . barèmes':
- "'barème compétitivité'",
},
}