Nouveau simulateur cotisation Cipav 2023
Changement de la formule de calcul pour les cotisations Cipav à l'occasion du transfert du recouvrement à l'Urssafsimul-cipav23
parent
574ced3af2
commit
9f596e59ad
|
@ -513,6 +513,7 @@ dirigeant . indépendant:
|
|||
valeur: oui
|
||||
|
||||
dirigeant . indépendant . revenu professionnel:
|
||||
question: Quel est votre revenu professionnel ?
|
||||
description: rémunération du dirigeant au régime des indépendant
|
||||
unité: €/an
|
||||
arrondi: oui
|
||||
|
|
|
@ -457,6 +457,32 @@ dirigeant . indépendant . PL . CIPAV . conjoint collaborateur . pourcentage:
|
|||
- si: proportion . moitié
|
||||
alors: 50 %
|
||||
|
||||
dirigeant . indépendant . PL . CIPAV . cotisation 2023:
|
||||
somme:
|
||||
- CNAVPL . retraite
|
||||
- retraite complémentaire
|
||||
- invalidité et décès
|
||||
références:
|
||||
Actu Urssaf: https://www.urssaf.fr/portail/home/independant/cipav/transfert-des-cotisations-cipav.html
|
||||
|
||||
dirigeant . indépendant . PL . CIPAV . cotisation 2023 . retraite complémentaire:
|
||||
barème:
|
||||
assiette: assiette des cotisations
|
||||
multiplicateur: plafond sécurité sociale
|
||||
tranches:
|
||||
- taux: 9%
|
||||
plafond: 1
|
||||
- taux: 22%
|
||||
plafond: 3
|
||||
|
||||
dirigeant . indépendant . PL . CIPAV . cotisation 2023 . invalidité et décès:
|
||||
produit:
|
||||
assiette:
|
||||
valeur: assiette des cotisations
|
||||
plafond: 1.85 * plafond sécurité sociale
|
||||
plancher: 37% * plafond sécurité sociale
|
||||
taux: 0.5%
|
||||
|
||||
dirigeant . indépendant . PL . CNAVPL:
|
||||
description: |
|
||||
La caisse nationale d'assurance vieillesse des professions libérales est
|
||||
|
|
|
@ -17,6 +17,7 @@ import { useInitialRender } from '../utils/useInitialRender'
|
|||
type SimulationGoalProps = {
|
||||
dottedName: DottedName
|
||||
label?: React.ReactNode
|
||||
résumé?: React.ReactNode
|
||||
small?: boolean
|
||||
appear?: boolean
|
||||
editable?: boolean
|
||||
|
@ -31,6 +32,7 @@ type SimulationGoalProps = {
|
|||
export function SimulationGoal({
|
||||
dottedName,
|
||||
label,
|
||||
résumé,
|
||||
small = false,
|
||||
onUpdateSituation,
|
||||
appear = true,
|
||||
|
@ -85,7 +87,7 @@ export function SimulationGoal({
|
|||
className={small ? 'sr-only' : ''}
|
||||
id={`${dottedName}-description`}
|
||||
>
|
||||
{rule.rawNode.résumé}
|
||||
{résumé ?? rule.rawNode.résumé}
|
||||
</SmallBody>
|
||||
</StyledGoalHeader>
|
||||
</Grid>
|
||||
|
|
|
@ -73,6 +73,10 @@ export default function Conversation({
|
|||
)
|
||||
}
|
||||
|
||||
if (!currentQuestion && Object.keys(previousAnswers).length === 0) {
|
||||
return null
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="print-only">
|
||||
|
|
|
@ -280,7 +280,7 @@ export function InstitutionsPartenairesAutoEntrepreneur() {
|
|||
)
|
||||
}
|
||||
|
||||
const InstitutionLogo = styled.a`
|
||||
export const InstitutionLogo = styled.a`
|
||||
img {
|
||||
max-width: 110px;
|
||||
max-height: 50px;
|
||||
|
|
|
@ -273,7 +273,8 @@ function RowLabel({ dottedName }: { dottedName: DottedName }) {
|
|||
)
|
||||
}
|
||||
|
||||
const ResultTable = styled.table`
|
||||
// Utilisé aussi sur cipav-2023
|
||||
export const ResultTable = styled.table`
|
||||
font-family: ${({ theme }) => theme.fonts.main};
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
|
|
|
@ -0,0 +1,143 @@
|
|||
import RuleLink from '@/components/RuleLink'
|
||||
import Simulation, {
|
||||
SimulationGoal,
|
||||
SimulationGoals,
|
||||
} from '@/components/Simulation'
|
||||
import { InstitutionLogo } from '@/components/simulationExplanation/InstitutionsPartenaires'
|
||||
import { FromTop } from '@/components/ui/animate'
|
||||
import Warning from '@/components/ui/WarningBlock'
|
||||
import { useIsEmbedded } from '@/components/utils/embeddedContext'
|
||||
import { useEngine } from '@/components/utils/EngineContext'
|
||||
import { Li, Ul } from '@/design-system/typography/list'
|
||||
import { DottedName } from 'modele-social'
|
||||
import { formatValue } from 'publicodes'
|
||||
import React, { useEffect, useState } from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import styled from 'styled-components'
|
||||
import { CIPAV as logoCIPAVsrc } from '@/images/logos-caisses-retraite'
|
||||
import logoURSSAFsrc from '@/images/Urssaf.svg'
|
||||
import { ResultTable } from './ChômagePartiel'
|
||||
|
||||
export default function SimulateurCotisationCipav2023() {
|
||||
return (
|
||||
<>
|
||||
<Simulation
|
||||
results={<ExplanationSection />}
|
||||
customEndMessages={
|
||||
<span className="ui__ notice">Voir les résultats en-dessous</span>
|
||||
}
|
||||
>
|
||||
<SimulationGoals legend="Salaire brut avant chômage partiel">
|
||||
<SimulationGoal
|
||||
dottedName="dirigeant . indépendant . revenu professionnel"
|
||||
résumé="Utilisé pour le calcul des cotisations retraite"
|
||||
/>
|
||||
</SimulationGoals>
|
||||
</Simulation>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
function ExplanationSection() {
|
||||
return (
|
||||
<FromTop>
|
||||
<div
|
||||
className="ui__ light card"
|
||||
css={`
|
||||
overflow: hidden;
|
||||
margin: 1rem 0;
|
||||
`}
|
||||
>
|
||||
<ResultTable>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>en 2022</th>
|
||||
<th>en 2023</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>Organisme collecteur</strong>
|
||||
<p className="ui__ notice">
|
||||
À partir de 2023 l'Urssaf prend en charge la collecte de vos
|
||||
cotisations retraites
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<InstitutionLogo
|
||||
href="http://www.ircec.fr/"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<img src={logoCIPAVsrc} alt="Logo Cipav" />
|
||||
</InstitutionLogo>
|
||||
</td>
|
||||
<td>
|
||||
<InstitutionLogo
|
||||
href="http://www.ircec.fr/"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<img src={logoURSSAFsrc} alt="Logo Urssaf" />
|
||||
</InstitutionLogo>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Retraite de base</td>
|
||||
<td>
|
||||
<ValueWithLink dottedName="dirigeant . indépendant . PL . CNAVPL . retraite" />
|
||||
</td>
|
||||
<td>
|
||||
<ValueWithLink dottedName="dirigeant . indépendant . PL . CNAVPL . retraite" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Retraite complémentaire</td>
|
||||
<td>
|
||||
<ValueWithLink dottedName="dirigeant . indépendant . PL . CIPAV . retraite complémentaire" />
|
||||
</td>
|
||||
<td>
|
||||
<ValueWithLink dottedName="dirigeant . indépendant . PL . CIPAV . cotisation 2023 . retraite complémentaire" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Invalidité-décès</td>
|
||||
<td>
|
||||
<ValueWithLink dottedName="dirigeant . indépendant . PL . CIPAV . invalidité et décès" />
|
||||
</td>
|
||||
<td>
|
||||
<ValueWithLink dottedName="dirigeant . indépendant . PL . CIPAV . cotisation 2023 . invalidité et décès" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>Total</strong>
|
||||
</td>
|
||||
<td>
|
||||
<ValueWithLink dottedName="dirigeant . indépendant . PL . cotisations caisse de retraite" />
|
||||
</td>
|
||||
<td>
|
||||
<ValueWithLink dottedName="dirigeant . indépendant . PL . CIPAV . cotisation 2023" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</ResultTable>
|
||||
</div>
|
||||
</FromTop>
|
||||
)
|
||||
}
|
||||
|
||||
function ValueWithLink({ dottedName }: { dottedName: DottedName }) {
|
||||
const { language } = useTranslation().i18n
|
||||
const engine = useEngine()
|
||||
|
||||
return (
|
||||
<RuleLink dottedName={dottedName}>
|
||||
{formatValue(engine.evaluate(dottedName), {
|
||||
language,
|
||||
displayedUnit: '€',
|
||||
precision: 0,
|
||||
})}
|
||||
</RuleLink>
|
||||
)
|
||||
}
|
|
@ -765,6 +765,25 @@ const metadataSrc = (t: TFunction<'translation', string>) => {
|
|||
|
||||
nextSteps: ['déclaration-charges-sociales-indépendant'],
|
||||
},
|
||||
'cipav-2023': {
|
||||
tracking: 'cipav-2023',
|
||||
pathId: 'simulateurs.cipav-2023',
|
||||
iframePath: 'cipav-2023',
|
||||
meta: {
|
||||
title: t(
|
||||
'pages.simulateurs.cipav-2023.meta.title',
|
||||
'Nouvelle cotisation Cipav en 2023'
|
||||
),
|
||||
description: t(
|
||||
'pages.simulateurs.cipav-2023.meta.description',
|
||||
'Calculez la nouvelle cotisation Cipav à applicable à compter du 1er janvier 2023'
|
||||
),
|
||||
},
|
||||
title: t(
|
||||
'pages.simulateurs.cipav-2023.title',
|
||||
'Nouvelle cotisation Cipav en 2023'
|
||||
),
|
||||
},
|
||||
} as const
|
||||
|
||||
return data
|
||||
|
|
|
@ -44,6 +44,7 @@ import PAMCHome from './PAMCHome'
|
|||
import SalariéSimulation from './Salarié'
|
||||
import { SASUSimulation } from './SASU'
|
||||
import SchemeComparaisonPage from './SchemeComparaison'
|
||||
import Cipav2023 from './Cipav2023'
|
||||
|
||||
interface SimulatorsDataParams {
|
||||
t: TFunction<'translation', string>
|
||||
|
@ -694,6 +695,18 @@ function getSimulatorsData({ t, sitePaths, language }: SimulatorsDataParams) {
|
|||
path: sitePaths.simulateurs['exonération-covid'],
|
||||
component: ExonérationCovid,
|
||||
},
|
||||
'cipav-2023': {
|
||||
...pureSimulatorsData['cipav-2023'],
|
||||
path: sitePaths.simulateurs['cipav-2023'],
|
||||
component: Cipav2023,
|
||||
config: {
|
||||
situation: {
|
||||
'dirigeant . régime social': "'indépendant'",
|
||||
'entreprise . activité': "'libérale'",
|
||||
'dirigeant . indépendant . PL . CIPAV': 'oui',
|
||||
},
|
||||
},
|
||||
},
|
||||
} as const
|
||||
}
|
||||
|
||||
|
|
|
@ -83,6 +83,7 @@ const rawSitePathsFr = {
|
|||
is: 'impot-societe',
|
||||
dividendes: 'dividendes',
|
||||
'exonération-covid': 'exonération-covid',
|
||||
'cipav-2023': 'cotisations-cipav-2023',
|
||||
},
|
||||
nouveautés: 'nouveautés',
|
||||
stats: 'stats',
|
||||
|
@ -165,6 +166,7 @@ const rawSitePathsEn = {
|
|||
is: 'corporate-tax',
|
||||
dividendes: 'dividends',
|
||||
'exonération-covid': 'exoneration-covid',
|
||||
'cipav-2023': 'cotisations-cipav-2023',
|
||||
},
|
||||
nouveautés: 'news',
|
||||
accessibilité: 'accessibility',
|
||||
|
|
Loading…
Reference in New Issue