🔨 ajoute les limites inférieure pour l'activation de la retraite des salarié et des auto
parent
47f67a0afc
commit
3b9329cd94
|
@ -1,5 +1,5 @@
|
|||
/* @flow */
|
||||
import { startConversation } from 'Actions/actions'
|
||||
import { setSituationBranch, startConversation } from 'Actions/actions'
|
||||
import {
|
||||
defineDirectorStatus,
|
||||
isAutoentrepreneur
|
||||
|
@ -11,10 +11,12 @@ import Simulation from 'Components/Simulation'
|
|||
// $FlowFixMe
|
||||
import ComparaisonConfig from 'Components/simulationConfigs/rémunération-dirigeant.yaml'
|
||||
import withSimulationConfig from 'Components/simulationConfigs/withSimulationConfig'
|
||||
import withSitePaths from 'Components/utils/withSitePaths'
|
||||
import { compose, map, tryCatch } from 'ramda'
|
||||
import React, { useState } from 'react'
|
||||
import emoji from 'react-easy-emoji'
|
||||
import { connect } from 'react-redux'
|
||||
import { Link } from 'react-router-dom'
|
||||
import { branchAnalyseSelector } from 'Selectors/analyseSelectors'
|
||||
import { règleAvecMontantSelector } from 'Selectors/regleSelectors'
|
||||
import Animate from 'Ui/animate'
|
||||
|
@ -35,8 +37,9 @@ type Props = OwnProps & {
|
|||
conversationStarted: boolean,
|
||||
noUserInput: boolean,
|
||||
startConversation: () => void,
|
||||
setSituationBranch: () => void,
|
||||
setSituationBranch: number => void,
|
||||
defineDirectorStatus: string => void,
|
||||
sitePaths: any,
|
||||
isAutoentrepreneur: boolean => void,
|
||||
plafondAutoEntrepreneurDépassé: boolean
|
||||
}
|
||||
|
@ -51,6 +54,7 @@ const SchemeComparaison = ({
|
|||
hideAutoEntrepreneur = false,
|
||||
hideAssimiléSalarié = false,
|
||||
/* Injected Props */
|
||||
sitePaths,
|
||||
assimiléSalarié,
|
||||
indépendant,
|
||||
plafondAutoEntrepreneurDépassé,
|
||||
|
@ -58,7 +62,7 @@ const SchemeComparaison = ({
|
|||
conversationStarted,
|
||||
defineDirectorStatus,
|
||||
isAutoentrepreneur,
|
||||
// setSituationBranch,
|
||||
setSituationBranch,
|
||||
startConversation
|
||||
}: Props) => {
|
||||
const [showMore, setShowMore] = useState(false)
|
||||
|
@ -194,8 +198,9 @@ const SchemeComparaison = ({
|
|||
<div className="AS">
|
||||
{assimiléSalarié && (
|
||||
<Animate.appear className="ui__ plain card">
|
||||
<AnimatedTargetValue
|
||||
value={assimiléSalarié.revenuNet.montant}
|
||||
<RuleValueLink
|
||||
onClick={() => setSituationBranch(0)}
|
||||
{...assimiléSalarié.revenuNet}
|
||||
/>
|
||||
</Animate.appear>
|
||||
)}
|
||||
|
@ -203,7 +208,10 @@ const SchemeComparaison = ({
|
|||
<div className="indep">
|
||||
{indépendant && (
|
||||
<Animate.appear className="ui__ plain card">
|
||||
<AnimatedTargetValue value={indépendant.revenuNet.montant} />
|
||||
<RuleValueLink
|
||||
onClick={() => setSituationBranch(1)}
|
||||
{...indépendant.revenuNet}
|
||||
/>
|
||||
</Animate.appear>
|
||||
)}
|
||||
</div>
|
||||
|
@ -217,31 +225,45 @@ const SchemeComparaison = ({
|
|||
{plafondAutoEntrepreneurDépassé ? (
|
||||
'Plafond de CA dépassé'
|
||||
) : (
|
||||
<AnimatedTargetValue
|
||||
value={autoEntrepreneur.revenuNet.montant}
|
||||
<RuleValueLink
|
||||
onClick={() => setSituationBranch(2)}
|
||||
{...autoEntrepreneur.revenuNet}
|
||||
/>
|
||||
)}
|
||||
</Animate.appear>
|
||||
)}
|
||||
</div>
|
||||
<T k="comparaisonRégimes.retraite">
|
||||
<h3 className="legend">Retraite (estimation)</h3>
|
||||
<h3 className="legend">Retraite brute (estimation)</h3>
|
||||
</T>
|
||||
<div className="AS">
|
||||
{assimiléSalarié && (
|
||||
<AnimatedTargetValue value={assimiléSalarié.retraite.montant} />
|
||||
{assimiléSalarié && assimiléSalarié.retraite.montant !== 0 ? (
|
||||
<RuleValueLink
|
||||
onClick={() => setSituationBranch(1)}
|
||||
{...assimiléSalarié.retraite}
|
||||
/>
|
||||
) : (
|
||||
<span className="ui__ notice">Pas implémenté</span>
|
||||
)}
|
||||
</div>
|
||||
<div className="indep">
|
||||
{indépendant && indépendant.retraite.montant !== 0 ? (
|
||||
<AnimatedTargetValue value={indépendant.retraite.montant} />
|
||||
<RuleValueLink
|
||||
onClick={() => setSituationBranch(1)}
|
||||
{...indépendant.retraite}
|
||||
/>
|
||||
) : (
|
||||
<span className="ui__ notice">Pas implémenté</span>
|
||||
)}
|
||||
</div>
|
||||
<div className="auto">
|
||||
{autoEntrepreneur && (
|
||||
<AnimatedTargetValue value={autoEntrepreneur.retraite.montant} />
|
||||
{autoEntrepreneur && autoEntrepreneur.retraite.montant !== 0 ? (
|
||||
<RuleValueLink
|
||||
onClick={() => setSituationBranch(1)}
|
||||
{...autoEntrepreneur.retraite}
|
||||
/>
|
||||
) : (
|
||||
<span className="ui__ notice">Pas implémenté</span>
|
||||
)}
|
||||
</div>
|
||||
</>
|
||||
|
@ -378,7 +400,22 @@ const SchemeComparaison = ({
|
|||
)
|
||||
}
|
||||
|
||||
const RuleValueLink = withSitePaths(
|
||||
({
|
||||
lien,
|
||||
montant,
|
||||
sitePaths,
|
||||
onClick
|
||||
}: RègleAvecMontant & { sitePaths: any, onClick: () => void }) => (
|
||||
<Link onClick={onClick} to={sitePaths.documentation.index + '/' + lien}>
|
||||
<AnimatedTargetValue value={montant} />
|
||||
</Link>
|
||||
)
|
||||
)
|
||||
|
||||
export default (compose(
|
||||
withSimulationConfig(ComparaisonConfig),
|
||||
|
||||
connect(
|
||||
state => {
|
||||
const analyse = branchAnalyseSelector(state, {
|
||||
|
@ -408,14 +445,18 @@ export default (compose(
|
|||
() => null
|
||||
)(),
|
||||
{
|
||||
assimiléSalarié: 'Assimilé salarié',
|
||||
autoEntrepreneur: 'Auto-entrepreneur',
|
||||
indépendant: 'Indépendant',
|
||||
autoEntrepreneur: 'Auto-entrepreneur'
|
||||
assimiléSalarié: 'Assimilé salarié'
|
||||
}
|
||||
)
|
||||
}
|
||||
},
|
||||
{ startConversation, defineDirectorStatus, isAutoentrepreneur }
|
||||
),
|
||||
withSimulationConfig(ComparaisonConfig)
|
||||
{
|
||||
startConversation,
|
||||
defineDirectorStatus,
|
||||
isAutoentrepreneur,
|
||||
setSituationBranch
|
||||
}
|
||||
)
|
||||
)(SchemeComparaison): React$Component<OwnProps>)
|
||||
|
|
|
@ -15,19 +15,9 @@ questions:
|
|||
bloquant:
|
||||
- entreprise . chiffre d'affaires
|
||||
situation:
|
||||
période: mois
|
||||
période: année
|
||||
|
||||
branches:
|
||||
- nom: Auto-entrepreneur
|
||||
situation:
|
||||
auto entrepreneur: oui
|
||||
indépendant: non
|
||||
contrat salarié: non
|
||||
- nom: Indépendant
|
||||
situation:
|
||||
indépendant: oui
|
||||
auto entrepreneur: non
|
||||
contrat salarié: non
|
||||
- nom: Assimilé salarié
|
||||
situation:
|
||||
auto entrepreneur: non
|
||||
|
@ -35,3 +25,13 @@ branches:
|
|||
contrat salarié: oui
|
||||
contrat salarié . assimilé salarié: oui
|
||||
contrat salarié . ATMP . taux réduit: oui
|
||||
- nom: Indépendant
|
||||
situation:
|
||||
indépendant: oui
|
||||
auto entrepreneur: non
|
||||
contrat salarié: non
|
||||
- nom: Auto-entrepreneur
|
||||
situation:
|
||||
auto entrepreneur: oui
|
||||
indépendant: non
|
||||
contrat salarié: non
|
||||
|
|
|
@ -3040,29 +3040,37 @@
|
|||
format: euros
|
||||
période: flexible
|
||||
|
||||
- espace: indépendant
|
||||
|
||||
- espace: entreprise
|
||||
nom: rattachement libéral règlementé
|
||||
description: |
|
||||
Les entreprises libérales non règlementées créées avant 2019 étaient rattachées aux règlementées pour le calcul des cotisations sociales. Depuis 2019 ce n'est plus le cas, elles sont rattachées aux artisans-commerçants, donc dépendent de la sécurité sociale des indépendants.
|
||||
Les entreprises libérales non règlementées créées étaient rattachées aux règlementées pour le calcul des cotisations sociales. Depuis 2018 ce n'est plus le cas pour les auto-entrepreneur (2019 pour les entreprise individuelles). Elles sont maintenant rattachées aux artisans-commerçants, donc dépendent de la sécurité sociale des indépendants.
|
||||
références:
|
||||
article de loi (chercher "travailleurs indépendants créant leur activité"): https://www.legifrance.gouv.fr/eli/loi/2017/12/30/CPAX1725580L/jo/texte#JORFARTI000036339157
|
||||
formule:
|
||||
une de ces conditions:
|
||||
- entreprise . catégorie d'activité . libérale règlementée
|
||||
- toutes ces conditions:
|
||||
- ≠ contrat salarié
|
||||
- entreprise . catégorie d'activité . libérale règlementée
|
||||
- toutes ces conditions:
|
||||
- entreprise . année d'activité != 'première année'
|
||||
- entreprise . catégorie d'activité = 'libérale'
|
||||
- indépendant
|
||||
- toutes ces conditions:
|
||||
- entreprise . année d'activité != 'première année'
|
||||
- entreprise . année d'activité != 'deuxième année'
|
||||
- entreprise . catégorie d'activité = 'libérale'
|
||||
- auto entrepreneur
|
||||
|
||||
période: aucune
|
||||
|
||||
période: flexible
|
||||
format: euros
|
||||
|
||||
- espace: indépendant . cotisations et contributions . cotisations
|
||||
nom: maladie
|
||||
période: flexible
|
||||
formule:
|
||||
variations:
|
||||
- si: rattachement libéral règlementé
|
||||
- si: entreprise . rattachement libéral règlementé
|
||||
alors: libérale règlementée
|
||||
|
||||
- sinon: artisans commerçants libéraux
|
||||
|
@ -3100,7 +3108,7 @@
|
|||
titre: Maladie 2
|
||||
description: Cotisations pour les indémnités journalières des indépendants. Si l'état de santé des artisans, commerçants, industriels et conjoints collaborateurs nécessite un arrêt de travail, une part de leur ancien revenu leur sera versé.
|
||||
période: flexible
|
||||
non applicable si: rattachement libéral règlementé
|
||||
non applicable si: entreprise . rattachement libéral règlementé
|
||||
formule:
|
||||
multiplication:
|
||||
assiette: maladie . assiette
|
||||
|
@ -3188,7 +3196,7 @@
|
|||
période: année
|
||||
formule:
|
||||
variations:
|
||||
- si: rattachement libéral règlementé
|
||||
- si: entreprise . rattachement libéral règlementé
|
||||
alors:
|
||||
multiplication:
|
||||
assiette: assiette
|
||||
|
@ -3232,7 +3240,7 @@
|
|||
note: Pour les professions libérales, nous avons retenu un des 8 régimes de retraite, celui de la CIPAV, la caisse interprofessionnelle.
|
||||
formule:
|
||||
variations:
|
||||
- si: rattachement libéral règlementé
|
||||
- si: entreprise . rattachement libéral règlementé
|
||||
alors:
|
||||
barème linéaire:
|
||||
assiette: revenu professionnel
|
||||
|
@ -3614,7 +3622,7 @@
|
|||
CNAV: https://www.lassuranceretraite.fr
|
||||
OCDE: https://read.oecd-ilibrary.org/social-issues-migration-health/pensions-at-a-glance-2017_pension_glance-2017-en#page135
|
||||
INSEE: https://www.insee.fr/fr/statistiques/fichier/3549496/REVPMEN18_F1.21_niv-pauv-pers-agees.pdf
|
||||
non applicable si: indépendant . rattachement libéral règlementé
|
||||
non applicable si: entreprise . rattachement libéral règlementé
|
||||
|
||||
|
||||
format: euros
|
||||
|
@ -3644,19 +3652,67 @@
|
|||
format: euros
|
||||
période: flexible
|
||||
formule:
|
||||
le maximum de:
|
||||
- minimum contributif
|
||||
- multiplication:
|
||||
plafond: plafond sécurité sociale temps plein
|
||||
taux: 50%
|
||||
assiette: revenu annuel moyen
|
||||
multiplication:
|
||||
plafond: plafond sécurité sociale temps plein
|
||||
taux: taux de la pension
|
||||
assiette: revenu moyen
|
||||
références:
|
||||
service-public.fr: https://www.service-public.fr/particuliers/vosdroits/F21552
|
||||
|
||||
- espace: protection sociale . retraite
|
||||
nom: revenu annuel moyen
|
||||
- nom: taux de la pension
|
||||
espace: protection sociale . retraite . base
|
||||
description: Le taux appliqué, avec décote ou surcote en fonction du nombre de trimestre cotisé.
|
||||
période: aucune
|
||||
formule:
|
||||
variations:
|
||||
- si:
|
||||
une de ces conditions:
|
||||
- toutes ces conditions:
|
||||
- auto entrepreneur
|
||||
- entreprise . chiffre d'affaires < seuil de CA pour ouverture des droits
|
||||
- toutes ces conditions:
|
||||
- contrat salarié
|
||||
- revenu moyen < revenu minimum pour ouverture des droits
|
||||
alors: 0%
|
||||
- sinon: 50%
|
||||
note: On ne prends pas en compte la décote du taux suite aux trimestres manquant. On considère donc que le cotisant part à taux plein, donc à 67 ans (ou avant si tous les trimestres sont validés).
|
||||
références:
|
||||
service-public.fr: https://www.service-public.fr/particuliers/vosdroits/F19666
|
||||
|
||||
- nom: seuil de CA pour ouverture des droits
|
||||
espace: protection sociale . retraite . base
|
||||
période: annuel
|
||||
format: euros
|
||||
période: flexible
|
||||
description: Le CA minimum pour l'ouverture des droits à la retraite. En deça de ce montant, vous n'aurez accès qu'à l'allocation de solidarité.
|
||||
formule:
|
||||
variations:
|
||||
- si: entreprise . catégorie d'activité = 'libérale'
|
||||
alors: 2880
|
||||
- si:
|
||||
une de ces conditions:
|
||||
- entreprise . catégorie d'activité . service ou vente = 'vente de biens'
|
||||
- entreprise . catégorie d'activité . restauration ou hébergement
|
||||
alors: 4137
|
||||
- sinon: 2412
|
||||
références:
|
||||
auto-entrepreneur: https://www.service-public.fr/professionnels-entreprises/vosdroits/F23369
|
||||
allocation de solidarité: https://www.service-public.fr/particuliers/vosdroits/F16871
|
||||
|
||||
- nom: revenu minimum pour ouverture des droits
|
||||
espace: protection sociale . retraite . base
|
||||
période: annuel
|
||||
format: euros
|
||||
description: Le revenu minimum pour l'ouverture des droits à la retraite. En deça de ce montant, vous n'aurez accès qu'au minimum contributif ou à l'allocation de solidarité.
|
||||
formule: contrat salarié . SMIC horaire * 150
|
||||
références:
|
||||
service-public.fr: https://www.service-public.fr/particuliers/vosdroits/F1761
|
||||
allocation de solidarité: https://www.service-public.fr/particuliers/vosdroits/F16871
|
||||
minimum contributif: https://www.service-public.fr/particuliers/vosdroits/F15522
|
||||
|
||||
- espace: protection sociale . retraite
|
||||
nom: revenu moyen
|
||||
format: euros
|
||||
période: année
|
||||
formule:
|
||||
le maximum de :
|
||||
- indépendant . revenu net de cotisations
|
||||
|
@ -3721,9 +3777,6 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
- espace: protection sociale . retraite
|
||||
nom: complémentaire indépendant
|
||||
formule: points acquis * valeur du point
|
||||
|
|
Loading…
Reference in New Issue