From b1d73257391ecccaf2c20ce6b73a309be55b440a Mon Sep 17 00:00:00 2001 From: Johan Girod Date: Thu, 8 Apr 2021 18:01:46 +0200 Subject: [PATCH] =?UTF-8?q?Ajoute=20les=20cotisations=20forfaitaire=20de?= =?UTF-8?q?=20d=C3=A9but=20d'activit=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modele-social/règles/dirigeant.yaml | 105 ++++++++--- .../règles/entreprise-établissement.yaml | 10 +- modele-social/règles/profession-libérale.yaml | 2 +- mon-entreprise/scripts/i18n/utils.js | 1 + .../IndépendantCotisationsForfaitaire.tsx | 49 ++++++ .../IndépendantExplanation.tsx | 134 +------------- .../simulationExplanation/PLExplanation.tsx | 129 ++++++++++++++ .../source/components/ui/Layout.css | 6 +- mon-entreprise/source/locales/rules-en.yaml | 151 +++++++++------- mon-entreprise/source/locales/ui-en.yaml | 1 + .../__snapshots__/simulations.jest.js.snap | 164 ++++-------------- publicodes/core/source/mecanisms/recalcul.ts | 3 +- .../source/mecanisms/TauxProgressif.tsx | 8 +- 13 files changed, 405 insertions(+), 358 deletions(-) create mode 100644 mon-entreprise/source/components/simulationExplanation/IndépendantCotisationsForfaitaire.tsx create mode 100644 mon-entreprise/source/components/simulationExplanation/PLExplanation.tsx diff --git a/modele-social/règles/dirigeant.yaml b/modele-social/règles/dirigeant.yaml index 019c31fea..95a645178 100644 --- a/modele-social/règles/dirigeant.yaml +++ b/modele-social/règles/dirigeant.yaml @@ -468,31 +468,6 @@ dirigeant . indépendant: rend non applicable: contrat salarié formule: dirigeant = 'indépendant' -dirigeant . indépendant . avertissement base forfaitaire: - type: notification - formule: - toutes ces conditions: - - entreprise . durée d'activité . en fin d'année < 2 ans - description: | - Lorsque vous commencez votre activité, vos revenus professionnels - n’étant pas connus, les cotisations et contributions des deux premières - années sont calculées sur une base forfaitaire. - - - Cette base s’élève à 19 % du plafond annuel de la Sécurité sociale au titre de - la première et de la deuxième année d’activité. - - - Il y a un ajustement au cours de la deuxième année en fonction des - revenus réels déclarés pour l'année précédente. Dans la majeure partie des cas, - le montant des cotisations provisionnelles sera significativement plus élevé. - - - Ce simulateur calcule les cotisations au **régime de croisière** (après - régularisation). Il vous permet donc d'anticiper le montant de cette régularisation - et de plannifier votre trésorerie en conséquence. - - dirigeant . indépendant . revenu professionnel: description: rémunération du dirigeant au régime des indépendant unité: €/an @@ -554,13 +529,20 @@ dirigeant . indépendant . cotisations et contributions . exonérations . ACRE: références: Fiche secu-independant.fr: https://www.secu-independants.fr/cotisations/calcul-cotisations/acre/ -dirigeant . indépendant . cotisations et contributions . exonérations . ACRE . PSS proratisé: +dirigeant . indépendant . cotisations et contributions . PSS proratisé: + titre: plafond de la sécurité sociale proratisé + description: | + Le plafond de la sécurité sociale, proratisé par la durée d'activité pendant l'année (dans le cas d'activité crée ou cessée en cours d'année). + + Utile pour calculer les cotisations forfaitaires de début d'activité ou le montant de l'ACRE formule: + unité: €/an produit: assiette: plafond sécurité sociale temps plein taux: valeur: entreprise . durée d'activité . en fin d'année / 1 an plafond: 100% + arrondi: oui dirigeant . indépendant . cotisations et contributions . exonérations . ACRE . prorata sur l'année: description: | @@ -891,6 +873,77 @@ dirigeant . indépendant . contrats madelin . retraite . plafond: note: | Normalement c'est le résultat fiscal qui devrait être utilisé pour l'assiette du plafond, mais on utilise le revenu professionnel pour éviter un cycle. +dirigeant . indépendant . cotisations et contributions . début activité: + titre: cotisations forfaitaires de début d'activité + description: | + Lorsque vous commencez votre activité, vos **revenus professionnels + n’étant pas connus**, les cotisations et contributions des deux premières + années sont calculées sur une **base forfaitaire**. + + + Cette base s’élève à **19 % du plafond annuel de la Sécurité sociale** au titre de + la première et de la deuxième année d’activité. + + + Il y a un **ajustement** au cours de la deuxième année en fonction des + revenus réels déclarés pour l'année précédente. Si votre rémunération effective + est supérieure à la base forfaitaire, vous devrez payer un montant montant de + cotisations plus élevé, c'est ce qu'on appelle la régularisation. + + + Ce simulateur calcule les cotisations **après régularisation** (régime de croisière). + Il vous permet donc d'anticiper le montant de cette régularisation et de planifier votre + trésorerie en conséquence. + + applicable si: entreprise . date de création >= 01/01/2020 + unité: €/an + # valeur: cotisations et contributions + recalcul: + règle: cotisations et contributions + avec: + assiette forfaitaire: oui + + références: + Fiche Urssaf: https://www.urssaf.fr/portail/home/independant/mes-cotisations/les-etapes-de-calcul/le-mode-de-calcul/lajustement-et-la-regularisation.html + + +dirigeant . indépendant . cotisations et contributions . début activité . assiette forfaitaire: + valeur: non + remplace: + - règle: CSG et CRDS . assiette + par: assiette base + - règle: assiette des cotisations + sauf dans: + - indemnités journalières maladie + - maladie + par: assiette base + - règle: assiette des cotisations + dans: + - indemnités journalières maladie + - maladie + par: assiette maladie + +dirigeant . indépendant . cotisations et contributions . début activité . assiette forfaitaire . assiette base: + titre: assiette forfaitaire + produit: + assiette: PSS proratisé + taux: 19% + unité: €/an + arrondi: oui + références: + Fiche Urssaf: https://www.urssaf.fr/portail/home/independant/mes-cotisations/les-etapes-de-calcul/le-mode-de-calcul/les-cotisations-provisionnelles/debut-dactivite.html + + +dirigeant . indépendant . cotisations et contributions . début activité . assiette forfaitaire . assiette maladie: + titre: assiette forfaitaire maladie + produit: + assiette: plafond sécurité sociale temps plein + taux: 40% + unité: €/an + arrondi: oui + + + dirigeant . indépendant . cotisations et contributions . indemnités journalières maladie: description: | Cotisations pour les indemnités journalières des indépendants. Si l'état de diff --git a/modele-social/règles/entreprise-établissement.yaml b/modele-social/règles/entreprise-établissement.yaml index a4f10e1fb..e376e6aef 100644 --- a/modele-social/règles/entreprise-établissement.yaml +++ b/modele-social/règles/entreprise-établissement.yaml @@ -41,10 +41,12 @@ entreprise . durée d'activité: entreprise . durée d'activité . en fin d'année: titre: durée d'activité à la fin de l'année formule: - durée: - depuis: date de création - jusqu'à: période . fin d'année - + somme: + - durée: + depuis: date de création + jusqu'à: période . fin d'année + - 1 jour # Le mécanisme durée n'inclue pas le dernier jour + entreprise . durée d'activité . en début d'année: titre: durée d'activité au début de l'année formule: diff --git a/modele-social/règles/profession-libérale.yaml b/modele-social/règles/profession-libérale.yaml index 87d6ca6e0..44ca55df5 100644 --- a/modele-social/règles/profession-libérale.yaml +++ b/modele-social/règles/profession-libérale.yaml @@ -769,7 +769,7 @@ dirigeant . indépendant . PL . CARMF . retraite complémentaire: titre: retraite complémentaire (CARMF) arrondi: oui variations: - - si: entreprise . durée d'activité . en fin d'année <= 2 ans + - si: entreprise . date de création >= 01/01/2020 alors: 0€/an - sinon: produit: diff --git a/mon-entreprise/scripts/i18n/utils.js b/mon-entreprise/scripts/i18n/utils.js index 11074b452..64cc63cad 100644 --- a/mon-entreprise/scripts/i18n/utils.js +++ b/mon-entreprise/scripts/i18n/utils.js @@ -4,6 +4,7 @@ var fs = require('fs') var path = require('path') let R = require('ramda') var querystring = require('querystring') +require('../../../modele-social/build') let rules = require('../../../modele-social') let { parse } = require('yaml') diff --git a/mon-entreprise/source/components/simulationExplanation/IndépendantCotisationsForfaitaire.tsx b/mon-entreprise/source/components/simulationExplanation/IndépendantCotisationsForfaitaire.tsx new file mode 100644 index 000000000..6c89e3833 --- /dev/null +++ b/mon-entreprise/source/components/simulationExplanation/IndépendantCotisationsForfaitaire.tsx @@ -0,0 +1,49 @@ +import Value from 'Components/EngineValue' +import * as Animate from 'Components/ui/animate' +import Emoji from 'Components/utils/Emoji' +import { useEngine } from 'Components/utils/EngineContext' +import { Markdown } from 'Components/utils/markdown' +import { Trans } from 'react-i18next' + +export default function CotisationsForfaitaires() { + const rule = useEngine().getRule( + 'dirigeant . indépendant . cotisations et contributions . début activité' + ) + return ( + +
+

{rule.title}

+

+ Montant des cotisations forfaitaires :{' '} + + + +

+
+ +
+ + {rule.rawNode.références && ( +

+ + Voir la fiche Urssaf + +

+ )} +
+
+ ) +} diff --git a/mon-entreprise/source/components/simulationExplanation/IndépendantExplanation.tsx b/mon-entreprise/source/components/simulationExplanation/IndépendantExplanation.tsx index 9f9471733..7dae07205 100644 --- a/mon-entreprise/source/components/simulationExplanation/IndépendantExplanation.tsx +++ b/mon-entreprise/source/components/simulationExplanation/IndépendantExplanation.tsx @@ -1,22 +1,18 @@ import BarChartBranch from 'Components/BarChart' import 'Components/Distribution.css' -import Value, { Condition } from 'Components/EngineValue' +import { Condition } from 'Components/EngineValue' import RuleLink from 'Components/RuleLink' import StackedBarChart from 'Components/StackedBarChart' -import * as Animate from 'Components/ui/animate' import { ThemeColorsContext } from 'Components/utils/colors' -import Emoji from 'Components/utils/Emoji' -import { EngineContext, useEngine } from 'Components/utils/EngineContext' -import assuranceMaladieSrc from 'Images/assurance-maladie.svg' -import * as logosSrc from 'Images/logos-cnavpl' -import urssafSrc from 'Images/Urssaf.svg' +import { EngineContext } from 'Components/utils/EngineContext' import { DottedName } from 'modele-social' import { max } from 'ramda' import { useContext } from 'react' -import { Trans, useTranslation } from 'react-i18next' +import { useTranslation } from 'react-i18next' import { useSelector } from 'react-redux' import { targetUnitSelector } from 'Selectors/simulationSelectors' -import styled from 'styled-components' +import CotisationsForfaitaires from './IndépendantCotisationsForfaitaire' +import PLExplanation from './PLExplanation' import { DistributionSection } from './SalaryExplanation' export default function IndépendantExplanation() { @@ -25,6 +21,9 @@ export default function IndépendantExplanation() { return ( <> + + + @@ -59,123 +58,6 @@ export default function IndépendantExplanation() { ) } -function PLExplanation() { - const unit = useSelector(targetUnitSelector) - return ( -
- - -

Vos institutions partenaires

-
-
- - - -

- Les cotisations recouvrées par l'Urssaf, qui servent au - financement de la sécurité sociale (assurance maladie, - allocations familiales, dépendance) -

-

- -

-
- - -
- - - -

- En tant que professionnel de santé conventionné, vous - bénéficiez d'une prise en charge d'une partie de vos - cotisations par l'Assurance Maladie. -

-

- {' '} - -

-
-
-
- -

- {' '} - Les montants indiqués ci-dessus sont calculés sans prendre en - compte l'exonération de début d'activité ACRE -

-
-
-
-
- ) -} - -function CaisseRetraite() { - const engine = useEngine() - const unit = useSelector(targetUnitSelector) - const caisses = [ - 'CARCDSF', - 'CARPIMKO', - 'CIPAV', - 'CARMF', - 'CNBF', - 'CAVEC', - ] as const - - return ( - <> - {caisses.map((caisse) => { - const dottedName = `dirigeant . indépendant . PL . ${caisse}` as DottedName - const { description, références } = engine.getRule(dottedName).rawNode - return ( - -
- - - -

- {description}{' '} - - Elle recouvre les cotisations liées à votre retraite et au - régime d'invalidité-décès. - -

- -

- -

-
-
- ) - })} - - ) -} - -const LogoImg = styled.img` - padding: 1rem; - height: 5rem; -` - const CotisationsSection: Partial>> = { 'protection sociale . retraite': [ 'dirigeant . indépendant . cotisations et contributions . retraite de base', diff --git a/mon-entreprise/source/components/simulationExplanation/PLExplanation.tsx b/mon-entreprise/source/components/simulationExplanation/PLExplanation.tsx new file mode 100644 index 000000000..fc89a4fd6 --- /dev/null +++ b/mon-entreprise/source/components/simulationExplanation/PLExplanation.tsx @@ -0,0 +1,129 @@ +import Value, { Condition } from 'Components/EngineValue' +import * as Animate from 'Components/ui/animate' +import Emoji from 'Components/utils/Emoji' +import { useEngine } from 'Components/utils/EngineContext' +import assuranceMaladieSrc from 'Images/assurance-maladie.svg' +import * as logosSrc from 'Images/logos-cnavpl' +import urssafSrc from 'Images/Urssaf.svg' +import { DottedName } from 'modele-social' +import { Trans } from 'react-i18next' +import { useSelector } from 'react-redux' +import { targetUnitSelector } from 'Selectors/simulationSelectors' +import styled from 'styled-components' + +export default function PLExplanation() { + const unit = useSelector(targetUnitSelector) + return ( +
+ + +

Vos institutions partenaires

+
+
+ + + +

+ Les cotisations recouvrées par l'Urssaf, qui servent au + financement de la sécurité sociale (assurance maladie, + allocations familiales, dépendance) +

+

+ +

+
+ + +
+ + + +

+ En tant que professionnel de santé conventionné, vous + bénéficiez d'une prise en charge d'une partie de vos + cotisations par l'Assurance Maladie. +

+

+ {' '} + +

+
+
+
+ +

+ {' '} + Les montants indiqués ci-dessus sont calculés sans prendre en + compte l'exonération de début d'activité ACRE +

+
+
+
+
+ ) +} + +function CaisseRetraite() { + const engine = useEngine() + const unit = useSelector(targetUnitSelector) + const caisses = [ + 'CARCDSF', + 'CARPIMKO', + 'CIPAV', + 'CARMF', + 'CNBF', + 'CAVEC', + ] as const + + return ( + <> + {caisses.map((caisse) => { + const dottedName = `dirigeant . indépendant . PL . ${caisse}` as DottedName + const { description, références } = engine.getRule(dottedName).rawNode + return ( + +
+ + + +

+ {description}{' '} + + Elle recouvre les cotisations liées à votre retraite et au + régime d'invalidité-décès. + +

+ +

+ +

+
+
+ ) + })} + + ) +} + +const LogoImg = styled.img` + padding: 1rem; + height: 5rem; +` diff --git a/mon-entreprise/source/components/ui/Layout.css b/mon-entreprise/source/components/ui/Layout.css index b854a8b13..9479fd63b 100644 --- a/mon-entreprise/source/components/ui/Layout.css +++ b/mon-entreprise/source/components/ui/Layout.css @@ -38,7 +38,7 @@ section { } .ui__.side-block { - margin-top: 1rem; + padding-top: 1rem; display: flex; flex-direction: column; } @@ -50,11 +50,13 @@ section { @media (min-width: 1200px) { .ui__.side-block { + margin-top: -1rem; + flex-grow: 0; flex-shrink: 1; flex: 1; position: sticky; - top: 1rem; + top: 0rem; } } diff --git a/mon-entreprise/source/locales/rules-en.yaml b/mon-entreprise/source/locales/rules-en.yaml index b85d65773..86d43adcc 100644 --- a/mon-entreprise/source/locales/rules-en.yaml +++ b/mon-entreprise/source/locales/rules-en.yaml @@ -5698,66 +5698,6 @@ dirigeant . indépendant . assiette des cotisations: description.fr: Il s'agit de l'assiette des cotisations sociales, nombre forcément positif titre.en: '[automatic] contribution base' titre.fr: assiette des cotisations -dirigeant . indépendant . avertissement base forfaitaire: - description.en: > - [automatic] When you start your activity, your professional income is not - known. - - contributions for the first two years are calculated on a flat-rate basis. - - are calculated on a flat-rate basis. - - - - This base amounts to 19% of the annual Social Security ceiling for the first and second year of activity. - - the first and second years of activity. - - - - There is an adjustment in the second year based on the actual income - - income declared for the previous year. In most cases, - - the amount of the provisional contributions will be significantly higher. - - - - This simulator calculates the contributions for the **cruise regime** (after - - regularisation). It therefore enables you to anticipate the amount of this adjustment - - and to plan your cash flow accordingly. - description.fr: > - Lorsque vous commencez votre activité, vos revenus professionnels - - n’étant pas connus, les cotisations et contributions des deux premières - - années sont calculées sur une base forfaitaire. - - - - Cette base s’élève à 19 % du plafond annuel de la Sécurité sociale au titre de - - la première et de la deuxième année d’activité. - - - - Il y a un ajustement au cours de la deuxième année en fonction des - - revenus réels déclarés pour l'année précédente. Dans la majeure partie des cas, - - le montant des cotisations provisionnelles sera significativement plus élevé. - - - - Ce simulateur calcule les cotisations au **régime de croisière** (après - - régularisation). Il vous permet donc d'anticiper le montant de cette régularisation - - et de plannifier votre trésorerie en conséquence. - titre.en: '[automatic] warning flat rate basis' - titre.fr: avertissement base forfaitaire dirigeant . indépendant . conjoint collaborateur: description.en: > [automatic] Allows the executive's spouse to be covered by social protection @@ -6013,6 +5953,22 @@ dirigeant . indépendant . cotisations et contributions . PCV: conventionnel. titre.en: '[automatic] Supplementary old-age benefits' titre.fr: Prestations complémentaires vieillesse +dirigeant . indépendant . cotisations et contributions . PSS proratisé: + description.en: > + [automatic] The social security ceiling, prorated by the duration of + activity during the year (in the case of activity created or ceased during + the year). + + + Useful for calculating lump-sum contributions at the beginning of the activity or the amount of the ACRE + description.fr: > + Le plafond de la sécurité sociale, proratisé par la durée d'activité pendant + l'année (dans le cas d'activité crée ou cessée en cours d'année). + + + Utile pour calculer les cotisations forfaitaires de début d'activité ou le montant de l'ACRE + titre.en: '[automatic] prorated social security ceiling' + titre.fr: plafond de la sécurité sociale proratisé dirigeant . indépendant . cotisations et contributions . allocations familiales: titre.en: '[automatic] child benefit' titre.fr: allocations familiales @@ -6028,6 +5984,78 @@ dirigeant . indépendant . cotisations et contributions . allocations familiales dirigeant . indépendant . cotisations et contributions . cotisations: titre.en: social contributions titre.fr: cotisations +dirigeant . indépendant . cotisations et contributions . début activité: + description.en: > + [automatic] When you start your activity, your **professional income + + income is not known**, the contributions for the first two years are calculated on a + + are calculated on a **lump sum basis**. + + + + This base amounts to **19% of the annual Social Security ceiling** for + + the first and second year of activity. + + + + There is an **adjustment** during the second year according to the actual + + income declared for the previous year. If your actual earnings + + is higher than the flat-rate base, you will have to pay a higher amount of + + This is known as the regularisation. + + + + This simulator calculates the contributions **after regularisation** (cruising regime). + + It therefore allows you to anticipate the amount of this regularisation and to plan your + + your cash flow accordingly. + description.fr: > + Lorsque vous commencez votre activité, vos **revenus professionnels + + n’étant pas connus**, les cotisations et contributions des deux premières + + années sont calculées sur une **base forfaitaire**. + + + + Cette base s’élève à **19 % du plafond annuel de la Sécurité sociale** au titre de + + la première et de la deuxième année d’activité. + + + + Il y a un **ajustement** au cours de la deuxième année en fonction des + + revenus réels déclarés pour l'année précédente. Si votre rémunération effective + + est supérieure à la base forfaitaire, vous devrez payer un montant montant de + + cotisations plus élevé, c'est ce qu'on appelle la régularisation. + + + + Ce simulateur calcule les cotisations **après régularisation** (régime de croisière). + + Il vous permet donc d'anticiper le montant de cette régularisation et de planifier votre + + trésorerie en conséquence. + titre.en: '[automatic] lump-sum start-up contributions' + titre.fr: cotisations forfaitaires de début d'activité +? dirigeant . indépendant . cotisations et contributions . début activité . assiette forfaitaire +: titre.en: '[automatic] flat-rate base' + titre.fr: assiette forfaitaire +? dirigeant . indépendant . cotisations et contributions . début activité . assiette forfaitaire . assiette base +: titre.en: '[automatic] flat-rate base' + titre.fr: assiette forfaitaire +? dirigeant . indépendant . cotisations et contributions . début activité . assiette forfaitaire . assiette maladie +: titre.en: '[automatic] lump-sum basis for illness' + titre.fr: assiette forfaitaire maladie dirigeant . indépendant . cotisations et contributions . déduction tabac: description.en: > [automatic] If you are also engaged in a commercial activity as a @@ -6065,9 +6093,6 @@ dirigeant . indépendant . cotisations et contributions . exonérations: dirigeant . indépendant . cotisations et contributions . exonérations . ACRE: titre.en: ACRE titre.fr: ACRE -? dirigeant . indépendant . cotisations et contributions . exonérations . ACRE . PSS proratisé -: titre.en: '[automatic] Prorated PSS' - titre.fr: PSS proratisé ? dirigeant . indépendant . cotisations et contributions . exonérations . ACRE . prorata sur l'année : description.en: > [automatic] Since the calculation of self-employed contributions is made diff --git a/mon-entreprise/source/locales/ui-en.yaml b/mon-entreprise/source/locales/ui-en.yaml index 68262ac65..ccf3b28fb 100644 --- a/mon-entreprise/source/locales/ui-en.yaml +++ b/mon-entreprise/source/locales/ui-en.yaml @@ -179,6 +179,7 @@ Un seul associé: Only one partner Une idée ?<1>Contactez-nous !: Any ideas?<1>Contact us! "Versement : ": "Payment : " Vie privée: Privacy +Voir la fiche Urssaf: See the Urssaf sheet Voir la fiche de paie: See the pay slip Voir la répartition des cotisations: View contribution breakdown Voir le code source: See the source code diff --git a/mon-entreprise/test/regressions/__snapshots__/simulations.jest.js.snap b/mon-entreprise/test/regressions/__snapshots__/simulations.jest.js.snap index aca1496a3..2d6bc13bd 100644 --- a/mon-entreprise/test/regressions/__snapshots__/simulations.jest.js.snap +++ b/mon-entreprise/test/regressions/__snapshots__/simulations.jest.js.snap @@ -1,168 +1,90 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`calculate aide-déclaration-indépendant: ACRE 1`] = ` -"[9019,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: ACRE 1`] = `"[9019,0]"`; -exports[`calculate aide-déclaration-indépendant: ACRE 2`] = ` -"[913,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: ACRE 2`] = `"[913,0]"`; -exports[`calculate aide-déclaration-indépendant: ACRE 3`] = ` -"[300,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: ACRE 3`] = `"[300,0]"`; -exports[`calculate aide-déclaration-indépendant: ACRE 4`] = ` -"[1432,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: ACRE 4`] = `"[1432,0]"`; -exports[`calculate aide-déclaration-indépendant: ACRE 5`] = ` -"[606,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: ACRE 5`] = `"[606,0]"`; -exports[`calculate aide-déclaration-indépendant: IJSS (indemnité sécurité sociale) 1`] = ` -"[11408,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: IJSS (indemnité sécurité sociale) 1`] = `"[11408,0]"`; -exports[`calculate aide-déclaration-indépendant: RSA 1`] = ` -"[82,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: RSA 1`] = `"[82,0]"`; -exports[`calculate aide-déclaration-indépendant: RSA 2`] = ` -"[1021,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: RSA 2`] = `"[1021,0]"`; -exports[`calculate aide-déclaration-indépendant: aide covid 2020 1`] = ` -"[9097,4800] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: aide covid 2020 1`] = `"[9097,4800]"`; -exports[`calculate aide-déclaration-indépendant: aide covid 2020 2`] = ` -"[0,1924] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: aide covid 2020 2`] = `"[0,1924]"`; -exports[`calculate aide-déclaration-indépendant: conjoint collaborateur 1`] = ` -"[14093,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: conjoint collaborateur 1`] = `"[14093,0]"`; -exports[`calculate aide-déclaration-indépendant: conjoint collaborateur 2`] = ` -"[13578,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: conjoint collaborateur 2`] = `"[13578,0]"`; -exports[`calculate aide-déclaration-indépendant: conjoint collaborateur 3`] = ` -"[11461,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: conjoint collaborateur 3`] = `"[11461,0]"`; -exports[`calculate aide-déclaration-indépendant: conjoint collaborateur 4`] = ` -"[14097,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: conjoint collaborateur 4`] = `"[14097,0]"`; -exports[`calculate aide-déclaration-indépendant: conjoint collaborateur 5`] = ` -"[11461,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: conjoint collaborateur 5`] = `"[11461,0]"`; -exports[`calculate aide-déclaration-indépendant: débit de tabac 1`] = ` -"[5651,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: débit de tabac 1`] = `"[5651,0]"`; exports[`calculate aide-déclaration-indépendant: international 1`] = ` "[14610,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire, impôt . domiciliation étranger non implémentée" +Notifications affichées : impôt . domiciliation étranger non implémentée" `; -exports[`calculate aide-déclaration-indépendant: international 2`] = ` -"[11875,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: international 2`] = `"[11875,0]"`; -exports[`calculate aide-déclaration-indépendant: nature de l'activité 1`] = ` -"[11362,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: nature de l'activité 1`] = `"[11362,0]"`; -exports[`calculate aide-déclaration-indépendant: nature de l'activité 2`] = ` -"[1292,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: nature de l'activité 2`] = `"[1292,0]"`; -exports[`calculate aide-déclaration-indépendant: nature de l'activité 3`] = ` -"[11368,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: nature de l'activité 3`] = `"[11368,0]"`; -exports[`calculate aide-déclaration-indépendant: nature de l'activité 4`] = ` -"[1293,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: nature de l'activité 4`] = `"[1293,0]"`; exports[`calculate aide-déclaration-indépendant: nature de l'activité 5`] = ` "[11368,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire, entreprise . chiffre d'affaires . franchise de TVA dépassée . notification" +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA dépassée . notification" `; -exports[`calculate aide-déclaration-indépendant: nature de l'activité 6`] = ` -"[1293,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: nature de l'activité 6`] = `"[1293,0]"`; exports[`calculate aide-déclaration-indépendant: nature de l'activité 7`] = ` "[9453,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire, entreprise . chiffre d'affaires . franchise de TVA dépassée . notification" +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA dépassée . notification" `; exports[`calculate aide-déclaration-indépendant: échelle de revenus 1`] = ` "[1041,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire, entreprise . imposition . IR . information sur le report de déficit" +Notifications affichées : entreprise . imposition . IR . information sur le report de déficit" `; exports[`calculate aide-déclaration-indépendant: échelle de revenus 2`] = ` "[1041,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire, entreprise . imposition . IR . information sur le report de déficit" +Notifications affichées : entreprise . imposition . IR . information sur le report de déficit" `; -exports[`calculate aide-déclaration-indépendant: échelle de revenus 3`] = ` -"[1058,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: échelle de revenus 3`] = `"[1058,0]"`; -exports[`calculate aide-déclaration-indépendant: échelle de revenus 4`] = ` -"[1090,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: échelle de revenus 4`] = `"[1090,0]"`; -exports[`calculate aide-déclaration-indépendant: échelle de revenus 5`] = ` -"[1293,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: échelle de revenus 5`] = `"[1293,0]"`; -exports[`calculate aide-déclaration-indépendant: échelle de revenus 6`] = ` -"[2104,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate aide-déclaration-indépendant: échelle de revenus 6`] = `"[2104,0]"`; exports[`calculate aide-déclaration-indépendant: échelle de revenus 7`] = ` "[20929,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire, entreprise . chiffre d'affaires . franchise de TVA dépassée . notification" +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA dépassée . notification" `; exports[`calculate aide-déclaration-indépendant: échelle de revenus 8`] = ` "[106448,0] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire, entreprise . chiffre d'affaires . franchise de TVA dépassée . notification" +Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA dépassée . notification" `; exports[`calculate simulations-artiste-auteur: bnc 1`] = `"[1230]"`; @@ -402,10 +324,7 @@ exports[`calculate simulations-professions-libérales: médecin 5`] = ` Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA dépassée . notification" `; -exports[`calculate simulations-professions-libérales: médecin 6`] = ` -"[50000,0,10693,39307,4839,34468] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate simulations-professions-libérales: médecin 6`] = `"[50000,0,10663,39337,4842,34495]"`; exports[`calculate simulations-professions-libérales: sage-femme 1`] = `"[50000,0,12354,37646,4641,33005]"`; @@ -554,20 +473,11 @@ exports[`calculate simulations-rémunération-dirigeant (auto-entrepreneur): éc Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA dépassée . notification" `; -exports[`calculate simulations-rémunération-dirigeant (indépendant): ACRE 1`] = ` -"[0,8392,0,6102,4,21] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate simulations-rémunération-dirigeant (indépendant): ACRE 1`] = `"[0,8392,0,6102,4,21]"`; -exports[`calculate simulations-rémunération-dirigeant (indépendant): ACRE 2`] = ` -"[0,16871,0,12270,4,24] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate simulations-rémunération-dirigeant (indépendant): ACRE 2`] = `"[0,16871,0,12270,4,24]"`; -exports[`calculate simulations-rémunération-dirigeant (indépendant): ACRE 3`] = ` -"[0,22331,0,16308,4,32] -Notifications affichées : dirigeant . indépendant . avertissement base forfaitaire" -`; +exports[`calculate simulations-rémunération-dirigeant (indépendant): ACRE 3`] = `"[0,22331,0,16308,4,32]"`; exports[`calculate simulations-rémunération-dirigeant (indépendant): Contrats Madelin 1`] = `"[0,16820,0,13327,4,24]"`; diff --git a/publicodes/core/source/mecanisms/recalcul.ts b/publicodes/core/source/mecanisms/recalcul.ts index 7b7327877..b5cbaef07 100644 --- a/publicodes/core/source/mecanisms/recalcul.ts +++ b/publicodes/core/source/mecanisms/recalcul.ts @@ -1,11 +1,10 @@ import { EvaluationFunction } from '..' -import { ASTNode } from '../AST/types' +import { ASTNode, EvaluatedNode } from '../AST/types' import { defaultNode } from '../evaluation' import { registerEvaluationFunction } from '../evaluationFunctions' import parse from '../parse' import { ReferenceNode } from '../reference' import { disambiguateRuleReference } from '../ruleUtils' -import { EvaluatedNode } from '../AST/types' import { serializeUnit } from '../units' export type RecalculNode = { diff --git a/publicodes/ui-react/source/mecanisms/TauxProgressif.tsx b/publicodes/ui-react/source/mecanisms/TauxProgressif.tsx index ca8cbd865..f4feab694 100644 --- a/publicodes/ui-react/source/mecanisms/TauxProgressif.tsx +++ b/publicodes/ui-react/source/mecanisms/TauxProgressif.tsx @@ -1,5 +1,5 @@ import { BarèmeAttributes, StyledComponent, TrancheTable } from './Barème' -import { Mecanism, NodeValuePointer } from './common' +import { Mecanism } from './common' export default function TauxProgressif({ nodeValue, explanation, unit }) { return ( @@ -11,12 +11,6 @@ export default function TauxProgressif({ nodeValue, explanation, unit }) { tranches={explanation.tranches} multiplicateur={explanation.multiplicateur} /> - {nodeValue != null && ( - <> - Taux calculé : {' '} - - - )}