From 2d0501c94af5d8c3fee40863255df2a9615b0d89 Mon Sep 17 00:00:00 2001 From: Johan Girod Date: Mon, 12 Apr 2021 17:36:23 +0200 Subject: [PATCH] =?UTF-8?q?Ajoute=20les=20droits=20=C3=A0=20la=20retraite?= =?UTF-8?q?=20acquis=20sur=20le=20simulateur=20ind=C3=A9pendant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modele-social/règles/protection-sociale.yaml | 27 ++--- .../source/components/SchemeComparaison.tsx | 106 ++++++++++-------- .../IndépendantCotisationsForfaitaire.tsx | 12 +- .../IndépendantExplanation.tsx | 42 ++++++- mon-entreprise/source/components/ui/Card.css | 4 + mon-entreprise/source/locales/rules-en.yaml | 6 +- mon-entreprise/source/locales/ui-en.yaml | 6 + .../__snapshots__/simulations.jest.js.snap | 10 +- 8 files changed, 130 insertions(+), 83 deletions(-) diff --git a/modele-social/règles/protection-sociale.yaml b/modele-social/règles/protection-sociale.yaml index 0e44689ef..8456cdb90 100644 --- a/modele-social/règles/protection-sociale.yaml +++ b/modele-social/règles/protection-sociale.yaml @@ -8,10 +8,7 @@ protection sociale . retraite: icônes: 👵 type: branche résumé: Garantit en moyenne 60 à 70 % du dernier revenu d'activité après 65 ans. - non applicable si: - toutes ces conditions: - - entreprise . activité = 'libérale' - - dirigeant . indépendant . PL . régime général = non + description: | Tous les travailleurs en France cotisent tout au long de leur vie professionnelle pour bénéficier d’un régime de retraite dès lors qu’ils ont l’âge de cesser leur activité. @@ -198,7 +195,11 @@ protection sociale . retraite . complémentaire salarié . points acquis: service-public.fr: https://www.service-public.fr/particuliers/vosdroits/F15396 protection sociale . retraite . complémentaire sécurité des indépendants: - formule: points acquis * valeur du point + non applicable si: + toutes ces conditions: + - entreprise . activité = 'libérale' + - dirigeant . indépendant . PL . régime général = non + formule: total points acquis * valeur du point références: secu-independants.fr: https://www.secu-independants.fr/retraite/calcul-retraite/retraite-complementaire/ @@ -207,18 +208,12 @@ protection sociale . retraite . complémentaire sécurité des indépendants . v références: secu-independants.fr: https://www.secu-independants.fr/baremes/prestations-vieillesse-et-invalidite-deces -protection sociale . retraite . complémentaire sécurité des indépendants . points acquis: - formule: points acquis par mois * mois cotisés +protection sociale . retraite . complémentaire sécurité des indépendants . total points acquis: + formule: points acquis * mois cotisés -protection sociale . retraite . complémentaire sécurité des indépendants . points acquis par mois: - unité: points/mois - formule: - produit: - assiette: - somme: - - dirigeant . indépendant . cotisations et contributions . retraite complémentaire - # - dirigeant . auto-entrepreneur . cotisations et contributions . cotisations . retraite complémentaire - facteur: 1 / prix d'achat du point +protection sociale . retraite . complémentaire sécurité des indépendants . points acquis: + unité: points/an + valeur: dirigeant . indépendant . cotisations et contributions . retraite complémentaire / prix d'achat du point protection sociale . retraite . complémentaire sécurité des indépendants . prix d'achat du point: formule: 17.515 €/point diff --git a/mon-entreprise/source/components/SchemeComparaison.tsx b/mon-entreprise/source/components/SchemeComparaison.tsx index c0987bb04..c8586f90e 100644 --- a/mon-entreprise/source/components/SchemeComparaison.tsx +++ b/mon-entreprise/source/components/SchemeComparaison.tsx @@ -34,9 +34,6 @@ export default function SchemeComparaison({ useSimulationConfig(dirigeantComparaison) const dispatch = useDispatchAndGoToNextQuestion() const engine = useEngine() - const plafondAutoEntrepreneurDépassé = - engine.evaluate("entreprise . chiffre d'affaires . seuil micro dépassé") - .nodeValue === true const [showMore, setShowMore] = useState(false) const [conversationStarted, setConversationStarted] = useState( @@ -74,6 +71,11 @@ export default function SchemeComparaison({ }), [situation] ) + const plafondAutoEntrepreneurDépassé = + autoEntrepreneurEngine.evaluate( + "entreprise . chiffre d'affaires . seuil micro dépassé" + ).nodeValue === true + return ( <>
-

- - Pension de retraite - (avant impôts) - -

-
- {' '} - - - Pension calculée pour 172 trimestres cotisés au régime général - sans variations de revenus. - - -
-
- {' '} - - - Pension calculée pour 172 trimestres cotisés au régime des - indépendants sans variations de revenus. - - -
-
- {plafondAutoEntrepreneurDépassé ? ( - '—' - ) : ( - <> + {indépendantEngine.evaluate( + 'entreprise . activité . libérale réglementée' + ).nodeValue !== true && ( + <> +

+ + Pension de retraite + (avant impôts) + +

+
{' '} - - Pension calculée pour 172 trimestres cotisés en - auto-entrepreneur sans variations de revenus. + + Pension calculée pour 172 trimestres cotisés au régime + général sans variations de revenus. - - )} -
+
+
+ {' '} + + + Pension calculée pour 172 trimestres cotisés au régime des + indépendants sans variations de revenus. + + +
+
+ {plafondAutoEntrepreneurDépassé ? ( + '—' + ) : ( + <> + {' '} + + + Pension calculée pour 172 trimestres cotisés en + auto-entrepreneur sans variations de revenus. + + + + )} +
+ + )}

Nombre de trimestres validés (pour la retraite) diff --git a/mon-entreprise/source/components/simulationExplanation/IndépendantCotisationsForfaitaire.tsx b/mon-entreprise/source/components/simulationExplanation/IndépendantCotisationsForfaitaire.tsx index 6c89e3833..93839af6a 100644 --- a/mon-entreprise/source/components/simulationExplanation/IndépendantCotisationsForfaitaire.tsx +++ b/mon-entreprise/source/components/simulationExplanation/IndépendantCotisationsForfaitaire.tsx @@ -11,16 +11,12 @@ export default function CotisationsForfaitaires() { ) return ( -
+

{rule.title}

- Montant des cotisations forfaitaires :{' '} + + Montant des cotisations forfaitaires :{' '} + diff --git a/mon-entreprise/source/components/simulationExplanation/IndépendantExplanation.tsx b/mon-entreprise/source/components/simulationExplanation/IndépendantExplanation.tsx index 7dae07205..2cd5c5b94 100644 --- a/mon-entreprise/source/components/simulationExplanation/IndépendantExplanation.tsx +++ b/mon-entreprise/source/components/simulationExplanation/IndépendantExplanation.tsx @@ -1,6 +1,6 @@ import BarChartBranch from 'Components/BarChart' import 'Components/Distribution.css' -import { Condition } from 'Components/EngineValue' +import Value, { Condition } from 'Components/EngineValue' import RuleLink from 'Components/RuleLink' import StackedBarChart from 'Components/StackedBarChart' import { ThemeColorsContext } from 'Components/utils/colors' @@ -8,7 +8,7 @@ import { EngineContext } from 'Components/utils/EngineContext' import { DottedName } from 'modele-social' import { max } from 'ramda' import { useContext } from 'react' -import { useTranslation } from 'react-i18next' +import { Trans, useTranslation } from 'react-i18next' import { useSelector } from 'react-redux' import { targetUnitSelector } from 'Selectors/simulationSelectors' import CotisationsForfaitaires from './IndépendantCotisationsForfaitaire' @@ -51,6 +51,44 @@ export default function IndépendantExplanation() { /> + +

Retraite : droits acquis sur l'année 2021

+
    +
  • + Retraite de base :{' '} + + + {' '} + trimestres acquis + + +
  • +
  • + Retraite complémentaire :{' '} + + + Ce simulateur ne gère pas les droits acquis de retraite + complémentaire pour les professions libérales + + + + + + {' '} + points acquis + + + +
  • +
+ + diff --git a/mon-entreprise/source/components/ui/Card.css b/mon-entreprise/source/components/ui/Card.css index 112e517d9..7af2af7ee 100644 --- a/mon-entreprise/source/components/ui/Card.css +++ b/mon-entreprise/source/components/ui/Card.css @@ -43,6 +43,10 @@ .ui__.card.disabled img { filter: saturate(0); } +.ui__.card.content { + padding: 1rem; + padding-top: 0.1rem; +} .ui__.card.disabled .ui__.card.plain, .ui__.card.disabled.plain { diff --git a/mon-entreprise/source/locales/rules-en.yaml b/mon-entreprise/source/locales/rules-en.yaml index 8b729493a..3e4dc8756 100644 --- a/mon-entreprise/source/locales/rules-en.yaml +++ b/mon-entreprise/source/locales/rules-en.yaml @@ -8098,12 +8098,12 @@ protection sociale . retraite . complémentaire sécurité des indépendants: ? protection sociale . retraite . complémentaire sécurité des indépendants . points acquis : titre.en: acquired points titre.fr: points acquis -? protection sociale . retraite . complémentaire sécurité des indépendants . points acquis par mois -: titre.en: acquired points per month - titre.fr: points acquis par mois ? protection sociale . retraite . complémentaire sécurité des indépendants . prix d'achat du point : titre.en: buying cost of the point titre.fr: prix d'achat du point +? protection sociale . retraite . complémentaire sécurité des indépendants . total points acquis +: titre.en: '[automatic] total points earned' + titre.fr: total points acquis ? protection sociale . retraite . complémentaire sécurité des indépendants . valeur du point : titre.en: value of the point titre.fr: valeur du point diff --git a/mon-entreprise/source/locales/ui-en.yaml b/mon-entreprise/source/locales/ui-en.yaml index 7ca0c2e7b..9e907e702 100644 --- a/mon-entreprise/source/locales/ui-en.yaml +++ b/mon-entreprise/source/locales/ui-en.yaml @@ -1209,10 +1209,16 @@ pages: shortname: Chartered Accountant title: Income simulator for chartered accountant and auditor in private practice indépendant: + cotisations-forfaitaires: "Amount of lump sum contributions : " meta: description: Calculation of net income after tax and contributions based on turnover and vice versa title: "Independent: Urssaf income simulator" + retraite-droits-acquis: "<0>Retirement: rights acquired in 2021<1><0>Basic + pension : <2><0><0> vested quarters<1>Supplementary + pension : <2><0>This simulator does not manage the acquired rights of + supplementary pension for the liberal + professions<3><0><0><0> points acquired" shortname: Independent title: Income simulator for the self-employed is: diff --git a/mon-entreprise/test/regressions/__snapshots__/simulations.jest.js.snap b/mon-entreprise/test/regressions/__snapshots__/simulations.jest.js.snap index 985810c22..bf1e19330 100644 --- a/mon-entreprise/test/regressions/__snapshots__/simulations.jest.js.snap +++ b/mon-entreprise/test/regressions/__snapshots__/simulations.jest.js.snap @@ -394,9 +394,9 @@ exports[`calculate simulations-rémunération-dirigeant (assimilé salarié): Co exports[`calculate simulations-rémunération-dirigeant (assimilé salarié): Contrats Madelin 6`] = `"[917,10998,0,10651,4,20]"`; -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié): activités 1`] = `"[917,10998,0,0,0,0]"`; +exports[`calculate simulations-rémunération-dirigeant (assimilé salarié): activités 1`] = `"[917,10998,0,10651,4,0]"`; -exports[`calculate simulations-rémunération-dirigeant (assimilé salarié): activités 2`] = `"[917,10998,0,0,0,0]"`; +exports[`calculate simulations-rémunération-dirigeant (assimilé salarié): activités 2`] = `"[917,10998,0,10651,4,0]"`; exports[`calculate simulations-rémunération-dirigeant (assimilé salarié): activités 3`] = `"[917,10998,0,10651,4,20]"`; @@ -454,9 +454,9 @@ Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA d exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur): Contrats Madelin 6`] = `"[0,17852,17852,2973,3,8]"`; -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur): activités 1`] = `"[0,15580,15580,0,0,0]"`; +exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur): activités 1`] = `"[0,15580,15580,6600,4,0]"`; -exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur): activités 2`] = `"[0,15560,15560,0,0,0]"`; +exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur): activités 2`] = `"[0,15560,15560,6600,4,0]"`; exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur): activités 3`] = `"[0,17336,17336,2900,3,8]"`; @@ -510,7 +510,7 @@ exports[`calculate simulations-rémunération-dirigeant (indépendant): Contrats exports[`calculate simulations-rémunération-dirigeant (indépendant): activités 1`] = `"[0,13770,0,10085,4,21]"`; -exports[`calculate simulations-rémunération-dirigeant (indépendant): activités 2`] = `"[0,14555,0,0,0,0]"`; +exports[`calculate simulations-rémunération-dirigeant (indépendant): activités 2`] = `"[0,14555,0,7547,4,0]"`; exports[`calculate simulations-rémunération-dirigeant (indépendant): activités 3`] = `"[0,13758,0,10076,4,21]"`;