mirror of
https://github.com/betagouv/mon-entreprise
synced 2025-02-11 00:25:02 +00:00
feat(lodeom): ajout de la sélection de zone
This commit is contained in:
parent
67764dae09
commit
1ff21450d8
11 changed files with 457 additions and 19 deletions
|
@ -315,9 +315,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é <strong>est applicable</strong> :
|
||||
- aux employeurs de moins de 11 salariés ;
|
||||
|
@ -417,10 +417,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 <strong>moins de 11 salariés</strong>.
|
||||
|
||||
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 <strong>moins de 250 salariés</strong>,
|
||||
- réaliser un chiffre d’affaires annuel <strong>inférieur à 50 millions d’euros</strong>
|
||||
- et, pour ceux installés à <strong>Saint-Martin</strong>, être soumis de plein droit ou sur option à
|
||||
un <strong>régime réel d’imposition</strong>.
|
||||
|
||||
Par ailleurs, l'employeur doit remplir <strong>au moins l’une des conditions</strong> 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 <strong>également</strong> remplir <strong>au moins l’une des conditions</strong> suivantes :
|
||||
- soit relever d'un des <strong>secteurs</strong> 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 <strong>régime de « perfectionnement actif »</strong>.
|
||||
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 <strong>moins de 11 salariés</strong>.
|
||||
|
||||
|
@ -433,11 +536,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 » :
|
||||
|
@ -471,6 +577,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 <strong>moins de 250 salariés</strong>,
|
||||
|
|
|
@ -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(
|
||||
|
@ -269,6 +304,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 () {
|
||||
|
|
38
site/source/hooks/useZoneLodeom.ts
Normal file
38
site/source/hooks/useZoneLodeom.ts
Normal file
|
@ -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 }
|
||||
}
|
|
@ -9806,6 +9806,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 <strong>fewer
|
||||
than 11 employees</strong>.
|
||||
|
||||
|
||||
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 <strong>moins
|
||||
de 11 salariés</strong>.
|
||||
|
||||
|
||||
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 <strong>fewer than 250 employees</strong>,
|
||||
|
||||
- have annual sales <strong>of less than €50 million</strong>
|
||||
|
||||
- and, in the case of employers based in <strong>Saint-Martin</strong>, be subject to an automatic or optional
|
||||
|
||||
a <strong>real tax regime</strong>.
|
||||
|
||||
|
||||
In addition, the employer must meet <strong>at least one of the</strong> following <strong>conditions</strong>:
|
||||
|
||||
- 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 <strong>also</strong> meet <strong>at least one of the</strong> following <strong>conditions</strong>:
|
||||
|
||||
- either belong to one of the following <strong>sectors</strong>:
|
||||
- 🔬 research and development;
|
||||
- 🖥️ information and communication technologies;
|
||||
- 📷 tourism, including related leisure activities;
|
||||
- 🌱 agronutrition;
|
||||
- 🌳 environment ;
|
||||
- 🔋 renewable energies;
|
||||
- or benefit from the <strong>"inward processing" regime.</strong>
|
||||
description.fr: >
|
||||
Pour bénéficier du barème d'exonération renforcée, les employeurs
|
||||
doivent :
|
||||
|
||||
- employer <strong>moins de 250 salariés</strong>,
|
||||
|
||||
- réaliser un chiffre d’affaires annuel <strong>inférieur à 50 millions d’euros</strong>
|
||||
|
||||
- et, pour ceux installés à <strong>Saint-Martin</strong>, être soumis de plein droit ou sur option à
|
||||
|
||||
un <strong>régime réel d’imposition</strong>.
|
||||
|
||||
|
||||
Par ailleurs, l'employeur doit remplir <strong>au moins l’une des conditions</strong> 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 <strong>également</strong> remplir <strong>au moins l’une des conditions</strong> suivantes :
|
||||
|
||||
- soit relever d'un des <strong>secteurs</strong> 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 <strong>régime de « perfectionnement actif »</strong>.
|
||||
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:
|
||||
|
|
|
@ -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
|
||||
|
@ -280,6 +281,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 statuses</1> for
|
||||
you<3>(collaborating spouse</3>, <6>associate spouse</6> or <9>salaried
|
||||
spouse</9>).
|
||||
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)
|
||||
|
|
|
@ -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
|
||||
|
@ -295,6 +296,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 possibles</1> pour vous (<3>conjoint collaborateur</3>,
|
||||
<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é
|
||||
|
|
|
@ -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<RégularisationMethod>('progressive')
|
||||
|
||||
const { currentZone } = useZoneLodeom()
|
||||
|
||||
return (
|
||||
<>
|
||||
<Simulation afterQuestionsSlot={<SelectSimulationYear />}>
|
||||
|
@ -51,12 +55,17 @@ export default function LodeomSimulation() {
|
|||
)}
|
||||
toggles={
|
||||
<>
|
||||
<ZoneSwitch />
|
||||
<BarèmeSwitch />
|
||||
<RégularisationSwitch
|
||||
régularisationMethod={régularisationMethod}
|
||||
setRégularisationMethod={setRégularisationMethod}
|
||||
/>
|
||||
<EffectifSwitch />
|
||||
{currentZone === 'zone un' && (
|
||||
<>
|
||||
<RégularisationSwitch
|
||||
régularisationMethod={régularisationMethod}
|
||||
setRégularisationMethod={setRégularisationMethod}
|
||||
/>
|
||||
<EffectifSwitch />
|
||||
</>
|
||||
)}
|
||||
<PeriodSwitch periods={periods} onSwitch={onPeriodSwitch} />
|
||||
</>
|
||||
}
|
||||
|
|
|
@ -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 (
|
||||
<SimpleField dottedName="salarié . cotisations . exonérations . lodeom . zone un . barèmes" />
|
||||
currentZone && (
|
||||
<SimpleField
|
||||
dottedName={
|
||||
`salarié . cotisations . exonérations . lodeom . ${currentZone} . barèmes` as DottedName
|
||||
}
|
||||
/>
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -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 && (
|
||||
|
|
|
@ -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 (
|
||||
<ToggleGroup
|
||||
value={currentZone}
|
||||
onChange={(value) => {
|
||||
updateZone(value)
|
||||
}}
|
||||
aria-label={t("Zone de l'entreprise")}
|
||||
>
|
||||
<Radio value="zone un">
|
||||
{t('Guadeloupe, Guyane, Martinique, La Réunion')}
|
||||
</Radio>
|
||||
<Radio value="zone deux">{t('Saint-Barthélémy, Saint-Martin')}</Radio>
|
||||
</ToggleGroup>
|
||||
)
|
||||
}
|
|
@ -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é'",
|
||||
},
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue