Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refacto : divers (mais surtout les avertissements) #3350

Merged
merged 5 commits into from
Jan 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions modele-social/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Journal des modifications

## next
### Breaking changes
- Déplacement de la règle `plafond sécurité sociale N-1` vers `plafond sécurité sociale . N-1`

### Nouveautés
- Ajout du calcul Lodeom pour toutes les zones et tous les barèmes
- Ajout du calcul du SMIC équivalent pour un mois incomplet
Expand Down
8 changes: 4 additions & 4 deletions modele-social/règles/base.publicodes
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ plafond sécurité sociale:
Montants du plafond de Sécurité sociale: https://www.urssaf.fr/portail/home/taux-et-baremes/plafonds.html
Article D242-17 du code de la sécurité sociale: https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006073189&idArticle=LEGIARTI000006736124

plafond sécurité sociale N-1:
valeur: plafond sécurité sociale
contexte:
date: période . début d'année . N-1
N-1:
valeur: plafond sécurité sociale
contexte:
date: période . début d'année . N-1

SMIC:
unité: €/mois
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ dirigeant . indépendant . PL . CAVP . retraite complémentaire:
formule:
grille:
assiette: assiette des cotisations
multiplicateur: plafond sécurité sociale N-1
multiplicateur: plafond sécurité sociale . N-1
tranches:
- montant: 2 * cotisation de référence
plafond: 1.8125
Expand Down
220 changes: 6 additions & 214 deletions site/source/components/SimulateurWarning.tsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
import { ReactNode, useContext } from 'react'
import { ReactNode } from 'react'
import { Trans } from 'react-i18next'
import { styled } from 'styled-components'

import Warning from '@/components/ui/WarningBlock'
import { Emoji } from '@/design-system/emoji'
import { Strong } from '@/design-system/typography'
import { Link } from '@/design-system/typography/link'
import { Li, Ul } from '@/design-system/typography/list'
import { Body } from '@/design-system/typography/paragraphs'
import { AbsoluteSitePaths } from '@/sitePaths'

import { EngineContext } from './utils/EngineContext'

type SimulateurWarningProps = {
simulateur: Exclude<keyof AbsoluteSitePaths['simulateurs'], 'index'>
informationsComplémentaires?: ReactNode
Expand All @@ -21,224 +15,22 @@ export default function SimulateurWarning({
simulateur,
informationsComplémentaires,
}: SimulateurWarningProps) {
const year = useContext(EngineContext)
.evaluate('date')
.nodeValue?.toString()
.slice(-4)

return (
<Warning
localStorageKey={'app::simulateurs:warning-folded:v1:' + simulateur}
>
{simulateur === 'auto-entrepreneur' && (
<Ul>
<StyledLi>
<Trans i18nKey="simulateurs.warning.auto-entrepreneur">
Les auto-entrepreneurs bénéficient d’un régime très simplifié avec
un taux forfaitaire pour le calcul des cotisations et
contributions sociales appliqué sur le chiffre d’affaires. Selon
le choix de la modalité de paiement des impôts il est appliqué un
abattement forfaitaire au titre des frais professionnels. Il n’est
pas possible de déduire des charges réelles en plus. Votre revenu
net est donc le chiffre d’affaires moins toutes les charges
engagées pour l’entreprise.
</Trans>
</StyledLi>
<StyledLi>
<Trans i18nKey="simulateurs.warning.cfe">
Le simulateur n'intègre pas la cotisation foncière des entreprise
(CFE) qui est dûe dès la deuxième année d'exercice. Son montant
varie fortement en fonction du chiffre d'affaires et de la
domiciliation de l'entreprise.{' '}
<Link
aria-label="Plus d'infos, en savoir plus sur service-public.fr, nouvelle fenêtre"
href="https://www.service-public.fr/professionnels-entreprises/vosdroits/F23547"
>
Plus d'infos.
</Link>
</Trans>
</StyledLi>
</Ul>
)}
{informationsComplémentaires && <>{informationsComplémentaires}</>}
{simulateur === 'profession-libérale' && (
<Ul>
<StyledLi>
<Trans i18nKey="simulateurs.warning.profession-libérale">
Ce simulateur est à destination des professions libérales en BNC.
Il ne prend pas en compte les sociétés d'exercice libéral.
</Trans>
</StyledLi>
<StyledLi>
<Trans i18nKey="simulateurs.warning.libérale.année-courante">
Le montant calculé correspond aux cotisations de l’année{' '}
{{ year }} (pour un revenu {{ year }}).
</Trans>
</StyledLi>{' '}
<StyledLi>
<Trans i18nKey="simulateurs.warning.cotisations-ordinales">
Pour les professions réglementées, le simulateur ne calcule pas le
montant des cotisations à l'ordre. Elles doivent être ajoutées
manuellement dans la case « charges de fonctionnement ».
</Trans>
</StyledLi>
</Ul>
)}
{simulateur === 'artiste-auteur' && (
<Body>
<Trans i18nKey="simulateurs.warning.artiste-auteur">
Ce simulateur permet d'estimer le montant de vos cotisations à
partir de votre revenu projeté.
</Trans>
</Body>
)}
{simulateur === 'coût-création-entreprise' && (
<Ul>
<StyledLi>
<Trans i18nKey="simulateurs.warning.coût-création-entreprise.pas-reprise">
Ce simulateur calcule les frais de création pour les nouvelles
entreprises. Il ne prend pas en compte le cas des reprises
d'entreprises existantes.
</Trans>
</StyledLi>
<StyledLi>
<Trans i18nKey="simulateurs.warning.coût-création-entreprise.greffe">
Des frais de greffe peuvent être facturés en raison d'informations
ou de documents manquants ou incorrects. Par ailleurs, en cas
d'envoi de courrier, le greffe facture les frais postaux.
</Trans>
</StyledLi>
<StyledLi>
<Trans i18nKey="simulateurs.warning.coût-création-entreprise.JAL">
Ce simulateur calcule les frais de créations uniquement pour les
SARL, EURL, SAS, SASU, EI et SEL. Il ne prend pas encore en compte
les autres formes de société (SA, SCA, SCS, SCI, SCP, SNC, SCM,
coopératives, GIE, GAEC, etc.)
</Trans>
</StyledLi>
</Ul>
)}
{simulateur === 'indépendant' && (
<Body>
<Trans i18nKey="simulateurs.warning.indépendant.année-courante">
Le montant calculé correspond aux cotisations de l’année {{ year }}{' '}
(pour un revenu {{ year }}).
</Trans>
</Body>
)}
{simulateur === 'sasu' && (
<Body>
<Trans i18nKey="simulateurs.warning.sasu">
Ce simulateur ne gère pas le cas des SAS(U) à l'impôt sur le revenu
(IR). Seule l'option pour l'impôt sur les sociétés est implémentée
(IS).
</Trans>
</Body>
)}
{simulateur === 'salarié' && (
<Body>
<Trans i18nKey="simulateurs.warning.salarié">
Le simulateur ne prend pour l'instant pas en compte les accords et
conventions collectives, ni la myriade d'aides aux entreprises.
Trouvez votre convention collective{' '}
<Link
href="https://code.travail.gouv.fr/outils/convention-collective#entreprise"
aria-label="ici, trouvez votre convention collective sur code.travail.gouv.fr, nouvelle fenêtre"
>
ici
</Link>
, et explorez les aides sur&nbsp;
<Link
href="https://www.aides-entreprises.fr"
aria-label="aides-entreprises.fr, nouvelle fenêtre"
>
aides-entreprises.fr
</Link>
.
</Trans>
</Body>
)}
{simulateur === 'chômage-partiel' && (
<Ul>
<StyledLi>
<Trans i18nKey="simulateurs.warning.chômage-partiel.1">
Ce simulateur ne prend pas en compte les rémunérations brutes
définies sur 39h hebdomadaires.
</Trans>
</StyledLi>
<StyledLi>
<Trans i18nKey="simulateurs.warning.chômage-partiel.2">
De même, il ne prend pas en compte les indemnités complémentaire
d'activité partielle prévue par une convention/accord collectif ou
une décision unilatérale de l'employeur.
</Trans>
</StyledLi>
</Ul>
)}
{simulateur === 'is' && (
<Body>
<Trans i18nKey="simulateurs.warning.is">
Ce simulateur s’adresse aux{' '}
<abbr title="Très Petites Entreprises">TPE</abbr> : il prend en
compte les taux réduits de l’impôt sur les sociétés.
</Trans>
</Body>
)}
{simulateur === 'dividendes' && (
<Ul>
<StyledLi>
<Trans i18nKey="simulateurs.warning.dividendes.1">
Cette simulation ne concerne que les sociétés françaises à l’impôt
sur les sociétés (IS), et ne concerne pas les travailleurs
indépendants non salariés.
</Trans>
</StyledLi>
<StyledLi>
<Trans i18nKey="simulateurs.warning.dividendes.2">
Le montant de l'impôt sur les dividendes est calculé en plus de
l’impôt sur les autres revenus imposables.
</Trans>
</StyledLi>
</Ul>
)}
{simulateur === 'réduction-générale' && (
<>
<Body>
<Trans i18nKey="simulateurs.warning.réduction-générale">
Ce simulateur n'intègre{' '}
<Strong>pas toutes les règles de calcul</Strong> spécifiques
(Entreprises de Travail Temporaire, salariés des transports
routiers soumis à un horaire d'équivalence...). Il ne tient pas
non plus compte des taux et/ou répartition particuliers de la
cotisation de retraite complémentaire appliqués dans certaines
entreprises.
</Trans>
</Body>
</>
)}
{simulateur === 'lodeom' && (
<Trans i18nKey="simulateurs.warning.lodeom">
<Body>
<Emoji emoji="⚠️" /> Les taux et répartitions de cotisations
dérogatoires ne sont pas pris en compte.
</Body>
</Trans>
)}

<Body>
<Trans i18nKey="simulateurs.warning.general">
<Strong>Les calculs sont indicatifs.</Strong> Ils sont faits à partir
des éléments que vous avez saisis et des éléments réglementaires
applicables, mais ils ne tiennent pas compte de l'ensemble de votre
situation. Ils ne se substituent pas aux décomptes réels de l’Urssaf,
de l'administration fiscale ou de tout autre organisme.
applicables, mais ils ne tiennent pas compte de l’ensemble de votre
situation.{' '}
<Strong>Ils ne se substituent pas aux décomptes réels</Strong> de
l’Urssaf, de l’administration fiscale ou de tout autre organisme.
</Trans>
</Body>
</Warning>
)
}

const StyledLi = styled(Li)`
&::before {
color: ${({ theme }) => theme.colors.bases.tertiary[800]} !important;
}
`
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ function CaisseRetraite({ role }: { role?: string }) {
<Condition expression="dirigeant . indépendant . PL . CIPAV">
{description}{' '}
<SmallBody>
<Trans i18nKey="simulateurs.explanation.CIPAV">
<Trans i18nKey="simulateurs.explanation.institutions.CIPAV">
Depuis le 1er janvier 2023, l’Urssaf recouvre les
cotisations de retraite de base, de retraite
complémentaire et d’invalidité-décès des professionnels
Expand All @@ -220,7 +220,7 @@ function CaisseRetraite({ role }: { role?: string }) {
</Condition>
<Condition expression="dirigeant . indépendant . PL . CIPAV = non">
{description}{' '}
<Trans i18nKey="simulateurs.explanation.CNAPL">
<Trans i18nKey="simulateurs.explanation.institutions.CNAPL">
Elle recouvre les cotisations liées à votre retraite et au
régime d'invalidité-décès.
</Trans>
Expand Down
6 changes: 6 additions & 0 deletions site/source/design-system/typography/list.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ type ListProps = {

export const Li = styled.li``

export const DarkLi = styled.li`
&::before {
color: ${({ theme }) => theme.colors.bases.tertiary[800]} !important;
}
`

const BaseListStyle = css<ListProps>`
${baseParagraphStyle}
font-size: 1rem;
Expand Down
6 changes: 3 additions & 3 deletions site/source/locales/rules-en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6664,6 +6664,9 @@ impôt . taux personnalisé:
titre.fr: taux personnalisé
plafond sécurité sociale:
avec:
N-1:
titre.en: '[automatic] N-1'
titre.fr: N-1
horaire:
titre.en: '[automatic] schedule'
titre.fr: horaire
Expand All @@ -6681,9 +6684,6 @@ plafond sécurité sociale:
rapport à 2020.
titre.en: '[automatic] social security ceiling'
titre.fr: plafond sécurité sociale
plafond sécurité sociale N-1:
titre.en: '[automatic] social security ceiling N-1'
titre.fr: plafond sécurité sociale N-1
protection sociale:
description.en: >
Social protection in France is composed of 5 main branches: sickness,
Expand Down
Loading
Loading