Ajoute les cotisations forfaitaire de début d'activité

pull/1494/head
Johan Girod 2021-04-08 18:01:46 +02:00
parent 292aad317e
commit b1d7325739
13 changed files with 405 additions and 358 deletions

View File

@ -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 dactivité.
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 dactivité.
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

View File

@ -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:

View File

@ -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:

View File

@ -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')

View File

@ -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 (
<Animate.fromBottom>
<div
className="ui__ lighter-bg card"
css={`
padding: 1rem;
padding-top: 0.1rem;
`}
>
<h2>{rule.title}</h2>
<p className="ui__ lead">
Montant des cotisations forfaitaires :{' '}
<strong>
<Value expression="dirigeant . indépendant . cotisations et contributions . début activité" />
</strong>
</p>
<div className="ui__ notice">
<Markdown source={rule.rawNode.description} />
</div>
{rule.rawNode.références && (
<p
css={`
text-align: right;
`}
>
<a
className="ui__ small button"
href={Object.values(rule.rawNode.références)[0]}
>
<Emoji emoji="👉" /> <Trans>Voir la fiche Urssaf</Trans>
</a>
</p>
)}
</div>
</Animate.fromBottom>
)
}

View File

@ -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 (
<>
<Condition expression="dirigeant . indépendant . cotisations et contributions . début activité">
<CotisationsForfaitaires />
</Condition>
<Condition expression="entreprise . activité . libérale réglementée">
<PLExplanation />
</Condition>
@ -59,123 +58,6 @@ export default function IndépendantExplanation() {
)
}
function PLExplanation() {
const unit = useSelector(targetUnitSelector)
return (
<section>
<Trans i18nKey="simulateurs.explanation.pamc">
<Animate.fromBottom>
<h2>Vos institutions partenaires</h2>
<div className="ui__ box-container">
<div className="ui__ card box">
<a target="_blank" href="https://www.urssaf.fr/portail/home.html">
<LogoImg src={urssafSrc} title="logo Urssaf" />
</a>
<p className="ui__ notice">
Les cotisations recouvrées par l'Urssaf, qui servent au
financement de la sécurité sociale (assurance maladie,
allocations familiales, dépendance)
</p>
<p className="ui__ lead">
<Value
unit={unit}
displayedUnit="€"
expression="dirigeant . indépendant . PL . cotisations Urssaf"
/>
</p>
</div>
<CaisseRetraite />
<Condition expression="dirigeant . indépendant . PL . PAMC . participation CPAM > 0">
<div className="ui__ card box">
<a
target="_blank"
href="https://www.ameli.fr/assure/droits-demarches/salaries-travailleurs-independants-et-personnes-sans-emploi/emploi-independant-non-salarie/praticien-auxiliaire-medical"
>
<LogoImg src={assuranceMaladieSrc} title="Logo CPAM" />
</a>
<p className="ui__ notice">
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.
</p>
<p className="ui__ lead">
<Emoji emoji="🎁" />{' '}
<Value
unit={unit}
displayedUnit="€"
expression="dirigeant . indépendant . PL . PAMC . participation CPAM"
/>
</p>
</div>
</Condition>
</div>
<Condition expression="dirigeant . indépendant . cotisations et contributions . exonérations . ACRE > 0">
<p className="ui__ notice">
{' '}
Les montants indiqués ci-dessus sont calculés sans prendre en
compte l'exonération de début d'activité ACRE
</p>
</Condition>
</Animate.fromBottom>
</Trans>
</section>
)
}
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 (
<Condition expression={dottedName} key={caisse}>
<div className="ui__ card box">
<a
target="_blank"
href={références && Object.values(références)[0]}
>
<LogoImg src={logosSrc[caisse]} title={`logo ${caisse}`} />
</a>
<p className="ui__ notice">
{description}{' '}
<Trans i18nKey="simulateurs.explanation.CNAPL">
Elle recouvre les cotisations liées à votre retraite et au
régime d'invalidité-décès.
</Trans>
</p>
<p className="ui__ lead">
<Value
unit={unit}
displayedUnit="€"
expression="dirigeant . indépendant . PL . cotisations caisse de retraite"
/>
</p>
</div>
</Condition>
)
})}
</>
)
}
const LogoImg = styled.img`
padding: 1rem;
height: 5rem;
`
const CotisationsSection: Partial<Record<DottedName, Array<string>>> = {
'protection sociale . retraite': [
'dirigeant . indépendant . cotisations et contributions . retraite de base',

View File

@ -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 (
<section>
<Trans i18nKey="simulateurs.explanation.pamc">
<Animate.fromBottom>
<h2>Vos institutions partenaires</h2>
<div className="ui__ box-container">
<div className="ui__ card box">
<a target="_blank" href="https://www.urssaf.fr/portail/home.html">
<LogoImg src={urssafSrc} title="logo Urssaf" />
</a>
<p className="ui__ notice">
Les cotisations recouvrées par l'Urssaf, qui servent au
financement de la sécurité sociale (assurance maladie,
allocations familiales, dépendance)
</p>
<p className="ui__ lead">
<Value
unit={unit}
displayedUnit="€"
expression="dirigeant . indépendant . PL . cotisations Urssaf"
/>
</p>
</div>
<CaisseRetraite />
<Condition expression="dirigeant . indépendant . PL . PAMC . participation CPAM > 0">
<div className="ui__ card box">
<a
target="_blank"
href="https://www.ameli.fr/assure/droits-demarches/salaries-travailleurs-independants-et-personnes-sans-emploi/emploi-independant-non-salarie/praticien-auxiliaire-medical"
>
<LogoImg src={assuranceMaladieSrc} title="Logo CPAM" />
</a>
<p className="ui__ notice">
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.
</p>
<p className="ui__ lead">
<Emoji emoji="🎁" />{' '}
<Value
unit={unit}
displayedUnit="€"
expression="dirigeant . indépendant . PL . PAMC . participation CPAM"
/>
</p>
</div>
</Condition>
</div>
<Condition expression="dirigeant . indépendant . cotisations et contributions . exonérations . ACRE > 0">
<p className="ui__ notice">
{' '}
Les montants indiqués ci-dessus sont calculés sans prendre en
compte l'exonération de début d'activité ACRE
</p>
</Condition>
</Animate.fromBottom>
</Trans>
</section>
)
}
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 (
<Condition expression={dottedName} key={caisse}>
<div className="ui__ card box">
<a
target="_blank"
href={références && Object.values(références)[0]}
>
<LogoImg src={logosSrc[caisse]} title={`logo ${caisse}`} />
</a>
<p className="ui__ notice">
{description}{' '}
<Trans i18nKey="simulateurs.explanation.CNAPL">
Elle recouvre les cotisations liées à votre retraite et au
régime d'invalidité-décès.
</Trans>
</p>
<p className="ui__ lead">
<Value
unit={unit}
displayedUnit="€"
expression="dirigeant . indépendant . PL . cotisations caisse de retraite"
/>
</p>
</div>
</Condition>
)
})}
</>
)
}
const LogoImg = styled.img`
padding: 1rem;
height: 5rem;
`

View File

@ -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;
}
}

View File

@ -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 dactivité.
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 dactivité.
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

View File

@ -179,6 +179,7 @@ Un seul associé: Only one partner
Une idée&nbsp;?<1></1>Contactez-nous&nbsp;!: Any ideas?<1></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

View File

@ -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]"`;

View File

@ -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 = {

View File

@ -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 && (
<>
<b>Taux calculé : </b>{' '}
<NodeValuePointer data={nodeValue * 100} unit={unit} />
</>
)}
</ul>
</Mecanism>
</StyledComponent>