Crée des documentation explorables pour chacun des éléments du tableau

pull/2394/head
Johan Girod 2022-11-09 17:00:07 +01:00
parent 72a7dc5036
commit ca31f1675c
56 changed files with 2080 additions and 1494 deletions

View File

@ -30,7 +30,7 @@
"@apidevtools/swagger-cli": "^4.0.4",
"@koa/cors": "^3.3.0",
"@koa/router": "^10.1.1",
"@publicodes/api": "^1.0.0-beta.60",
"@publicodes/api": "^1.0.0-beta.61",
"@sentry/node": "^7.1.1",
"@sentry/tracing": "^7.1.1",
"got": "^12.5.1",
@ -40,7 +40,7 @@
"koa-static": "^5.0.0",
"modele-social": "workspace:^",
"nodemon": "^2.0.16",
"publicodes": "^1.0.0-beta.60",
"publicodes": "^1.0.0-beta.61",
"rate-limiter-flexible": "^2.3.8",
"swagger-ui-dist": "^4.11.1"
},

View File

@ -262,10 +262,10 @@ exports[`e2e test mon-entreprise api > Test evaluate brut => net + super brut 2`
},
{
"missingVariables": {
"dirigeant . gérant minoritaire": 798729,
"dirigeant . gérant minoritaire": 798693,
"entreprise . TVA": 5,
"entreprise . association non lucrative": 11,
"entreprise . catégorie juridique": 5750669,
"entreprise . catégorie juridique": 5750385,
"entreprise . salariés . effectif . seuil": 515,
"salarié . activité partielle": 24153,
"salarié . contrat": 193409,
@ -579,6 +579,7 @@ exports[`e2e test mon-entreprise api > Test evaluate micro entreprise 2`] = `
"DRI . accompagnement imposition . régime memento fiscal . MICROE",
"entreprise . activité . service ou vente",
"entreprise . chiffre d'affaires . service BNC",
"entreprise . chiffre d'affaires",
"dirigeant . auto-entrepreneur . chiffre d'affaires",
"dirigeant . auto-entrepreneur . cotisations et contributions . cotisations . taux vente restauration hébergement",
"entreprise . chiffre d'affaires . vente restauration hébergement",
@ -601,7 +602,7 @@ exports[`e2e test mon-entreprise api > Test evaluate micro entreprise 2`] = `
},
{
"missingVariables": {
"entreprise . activité . mixte": 278,
"entreprise . activité . mixte": 410,
"établissement . commune . département": 18,
"établissement . commune . département . outre-mer": 7,
},
@ -636,6 +637,7 @@ exports[`e2e test mon-entreprise api > Test evaluate micro entreprise 2`] = `
"entreprise . catégorie juridique . EI",
"dirigeant . indépendant",
"dirigeant . auto-entrepreneur . impôt . revenu imposable",
"entreprise . imposition . régime . micro-entreprise . revenu abattu",
"entreprise . imposition . régime . micro-entreprise",
"entreprise . imposition . IS",
"DRI . accompagnement imposition . régime memento fiscal . RSI",
@ -644,14 +646,6 @@ exports[`e2e test mon-entreprise api > Test evaluate micro entreprise 2`] = `
"DRI . accompagnement imposition . régime memento fiscal . DECC",
"DRI . accompagnement imposition . régime memento fiscal . SPECIAL",
"DRI . accompagnement imposition . régime memento fiscal . MICROE",
"entreprise . chiffre d'affaires . vente restauration hébergement",
"entreprise . activité . service ou vente",
"entreprise . chiffre d'affaires . service BIC",
"déclaration charge sociales",
"dirigeant . indépendant . PL",
"entreprise . activité . mixte",
"entreprise . chiffre d'affaires . service BNC",
"dirigeant . auto-entrepreneur . chiffre d'affaires",
"bénéficiaire . dividendes . imposables",
"dirigeant . auto-entrepreneur . impôt . versement libératoire . montant",
],
@ -666,7 +660,7 @@ exports[`e2e test mon-entreprise api > Test evaluate micro entreprise 2`] = `
},
{
"missingVariables": {
"entreprise . activité . mixte": 344,
"entreprise . activité . mixte": 476,
"établissement . commune . département": 18,
"établissement . commune . département . outre-mer": 7,
},
@ -675,6 +669,8 @@ exports[`e2e test mon-entreprise api > Test evaluate micro entreprise 2`] = `
"dirigeant . auto-entrepreneur . revenu net . après impôt",
"dirigeant . auto-entrepreneur",
"dirigeant . auto-entrepreneur . revenu net",
"entreprise . chiffre d'affaires",
"dirigeant . auto-entrepreneur . chiffre d'affaires",
"dirigeant . auto-entrepreneur . cotisations et contributions",
"dirigeant",
"dirigeant . régime social",
@ -712,7 +708,6 @@ exports[`e2e test mon-entreprise api > Test evaluate micro entreprise 2`] = `
"DRI . accompagnement imposition . régime memento fiscal . MICROE",
"entreprise . activité . service ou vente",
"entreprise . chiffre d'affaires . service BNC",
"dirigeant . auto-entrepreneur . chiffre d'affaires",
"dirigeant . auto-entrepreneur . cotisations et contributions . cotisations . taux vente restauration hébergement",
"entreprise . chiffre d'affaires . vente restauration hébergement",
"dirigeant . auto-entrepreneur . cotisations et contributions . TFC",
@ -741,6 +736,7 @@ exports[`e2e test mon-entreprise api > Test evaluate micro entreprise 2`] = `
"dirigeant . assimilé salarié",
"dirigeant . indépendant",
"dirigeant . auto-entrepreneur . impôt . revenu imposable",
"entreprise . imposition . régime . micro-entreprise . revenu abattu",
"bénéficiaire . dividendes . imposables",
"dirigeant . auto-entrepreneur . impôt . versement libératoire . montant",
],
@ -841,6 +837,231 @@ Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il
[ Avertissement ]
⚠️ Dans l'expression '<', la partie gauche (unité: jour) n'est pas compatible avec la partie droite (unité: ans)",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . RSI\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . RN\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . DECC\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . SPECIAL\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . MICROE\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . RSI\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . RN\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . DECC\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . SPECIAL\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . MICROE\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . RSI\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . RN\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . DECC\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . SPECIAL\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . MICROE\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . RSI\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . RN\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . DECC\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . SPECIAL\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . MICROE\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . RSI\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . RN\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . DECC\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . SPECIAL\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
{
"message": "
[ Avertissement ]
➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . MICROE\\"
⚠️ Cette règle est tagguée comme experimentale.
Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il n'y ait de changement de version majeure dans l'API.
",
},
],
}
`;

View File

@ -1,5 +1,27 @@
# Journal des modifications
## 1.2.0
### Fix et réecritures
- Répare lACRE qui ne fonctionnait plus pour les SASU, en ajoutant une règle `dirigeant . assimilé salarié . cotisations`
- La règle `dirigeant . auto-entrepreneur . impôt . revenu imposable` est maintenant une simple indirection vers `entreprise . imposition . régime . micro-entreprise . revenu abattu` (auparavant, elle réimplémentait la même logique)
- La règles `dirigeant . auto-entrepreneur . chiffres d'affaires` ne remplace plus `entreprise . chiffre d'affaires`. On peut donc utiliser de manière indiférenciée `entreprise . chiffre d'affaires` ou `dirigeant . auto-entrepreneur . chiffres d'affaires` pour spécifier le chiffre daffaires de lauto-entrepreneur
### Nouveautés legislatives
- Lassiette minimale retraite pour les indépendant a été modifiée courant de lannée pour pouvoir assurer 3 trimestres validés (ce nétait pas le cas avec la valeur par défaut). Création de la règle `dirigeant . indépendant . assiette minimale . retraite . en 2022`
- Le taux de cotisation indemnité maladie des conjoints collaborateur AC/PLNR est de 0,50% desormais (au lieu dêtre aligné sur celui du gérant)
### Protection sociale : implémentation de la retraite et des IJSS en `experimental`
- Suppression du montant estimé de la retraite, au profit de deux nouvelles règles, plus representative :
- `protection sociale . retraite . base . cotisée` qui correspond au revenu pris en compte pour les 25 meilleures années dans le calcul de la pension de la retraite de base
- `protection sociale . retraite . complémentaire` qui correspond au supplément de pension de retraite acquis grâce à une année complète de cotisation retraite complémentaire
- Uniformisation du calcul de `protection sociale . retraite . trimestres` entre les salariés et les indépendants
- Renommage de `protection sociale . santé` en `protection sociale . maladie` qui est le nom « officiel » de la branche
- Ajout de `protection sociale . maladie . arrêt maladie . indemnités` pour le montant des indemnités journalière versées par la CPAM en cas darrêt maladie.
## 1.1.0
### Loi du 16 août 2022 portant mesures durgence pour la protection du pouvoir dachat

View File

@ -1,6 +1,6 @@
{
"name": "modele-social",
"version": "1.1.0",
"version": "1.2.0",
"description": "Les règles publicodes du système social français",
"type": "module",
"main": "./dist/index.js",

View File

@ -60,8 +60,10 @@ dirigeant . rémunération . totale:
- sinon: entreprise . chiffre d'affaires - entreprise . charges
dirigeant . rémunération . net:
titre: revenu net
question: Quelle est votre revenu net ?
titre: Rémunération nette
arrondi: oui
unité: €/mois
question: Quelle est votre rémunération nette ?
résumé: Après déduction des cotisations, contributions et charges
somme:
- rémunération . totale
@ -98,7 +100,7 @@ dirigeant . rémunération . impôt:
dirigeant . rémunération . net . après impôt:
titre: Revenu après impôt
unité: €/an
unité: €/mois
arrondi: oui
question: Quel est le revenu net après impôt souhaité ?
description: >-
@ -203,6 +205,7 @@ dirigeant . assimilé salarié . cotisations:
abattement: réduction ACRE . montant
dirigeant . assimilé salarié . réduction ACRE:
experimental: oui
applicable si: dirigeant . exonérations . ACRE
non applicable si: salarié . cotisations . assiette > 100% * plafond sécurité sociale
avec:
@ -277,7 +280,6 @@ dirigeant . auto-entrepreneur:
dirigeant . auto-entrepreneur . revenu net:
arrondi: oui
unité: €/an
remplace: rémunération . net
identifiant court: auto-entrepreneur-net
résumé: Avant impôt
question: Quel revenu avant impôt voulez-vous toucher ?
@ -542,7 +544,6 @@ dirigeant . auto-entrepreneur . revenu net . après impôt:
identifiant court: auto-entrepreneur-net-apres-impot
résumé: Avant déduction des dépenses liées à l'activité
unité: €/an
remplace: rémunération . net . après impôt
arrondi: oui
question: Quel est le revenu net après impôt souhaité ?
description: >-
@ -568,12 +569,10 @@ dirigeant . auto-entrepreneur . revenu net . après impôt:
dirigeant . auto-entrepreneur . chiffre d'affaires:
question: Quel est votre chiffre d'affaires ?
résumé: Montant total des recettes (hors taxe)
remplace: entreprise . chiffre d'affaires
inversion numérique:
avec:
- rémunération . totale
- revenu net . après impôt
- revenu net
- revenu net . après impôt
dirigeant . indépendant:
applicable si: régime social = 'indépendant'
@ -826,7 +825,11 @@ dirigeant . indépendant . conjoint collaborateur . cotisations . indemnités jo
assiette:
unité: €/an
valeur: 40% * plafond sécurité sociale
taux: cotisations et contributions . indemnités journalières maladie . taux
taux:
variations:
- si: date >= 01/2022
alors: 0.50%
- sinon: cotisations et contributions . indemnités journalières maladie . taux
arrondi: oui
dirigeant . indépendant . cotisations et contributions . cotisations:
@ -893,6 +896,18 @@ dirigeant . indépendant . assiette minimale . retraite:
références:
cotisations minimales: https://www.secu-independants.fr/cotisations/calcul-cotisations/cotisations-minimales/
dirigeant . indépendant . assiette minimale . retraite . en 2022:
description: |
Lassiette minimale de 11,50% nétait pas suffisante pour valider 3 trimestres. Par conséquent cette assiette minimale a été révisée en cours dannée et sera appliquée de manière rétroactive à compté du 1er janvier 2022.
Lassiette minimale est de 4 758 € pour 2022 uniquement. Pour 2023, on repasse à une assiette minimale de 11,5% du PASS.
remplace: assiette minimale . retraite
applicable si:
toutes ces conditions:
- date >= 01/2022
- date < 01/2023
valeur: 4758 €/an
dirigeant . indépendant . cotisations et contributions . contributions spéciales:
description: |
Certains régimes spéciaux peuvent ajouter des contributions additionnelles

View File

@ -56,21 +56,24 @@ entreprise . durée d'activité . en début d'année:
entreprise . chiffre d'affaires:
question: Quel est votre chiffre d'affaires envisagé ?
identifiant court: CA
résumé: Montant total des recettes brutes (hors taxe)
unité: €/an
somme:
- dirigeant . rémunération . net . après impôt
- dirigeant . rémunération . impôt
- dirigeant . rémunération . cotisations
- charges
- applicable si: imposition . IS
somme:
- imposition . IS . résultat net
- imposition . IS
plancher: 0€/an
arrondi: oui
identifiant court: CA
variations:
- si: dirigeant . auto-entrepreneur
alors: dirigeant . auto-entrepreneur . chiffre d'affaires
- sinon:
somme:
- dirigeant . rémunération . net . après impôt
- dirigeant . rémunération . impôt
- dirigeant . rémunération . cotisations
- charges
- applicable si: imposition . IS
somme:
- imposition . IS . résultat net
- imposition . IS
plancher: 0€/an
arrondi: oui
entreprise . chiffre d'affaires . vente restauration hébergement:
titre: Vente de biens, restauration, hébergement (BIC)

View File

@ -9,14 +9,13 @@ dirigeant . indépendant . PL . métier:
applicable si: entreprise . activité . nature . libérale . réglementée
par défaut: "'rattaché CIPAV'"
question: A quelle catégorie appartient votre profession ?
formule:
une possibilité:
choix obligatoire: oui
possibilités:
- santé
- avocat
- expert-comptable
- rattaché CIPAV
une possibilité:
choix obligatoire: oui
possibilités:
- santé
- avocat
- expert-comptable
- rattaché CIPAV
dirigeant . indépendant . PL . métier . rattaché CIPAV:
titre: Autre métier rattaché à la CIPAV
@ -52,15 +51,14 @@ dirigeant . indépendant . PL . métier . santé:
> *Exceptions* : Les ostéopathe, psychologue, psychothérapeute, ergothérapeute,
diététicien et chiropracteur ne dépendent pas du régime PAMC mais de la
CIPAV pour leur retraite et invalidité.
formule:
une possibilité:
choix obligatoire: oui
possibilités:
- médecin
- chirurgien-dentiste
- sage-femme
- auxiliaire médical
- pharmacien
une possibilité:
choix obligatoire: oui
possibilités:
- médecin
- chirurgien-dentiste
- sage-femme
- auxiliaire médical
- pharmacien
dirigeant . indépendant . PL . métier . santé . auxiliaire médical:
description: |
@ -517,7 +515,7 @@ dirigeant . indépendant . PL . CNAVPL . indemnités journalières maladie:
En conséquence une nouvelle cotisation est créée.
remplace:
- cotisations et contributions . indemnités journalières maladie
- règle: protection sociale . santé . indemnités journalières . TNS . raam . plafond
- règle: protection sociale . maladie . arrêt maladie . indemnités . indépendant . raam . plafond
par: assiette . plafond
non applicable si: PL . CNBF
produit:
@ -529,6 +527,7 @@ dirigeant . indépendant . PL . CNAVPL . indemnités journalières maladie:
valeur: 3 * plafond sécurité sociale
plancher: 40% * plafond sécurité sociale
taux:
nom: taux
variations:
- si: date >= 01/2022
alors: 0.30%
@ -602,10 +601,11 @@ dirigeant . indépendant . PL . CNAVPL . conjoint collaborateur . retraite:
dirigeant . indépendant . PL . CNAVPL . conjoint collaborateur . indemnités journalières maladie:
non applicable si: date < 01/01/2022
remplace: conjoint collaborateur . cotisations . indemnités journalières maladie
recalcul:
règle: indemnités journalières maladie
avec:
assiette des cotisations: 40% * plafond sécurité sociale
produit:
assiette: 40% * plafond sécurité sociale
taux: indemnités journalières maladie . taux
unité: €/an
arrondi: oui
dirigeant . indépendant . PL . PAMC:
applicable si:

View File

@ -4,6 +4,8 @@ protection sociale:
La protection sociale est composée de 5 branches principales : maladie, famille, accidents
du travail et maladies professionnelles, retraite et chômage. A cela s'ajoutent
aussi les cotisations pour la formation professionnelle et le transport.
références:
securite-sociale.fr: https://www.securite-sociale.fr/accueil
protection sociale . retraite:
icônes: 👵
@ -57,7 +59,7 @@ protection sociale . retraite . base:
protection sociale . retraite . base . cotisée:
titre: revenu cotisés pour la retraite de base
unité: €/an
unité: €/mois
arrondi: oui
variations:
- si: dirigeant . indépendant
@ -102,21 +104,36 @@ protection sociale . retraite . base . cotisée:
Il est comparé au seuil de 150 smic/h pour déterminer le nombre de trimestres à valider (revenu cotisé de lannée N /150 smic h).
protection sociale . retraite . complémentaire:
titre: Bonus retraite complémentaire acquis
non applicable si: dirigeant . auto-entrepreneur
description: |
Supplément de pension de retraite acquis grâce à une année complète de cotisation retraite complémentaire.
> Ce montant est succeptible de varier d'ici votre retraite, en fonction de la mise à jour de la valeur du point. Néanmoins il offre un ordre de grandeur, et permet de comparer les régimes de retraite complémentaire entre eux
arrondi: oui
unité: € de pension annuelle
somme:
- RCI
- AGIRC ARRCO
protection sociale . retraite . complémentaire . AGIRC ARRCO:
titre: AGIRC-ARRCO (salarié)
titre: Pension AGIRC-ARRCO (salarié) acquise pour un an
par défaut: 0
produit:
assiette: points acquis
taux: 1 an
facteur:
nom: valeur du point
variations:
- si: date >= 01/11/2022
alors: 1.2841 €/an/point
alors: 1.2841 de pension annuelle/point
- si: date >= 01/11/2021
alors: 1.2714 €/an/point
alors: 1.2714 de pension annuelle/point
- si: date >= 01/11/2020
alors: 1.2714 €/an/point
alors: 1.2714 de pension annuelle/point
- si: date >= 01/11/2019
alors: 1.2588 /an/point
alors: 1.2588 de pension annuelle/point
note: La revalorisation de la valeur du point a lieu au 1er novembre, et non au 1er janvier.
références:
service-public.fr: https://www.service-public.fr/particuliers/vosdroits/F15396
@ -141,7 +158,7 @@ protection sociale . retraite . complémentaire . AGIRC ARRCO:
- si: date >= 01/01/2019
alors: 17.0571 €/point
références:
barèmes agirc-arrco: https://www.agirc-arrco.fr/wp-content/uploads/2021/10/Historique_valeur_du_point_salaire_de_reference.pdf
barèmes agirc-arrco: https://www.agirc-arrco.fr/wp-content/uploads/2021/10/Compilation_valeurs_de_point_novembre-2022.pdf
protection sociale . retraite . complémentaire . RCI:
acronyme: RCI
@ -149,17 +166,18 @@ protection sociale . retraite . complémentaire . RCI:
non applicable si: dirigeant . indépendant . PL . CNAVPL
produit:
assiette: points acquis
taux: 1 an
facteur:
nom: valeur du point
variations:
- si: date >= 01/2022
alors: 1.221 /an/point
alors: 1.221 de pension annuelle/point
- si: date >= 01/2021
alors: 1.208 /an/point
alors: 1.208 de pension annuelle/point
- si: date >= 01/2020
alors: 1.203 /an/point
alors: 1.203 de pension annuelle/point
- si: date >= 01/01/2019
alors: 1.191 /an/point
alors: 1.191 de pension annuelle/point
références:
cnav.fr: https://www.lassuranceretraite.fr/portail-info/home/actif/travailleur-independant/calcul-retraite/retraite-complementaire.html
barèmes cnav.fr: https://www.legislation.cnav.fr/Pages/bareme.aspx?Nom=rci_valeur_point_bar
@ -208,7 +226,7 @@ protection sociale . retraite . CNAVPL:
nom: valeur du point
variations:
- si: date >= 01/2022
alors: 0.5795 /an/point
alors: 0.5795 de pension annuelle/point
avec:
points acquis:
somme:
@ -252,6 +270,7 @@ protection sociale . retraite . CNAVPL:
protection sociale . retraite . CNAVPL . CIPAV:
protection sociale . retraite . CNAVPL . CIPAV . complémentaire:
applicable si: dirigeant . indépendant . PL . CIPAV
remplace: retraite . complémentaire
produit:
assiette: points acquis
facteur:
@ -299,8 +318,9 @@ protection sociale . retraite . CNAVPL . CIPAV . trimestres auto-entrepreneur:
références:
Le régime retraite de base des auto-entrepreneur: https://www.lacipav.fr/sites/default/files/2022-01/Guide%20pratique%202022%20-%20Auto-entrepreneurs%20-%20La%20Cipav_0.pdf?page=10
protection sociale . santé:
protection sociale . maladie:
icônes: 🏥
titre: assurance maladie
type: branche
résumé: Couvre la plupart des soins de santé de la vie quotidienne et 100 % des maladies graves comme les séjours à l'hôpital.
description: |
@ -313,12 +333,91 @@ protection sociale . santé:
## L'assurance maladie en France en quelques chiffres
- **92 %** des dépenses de santé remboursées en moyenne par l'assurance maladie et la complémentaire
- **30 000 € / an / patient** : exemple de prise en charge complète pour une personne atteinte de mucoviscidose
- **1 468 € / mois** : indémnité versée par la sécurité sociale pour un congé maternité (salaire moyen)
- **82,4 ans** despérance de vie moyenne en france (dans le top 10 mondial 🏅)
références:
ameli.fr: https://assurance-maladie.ameli.fr/sites/default/files/ra-2017_agir-ensemble-proteger-chacun.pdf
OCDE: https://read.oecd-ilibrary.org/social-issues-migration-health/health-at-a-glance-europe-2018_health_glance_eur-2018-en#page89
À quel organisme de sécurité sociale est-on rattaché pour l'assurance maladie ?: https://www.service-public.fr/particuliers/vosdroits/F648
Ce qui est remboursé pour tout le monde: https://www.ameli.fr/assure/remboursements/rembourse
Rapport d'activité de l'assurance maladie 2017 (PDF): https://assurance-maladie.ameli.fr/sites/default/files/ra-2017_agir-ensemble-proteger-chacun.pdf
Rapport OCDE sur l'esperance de vie dans les différents pays: https://read.oecd-ilibrary.org/social-issues-migration-health/health-at-a-glance-europe-2018_health_glance_eur-2018-en#page89
protection sociale . maladie . arrêt maladie:
titre:
description: >-
Si vous êtes en arrêt de travail pour maladie, vous avez droit à des indemnités journalières (IJ) versées par votre régime d'assurance maladie (CPAM, MSA,...).
Les conditions d'indemnisation varient en fonction de votre régime de protection sociale.
non applicable si:
toutes ces conditions:
- entreprise . activité . nature . libérale . réglementée
- dirigeant . indépendant . PL . régime général = non
note: |
Nous n'avons implémenté les indemnités des régimes particuliers des
professions libérales réglementées. Pour une liste exaustive des
indemnisation, consultez [ce
site](https://www.coover.fr/prevoyance/tns/arret-maladie-profession-liberale)
avec:
délai de carence:
description: |
Pendant les 3 premiers jours de votre arrêt de travail, aucune indemnité journalière ne vous est versée ; c'est ce que l'on appelle le délai de carence. Il s'applique au début de chaque arrêt de travail.
valeur: 3 jour
références:
Délai de carence pour les salarié: https://www.service-public.fr/particuliers/vosdroits/F3053#fiche-item-aria-3
Délai de carence pour les indépendants: https://www.ameli.fr/assure/remboursements/indemnites-journalieres/arret-maladie-artisans-commercants#text_124978
conditions:
titre: condition d'indemnisation
protection sociale . maladie . arrêt maladie . indemnités:
description: |
Les indemnités journalières vous sont versées par l'Assurance Maladie pour compenser votre revenu pendant larrêt de travail. Sous certaines conditions, vous pouvez percevoir des indemnités journalières après un délai de carence de 3 jours. Elles sont calculées à partir de vos revenus cotisés et elles sont versées tous les 14 jours en moyenne.
À noter : vos relevés d'indemnités journalières valident également vos droits à la retraite. Conservez-les sans limitation de durée.
somme:
- indemnités . salarié
- indépendant
avec:
indépendant:
applicable si:
une de ces conditions:
- dirigeant . indépendant
- dirigeant . auto-entrepreneur
unité: €/jour
produit:
assiette: raam
facteur: 1 an / 730 jour
avec:
raam:
titre: Revenu dactivité annuel moyen
valeur:
variations:
- si: dirigeant . indépendant
alors: dirigeant . indépendant . cotisations et contributions . indemnités journalières maladie . assiette
- si: dirigeant . auto-entrepreneur
alors: dirigeant . auto-entrepreneur . impôt . revenu imposable
plafond:
nom: plafond
valeur: plafond sécurité sociale
références:
Quelles indemnités journalières pour les artisans/commerçants: https://www.ameli.fr/assure/remboursements/indemnites-journalieres/arret-maladie-artisans-commercants#text_124972
Quelles indemnités journalières pour les professions libérales: https://www.ameli.fr/assure/remboursements/indemnites-journalieres/arret-maladie-profession-liberale#text_170670
salarié:
unité: €/jour
par défaut: 0
description: |
L'indemnité journalière que vous recevrez pendant votre arrêt de travail est égale à 50 % de votre salaire journalier de base. Celui-ci est calculé sur la moyenne des salaires bruts des 3 derniers mois précédant votre arrêt de travail (12 mois en cas d'activité saisonnière).
**À noter :** votre entreprise est peut-être soumise à une convention collective de branche professionnelle qui assure le maintien de votre salaire intégral ou partiel pendant votre arrêt de travail pour maladie. Elle peut aussi avoir conclu un accord interne à lentreprise qui prévoit ce maintien, appelé subrogation. Renseignez-vous auprès du service qui gère la paye dans votre entreprise.
notes: Vu que le simulateur ne permet pas encore la conversion de période vers le jour, on multiplie le salaire moyen par 3 pour avoir le salaire trimestriel, puis on le divise par 91.25, conformément à la fiche service-public.fr
produit:
assiette:
valeur: salarié . rémunération . brut / 91.25 jour/trimestre
plafond: 1.8 * SMIC
taux: 50%
références:
'Arrêt de travail pour maladie : les indemnités journalières du salarié': https://www.ameli.fr/assure/remboursements/indemnites-journalieres/arret-maladie-salarie
'Arrêt maladie : indemnités journalières versées au salarié': https://www.service-public.fr/particuliers/vosdroits/F3053
protection sociale . invalidité et décès:
icônes: 🦽
@ -333,65 +432,6 @@ protection sociale . invalidité et décès:
capital décès (salarié privé): https://www.service-public.fr/particuliers/vosdroits/F3005
pension invalidité: https://www.service-public.fr/particuliers/vosdroits/F672
protection sociale . santé . indemnités journalières:
description: >-
Les indemnités journalières vous sont versées par l'Assurance Maladie pour compenser
votre revenu pendant un arrêt de travail. Elles sont calculées à partir de votre revenu
brut et versées tous les 14 jours en moyenne.
non applicable si:
toutes ces conditions:
- entreprise . activité . nature . libérale . réglementée
- dirigeant . indépendant . PL . régime général = non
unité: €/jour
note: |
Nous n'avons implémenté les indemnités des régimes particuliers des
professions libérales réglementées. Pour une liste exaustive des
indemnisation, consultez [ce
site](https://www.coover.fr/prevoyance/tns/arret-maladie-profession-liberale)
formule:
somme:
- indemnités journalières . TNS
- indemnités journalières . salarié
protection sociale . santé . indemnités journalières . TNS:
applicable si:
une de ces conditions:
- dirigeant . indépendant
- dirigeant . auto-entrepreneur
unité: €/jour
produit:
assiette: raam
facteur: 1 an / 730 jour
avec:
raam:
titre: Revenu dactivité annuel moyen
valeur:
variations:
- si: dirigeant . indépendant
alors: dirigeant . indépendant . cotisations et contributions . indemnités journalières maladie . assiette
- si: dirigeant . auto-entrepreneur
alors: dirigeant . auto-entrepreneur . impôt . revenu imposable
plafond:
nom: plafond
valeur: plafond sécurité sociale
reférences:
Quelles indemnités journalières pour les artisans/commerçants: https://www.ameli.fr/assure/remboursements/indemnites-journalieres/arret-maladie-artisans-commercants#text_124972
Quelles indemnités journalières pour les professions libérales: https://www.ameli.fr/assure/remboursements/indemnites-journalieres/arret-maladie-profession-liberale#text_170670
protection sociale . santé . indemnités journalières . salarié:
unité: €/jour
notes: Vu que le simulateur ne permet pas encore la conversion de période vers le jour, on multiplie le salaire moyen par 3 pour avoir le salaire trimestriel, puis on le divise par 91.25, conformément à la fiche service-public.fr
applicable si: salarié
formule:
produit:
assiette: 5
taux: 50%
plafond: 1.8 * SMIC
reférences:
service-public.fr: https://www.service-public.fr/particuliers/vosdroits/F3053
protection sociale . assurance chômage:
icônes: 💸
type: assurance

View File

@ -128,32 +128,32 @@ salarié . contrat . apprentissage . diplôme préparé . niveau supérieur au b
formule: diplôme préparé = 'niveau supérieur au bac'
description: Concerne les diplôme de niveau I (Master, Ingénieur, Grandes écoles...), de niveau II (License, BMS...), et de niveau III (BTS, SUT, BM, ...)
salarié . contrat . apprentissage . durée:
icônes:
titre: durée du contrat
question: Quelle est la durée du contrat ?
plancher: 6 mois
plafond: 3 ans # TODO 4 ans les travailleurs handicapé
description: |
Le contrat d'apprentissage est un contrat écrit de droit privé.
# salarié . contrat . apprentissage . durée:
# icônes:
# titre: durée du contrat
# question: Quelle est la durée du contrat ?
# plancher: 6 mois
# plafond: 3 ans # TODO 4 ans les travailleurs handicapé
# description: |
# Le contrat d'apprentissage est un contrat écrit de droit privé.
Il peut être à durée limitée (CDL) d'une durée de 6 mois au minimum à 3 ans au maximum
références:
Contrat d'apprentissage: https://www.service-public.fr/particuliers/vosdroits/F2918/personnalisation/resultat?lang=&quest0=0&quest=
suggestions:
3 ans: 3 ans
2 ans: 2 ans
1 an: 1 an
6 mois: 6 mois
par défaut: 2 ans
# Il peut être à durée limitée (CDL) d'une durée de 6 mois au minimum à 3 ans au maximum
# références:
# Contrat d'apprentissage: https://www.service-public.fr/particuliers/vosdroits/F2918/personnalisation/resultat?lang=&quest0=0&quest=
# suggestions:
# 3 ans: 3 ans
# 2 ans: 2 ans
# 1 an: 1 an
# 6 mois: 6 mois
# par défaut: 2 ans
salarié . contrat . apprentissage . trimestres validés pour la retraite:
remplace: protection sociale . retraite . trimestres
valeur: salarié . contrat . apprentissage . durée * 4 trimestres validés/an - 0.5
arrondi: oui
reference:
Site réglementaire de la retraite du régime général: https://www.legislation.cnav.fr/Pages/expose.aspx?Nom=cotisation_salaire_type_activite_apprenti_ex
note: On arrondi à l'unité inférieur, d'où la soustraction de 0.5
# salarié . contrat . apprentissage . trimestres validés pour la retraite:
# remplace: protection sociale . retraite . trimestres
# valeur: salarié . contrat . apprentissage . durée * 4 trimestres validés/an - 0.5
# arrondi: oui
# reference:
# Site réglementaire de la retraite du régime général: https://www.legislation.cnav.fr/Pages/expose.aspx?Nom=cotisation_salaire_type_activite_apprenti_ex
# note: On arrondi à l'unité inférieur, d'où la soustraction de 0.5
salarié . contrat . apprentissage . ancienneté:
question: Depuis combien de temps l'apprenti est-il employé ?
@ -438,6 +438,7 @@ salarié . contrat . salaire brut:
- rémunération . net . payé après impôt
- équivalent temps plein
- dirigeant . rémunération . totale
- entreprise . chiffre d'affaires
références:
Le salaire. Fixation et paiement: http://travail-emploi.gouv.fr/droit-du-travail/remuneration-et-participation-financiere/remuneration/article/le-salaire-fixation-et-paiement

View File

@ -852,7 +852,7 @@ salarié . cotisations . formation professionnelle:
salarié . cotisations . maladie:
description: La cotisation dassurance maladie-maternité-invalidité finance les prestations versées par le régime général de Sécurité sociale en cas dincapacité de travail. Elle permet le versement des prestations en nature et en espèces.
cotisation:
branche: santé
branche: maladie
synonymes: [Cotisation maladie - maternité - invalidité - décès]
références:
Fiche Urssaf sur la cotisation maladie: https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-cotisation-maladie---maternit.html
@ -894,7 +894,7 @@ salarié . cotisations . maladie:
salarié . cotisations . CSA:
titre: Contribution solidarité autonomie
cotisation:
branche: santé
branche: maladie
acronyme: CSA
produit:
assiette: cotisations . assiette
@ -926,7 +926,7 @@ salarié . cotisations . prévoyances:
titre: prévoyances complémentaires
possiblement non applicable: oui
cotisation:
branche: santé
branche: maladie
somme:
- nom: employeur
titre: part employeur

View File

@ -346,6 +346,7 @@ salarié . rémunération . heures complémentaires:
salarié . rémunération . frais professionnels:
titre: remboursement de frais
unité: €/mois
possiblement non applicable: oui
description: >-
Les frais professionnels correspondent à des dépenses engagées par le
salarié pour les besoins de son activité professionnelle. Ces frais sont

View File

@ -39,6 +39,7 @@
"@types/cacheable-request": "8.3.1",
"@types/responselike": "^1.0.0",
"@types/styled-components": "^5.1.26",
"styled-components": "^5.3.5",
"@types/chai": "^4.3.3"
},
"devDependencies": {

View File

@ -68,7 +68,6 @@ describe('Test prerender', function () {
cy.contains('Charges')
cy.get('input[id="entreprise . charges"]').should('exist')
cy.contains('Revenu net')
cy.get('input[id="dirigeant . rémunération . net"]').should('exist')
cy.contains('Revenu après impôt')

View File

@ -79,8 +79,8 @@
"isbot": "^3.5.0",
"markdown-to-jsx": "^7.1.7",
"modele-social": "workspace:^",
"publicodes": "^1.0.0-beta.60",
"publicodes-react": "^1.0.0-beta.60",
"publicodes": "^1.0.0-beta.61",
"publicodes-react": "^1.0.0-beta.61",
"react": "^17.0.0",
"react-colorful": "^5.5.1",
"react-dom": "^17.0.0",

View File

@ -100,6 +100,8 @@ const App = () => {
// eslint-disable-next-line react-hooks/rules-of-hooks
useAxeCoreAnalysis()
}
const documentationPath = useSitePaths().absoluteSitePaths.documentation.index
const engine = useEngine()
return (
<StyledLayout isEmbedded={isEmbedded}>
@ -122,7 +124,12 @@ const App = () => {
/>
<Route
path={relativeSitePaths.documentation.index + '/*'}
element={<Documentation />}
element={
<Documentation
documentationPath={documentationPath}
engine={engine}
/>
}
/>
<Route
path={relativeSitePaths.développeur.index + '/*'}

View File

@ -1,19 +1,23 @@
import React from 'react'
import { Trans } from 'react-i18next'
import { Container, Grid } from '@/design-system/layout'
import { Strong } from '@/design-system/typography'
import { H3 } from '@/design-system/typography/heading'
import { Body, Intro } from '@/design-system/typography/paragraphs'
import wipSvg from './undraw_qa_engineers_dg-5-p.svg'
export default function BetaBanner({
children,
}: {
children: React.ReactNode
children?: React.ReactNode
}) {
return (
<Container
backgroundColor={(theme) =>
theme.darkMode
? theme.colors.bases.secondary[700]
? theme.colors.bases.tertiary[700]
: theme.colors.bases.tertiary[100]
}
>
@ -32,7 +36,24 @@ export default function BetaBanner({
/>
</Grid>
<Grid item sm={9}>
{children}
{children ?? (
<Trans i18nKey="betawarning">
<H3 as="h2">
<Strong>Cet outil est en version beta</Strong>
</H3>
<Intro>
Nous travaillons à valider les informations et les calculs, mais
des <Strong>erreurs peuvent être présentes</Strong>.
</Intro>
<Body>
Bien qu'il ne soit pas terminé, nous avons choisi de le publier
pour prendre en compte vos retours le plus tôt possible. Si vous
pensez avoir trouvé un problème ou si vous voulez nous partager
une remarque, vous pouvez nous contacter via le bouton « Faire
une suggestion » en bas de page.
</Body>
</Trans>
)}
</Grid>
</Grid>
</Container>

View File

@ -16,8 +16,8 @@ export default function Distribution() {
const targetUnit = useSelector(targetUnitSelector)
const engine = useContext(EngineContext)
const distribution = (
getCotisationsBySection(useEngine().getParsedRules()).map(
([section, cotisations]) => [
getCotisationsBySection(useEngine().getParsedRules())
.map(([section, cotisations]) => [
section,
cotisations
.map((c) => engine.evaluate({ valeur: c, unité: targetUnit }))
@ -25,12 +25,9 @@ export default function Distribution() {
(acc, evaluation) => acc + ((evaluation?.nodeValue as number) || 0),
0
),
]
) as Array<[DottedName, number]>
)
.filter(([, value]) => value > 0)
.sort(([, a], [, b]) => b - a)
])
.filter(([, value]) => value > 0) as Array<[DottedName, number]>
).sort(([, a], [, b]) => b - a)
const maximum = Math.max(...distribution.map(([, value]) => value))
return (

View File

@ -13,6 +13,7 @@ export type ValueProps<Names extends string> = {
engine?: Engine<Names>
displayedUnit?: string
precision?: number
documentationPath?: string
linkToRule?: boolean
flashOnChange?: boolean
} & React.HTMLAttributes<HTMLSpanElement>
@ -24,6 +25,7 @@ export default function Value<Names extends string>({
displayedUnit,
flashOnChange = false,
precision,
documentationPath,
linkToRule = true,
...props
}: ValueProps<Names>) {
@ -63,7 +65,10 @@ export default function Value<Names extends string>({
}
return (
<RuleLink dottedName={expression as DottedName}>
<RuleLink
dottedName={expression as DottedName}
documentationPath={documentationPath}
>
<StyledValue {...props} key={value} $flashOnChange={flashOnChange}>
{value}
</StyledValue>

View File

@ -16,6 +16,7 @@ import {
CurrentSimulatorDataProvider,
ExtractFromSimuData,
} from '../pages/Simulateurs/metadata'
import BetaBanner from './BetaBanner'
export interface PageDataProps {
meta: ExtractFromSimuData<'meta'>
@ -25,6 +26,7 @@ export interface PageDataProps {
description?: ExtractFromSimuData<'description'>
iframePath?: ExtractFromSimuData<'iframePath'>
seoExplanations?: ExtractFromSimuData<'seoExplanations'>
beta?: ExtractFromSimuData<'beta'>
nextSteps?: ExtractFromSimuData<'nextSteps'>
path: ExtractFromSimuData<'path'>
title: ExtractFromSimuData<'title'>
@ -42,6 +44,7 @@ export default function PageData(props: PageDataProps) {
title,
tracking,
tooltip,
beta,
description,
iframePath,
private: privateIframe,
@ -73,6 +76,7 @@ export default function PageData(props: PageDataProps) {
<CurrentSimulatorDataProvider value={props}>
<TrackChapter {...trackInfo}>
{meta && <Meta page={`simulateur.${title ?? ''}`} {...meta} />}
{title && !inIframe && (
<>
<H1>
@ -83,6 +87,7 @@ export default function PageData(props: PageDataProps) {
</>
)}
{description && !inIframe && description}
{beta && <BetaBanner />}
<Component />

View File

@ -24,7 +24,7 @@ import './PaySlip.css'
import { Line, SalaireBrutSection, SalaireNetSection } from './PaySlipSections'
export const SECTION_ORDER = [
'protection sociale . santé',
'protection sociale . maladie',
'protection sociale . accidents du travail et maladies professionnelles',
'protection sociale . retraite',
'protection sociale . famille',
@ -32,7 +32,7 @@ export const SECTION_ORDER = [
'protection sociale . formation',
'protection sociale . transport',
'protection sociale . autres',
] as const
] as Array<DottedName>
type Section = typeof SECTION_ORDER[number]

View File

@ -7,11 +7,13 @@ import { useSitePaths } from '@/sitePaths'
import { EngineContext } from './utils/EngineContext'
// TODO : quicklink -> en cas de variations ou de somme avec un seul élément actif, faire un lien vers cet élément
export default function RuleLink(
props: {
dottedName: DottedName
displayIcon?: boolean
children?: React.ReactNode
documentationPath?: string
} & Omit<React.ComponentProps<typeof Link>, 'to' | 'children'>
) {
const { absoluteSitePaths } = useSitePaths()
@ -31,7 +33,9 @@ export default function RuleLink(
{...props}
linkComponent={Link as React.ComponentType<{ to: string }>}
engine={engine}
documentationPath={absoluteSitePaths.documentation.index}
documentationPath={
props.documentationPath ?? absoluteSitePaths.documentation.index
}
/>
)
}

View File

@ -1,6 +1,5 @@
import { useCallback, useMemo, useState } from 'react'
import { useState } from 'react'
import { Trans, useTranslation } from 'react-i18next'
import { useSelector } from 'react-redux'
import styled, { css } from 'styled-components'
import {
@ -8,22 +7,16 @@ import {
isAutoentrepreneur,
useDispatchAndGoToNextQuestion,
} from '@/actions/companyStatusActions'
import Value from '@/components/EngineValue'
import Simulation from '@/components/Simulation'
import { Message } from '@/design-system'
import AnswerGroup from '@/design-system/answer-group'
import { Button } from '@/design-system/buttons'
import { Grid, Spacing } from '@/design-system/layout'
import { H2, H3 } from '@/design-system/typography/heading'
import { SmallBody } from '@/design-system/typography/paragraphs'
import { Intro } from '@/design-system/typography/paragraphs'
import revenusSVG from '@/images/revenus.svg'
import { configRémunérationDirigeant } from '@/pages/Simulateurs/configs/rémunérationDirigeant'
import { situationSelector } from '@/selectors/simulationSelectors'
import { useSitePaths } from '@/sitePaths'
import PeriodSwitch from './PeriodSwitch'
import { SimulationGoal, SimulationGoals } from './Simulation'
import Emoji from './utils/Emoji'
import { useEngine } from './utils/EngineContext'
import useSimulationConfig from './utils/useSimulationConfig'
type SchemeComparaisonProps = {
hideAutoEntrepreneur?: boolean
@ -35,60 +28,84 @@ export default function SchemeComparaison({
hideAssimiléSalarié = false,
}: SchemeComparaisonProps) {
const { absoluteSitePaths } = useSitePaths()
useSimulationConfig({
path: absoluteSitePaths.simulateurs.comparaison,
config: configRémunérationDirigeant,
})
const dispatch = useDispatchAndGoToNextQuestion()
const engine = useEngine()
const { t } = useTranslation()
const [showMore, setShowMore] = useState(false)
const [conversationStarted, setConversationStarted] = useState(
!!Object.keys(useSelector(situationSelector)).length
)
const startConversation = useCallback(
() => setConversationStarted(true),
[setConversationStarted]
)
const situation = useSelector(situationSelector)
const displayResult =
useSelector(situationSelector)['dirigeant . rémunération . totale'] != null
const assimiléEngine = useMemo(
() =>
engine.shallowCopy().setSituation({
...situation,
'dirigeant . régime social': "'assimilé salarié'",
}),
[situation]
)
const autoEntrepreneurEngine = useMemo(
() =>
engine.shallowCopy().setSituation({
...situation,
'dirigeant . régime social': "'auto-entrepreneur'",
'entreprise . catégorie juridique': "'EI'",
'entreprise . catégorie juridique . EI . auto-entrepreneur': 'oui',
}),
[situation]
)
const indépendantEngine = useMemo(
() =>
engine.shallowCopy().setSituation({
...situation,
'dirigeant . régime social': "'indépendant'",
}),
[situation]
)
const plafondAutoEntrepreneurDépassé =
autoEntrepreneurEngine.evaluate(
"entreprise . chiffre d'affaires . seuil micro dépassé"
).nodeValue === true
return (
<>
<AnswerGroup role="list">
{[
!hideAssimiléSalarié && (
<Button
key="assimiléSalarié"
onPress={() => {
dispatch(defineDirectorStatus('SALARIED'))
!hideAutoEntrepreneur && dispatch(isAutoentrepreneur(false))
}}
aria-label={t(
'comparaisonRégimes.choix.AS',
"Assimilé salarié, sélectionner l'option et passer à l'étape suivante"
)}
>
<Trans i18nKey="comparaisonRégimes.choix.AS">
Assimilé&nbsp;salarié
</Trans>
</Button>
),
<Button
key="EI"
onPress={() => {
!hideAssimiléSalarié &&
dispatch(defineDirectorStatus('SELF_EMPLOYED'))
!hideAutoEntrepreneur && dispatch(isAutoentrepreneur(false))
}}
aria-label={
hideAssimiléSalarié
? t(
'comparaisonRégimes.choix.EI-aria-label',
"Entreprise individuelle, sélectionner l'option et passer à l'étape suivante"
)
: t(
'comparaisonRégimes.choix.indep-aria-label',
"Indépendant, sélectionner l'option et passer à l'étape suivante"
)
}
>
{hideAssimiléSalarié ? (
<Trans i18nKey="comparaisonRégimes.choix.EI">
Entreprise individuelle
</Trans>
) : (
<Trans i18nKey="comparaisonRégimes.choix.indep">
Indépendant
</Trans>
)}
</Button>,
!hideAutoEntrepreneur && (
<Button
key="auto-entrepreneur"
onPress={() => {
!hideAssimiléSalarié &&
dispatch(defineDirectorStatus('SELF_EMPLOYED'))
dispatch(isAutoentrepreneur(true))
}}
aria-label={t(
'comparaisonRégimes.choix.auto-aria-label',
"Auto-entrepreneur, sélectionner l'option et passer à l'étape suivante"
)}
>
<Trans i18nKey="comparaisonRégimes.choix.auto">
Auto-entrepreneur
</Trans>
</Button>
),
].filter(Boolean)}
</AnswerGroup>
<Spacing md />
<StyledGrid
hideAutoEntrepreneur={hideAutoEntrepreneur}
hideAssimiléSalarié={hideAssimiléSalarié}
@ -310,178 +327,36 @@ export default function SchemeComparaison({
</div>
</Trans>
)}
<div className="legend" />
<div className="AS-indep-et-auto">
{!conversationStarted ? (
<>
<Trans i18nKey="comparaisonRégimes.simulationText">
<H3>
Comparer mes revenus, pension de retraite et indemnité maladie
</H3>
<img src={revenusSVG} css="height: 8rem" alt="" />
<Button onPress={startConversation}>
Lancer la simulation
</Button>
</Trans>
</>
) : (
<Simulation
hideDetails
customEndMessages={
<SmallBody as="span">
Vous pouvez consulter les différentes estimations dans le
tableau ci-dessous
</SmallBody>
}
>
<SimulationGoals
toggles={<PeriodSwitch />}
legend={
'Estimations sur votre rémunération brute et vos charges'
}
>
<SimulationGoal dottedName="dirigeant . rémunération . totale" />
<SimulationGoal dottedName="entreprise . charges" />
</SimulationGoals>
</Simulation>
)}
</div>
{displayResult && (
<>
<div className="legend" />
<H3 className="AS">
<Emoji emoji="☂" /> <Trans>Assimilé salarié</Trans>
</H3>
<H3 className="indep">
<Emoji emoji="👩‍🔧" />{' '}
{hideAssimiléSalarié ? (
<Trans>Entreprise Individuelle</Trans>
) : (
<Trans>Indépendant</Trans>
)}
</H3>
<H3 className="auto">
<Emoji emoji="🚶‍♂️" /> <Trans>Auto-entrepreneur</Trans>
</H3>
<Trans i18nKey="comparaisonRégimes.revenuNetAvantImpot">
<H3 className="legend">
Revenu net de cotisations <small>(avant impôts)</small>
</H3>
</Trans>
<div className="AS">
<Value
linkToRule={false}
engine={assimiléEngine}
precision={0}
unit="€/an"
expression="dirigeant . rémunération . net"
/>
</div>
<div className="indep">
<Value
linkToRule={false}
engine={indépendantEngine}
precision={0}
expression="dirigeant . rémunération . net"
/>
</div>
<div className="auto">
<>
{plafondAutoEntrepreneurDépassé && 'Plafond de CA dépassé'}
<Value
linkToRule={false}
engine={autoEntrepreneurEngine}
precision={0}
className={''}
unit="€/an"
expression="dirigeant . rémunération . net - entreprise . charges"
/>
</>
</div>
</>
)}
</StyledGrid>
<div className="">
<br />
<H3>
<Trans i18nKey="comparaisonRégimes.titreSelection">
Créer mon entreprise en tant que :
</Trans>
</H3>
<AnswerGroup role="list">
{[
!hideAssimiléSalarié && (
<Button
key="assimiléSalarié"
onPress={() => {
dispatch(defineDirectorStatus('SALARIED'))
!hideAutoEntrepreneur && dispatch(isAutoentrepreneur(false))
}}
aria-label={t(
'comparaisonRégimes.choix.AS',
"Assimilé salarié, sélectionner l'option et passer à l'étape suivante"
)}
>
<Trans i18nKey="comparaisonRégimes.choix.AS">
Assimilé&nbsp;salarié
</Trans>
</Button>
),
<Spacing lg />
<Button
key="EI"
onPress={() => {
!hideAssimiléSalarié &&
dispatch(defineDirectorStatus('SELF_EMPLOYED'))
!hideAutoEntrepreneur && dispatch(isAutoentrepreneur(false))
}}
aria-label={
hideAssimiléSalarié
? t(
'comparaisonRégimes.choix.EI-aria-label',
"Entreprise individuelle, sélectionner l'option et passer à l'étape suivante"
)
: t(
'comparaisonRégimes.choix.indep-aria-label',
"Indépendant, sélectionner l'option et passer à l'étape suivante"
)
}
>
{hideAssimiléSalarié ? (
<Trans i18nKey="comparaisonRégimes.choix.EI">
Entreprise individuelle
</Trans>
) : (
<Trans i18nKey="comparaisonRégimes.choix.indep">
Indépendant
</Trans>
)}
</Button>,
!hideAutoEntrepreneur && (
<Button
key="auto-entrepreneur"
onPress={() => {
!hideAssimiléSalarié &&
dispatch(defineDirectorStatus('SELF_EMPLOYED'))
dispatch(isAutoentrepreneur(true))
}}
aria-label={t(
'comparaisonRégimes.choix.auto-aria-label',
"Auto-entrepreneur, sélectionner l'option et passer à l'étape suivante"
)}
>
<Trans i18nKey="comparaisonRégimes.choix.auto">
Auto-entrepreneur
</Trans>
</Button>
),
]}
</AnswerGroup>
</div>
<Message>
<Grid
spacing={4}
container
css={`
justify-content: center;
align-items: center;
`}
>
<Grid item sm={4} lg={3} xl={2} xs={6}>
<img src={revenusSVG} css="width: 100%; padding: 1rem;" alt="" />
</Grid>
<Grid item sm={8} lg={9} xl={10}>
<H3>Comparateur de statuts</H3>
<Intro>
Découvrez les différence en terme de revenus, pensions de retraite
et indemnités maladie à partir d'une estimation de votre futurs
chiffre d'affaires et charges de fonctionnement.
</Intro>
<Button to={absoluteSitePaths.simulateurs.comparaison}>
Ouvrir le comparateur
</Button>
<Spacing md />
</Grid>
</Grid>
</Message>
</>
)
}
@ -491,7 +366,7 @@ type StyledGridProps = {
hideAutoEntrepreneur?: boolean
}
const StyledGrid = styled.div`
export const StyledGrid = styled.div`
display: grid;
font-family: ${({ theme }) => theme.fonts.main};
justify-items: stretch;

View File

@ -40,7 +40,6 @@ export default function SearchButton() {
<Trans>Rechercher</Trans>
</StyledButton>
)}
small
>
{(closePopover) => (
<SearchRulesAndSimulators

View File

@ -1,3 +1,5 @@
import { DottedName } from 'modele-social'
import Engine from 'publicodes'
import { Trans } from 'react-i18next'
import styled from 'styled-components'
@ -28,8 +30,10 @@ const Notice = styled(Body)`
export function Questions({
customEndMessages,
engines,
}: {
customEndMessages?: ConversationProps['customEndMessages']
engines?: Array<Engine<DottedName>>
}) {
const { numberCurrentStep, numberSteps } = useSimulationProgress()
@ -46,7 +50,7 @@ export function Questions({
</Notice>
)}
</div>
<Conversation customEndMessages={customEndMessages} />
<Conversation customEndMessages={customEndMessages} engines={engines} />
</QuestionsContainer>
</>
)

View File

@ -1,3 +1,5 @@
import { DottedName } from 'modele-social'
import Engine from 'publicodes'
import React from 'react'
import { Trans } from 'react-i18next'
import { useSelector } from 'react-redux'
@ -28,10 +30,12 @@ export { SimulationGoals } from './SimulationGoals'
type SimulationProps = {
explanations?: React.ReactNode
engines?: Array<Engine<DottedName>>
results?: React.ReactNode
children?: React.ReactNode
afterQuestionsSlot?: React.ReactNode
hideDetails?: boolean
showQuestionsFromBeginning?: boolean
customEndMessages?: ConversationProps['customEndMessages']
}
@ -50,6 +54,8 @@ export default function Simulation({
children,
afterQuestionsSlot,
customEndMessages,
showQuestionsFromBeginning,
engines,
hideDetails = false,
}: SimulationProps) {
const firstStepCompleted = useSelector(firstStepCompletedSelector)
@ -72,19 +78,22 @@ export default function Simulation({
{children}
<FromTop>
<div className="print-hidden">
{!firstStepCompleted && (
{!showQuestionsFromBeginning && !firstStepCompleted && (
<>
<Spacing sm />
<PreviousSimulationBanner />
</>
)}
</div>
{firstStepCompleted && (
{(firstStepCompleted || showQuestionsFromBeginning) && (
<>
<div className="print-hidden">
<FromTop>{results}</FromTop>
</div>
<Questions customEndMessages={customEndMessages} />
<Questions
engines={engines}
customEndMessages={customEndMessages}
/>
</>
)}
<div className="print-hidden">

View File

@ -1,5 +1,5 @@
import { DottedName } from 'modele-social'
import { utils } from 'publicodes'
import { RuleNode, utils } from 'publicodes'
import { useCallback, useContext, useMemo } from 'react'
import { Trans, useTranslation } from 'react-i18next'
import { useDispatch, useSelector } from 'react-redux'
@ -54,10 +54,7 @@ export default function AnswerList({ onClose, children }: AnswerListProps) {
(dottedName) =>
engine.getRule(dottedName).rawNode.question !== undefined
)
.map(
(dottedName) =>
engine.evaluate(engine.getRule(dottedName)) as EvaluatedRule
),
.map((dottedName) => engine.getRule(dottedName)),
[engine, passedQuestions, situation, companySituation]
)
const nextSteps = useNextQuestions().map((dottedName) =>
@ -179,7 +176,7 @@ export default function AnswerList({ onClose, children }: AnswerListProps) {
function StepsTable({
rules,
}: {
rules: Array<EvaluatedRule>
rules: Array<EvaluatedRule | RuleNode>
onClose: () => void
}) {
const { t } = useTranslation()
@ -187,7 +184,7 @@ function StepsTable({
return (
<>
{rules
.filter((rule) => rule.nodeValue !== null)
.filter((rule) => !('nodeValue' in rule) || rule.nodeValue !== null)
.map((rule) => (
<StyledAnswerList container key={rule.dottedName}>
<Grid item xs>
@ -207,7 +204,7 @@ function StepsTable({
)
}
function AnswerElement(rule: EvaluatedRule) {
function AnswerElement(rule: RuleNode) {
const dispatch = useDispatch()
const engine = useEngine()
@ -215,7 +212,7 @@ function AnswerElement(rule: EvaluatedRule) {
const parentDottedName = utils.ruleParent(rule.dottedName) as DottedName
const questionDottedName = rule.rawNode.question
? rule.dottedName
? (rule.dottedName as DottedName)
: parentDottedName && engine.getRule(parentDottedName).rawNode.API
? parentDottedName
: undefined

View File

@ -1,4 +1,5 @@
import { PublicodesExpression } from 'publicodes'
import { DottedName } from 'modele-social'
import Engine, { PublicodesExpression } from 'publicodes'
import React, { useContext, useEffect } from 'react'
import { Trans, useTranslation } from 'react-i18next'
import { useDispatch, useSelector } from 'react-redux'
@ -13,7 +14,7 @@ import Notifications from '@/components/Notifications'
import QuickLinks from '@/components/QuickLinks'
import RuleInput from '@/components/conversation/RuleInput'
import Emoji from '@/components/utils/Emoji'
import { EngineContext } from '@/components/utils/EngineContext'
import { useEngine } from '@/components/utils/EngineContext'
import { useNextQuestions } from '@/components/utils/useNextQuestion'
import { Button } from '@/design-system/buttons'
import { Grid, Spacing } from '@/design-system/layout'
@ -37,22 +38,26 @@ import SeeAnswersButton from './SeeAnswersButton'
export type ConversationProps = {
customEndMessages?: React.ReactNode
customSituationVisualisation?: React.ReactNode
engines?: Array<Engine<DottedName>>
}
export default function Conversation({
customEndMessages,
customSituationVisualisation,
engines,
}: ConversationProps) {
const currentSimulatorData = useContext(CurrentSimulatorDataContext)
const dispatch = useDispatch()
const engine = useContext(EngineContext)
const currentQuestion = useNextQuestions()[0]
const engine = useEngine()
const currentQuestion = useNextQuestions(engines)[0]
const situation = useSelector(situationSelector)
const currentQuestionIsAnswered = !(currentQuestion in useMissingVariables())
const currentQuestionIsAnswered = !(
currentQuestion in useMissingVariables({ engines: engines ?? [engine] })
)
const previousAnswers = useSelector(answeredQuestionsSelector)
const { t } = useTranslation()
useEffect(() => {
if (currentQuestion) {
if (currentQuestion && !currentQuestionIsAnswered) {
dispatch(goToQuestion(currentQuestion))
}
}, [dispatch, currentQuestion])

View File

@ -80,7 +80,7 @@ const CotisationsSection: Partial<Record<DottedName, Array<string>>> = {
'dirigeant . indépendant . cotisations et contributions . retraite complémentaire',
'dirigeant . indépendant . cotisations et contributions . PCV',
],
'protection sociale . santé': [
'protection sociale . maladie': [
'dirigeant . indépendant . cotisations et contributions . maladie',
'dirigeant . indépendant . cotisations et contributions . indemnités journalières maladie',
'dirigeant . indépendant . cotisations et contributions . CSG-CRDS * 5.95 / 9.2',
@ -152,6 +152,8 @@ function DistributionBranch({
maximum,
...props
}: DistributionBranchProps) {
console.log('zouzou', dottedName)
const branche = useEngine().getRule(dottedName)
return (
@ -176,9 +178,9 @@ function DroitsRetraite() {
<Ul>
<Li>
Retraite de base :{' '}
<RuleLink dottedName="protection sociale . retraite . base . trimestres . indépendant">
<RuleLink dottedName="protection sociale . retraite . trimestres">
<Value
expression="protection sociale . retraite . base . trimestres . indépendant"
expression="protection sociale . retraite . trimestres"
displayedUnit={t('trimestres acquis')}
/>
</RuleLink>
@ -195,16 +197,16 @@ function DroitsRetraite() {
</WhenApplicable>
<Li>
Points de retraite complémentaire acquis :{' '}
<WhenApplicable dottedName="protection sociale . retraite . complémentaire indépendants . points acquis">
<RuleLink dottedName="protection sociale . retraite . complémentaire indépendants . points acquis">
<WhenApplicable dottedName="protection sociale . retraite . complémentaire . RCI . points acquis">
<RuleLink dottedName="protection sociale . retraite . complémentaire . RCI . points acquis">
<Value
expression="protection sociale . retraite . complémentaire indépendants . points acquis"
expression="protection sociale . retraite . complémentaire . RCI . points acquis"
displayedUnit=""
/>{' '}
points acquis
</RuleLink>
</WhenApplicable>
<WhenNotApplicable dottedName="protection sociale . retraite . complémentaire indépendants . points acquis">
<WhenNotApplicable dottedName="protection sociale . retraite . complémentaire . RCI . points acquis">
<Strong>non connue</Strong>
<WhenApplicable dottedName="dirigeant . indépendant . cotisations et contributions . exonérations . pension invalidité">
<SmallBody>

View File

@ -1,5 +1,6 @@
import { DottedName } from 'modele-social'
import { useContext, useMemo } from 'react'
import Engine from 'publicodes'
import { useMemo } from 'react'
import { useSelector } from 'react-redux'
import { SimulationConfig } from '@/reducers/rootReducer'
@ -10,7 +11,7 @@ import {
useMissingVariables,
} from '@/selectors/simulationSelectors'
import { EngineContext } from './EngineContext'
import { useEngine } from './EngineContext'
type MissingVariables = Partial<Record<DottedName, number>>
@ -65,16 +66,18 @@ export function getNextQuestions(
return nextSteps.sort((a, b) => score(a) - score(b))
}
export const useNextQuestions = function (): Array<DottedName> {
export const useNextQuestions = function (
engines?: Array<Engine<DottedName>>
): Array<DottedName> {
const answeredQuestions = useSelector(answeredQuestionsSelector)
const currentQuestion = useSelector(currentQuestionSelector)
const questionsConfig = useSelector(configSelector).questions
const engine = useContext(EngineContext)
const missingVariables = useMissingVariables()
const config = useSelector(configSelector)
const engine = useEngine()
const missingVariables = useMissingVariables({ engines: engines ?? [engine] })
const nextQuestions = useMemo(() => {
let next = getNextQuestions(
missingVariables,
questionsConfig ?? {},
config.questions ?? {},
answeredQuestions
)
if (currentQuestion && currentQuestion !== next[0]) {
@ -82,17 +85,10 @@ export const useNextQuestions = function (): Array<DottedName> {
}
return next.filter(
(question) =>
engine.evaluate(question).nodeValue !== null &&
engine.getRule(question).rawNode.question !== undefined
(question) => engine.getRule(question).rawNode.question !== undefined
)
}, [
missingVariables,
questionsConfig,
answeredQuestions,
engine,
currentQuestion,
])
}, [missingVariables, config, answeredQuestions, engine, currentQuestion])
console.log({ nextQuestions })
return nextQuestions
}

View File

@ -906,22 +906,15 @@ dirigeant . assimilé salarié:
note.fr: Nous ne gérons pas le cas des SAS(U) à l'IR pour l'instant
titre.en: '[automatic] assimilated employee'
titre.fr: assimilé salarié
dirigeant . assimilé salarié . cotisations:
titre.en: '[automatic] contributions'
titre.fr: cotisations
dirigeant . assimilé salarié . réduction ACRE:
titre.en: '[automatic] ACRE reduction'
titre.fr: réduction ACRE
dirigeant . assimilé salarié . réduction ACRE . assiette taux réduit:
titre.en: '[automatic] base reduced rate'
titre.fr: assiette taux réduit
dirigeant . assimilé salarié . réduction ACRE . notification taux annuel:
description.en: >
[automatic] The ACRE rate used is an annual average. The
simulator does not yet take into account the calculation of the ACRE month by month.
description.fr: |
Le taux ACRE utilisé est une moyenne annuelle. Le
simulateur ne prend pas encore en compte le calcul de l'ACRE mois par mois.
titre.en: '[automatic] notification annual rate'
titre.fr: notification taux annuel
dirigeant . assimilé salarié . réduction ACRE . montant:
titre.en: '[automatic] amount'
titre.fr: montant
dirigeant . auto-entrepreneur:
description.en: >
[automatic] The auto-entrepreneur is a simplified individual
@ -1052,20 +1045,8 @@ dirigeant . auto-entrepreneur . impôt:
titre.en: '[automatic] tax'
titre.fr: impôt
dirigeant . auto-entrepreneur . impôt . revenu imposable:
description.en: >
[automatic] The micro-entrepreneur is exempted from making a
professional declaration of profits as BNC or BIC.
They only need to declare the annual gross turnover (BIC) or revenue (BNC) on the supplementary income tax return (n°2042-C Pro).
description.fr: >
Le micro-entrepreneur est dispensé d'établir une déclaration
professionnelle de bénéfices au titre des BNC ou BIC.
Il lui suffit de porter dans la déclaration complémentaire de revenu (n°2042-C Pro) le montant annuel du chiffre d'affaires brut (BIC) ou des recettes (BNC).
titre.en: '[automatic] self-employed taxable income'
titre.fr: revenu imposable auto-entrepreneur
titre.en: '[automatic] taxable income'
titre.fr: revenu imposable
dirigeant . auto-entrepreneur . impôt . versement libératoire:
description.en: >
[automatic] With the option for the payment in full discharge,
@ -2717,6 +2698,24 @@ dirigeant . indépendant . assiette minimale . retraite:
trimestres de retraite, quel que soit le revenu.
titre.en: '[automatic] retirement'
titre.fr: retraite
dirigeant . indépendant . assiette minimale . retraite . en 2022:
description.en: >
[automatic] The minimum base of 11.50% was not sufficient to
validate 3 quarters. Therefore, this minimum base has been revised during
the year and will be applied retroactively from January 1, 2022.
The minimum base is €4,758 for 2022 only. For 2023, the minimum base will be 11.5% of the PASS.
description.fr: >
Lassiette minimale de 11,50% nétait pas suffisante pour
valider 3 trimestres. Par conséquent cette assiette minimale a été révisée
en cours dannée et sera appliquée de manière rétroactive à compté du 1er
janvier 2022.
Lassiette minimale est de 4 758 € pour 2022 uniquement. Pour 2023, on repasse à une assiette minimale de 11,5% du PASS.
titre.en: '[automatic] in 2022'
titre.fr: en 2022
dirigeant . indépendant . conjoint collaborateur:
description.en: >
[automatic] As an employee, the spouse of a self-employed person
@ -3569,12 +3568,12 @@ dirigeant . rémunération . impôt:
titre.en: '[automatic] income tax'
titre.fr: impôt sur le revenu
dirigeant . rémunération . net:
question.en: '[automatic] What is your net income?'
question.fr: Quelle est votre revenu net ?
question.en: '[automatic] What is your net pay?'
question.fr: Quelle est votre rémunération nette ?
résumé.en: '[automatic] After deduction of contributions and expenses'
résumé.fr: Après déduction des cotisations, contributions et charges
titre.en: '[automatic] net income'
titre.fr: revenu net
titre.en: '[automatic] Net remuneration'
titre.fr: Rémunération nette
dirigeant . rémunération . net . après impôt:
description.en: '[automatic] The net income after deduction of income tax and
social security contributions.'
@ -5399,72 +5398,144 @@ protection sociale . invalidité et décès:
à vos proches en cas de décès.
titre.en: '[automatic] disability and death'
titre.fr: invalidité et décès
protection sociale . maladie:
description.en: >
[automatic] Health insurance protects the health of everyone in
their personal and professional lives.
In concrete terms, it supports 60 million insured persons throughout their lives, by paying for their care regardless of their resources, their situation or their state of health. It thus guarantees universal access to rights and enables access to care.
Thanks to it, you are covered for most health care. In case of serious or long term illness, 100% of the care is reimbursed.
## Health insurance in France in a few figures
- 92%** of health expenses are reimbursed on average by health insurance and supplementary health insurance
- 30,000 € / year / patient**: example of full coverage for a person with cystic fibrosis
- 82.4 years** average life expectancy in France (in the top 10 worldwide 🏅)
description.fr: >
LAssurance Maladie protège durablement la santé de chacun dans
sa vie personnelle ou professionnelle.
Concrètement, elle accompagne 60 millions dassurés tout au long de leur vie, en prenant en charge leurs soins quels que soient leurs ressources, leur situation ou leur état de santé. Elle garantit ainsi un accès universel aux droits et elle permet laccès aux soins.
Grâce à elle, vous êtes couvert sur la plupart des soins de santé. En cas de maladie grave ou de longue durée, 100 % des soins sont remboursés.
## L'assurance maladie en France en quelques chiffres
- **92 %** des dépenses de santé remboursées en moyenne par l'assurance maladie et la complémentaire
- **30 000 € / an / patient** : exemple de prise en charge complète pour une personne atteinte de mucoviscidose
- **82,4 ans** despérance de vie moyenne en france (dans le top 10 mondial 🏅)
résumé.en: Covers most everyday health care and 100% of serious illnesses such
as hospital stays.
résumé.fr: Couvre la plupart des soins de santé de la vie quotidienne et 100 %
des maladies graves comme les séjours à l'hôpital.
titre.en: '[automatic] health insurance'
titre.fr: assurance maladie
protection sociale . maladie . arrêt maladie:
description.en: >-
[automatic] If you are off work due to illness, you are entitled
to daily allowances (IJ) paid by your health insurance scheme (CPAM,
MSA,...).
The conditions of compensation vary according to your social protection scheme.
description.fr: >-
Si vous êtes en arrêt de travail pour maladie, vous avez droit à
des indemnités journalières (IJ) versées par votre régime d'assurance
maladie (CPAM, MSA,...).
Les conditions d'indemnisation varient en fonction de votre régime de protection sociale.
note.en: >
[automatic] We have only implemented the allowances of the special
schemes of the
regulated professions. For an exhaustive list of
compensation, please consult [this
site](https://www.coover.fr/prevoyance/tns/arret-maladie-profession-liberale)
note.fr: >
Nous n'avons implémenté les indemnités des régimes particuliers des
professions libérales réglementées. Pour une liste exaustive des
indemnisation, consultez [ce
site](https://www.coover.fr/prevoyance/tns/arret-maladie-profession-liberale)
titre.en: '[automatic] sick leave'
titre.fr: arrêt maladie
protection sociale . maladie . arrêt maladie . indemnités:
description.en: >
[automatic] The daily allowances are paid to you by the Health
Insurance to compensate your income during the work stoppage. Under certain
conditions, you can receive daily allowances after a waiting period of 3
days. They are calculated on the basis of your contributed income and are
paid every 14 days on average.
Please note: your daily allowance statements also validate your pension rights. Keep them for an unlimited period of time.
description.fr: >
Les indemnités journalières vous sont versées par l'Assurance
Maladie pour compenser votre revenu pendant larrêt de travail. Sous
certaines conditions, vous pouvez percevoir des indemnités journalières
après un délai de carence de 3 jours. Elles sont calculées à partir de vos
revenus cotisés et elles sont versées tous les 14 jours en moyenne.
À noter : vos relevés d'indemnités journalières valident également vos droits à la retraite. Conservez-les sans limitation de durée.
titre.en: '[automatic] allowances'
titre.fr: indemnités
protection sociale . retraite:
description.en: >
[automatic] All workers in France contribute throughout their
working life to a pension scheme once they are old enough to stop working.
[automatic] ### A mandatory system ...
As soon as you work, you and your employer contribute to your pension. This contribution is based on the salary you receive.
The pension system is currently based on the principle of "distribution". This means that the contributions of the working population finance the pensions of the retired population.
###Pay-as-you-go
The total amount of contributions you pay each year is used to pay the pensions of the retirees for that same year. The system thus organizes a direct transfer from working generations to retired generations.
## Retirement in France in a few figures
- 2094 € / month** : Average standard of living of the over 65s (compared to the rest of the population, it is the highest in the OECD 🥇)
- **25 years**: the average number of years spent in retirement (the highest in the OECD 🥇)
- **75%**: the replacement rate as a percentage of net salary at full rate
###... mainly contributory
When you retire, your pension (i.e., your retirement "income") is calculated based on your earnings, your retirement age and the number of years you worked.
**Our retirement system is also based on solidarity**: the unemployed, people on sick leave, people with disabilities, low-income workers and women on maternity leave also acquire rights. No retired person is left without resources.
Retirement is the highest social contribution. It can be considered a deferred wage, since your contributions will provide you with future income.
Simulate and manage your retirement on [info-retraite.fr](https://www.info-retraite.fr/portail-info/home.html).
description.fr: >
Tous les travailleurs en France cotisent tout au long de leur
vie professionnelle pour bénéficier dun régime de retraite dès lors quils
ont lâge de cesser leur activité.
### Un système obligatoire …
Dès lors que vous travaillez, vous et votre employeur, cotisez pour la retraite. Cette cotisation est définie à la mesure du salaire que vous percevez.
Le système des retraites est actuellement fondé sur le principe de la « répartition ». Cela veut dire que les cotisations des actifs financent les pensions des retraités.
###… par répartition
Le montant total des cotisations que vous versez chaque année sert à payer les pensions des retraités pour cette même année. Le système organise ainsi un transfert direct des générations en activité vers les générations à la retraite.
## La retraite en France en quelques chiffres
- ** 2094 € / mois** : Niveau de vie moyen des plus de 65 ans (en comparaison du reste de la population, c'est le plus élevé de l'OCDE 🥇)
- **25 ans** : le nombre d'années passées en moyenne à la retraite (le plus élevé de l'OCDE 🥇)
- **75 %** : le taux de remplacement en pourcentage du salaire net à taux plein
###… principalement contributif
Lorsque vous arrivez à la retraite, votre pension (cest-à-dire votre « revenu » à la retraite) est calculé en fonction de vos revenus, de votre âge de départ à la retraite et du nombre dannées passées à travailler.
**Notre système de retraite est également solidaire** : les chômeurs, les personnes en arrêt maladie, les personnes en situation de handicap, les travailleurs touchant de faibles revenus, les femmes en congé maternité acquièrent également des droits. Aucune personne à la retraite nest laissée sans ressources.
La retraite est la plus élevée des cotisations sociales. Elle peut être considérée comme un salaire différé, puisque vos cotisations vous assurerons un revenu futur.
Simulez et gérez votre retraite sur [info-retraite.fr](https://www.info-retraite.fr/portail-info/home.html).
note.en: >
[automatic] This is a purely indicative estimate for the purpose of
comparing the retirement of the various schemes.
We limit ourselves to the following assumptions:
- It is assumed that the worker has retired at the full rate, by contributing the required number of quarters (172), or by leaving at the full rate age (67 years)
- The worker is considered to have had the same income throughout his career
- We consider that the worker has remained in the same system throughout his career
- We do not take into account the minorities/increases
- We do not take into account the pension funds of the regulated liberal professions (the 10 sections of the Cnavpl and the Cnbf)
- We do not calculate the number of quarters validated per year
note.fr: >
Il s'agit d'une estimation a but purement indicatif, afin de comparer
la retraite des différents régimes.
On se limite notamment aux hypothèses suivantes :
- On considère que le travailleur a pris sa retraite à taux plein, en cotisant le nombre de trimestres requis (172), ou en partant à l'âge taux plein (67 ans)
- On considère que le travailleur a eu le même revenu tout au long de sa carrière
- On considère que le travailleur est resté dans le même régime tout au long de sa carrière
- On ne prend pas en compte les minorations / majorations
- On ne prend pas en compte les caisses de retraite des professions libérales réglementées (les 10 sections de la Cnavpl et la Cnbf)
- On ne calcule pas le nombre de trimestres validés par année
résumé.en: Guarantees on average 60 to 70% of the last income from employment
after age 65.
résumé.fr: Garantit en moyenne 60 à 70 % du dernier revenu d'activité après 65 ans.
titre.en: pensions
titre.fr: retraite
protection sociale . retraite . CIPAV:
titre.en: '[automatic] CIPAV'
titre.fr: CIPAV
protection sociale . retraite . CNAVPL:
description.en: >-
[automatic] The liberal professions affiliated to the CNAVPL
@ -5510,250 +5581,68 @@ protection sociale . retraite . CNAVPL:
Pour chaque tranche, le nombre de points attribué est calculé au prorata de la cotisation effective
sur la cotisation maximale et arrondi à la décimale la plus proche
note.en: >-
[automatic] Additional points may be awarded:
- redeemed points;
- 100 additional points for the calendar quarter in which childbirth occurs,
- 200 additional points per calendar year for the insured person suffering from a disability requiring the assistance of a third party
200 additional points per calendar year concerned for insured persons suffering from a disability that requires them to have recourse to the assistance of a third party;
- 400 points per calendar year for persons recognized as being unable to exercise their profession for a
of their profession for a period of more than 6 months
note.fr: >-
Des points supplémentaires peuvent être attribués :
- points rachetés ;
- 100 points supplémentaires au titre du trimestre civil au cours duquel survient laccouchement,
- 200 points supplémentaires par année civile concernée pour lassuré atteint dinvalidité lobli-
geant à avoir recours à lassistance dune tierce personne ;
- 400 points par année civile pour les personnes reconnues atteintes dune incapacité dexercice
de leur profession pour une durée de plus de 6 mois
titre.en: '[automatic] CNAVPL'
titre.fr: CNAVPL
protection sociale . retraite . CNAVPL . cotisation maximum T1:
titre.en: '[automatic] maximum contribution T1'
titre.fr: cotisation maximum T1
protection sociale . retraite . CNAVPL . cotisation maximum T2:
titre.en: '[automatic] maximum fee T2'
titre.fr: cotisation maximum T2
titre.en: '[automatic] basic pension CNAVPL'
titre.fr: retraite de base CNAVPL
protection sociale . retraite . CNAVPL . CIPAV:
titre.en: '[automatic] CIPAV'
titre.fr: CIPAV
protection sociale . retraite . CNAVPL . CIPAV . complémentaire:
titre.en: '[automatic] complementary'
titre.fr: complémentaire
protection sociale . retraite . CNAVPL . CIPAV . trimestres auto-entrepreneur:
titre.en: '[automatic] validated quarters as an auto-entrepreneur'
titre.fr: trimestres validés auto-entrepreneur
protection sociale . retraite . base:
note.en:
'[automatic] Impatriates benefit from an exemption from old-age pension
contributions. In return, they do not acquire any rights during the
exemption period.'
note.fr: Les impatriés bénéficient d'une exonération de cotisation vieillesse.
En contrepartie, ils n'acquièrent aucun droit pendant la durée
d'exonération.
titre.en: '[automatic] basic retirement pension'
titre.fr: pension de retraite de base
protection sociale . retraite . base . taux de la pension:
description.en: '[automatic] The rate applied, with a discount or surcote
depending on the number of quarters contributed.'
description.fr: Le taux appliqué, avec décote ou surcote en fonction du nombre
de trimestres cotisés.
note.en:
'[automatic] We do not take into account the reduction in the rate due
to the missing quarters. It is therefore considered that the contributor
leaves at the full rate, i.e. at age 67 (or earlier if all quarters are
validated).'
note.fr: On ne prend 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).
titre.en: '[automatic] pension rate'
titre.fr: taux de la pension
protection sociale . retraite . base . trimestres:
titre.en: '[automatic] quarters'
titre.fr: trimestres
protection sociale . retraite . base . trimestres . auto-entrepreneur:
description.en:
'[automatic] The minimum turnover thresholds for the validation
of quarters for retirement as an auto-entrepreneur. Below the minimum
amount, you will only have access to the solidarity allowance.'
description.fr:
Les seuils de chiffre d'affaires minimum pour la validation des
trimestres pour la retraite en auto-entrepreneur. En-dessous du montant
minimum, vous n'aurez accès qu'à l'allocation de solidarité.
titre.en: '[automatic] auto-entrepreneur'
titre.fr: auto-entrepreneur
protection sociale . retraite . base . trimestres . indépendant:
note.en: >-
[automatic] Reminder: for self-employed workers, the validation of
quarters is based on the **contributed income**.
description.en: >
[automatic] Most working people contribute to both a basic
scheme (up to the social security ceiling, i.e. 3,311 euros per month) and a
complementary or additional scheme, on all or part of their income.
The last paragraph of article R351-9 of the Social Security Code, as made applicable to self-employed workers by articles D634-1 and R634-1 of the same code, with adaptations, provides that for the period after December 31, 2013, as many quarters are to be retained as the annual income corresponding to the deductions made by the insured person represents times the amount of the minimum growth wage in force on January 1 of the year in question, calculated on the basis of 150 hours, with a maximum of four quarters per calendar year.
The amount of your basic retirement pension is calculated from the average of your earnings over the best 25 years.
description.fr: >
La plupart des actifs cotisent à la fois à un régime de base
(jusquau plafond de la sécurité sociale, soit 3 311 euros par mois) et à un
régime complémentaire ou additionnel, sur tout ou une partie de leurs
revenus.
By deductions made by the insured, the text refers (in the case of a self-employed person who is not necessarily up to date with his or her contributions) to the basic old-age pension scheme contributions actually paid by him or her (and not to the contributions called for).
Le montant de votre pension pour la retraite de base est calculé à partir la moyenne de vos revenus des 25 meilleures années.
titre.en: '[automatic] base'
titre.fr: base
protection sociale . retraite . base . cotisée:
titre.en: '[automatic] income contributed for the basic pension'
titre.fr: revenu cotisés pour la retraite de base
protection sociale . retraite . complémentaire:
description.en: >
[automatic] Supplemental pension earned through a full year of
supplemental pension contributions.
The annual income corresponding to the deductions made by the insured (so-called "contributed income") is the income reconstituted from the basic old-age pension scheme contributions ("RVB") actually paid by the insured.
&gt; This amount is likely to vary between now and your retirement, depending on the update of the point value. Nevertheless, it offers an order of magnitude, and allows you to compare the complementary pension schemes between them
description.fr: >
Supplément de pension de retraite acquis grâce à une année
complète de cotisation retraite complémentaire.
The contributed income is therefore the basic old-age pension contribution actually paid for the year N divided by the basic old-age pension contribution rate for that year N.
Final RVB contribution actually paid for a year N (+ deductions or exemptions generating rights) / RVB contribution rate for this year N (for the part generating rights applicable to the capped income).
This income (known as "contributed income" for a year N) is used to validate quarters for a year N.
It is compared to the threshold of 150 smic/hour to determine the number of quarters to be validated (contributed income of year N /150 smic h).
note.fr: >-
Rappel : la validation de trimestres seffectue, pour les travailleurs
indépendants à partir du **revenu cotisé**
Le dernier alinéa de larticle R351-9 du code de la sécurité sociale, tel que rendu applicable aux travailleurs indépendants par les articles D634-1 et R634-1 du même code, moyennant adaptations, prévoit que pour la période postérieure au 31 décembre 2013, il y a lieu de retenir autant de trimestres que le revenu annuel correspondant aux retenues subies par lassuré représente de fois le montant du salaire minimum de croissance en vigueur au 1er janvier de l'année considérée calculé sur la base de 150 heures, avec un maximum de quatre trimestres par année civile.
Par retenues subies par lassuré, le texte vise (sagissant dun indépendant qui nest pas forcément à jour de ses cotisations) les cotisations du régime vieillesse de base effectivement versées par lui (et non des cotisations appelées).
Par revenu annuel correspondant aux retenues subies par lassuré (dit « revenu cotisé ») on entend le revenu reconstitué à partir des cotisations du régime vieillesse de base (« RVB ») effectivement payées par lassuré.
Le revenu cotisé correspond donc à la cotisation du régime vieillesse de base effectivement versée au titre de lannée N divisée par le taux de cotisation du régime vieillesse de base de cette année N.
Cotisation définitive RVB effectivement versée au titre d'une année N (+réductions ou exonérations génératrices de droits) / taux de cotisation RVB au titre de cette année N (pour la part génératrice de droit applicable au revenu plafonné).
Ce revenu (dit « revenu cotisé » dune année N) est retenu pour la validation de trimestres dune année N.
Il est comparé au seuil de 150 smic/h pour déterminer le nombre de trimestres à valider (revenu cotisé de lannée N /150 smic h).
titre.en: '[automatic] independent'
titre.fr: indépendant
protection sociale . retraite . base . trimestres . salarié:
titre.en: '[automatic] employee'
titre.fr: salarié
protection sociale . retraite . complémentaire indépendants:
titre.en: supplementary pension for self-employed
titre.fr: complémentaire indépendants
protection sociale . retraite . complémentaire indépendants . points acquis:
titre.en: acquired points
titre.fr: points acquis
protection sociale . retraite . complémentaire indépendants . points acquis . valeur d'acquisition:
titre.en: '[automatic] acquisition value'
titre.fr: valeur d'acquisition
protection sociale . retraite . complémentaire salarié:
> Ce montant est succeptible de varier d'ici votre retraite, en fonction de la mise à jour de la valeur du point. Néanmoins il offre un ordre de grandeur, et permet de comparer les régimes de retraite complémentaire entre eux
titre.en: '[automatic] Earned supplementary pension bonus'
titre.fr: Bonus retraite complémentaire acquis
protection sociale . retraite . complémentaire . AGIRC ARRCO:
note.en:
'[automatic] The revaluation of the point value takes place on November
1, not January 1.'
note.fr:
La revalorisation de la valeur du point a lieu au 1er novembre, et non
au 1er janvier.
titre.en: supplementary pension for employees
titre.fr: complémentaire salarié
protection sociale . retraite . complémentaire salarié . points acquis:
note.en: >
[automatic] It is based on a constant value of the point, except that
this value changes from year to year, so this value is a rough
approximation.
note.fr: >
On se base sur une valeur constante du point, hors cette dernière
change d'année en année, cette valeure est donc une grossière approximation
titre.en: acquired points
titre.fr: points acquis
protection sociale . retraite . complémentaire salarié . points acquis . valeur d'acquisition:
titre.en: '[automatic] acquisition value'
titre.fr: valeur d'acquisition
protection sociale . retraite . mois cotisés:
titre.en: '[automatic] months of contributions'
titre.fr: mois cotisés
protection sociale . revenu moyen:
description.en: The income used to calculate the amount of retirement pensions
and daily social security allowances during a work stoppage.
description.fr: Le revenu utilisé pour le calcul du montant des pensions de
retraite et des indemnités journalières de sécurité sociale lors d'un arrêt
de travail.
titre.en: average income
titre.fr: revenu moyen
protection sociale . santé:
description.en: >
Health Insurance protects the health of everyone on a long-term
basis - in their personal or professional life - by acting on behalf of
everyone.
In concrete terms, it supports 60 million insured throughout their lives, by taking charge of their care regardless of their resources, situation or state of health. It thus guarantees universal access to rights and allows access to health care.
Thanks to it, you are covered on most health care services. In the event of a serious or long-term illness, 100% of the care is reimbursed.
## Health insurance in France in a few figures
- **92%** of health expenses reimbursed by health and supplementary insurance (one of the highest in the world)
- **€30,000 / year / patient** : health expenditure of a person with [cystic fibrosis](https://en.wikipedia.org/wiki/Cystic_fibrosis), **fully covered by social security**
- **11.7%** of GDP spent on health expenditure, the 5th of the OECD
- **82.4 years** of average life expectancy in France (in the top 10 worldwide 🏅)
- **€1,468 / month** : allowance paid by the social security system for maternity leave (average salary)
description.fr: >
LAssurance Maladie protège durablement la santé de chacun dans
sa vie personnelle ou professionnelle.
Concrètement, elle accompagne 60 millions dassurés tout au long de leur vie, en prenant en charge leurs soins quels que soient leurs ressources, leur situation ou leur état de santé. Elle garantit ainsi un accès universel aux droits et elle permet laccès aux soins.
Grâce à elle, vous êtes couvert sur la plupart des soins de santé. En cas de maladie grave ou de longue durée, 100 % des soins sont remboursés.
## L'assurance maladie en France en quelques chiffres
- **92 %** des dépenses de santé remboursées en moyenne par l'assurance maladie et la complémentaire
- **30 000 € / an / patient** : exemple de prise en charge complète pour une personne atteinte de mucoviscidose
- **1 468 € / mois** : indémnité versée par la sécurité sociale pour un congé maternité (salaire moyen)
- **82,4 ans** despérance de vie moyenne en france (dans le top 10 mondial 🏅)
résumé.en: Covers most everyday health care and 100% of serious illnesses such
as hospital stays.
résumé.fr: Couvre la plupart des soins de santé de la vie quotidienne et 100 %
des maladies graves comme les séjours à l'hôpital.
titre.en: healthcare
titre.fr: santé
protection sociale . santé . indemnités journalières:
description.en: Daily allowances are paid to you by the Health Insurance to
compensate for your income during a work stoppage. They are calculated on
the basis of your gross income and paid every 14 days on average.
description.fr: Les indemnités journalières vous sont versées par l'Assurance
Maladie pour compenser votre revenu pendant un arrêt de travail. Elles sont
calculées à partir de votre revenu brut et versées tous les 14 jours en
moyenne.
note.en: >
[automatic] We have not implemented the benefits of the
regulated professions. For an exhaustive list of
compensation, see [this
site](https://www.coover.fr/prevoyance/tns/arret-maladie-profession-liberale)
note.fr: >
Nous n'avons implémenté les indemnités des régimes particuliers des
professions libérales réglementées. Pour une liste exaustive des
indemnisation, consultez [ce
site](https://www.coover.fr/prevoyance/tns/arret-maladie-profession-liberale)
titre.en: Daily allowances
titre.fr: indemnités journalières
protection sociale . santé . indemnités journalières . TNS:
titre.en: '[automatic] TNS'
titre.fr: TNS
protection sociale . santé . indemnités journalières . salarié:
titre.en: employee
titre.fr: salarié
titre.en: '[automatic] AGIRC-ARRCO pension (employee) acquired for one year'
titre.fr: Pension AGIRC-ARRCO (salarié) acquise pour un an
protection sociale . retraite . complémentaire . RCI:
titre.en: '[automatic] Supplementary pension for the self-employed'
titre.fr: Retraite complémentaire des indépendants
protection sociale . retraite . trimestres:
titre.en: '[automatic] validated quarters'
titre.fr: trimestres validés
protection sociale . transport:
description.en: >
This contribution is paid in full to the [mobility
@ -6114,6 +6003,35 @@ salarié . contrat . apprentissage . diplôme préparé . niveau supérieur au b
...)
titre.en: '[automatic] Diploma of a higher level than the baccalaureate'
titre.fr: Diplôme d'un niveau supérieur au bac
salarié . contrat . apprentissage . durée:
description.en: >
[automatic] The apprenticeship contract is a written contract
under private law.
It can be of limited duration (CDL) from a minimum of 6 months to a maximum of 3 years
description.fr: >
Le contrat d'apprentissage est un contrat écrit de droit privé.
Il peut être à durée limitée (CDL) d'une durée de 6 mois au minimum à 3 ans au maximum
question.en: '[automatic] What is the duration of the contract?'
question.fr: Quelle est la durée du contrat ?
suggestions.1 an.en: '[automatic] 1 year'
suggestions.1 an.fr: 1 an
suggestions.2 ans.en: '[automatic] 2 years'
suggestions.2 ans.fr: 2 ans
suggestions.3 ans.en: '[automatic] 3 years'
suggestions.3 ans.fr: 3 ans
suggestions.6 mois.en: '[automatic] 6 months'
suggestions.6 mois.fr: 6 mois
titre.en: '[automatic] duration of the contract'
titre.fr: durée du contrat
salarié . contrat . apprentissage . trimestres validés pour la retraite:
note.en: '[automatic] We round down to the unit, hence the subtraction of 0.5'
note.fr: On arrondi à l'unité inférieur, d'où la soustraction de 0.5
titre.en: '[automatic] validated quarters for retirement'
titre.fr: trimestres validés pour la retraite
salarié . contrat . date d'embauche:
question.en: "[automatic] What is the employee's date of hire?"
question.fr: Quelle est la date d'embauche du salarié ?

View File

@ -124,6 +124,7 @@ Découvrir: Discover
Démarches de création: Creation process checklist
Désactivée: Inactive
Détail annuel des cotisations: Annual detail of my contributions
EI / EURL: EI / EURL
Effacer: Reset
Effacer mes réponses: Delete my answers
"Eligibilité LFR : ": "LFR Eligibility: "
@ -265,6 +266,7 @@ Rémunération du dirigeant: Director's remuneration
Répartition du chiffre d'affaires: Breakdown of turnover
Résultat: Result
S'inscrire: Register
SASU: SASU
Saisissez le nom d'une commune: Enter the name of a municipality
Saisissez votre domaine d'activité: Enter your business area
Salaire: Salary
@ -460,6 +462,12 @@ autoentrepreneur:
titre: Auto-entrepeneur
back: Return to the simulation
barème: scale
betawarning: <0><0>This tool is in beta version</0></0><1>We are working to
validate the information and calculations, but <1>errors may be
present</1>.</1><2>Although it is not finished, we chose to publish it to take
into account your feedback as soon as possible. If you think you have found a
problem or if you want to share a remark, you can contact us via the "Make a
suggestion" button at the bottom of the page.</2>
budget:
tableCaption: Table showing the budget for the year {{year}} by expense item.
The first column shows the current year ({{year}}) on the first line, then
@ -1111,10 +1119,10 @@ mois: month
montant à atteindre: minimum value
multiplicateur: multiplier
navbar:
logo: Logo My company in France by Urssaf
redirect-home: Go to home page
activate-darkmode: Activate dark mode
deactivate-darkmode: Deactivate dark mode
logo: Logo My company in France by Urssaf
redirect-home: Go to home page
nextSteps:
integration-iframe:
body: Discover how to add this simulator on your website in one click via a
@ -1395,7 +1403,7 @@ pages:
meta:
description: Find out which amounts to fill in and get an estimate of your 2022 dues
title: Income tax return assistant for self-employed people
shortname: Income tax return wizard [beta]
shortname: Income Tax Wizard
title: Income tax return assistant for self-employed people
demande-mobilité:
meta:
@ -1403,6 +1411,38 @@ pages:
title: "Self-employed: demand for mobility in Europe"
shortname: Demand for mobility in Europe
title: Mobility request simulator
simulateu rs:
salarié:
seo: "<0>How to calculate the net salary?</0><1>During the job interview, the
employer generally proposes a \"gross\" salary. This amount includes the
employee's social security contributions, which are deducted from the
\"net\" salary received by the employee.</1><2>You can use our simulator
to convert the <2>gross salary into net salary</2>: simply enter the
advertised salary in the gross salary box. The simulation can be refined
by answering different questions (fixed-term contract, executive status,
overtime, part-time work, meal vouchers, etc.).</2><3></3><4>In
addition, since 2019,<1>income tax</1> is deducted at source. To do
this, the Directorate General of Public Finance (DGFiP) sends the
employer the tax rate calculated from the employee's tax return. If this
rate is unknown, for example during a first year of activity, the
employer uses the <4>neutral rate</4>.</4><5>How to calculate the cost
of hiring?</5><6>If you are looking to hire, you can calculate the total
cost of your employee's remuneration, as well as the corresponding
employer and employee contributions. This allows you to define the level
of remuneration by knowing the overall amount of expense that this
represents for your company.</6><7>In addition to the salary, our
simulator takes into account the calculation of benefits in kind
(telephone, company car, etc.), as well as the mandatory health
insurance.</7><8>There are <2>deferred</2> hiring <2>aids</2> that are
not all taken into account by our simulator. You can find them on <6>the
official portal</6>.</8><9><0>Discuss your recruitment project with a
consultant</0><1>You want :<1><0>Be advised on the hiring aids available
for your recruitment</0><1>Find out about apprenticeships,
professionalization contracts, free jobs in priority neighborhoods, the
<2>VTE</2>, etc.</1><2>Find candidates</2><3>Recruiting a person with a
disability</3></1><2>Simple and fast public service: you are called back
by the advisor who can help you.</2></1><2>Mobilized partners: Pôle
emploi, APEC, Cap Emploi, local missions...</2><3></3></9>"
simulateurs:
EI:
meta:
@ -1608,7 +1648,7 @@ pages:
comparison, find the plan that suits you best
title: "Starting a business: a comparison of social schemes"
shortname: Status Comparison
title: Legal form choice assistant
title: Legal status comparator
dirigean sasu:
explication seo: "<0>How to calculate the salary of a SASU executive? </0><1>As
for a conventional employee, the SASU <1>manager</1> pays social

View File

@ -95,6 +95,7 @@ Découvrir: Découvrir
parapublics, le conseiller compétent pour votre demande. Celui-ci vous
contacte par téléphone sous 5 jours et vous accompagne en fonction de votre
situation.
EI / EURL: EI / EURL
Effacer mes réponses: Effacer mes réponses
"Eligibilité LFR : ": "Eligibilité LFR : "
"Eligibilité LFSS : ": "Eligibilité LFSS : "
@ -182,6 +183,7 @@ Revenus étranger: Revenus étranger
Règles de calculs: Règles de calculs
Répartition du chiffre d'affaires: Répartition du chiffre d'affaires
S'inscrire: S'inscrire
SASU: SASU
Salaire: Salaire
Salaire net: Salaire net
Salariés et embauche: Salariés et embauche
@ -342,6 +344,13 @@ autoentrepreneur:
titre: Auto-entrepreneur
titre: Entreprise individuelle ou auto-entrepreneur
back: Retourner à la simulation
betawarning: <0><0>Cet outil est en version beta</0></0><1>Nous travaillons à
valider les informations et les calculs, mais des <1>erreurs peuvent être
présentes</1>.</1><2>Bien qu'il ne soit pas terminé, nous avons choisi de le
publier pour prendre en compte vos retours le plus tôt possible. Si vous
pensez avoir trouvé un problème ou si vous voulez nous partager une remarque,
vous pouvez nous contacter via le bouton « Faire une suggestion » en bas de
page.</2>
budget:
tableCaption: Tableau affichant le bugdet de l'année {{year}} par poste de
dépenses. La première colonne affiche l'année en cours ({{year}}) sur la
@ -872,10 +881,10 @@ loading: Chargement en cours...
mensuel: mensuel
mois: mois
navbar:
logo: Logo Mon-entreprise, site Urssaf
redirect-home: Accéder à la page d'accueil
activate-darkmode: Activer le mode sombre
deactivate-darkmode: Désactiver le mode sombre
logo: Logo Mon-entreprise, site Urssaf
redirect-home: Accéder à la page d'accueil
nextSteps:
integration-iframe:
body: Decouvrez comment ajouter ce simulateur sur votre site internet en un clic
@ -1167,7 +1176,7 @@ pages:
description: Découvrez quels montants remplir dans quelles cases, et obtenez une
estimation des cotisations à payer en 2022
title: Assistant à la déclaration de revenu pour les indépendants
shortname: Assistant déclaration de revenu [beta]
shortname: Assistant déclaration de revenu
title: Assistant à la déclaration de revenu pour les indépendants
demande-mobilité:
meta:
@ -1176,6 +1185,43 @@ pages:
title: "Travailleur indépendant : demande de mobilité en Europe"
shortname: Demande de mobilité internationale
title: Simulateur de demande de mobilité
simulateu rs:
salarié:
seo: "<0>Comment calculer le salaire net ?</0><1>Lors de l'entretien d'embauche
l'employeur propose en général une rémunération exprimée en « brut ». Le
montant annoncé inclut ainsi les cotisations salariales, qui servent à
financer la protection sociale du salarié et qui sont retranchées du
salaire « net » perçu par le salarié.</1><2>Vous pouvez utiliser notre
simulateur pour convertir le <2>salaire brut en net</2> : il vous suffit
pour cela saisir la rémunération annoncée dans la case salaire brut. La
simulation peut-être affinée en répondant aux différentes questions
(CDD, statut cadre, heures supplémentaires, temps partiel,
titre-restaurants, etc.).</2><3></3><4>Par ailleurs depuis 2019,
l'<1>impôt sur le revenu</1> est prélevé à la source. Pour ce faire, la
direction générale des finances publiques (DGFiP) transmet à l'employeur
le taux d'imposition calculé à partir de la déclaration de revenu du
salarié. Si ce taux est inconnu, par exemple lors d'une première année
d'activité, l'employeur utilise le <4>taux neutre</4>.</4><5>Comment
calculer le coût d'embauche ?</5><6>Si vous cherchez à embaucher, vous
pouvez calculer le coût total de la rémunération de votre salarié, ainsi
que les montants de cotisations patronales et salariales correspondant.
Cela vous permet de définir le niveau de rémunération en connaissant le
montant global de charge que cela représente pour votre
entreprise.</6><7>En plus du salaire, notre simulateur prend en compte
le calcul des avantages en nature (téléphone, véhicule de fonction,
etc.), ainsi que la mutuelle santé obligatoire.</7><8>Il existe des
<2>aides différées</2> à l'embauche qui ne sont pas toutes prises en
compte par notre simulateur, vous pouvez les retrouver sur <6>le portail
officiel</6>.</8><9><0>Échanger avec un conseiller pour votre projet de
recrutement</0><1>Vous souhaitez :<1><0>Être conseillé(e) sur les aides
à l'embauche mobilisables pour votre recrutement</0><1>Vous informer sur
l'apprentissage, le contrat de professionnalisation, les emplois francs
en quartiers prioritaires, le <2>VTE</2>...</1><2>Trouver des
candidats</2><3>Recruter une personne en situation de
handicap</3></1><2>Service public simple et rapide : vous êtes
rappelé(e) par le conseiller qui peut vous aider.</2></1><2>Partenaires
mobilisés : Pôle emploi, APEC, Cap Emploi, missions
locales...</2><3></3></9>"
simulateurs:
accueil:
header: Tous les simulateurs sur ce site sont maintenus à jour avec les
@ -1310,7 +1356,7 @@ pages:
comparatif, trouvez le régime qui vous correspond le mieux
title: "Création d'entreprise : le comparatif des régimes sociaux"
shortname: Comparaison des statuts
title: Assistant au choix du statut juridique
title: Comparateur de statut juridique
dividendes:
meta:
description: Calculez le montant de l'impôt et des cotisations sur les

View File

@ -1,5 +1,6 @@
import { Item } from '@react-stately/collections'
import rules, { DottedName } from 'modele-social'
import Engine from 'publicodes'
import { RulePage, getDocumentationSiteMap } from 'publicodes-react'
import { ComponentProps, useMemo, useRef } from 'react'
import { Helmet } from 'react-helmet-async'
@ -17,7 +18,6 @@ import styled from 'styled-components'
import { References } from '@/components/References'
import SearchRules from '@/components/search/SearchRules'
import { FromBottom } from '@/components/ui/animate'
import { useEngine, useRawSituation } from '@/components/utils/EngineContext'
import Meta from '@/components/utils/Meta'
import { ScrollToTop } from '@/components/utils/Scroll'
import { Markdown } from '@/components/utils/markdown'
@ -34,10 +34,13 @@ import { useSitePaths } from '@/sitePaths'
import { TrackPage } from '../ATInternetTracking'
import RuleLink from '../components/RuleLink'
export default function MonEntrepriseRulePage() {
const engine = useEngine()
const { absoluteSitePaths } = useSitePaths()
const documentationPath = absoluteSitePaths.documentation.index
export default function Documentation({
documentationPath,
engine,
}: {
documentationPath: string
engine: Engine
}) {
const location = useLocation()
const pathname = decodeURI(location?.pathname ?? '')
const documentationSitePaths = useMemo(
@ -65,7 +68,10 @@ export default function MonEntrepriseRulePage() {
<ScrollToTop key={pathname} />
<BackToSimulation />
<Spacing xl />
<DocumentationPageBody />
<DocumentationPageBody
engine={engine}
documentationPath={documentationPath}
/>
</FromBottom>
</>
)
@ -99,13 +105,16 @@ const CustomAccordion = ({ items }: AccordionProps) => (
</StyledAccordion>
)
function DocumentationPageBody() {
const engine = useEngine()
function DocumentationPageBody({
documentationPath,
engine,
}: {
documentationPath: string
engine: Engine
}) {
const { absoluteSitePaths } = useSitePaths()
const documentationPath = absoluteSitePaths.documentation.index
const { i18n } = useTranslation()
const params = useParams<{ '*': string }>()
const situation = useRawSituation()
const { current: renderers } = useRef({
Head: Helmet,
@ -121,7 +130,6 @@ function DocumentationPageBody() {
language={i18n.language as 'fr' | 'en'}
rulePath={params['*'] ?? ''}
engine={engine}
situation={situation}
documentationPath={documentationPath}
renderers={renderers}
apiDocumentationUrl={absoluteSitePaths.développeur.api}

View File

@ -59,8 +59,7 @@ function Explanation() {
<StackedBarChart
data={[
{
dottedName:
'dirigeant . auto-entrepreneur . revenu net . après impôt',
dottedName: 'dirigeant . rémunération . net . après impôt',
title: t("Revenu (incluant les dépenses liées à l'activité)"),
color: colors.bases.primary[600],
},

View File

@ -1,5 +1,5 @@
import { Trans, useTranslation } from 'react-i18next'
import { ThemeProvider } from 'styled-components'
import styled, { ThemeProvider } from 'styled-components'
import PageHeader from '@/components/PageHeader'
import DefaultHelmet from '@/components/utils/DefaultHelmet'
@ -212,6 +212,7 @@ export function SimulateurCard({
iframePath,
fromGérer = false,
icône,
beta,
...props
}: {
shortName: ExtractFromSimuData<'shortName'>
@ -219,6 +220,7 @@ export function SimulateurCard({
path: ExtractFromSimuData<'path'>
tooltip?: ExtractFromSimuData<'tooltip'>
iframePath?: ExtractFromSimuData<'iframePath'>
beta?: ExtractFromSimuData<'beta'>
icône: ExtractFromSimuData<'icône'>
small?: boolean
fromGérer?: boolean
@ -241,6 +243,12 @@ export function SimulateurCard({
title={
<h4>
{shortName} {tooltip && <InfoBulle>{tooltip}</InfoBulle>}
{beta && (
<Badge>
<Emoji emoji="" />
🚧 Beta
</Badge>
)}
</h4>
}
/>
@ -248,7 +256,17 @@ export function SimulateurCard({
) : (
<Grid item xs={12} sm={6} md={6} lg={4} {...props}>
<Card
title={shortName}
title={
<>
{shortName}
{beta && (
<Badge>
<Emoji emoji="" />
🚧 Beta
</Badge>
)}
</>
}
icon={<Emoji emoji={icône} />}
ctaLabel={t('.cta', 'Lancer le simulateur')}
to={{ pathname: (isIframe && iframePath) || path }}
@ -261,3 +279,11 @@ export function SimulateurCard({
</ThemeProvider>
)
}
const Badge = styled.small`
border-radius: 0.5rem;
padding: 0.25rem 0.5rem;
margin: 0.25rem;
white-space: nowrap;
background-color: ${({ theme }) => theme.colors.extended.info[300]};
`

View File

@ -1,20 +1,219 @@
import { DottedName } from 'modele-social'
import Engine from 'publicodes'
import { useMemo } from 'react'
import { Trans } from 'react-i18next'
import { Route, Routes } from 'react-router-dom'
import SchemeComparaison from '@/components/SchemeComparaison'
import Value from '@/components/EngineValue'
import PeriodSwitch from '@/components/PeriodSwitch'
import RuleLink from '@/components/RuleLink'
import { StyledGrid } from '@/components/SchemeComparaison'
import Simulation, {
SimulationGoal,
SimulationGoals,
} from '@/components/Simulation'
import Emoji from '@/components/utils/Emoji'
import { useEngine, useRawSituation } from '@/components/utils/EngineContext'
import useSimulationConfig from '@/components/utils/useSimulationConfig'
import { Spacing } from '@/design-system/layout'
import { H2, H3 } from '@/design-system/typography/heading'
import { Intro } from '@/design-system/typography/paragraphs'
import { useSitePaths } from '@/sitePaths'
import Documentation from '../Documentation'
import { configComparateurStatuts } from './configs/comparateurStatuts'
export default function SchemeComparaisonPage() {
const engine = useEngine()
const situation = useRawSituation()
const { absoluteSitePaths } = useSitePaths()
useSimulationConfig({
path: absoluteSitePaths.simulateurs.comparaison,
config: configComparateurStatuts,
})
const assimiléEngine = useMemo(
() =>
engine.shallowCopy().setSituation({
...situation,
'entreprise . catégorie juridique': "'SAS'",
'entreprise . catégorie juridique . SAS . unipersonnelle': 'oui',
}),
[situation]
)
const autoEntrepreneurEngine = useMemo(
() =>
engine.shallowCopy().setSituation({
...situation,
'entreprise . catégorie juridique': "'EI'",
'entreprise . catégorie juridique . EI . auto-entrepreneur': 'oui',
}),
[situation]
)
const indépendantEngine = useMemo(
() =>
engine.shallowCopy().setSituation({
...situation,
'entreprise . catégorie juridique': "'EI'",
'entreprise . catégorie juridique . EI . auto-entrepreneur': 'non',
}),
[situation]
)
const engines = [
assimiléEngine,
autoEntrepreneurEngine,
indépendantEngine,
] as [Engine<DottedName>, Engine<DottedName>, Engine<DottedName>]
return (
<Routes>
<Route
path="SASU/*"
element={
<>
<Documentation
engine={assimiléEngine}
documentationPath="/simulateurs/comparaison-régimes-sociaux/SASU"
/>
</>
}
/>
<Route
path="EI/*"
element={
<Documentation
engine={indépendantEngine}
documentationPath="/simulateurs/comparaison-régimes-sociaux/EI"
/>
}
/>
<Route
path="auto-entrepreneur/*"
element={
<Documentation
engine={autoEntrepreneurEngine}
documentationPath="/simulateurs/comparaison-régimes-sociaux/auto-entrepreneur"
/>
}
/>
<Route
path=""
element={
<>
<Intro>
<Trans i18nKey="comparaisonRégimes.description">
Lorsque vous créez votre société, le choix du statut juridique
va déterminer à quel régime social le dirigeant est affilié. Il
en existe trois différents, avec chacun ses avantages et
inconvénients. Avec ce comparatif, trouvez celui qui vous
correspond le mieux.
</Trans>
</Intro>
<Comparateur engines={engines} />
</>
}
/>
</Routes>
)
}
type ComparateurProps = {
engines: [Engine<DottedName>, Engine<DottedName>, Engine<DottedName>]
}
function Comparateur({ engines }: ComparateurProps) {
return (
<>
<Intro>
<Trans i18nKey="comparaisonRégimes.description">
Lorsque vous créez votre société, le choix du statut juridique va
déterminer à quel régime social le dirigeant est affilié. Il en existe
trois différents, avec chacun ses avantages et inconvénients. Avec ce
comparatif, trouvez celui qui vous correspond le mieux.
</Trans>
</Intro>
<SchemeComparaison />
<Simulation engines={engines} hideDetails showQuestionsFromBeginning>
<SimulationGoals
toggles={<PeriodSwitch />}
legend={'Estimations sur votre rémunération brute et vos charges'}
>
<SimulationGoal dottedName="entreprise . chiffre d'affaires" />
<SimulationGoal dottedName="entreprise . charges" />
</SimulationGoals>
</Simulation>
<Spacing md />
<StyledGrid>
<H3 className="AS">
<Emoji emoji="☂" /> <Trans>SASU</Trans>
</H3>
<H3 className="indep">
<Emoji emoji="👩‍🔧" /> <Trans>EI / EURL</Trans>
</H3>
<H3 className="auto">
<Emoji emoji="🚶‍♂️" /> <Trans>Auto-entrepreneur</Trans>
</H3>
<TableRow
dottedName="dirigeant . rémunération . net . après impôt"
engines={engines}
/>
<H2 className="all">
<Spacing lg /> Retraite
</H2>
<TableRow
dottedName="protection sociale . retraite . trimestres"
engines={engines}
/>
<TableRow
dottedName="protection sociale . retraite . base . cotisée"
engines={engines}
/>
<TableRow
dottedName="protection sociale . retraite . complémentaire"
engines={engines}
/>
<H2 className="all">
<Spacing lg /> Santé
</H2>
<TableRow
dottedName="protection sociale . maladie . arrêt maladie . indemnités"
engines={engines}
/>
</StyledGrid>
</>
)
}
function TableRow({
dottedName,
engines: [assimiléEngine, autoEntrepreneurEngine, indépendantEngine],
}: {
dottedName: DottedName
engines: readonly [Engine<DottedName>, Engine<DottedName>, Engine<DottedName>]
}) {
return (
<>
<H3 className="legend">
<RuleLink dottedName={dottedName} />
</H3>
<div className="AS">
<Value
engine={assimiléEngine}
expression={dottedName}
documentationPath="/simulateurs/comparaison-régimes-sociaux/SASU"
/>
</div>
<div className="indep">
<Value
engine={indépendantEngine}
expression={dottedName}
documentationPath="/simulateurs/comparaison-régimes-sociaux/EI"
/>
</div>
<div className="auto">
<Value
engine={autoEntrepreneurEngine}
expression={dottedName}
documentationPath="/simulateurs/comparaison-régimes-sociaux/auto-entrepreneur"
/>
</div>
</>
)
}

View File

@ -0,0 +1,39 @@
import { SimulationConfig } from './types'
export const configComparateurStatuts: SimulationConfig = {
'objectifs exclusifs': [],
objectifs: [
'dirigeant . rémunération . net',
'dirigeant . rémunération . net . après impôt',
'protection sociale . retraite . trimestres',
'protection sociale . retraite . base . cotisée',
'protection sociale . retraite . complémentaire',
'protection sociale . maladie . arrêt maladie . indemnités',
],
questions: {
'liste noire': [
'entreprise . charges',
"entreprise . chiffre d'affaires",
'entreprise . activité . nature . libérale . réglementée',
'entreprise . imposition',
'entreprise . imposition . régime',
'entreprise . imposition . régime . micro-entreprise',
'entreprise . salariés . effectif . seuil',
'salarié . rémunération . avantages en nature',
],
liste: [
'entreprise . activité',
'dirigeant . exonérations . ACRE',
'impôt',
'entreprise . TVA',
],
},
'unité par défaut': '€/mois',
situation: {
'entreprise . activité . mixte': 'non',
'salarié . cotisations . ATMP . taux fonctions support': 'oui',
"entreprise . chiffre d'affaires": '4000 €/mois',
'entreprise . charges': '1000 €/mois',
'entreprise . date de création': "période . début d'année",
},
}

View File

@ -9,9 +9,9 @@ export const configProfessionLibérale: SimulationConfig = {
objectifs: [
'dirigeant . indépendant . cotisations et contributions',
'impôt . montant',
'protection sociale . retraite . complémentaire indépendants . points acquis',
'protection sociale . retraite . base . trimestres . indépendant',
'protection sociale . retraite . CNAVPL',
'protection sociale . retraite . trimestres',
'protection sociale . retraite . complémentaire',
'protection sociale . retraite . CNAVPL . points acquis',
],
questions: {
'liste noire': ['entreprise . charges', 'entreprise . imposition . régime'],

View File

@ -1,23 +0,0 @@
import { SimulationConfig } from './types'
export const configRémunérationDirigeant: SimulationConfig = {
'objectifs exclusifs': [],
objectifs: [
'dirigeant . rémunération . net',
'entreprise . charges',
'dirigeant . auto-entrepreneur . revenu net',
'protection sociale . santé . indemnités journalières',
],
questions: {
'liste noire': [
'entreprise . charges',
'entreprise . activité . nature . libérale . réglementée',
],
liste: ['entreprise . activité . nature'],
},
'unité par défaut': '€/an',
situation: {
'entreprise . activité . mixte': 'non',
'salarié . cotisations . ATMP . taux fonctions support': 'oui',
},
}

View File

@ -302,8 +302,9 @@ const getMetadataSrc = (t: TFunction<'translation', string>) => {
pathId: 'simulateurs.comparaison',
title: t(
'pages.simulateurs.comparaison.title',
'Assistant au choix du statut juridique'
'Comparateur de statut juridique'
),
beta: true,
meta: {
description: t(
'pages.simulateurs.comparaison.meta.description',
@ -321,6 +322,7 @@ const getMetadataSrc = (t: TFunction<'translation', string>) => {
},
'économie-collaborative': {
tracking: 'economie_collaborative',
meta: {
title: t(
'pages.économie-collaborative.meta.title',
@ -430,6 +432,7 @@ const getMetadataSrc = (t: TFunction<'translation', string>) => {
},
'déclaration-revenu-indépendant-beta': {
beta: true,
tracking: {
chapter1: 'gerer',
chapter2: 'declaration_revenu_independant',
@ -449,7 +452,7 @@ const getMetadataSrc = (t: TFunction<'translation', string>) => {
pathId: 'gérer.déclarationIndépendant.beta.index',
shortName: t(
'pages.gérer.declaration_revenu_indépendant.shortname',
'Assistant déclaration de revenu [beta]'
'Assistant déclaration de revenu'
),
title: t(
'pages.gérer.declaration_revenu_indépendant.title',

View File

@ -82,7 +82,7 @@ function getSimulatorsData({ t, sitePaths, language }: SimulatorsDataParams) {
},
path: sitePaths.simulateurs.salarié,
seoExplanations: (
<Trans i18nKey="pages.simulateurs.salarié.seo">
<Trans i18nKey="pages.simulateu rs.salarié.seo">
<H2>Comment calculer le salaire net ?</H2>
<Body>
Lors de l'entretien d'embauche l'employeur propose en général une
@ -528,6 +528,7 @@ function getSimulatorsData({ t, sitePaths, language }: SimulatorsDataParams) {
'comparaison-statuts': {
...pureSimulatorsData['comparaison-statuts'],
component: SchemeComparaisonPage,
path: sitePaths.simulateurs.comparaison,
},
'économie-collaborative': {

View File

@ -1,7 +1,7 @@
import { DottedName } from 'modele-social'
import { Trans } from 'react-i18next'
import { useDispatch } from 'react-redux'
import { DottedName } from '@/../../modele-social'
import { TrackPage } from '@/ATInternetTracking'
import { resetSimulation } from '@/actions/actions'
import { resetCompany } from '@/actions/companyActions'

View File

@ -1,10 +1,10 @@
import { Item } from '@react-stately/collections'
import { DottedName } from 'modele-social'
import { formatValue } from 'publicodes'
import { useCallback } from 'react'
import { Trans, useTranslation } from 'react-i18next'
import { useDispatch } from 'react-redux'
import { DottedName } from '@/../../modele-social'
import { TrackPage } from '@/ATInternetTracking'
import { updateSituation } from '@/actions/actions'
import {

View File

@ -1,7 +1,6 @@
import { useTranslation } from 'react-i18next'
import { Navigate, Route, Routes } from 'react-router-dom'
import BetaBanner from '@/components/BetaBanner'
import { Condition } from '@/components/EngineValue'
import PrintExportRecover from '@/components/simulationExplanation/PrintExportRecover'
import { useEngine } from '@/components/utils/EngineContext'
@ -9,9 +8,6 @@ import { useSimulationProgress } from '@/components/utils/useNextQuestion'
import useSimulationConfig from '@/components/utils/useSimulationConfig'
import { Step, Stepper } from '@/design-system'
import { Spacing } from '@/design-system/layout'
import { Strong } from '@/design-system/typography'
import { H3 } from '@/design-system/typography/heading'
import { Body, Intro } from '@/design-system/typography/paragraphs'
import { SimulationConfig } from '@/reducers/rootReducer'
import { useSitePaths } from '@/sitePaths'
import { omit } from '@/utils'
@ -60,22 +56,6 @@ export default function AideDéclarationIndépendant() {
<>
<PrintExportRecover />
<Condition expression="DRI">
<BetaBanner>
<H3 as="h2">
<Strong>Cet assistant est en version beta</Strong>
</H3>
<Intro>
Nous travaillons à valider les informations et les calculs, mais des{' '}
<Strong>erreurs peuvent être présentes</Strong>.
</Intro>
<Body>
Bien qu'il ne soit pas terminé, nous avons choisi de publier cet
outil pour avoir vos retours. Si vous pensez avoir trouvé un
problème ou si vous voulez nous partager une remarque, vous pouvez
nous contacter via le bouton « Faire une suggestion » en bas de
page.
</Body>
</BetaBanner>
<Spacing lg />
<div className="print-hidden">
<Stepper aria-label="Étapes de l'assistant">

View File

@ -1,4 +1,5 @@
import { DottedName } from '@/../../modele-social'
import { DottedName } from 'modele-social'
import { Action } from '@/actions/actions'
import { FabriqueSocialEntreprise } from '@/api/fabrique-social'
import { buildSituationFromObject, omit } from '@/utils'

View File

@ -21,15 +21,20 @@ export const configObjectifsSelector = (state: RootState) => {
const emptySituation: Situation = {}
export const useMissingVariables = (): Partial<Record<DottedName, number>> => {
export const useMissingVariables = ({
engines,
}: {
engines: Array<Engine<DottedName>>
}): Partial<Record<DottedName, number>> => {
const objectifs = useSelector(configObjectifsSelector)
const engine = useEngine()
return mergeObjectifsMissingVariable(
objectifs.map(
(objectif) => engine.evaluate(objectif).missingVariables ?? {}
),
engine
return treatAPIMissingVariables(
objectifs
.flatMap((objectif) =>
engines.map((e) => e.evaluate(objectif).missingVariables ?? {})
)
.reduce(mergeMissing, {}),
useEngine()
)
}
export const situationSelector = (state: RootState) =>
@ -69,23 +74,32 @@ export const shouldFocusFieldSelector = (state: RootState) =>
*
* For instance, the commune field (API) will fill `commune . nom` `commune . taux versement transport`, `commune . département`, etc.
*/
function mergeObjectifsMissingVariable<Name extends string>(
missingVariables: Array<Partial<Record<Name, number>>>,
function treatAPIMissingVariables<Name extends string>(
missingVariables: Partial<Record<Name, number>>,
engine: Engine<Name>
): Partial<Record<Name, number>> {
return (
missingVariables.flatMap((missings) => Object.entries(missings)) as Array<
[Name, number]
>
).reduce((missings, [name, value]: [Name, number]) => {
const parentName = utils.ruleParent(name) as Name
if (parentName && engine.getRule(parentName).rawNode.API) {
missings[parentName] = (missings[parentName] ?? 0) + value
return (Object.entries(missingVariables) as Array<[Name, number]>).reduce(
(missings, [name, value]: [Name, number]) => {
const parentName = utils.ruleParent(name) as Name
if (parentName && engine.getRule(parentName).rawNode.API) {
missings[parentName] = (missings[parentName] ?? 0) + value
return missings
}
missings[name] = value
return missings
}
missings[name] = value
return missings
}, {} as Partial<Record<Name, number>>)
},
{} as Partial<Record<Name, number>>
)
}
const mergeMissing = (
left: Record<string, number> | undefined = {},
right: Record<string, number> | undefined = {}
): Record<string, number> =>
Object.fromEntries(
[...Object.keys(left), ...Object.keys(right)].map((key) => [
key,
(left[key] ?? 0) + (right[key] ?? 0),
])
)

View File

@ -0,0 +1,114 @@
// Vitest Snapshot v1
exports[`calculate assimilé salarié > ACRE 1`] = `
"dirigeant . rémunération . totale: 10000
impôt . montant: 0
salarié . cotisations: 519
salarié . rémunération . net . payé après impôt: 596
salarié . rémunération . net . à payer avant impôt: 596"
`;
exports[`calculate assimilé salarié > ACRE 2`] = `
"dirigeant . rémunération . totale: 20000
impôt . montant: 0
salarié . cotisations: 1008
salarié . rémunération . net . payé après impôt: 1228
salarié . rémunération . net . à payer avant impôt: 1228"
`;
exports[`calculate assimilé salarié > ACRE 3`] = `
"dirigeant . rémunération . totale: 30000
impôt . montant: 1004
salarié . cotisations: 1497
salarié . rémunération . net . payé après impôt: 1777
salarié . rémunération . net . à payer avant impôt: 1861"
`;
exports[`calculate assimilé salarié > JEI 1`] = `
"dirigeant . rémunération . totale: 48000
impôt . montant: 3534
salarié . cotisations: 1208
salarié . rémunération . net . payé après impôt: 2497
salarié . rémunération . net . à payer avant impôt: 2792"
`;
exports[`calculate assimilé salarié > avec charges 1`] = `
"dirigeant . rémunération . totale: 10000
impôt . montant: 0
salarié . cotisations: 396
salarié . rémunération . net . payé après impôt: 437
salarié . rémunération . net . à payer avant impôt: 437"
`;
exports[`calculate assimilé salarié > avec charges 2`] = `
"dirigeant . rémunération . totale: 20000
impôt . montant: 0
salarié . cotisations: 760
salarié . rémunération . net . payé après impôt: 907
salarié . rémunération . net . à payer avant impôt: 907"
`;
exports[`calculate assimilé salarié > échelle de rémunération 1`] = `
"dirigeant . rémunération . totale: 100
impôt . montant: undefined
salarié . cotisations: undefined
salarié . rémunération . net . payé après impôt: undefined
salarié . rémunération . net . à payer avant impôt: undefined"
`;
exports[`calculate assimilé salarié > échelle de rémunération 2`] = `
"dirigeant . rémunération . totale: 1000
impôt . montant: 0
salarié . cotisations: 70
salarié . rémunération . net . payé après impôt: 14
salarié . rémunération . net . à payer avant impôt: 14"
`;
exports[`calculate assimilé salarié > échelle de rémunération 3`] = `
"dirigeant . rémunération . totale: 2000
impôt . montant: 0
salarié . cotisations: 106
salarié . rémunération . net . payé après impôt: 61
salarié . rémunération . net . à payer avant impôt: 61"
`;
exports[`calculate assimilé salarié > échelle de rémunération 4`] = `
"dirigeant . rémunération . totale: 5000
impôt . montant: 0
salarié . cotisations: 215
salarié . rémunération . net . payé après impôt: 202
salarié . rémunération . net . à payer avant impôt: 202"
`;
exports[`calculate assimilé salarié > échelle de rémunération 5`] = `
"dirigeant . rémunération . totale: 10000
impôt . montant: 0
salarié . cotisations: 396
salarié . rémunération . net . payé après impôt: 437
salarié . rémunération . net . à payer avant impôt: 437"
`;
exports[`calculate assimilé salarié > échelle de rémunération 6`] = `
"dirigeant . rémunération . totale: 20000
impôt . montant: 0
salarié . cotisations: 760
salarié . rémunération . net . payé après impôt: 907
salarié . rémunération . net . à payer avant impôt: 907"
`;
exports[`calculate assimilé salarié > échelle de rémunération 7`] = `
"dirigeant . rémunération . totale: 50000
impôt . montant: 1918
salarié . cotisations: 1849
salarié . rémunération . net . payé après impôt: 2157
salarié . rémunération . net . à payer avant impôt: 2317"
`;
exports[`calculate assimilé salarié > échelle de rémunération 8`] = `
"dirigeant . rémunération . totale: 100000
impôt . montant: 9993
salarié . cotisations: 3616
salarié . rémunération . net . payé après impôt: 3884
salarié . rémunération . net . à payer avant impôt: 4717
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;

View File

@ -4,7 +4,7 @@ exports[`calculate assimilé salarié > ACRE 1`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: 5298
entreprise . charges: 0
protection sociale . santé . indemnités journalières: undefined
protection sociale . maladie . arrêt maladie . indemnités: undefined
Notifications affichées : dirigeant . assimilé salarié . réduction ACRE . notification taux annuel"
`;
@ -12,7 +12,7 @@ exports[`calculate assimilé salarié > ACRE 2`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: 10996
entreprise . charges: 0
protection sociale . santé . indemnités journalières: undefined
protection sociale . maladie . arrêt maladie . indemnités: undefined
Notifications affichées : dirigeant . assimilé salarié . réduction ACRE . notification taux annuel"
`;
@ -20,7 +20,7 @@ exports[`calculate assimilé salarié > ACRE 3`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: 16694
entreprise . charges: 0
protection sociale . santé . indemnités journalières: undefined
protection sociale . maladie . arrêt maladie . indemnités: undefined
Notifications affichées : dirigeant . assimilé salarié . réduction ACRE . notification taux annuel"
`;
@ -28,76 +28,76 @@ exports[`calculate assimilé salarié > JEI 1`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: 33911
entreprise . charges: 0
protection sociale . santé . indemnités journalières: undefined"
protection sociale . maladie . arrêt maladie . indemnités: undefined"
`;
exports[`calculate assimilé salarié > avec charges 1`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: 5298
entreprise . charges: 2000
protection sociale . santé . indemnités journalières: undefined"
protection sociale . maladie . arrêt maladie . indemnités: undefined"
`;
exports[`calculate assimilé salarié > avec charges 2`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: 10996
entreprise . charges: 15000
protection sociale . santé . indemnités journalières: undefined"
protection sociale . maladie . arrêt maladie . indemnités: undefined"
`;
exports[`calculate assimilé salarié > échelle de rémunération 1`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: undefined
entreprise . charges: 0
protection sociale . santé . indemnités journalières: undefined"
protection sociale . maladie . arrêt maladie . indemnités: undefined"
`;
exports[`calculate assimilé salarié > échelle de rémunération 2`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: 170
entreprise . charges: 0
protection sociale . santé . indemnités journalières: undefined"
protection sociale . maladie . arrêt maladie . indemnités: undefined"
`;
exports[`calculate assimilé salarié > échelle de rémunération 3`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: 740
entreprise . charges: 0
protection sociale . santé . indemnités journalières: undefined"
protection sociale . maladie . arrêt maladie . indemnités: undefined"
`;
exports[`calculate assimilé salarié > échelle de rémunération 4`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: 2449
entreprise . charges: 0
protection sociale . santé . indemnités journalières: undefined"
protection sociale . maladie . arrêt maladie . indemnités: undefined"
`;
exports[`calculate assimilé salarié > échelle de rémunération 5`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: 5298
entreprise . charges: 0
protection sociale . santé . indemnités journalières: undefined"
protection sociale . maladie . arrêt maladie . indemnités: undefined"
`;
exports[`calculate assimilé salarié > échelle de rémunération 6`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: 10996
entreprise . charges: 0
protection sociale . santé . indemnités journalières: undefined"
protection sociale . maladie . arrêt maladie . indemnités: undefined"
`;
exports[`calculate assimilé salarié > échelle de rémunération 7`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: 28090
entreprise . charges: 0
protection sociale . santé . indemnités journalières: undefined"
protection sociale . maladie . arrêt maladie . indemnités: undefined"
`;
exports[`calculate assimilé salarié > échelle de rémunération 8`] = `
"dirigeant . auto-entrepreneur . revenu net: null
dirigeant . rémunération . net: 57190
entreprise . charges: 0
protection sociale . santé . indemnités journalières: undefined
protection sociale . maladie . arrêt maladie . indemnités: undefined
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;

View File

@ -69,7 +69,7 @@ exports[`calculate simulations-auto-entrepreneur > activité mixte 4`] = `
dirigeant . auto-entrepreneur . cotisations et contributions: 715
dirigeant . auto-entrepreneur . revenu net: undefined
dirigeant . auto-entrepreneur . revenu net . après impôt: undefined
dirigeant . rémunération . impôt: undefined"
dirigeant . rémunération . impôt: 924"
`;
exports[`calculate simulations-auto-entrepreneur > activités 1`] = `

View File

@ -2,155 +2,155 @@
exports[`calculate simulations-indépendant > acre 1`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: 1408
dirigeant . indépendant . revenu professionnel: 51980
dirigeant . rémunération . cotisations: 23019
dirigeant . rémunération . net: 50000
dirigeant . rémunération . net . après impôt: 40484
dirigeant . rémunération . totale: 73019
dirigeant . indépendant . revenu professionnel: 51991
dirigeant . rémunération . cotisations: 23021
dirigeant . rémunération . net: 4167
dirigeant . rémunération . net . après impôt: 3374
dirigeant . rémunération . totale: 73032
entreprise . charges: 0
entreprise . chiffre d'affaires: 73019
impôt . montant: 9516"
entreprise . chiffre d'affaires: 73032
impôt . montant: 9519"
`;
exports[`calculate simulations-indépendant > activité 1`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 20787
dirigeant . indépendant . revenu professionnel: 20788
dirigeant . rémunération . cotisations: 9086
dirigeant . rémunération . net: 20000
dirigeant . rémunération . net . après impôt: 19102
dirigeant . rémunération . totale: 29086
dirigeant . rémunération . net: 1667
dirigeant . rémunération . net . après impôt: 1592
dirigeant . rémunération . totale: 29088
entreprise . charges: 0
entreprise . chiffre d'affaires: 29086
entreprise . chiffre d'affaires: 29088
impôt . montant: 898"
`;
exports[`calculate simulations-indépendant > activité 2`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 20787
dirigeant . rémunération . cotisations: 9102
dirigeant . rémunération . net: 20000
dirigeant . rémunération . net . après impôt: 19102
dirigeant . rémunération . totale: 29102
dirigeant . indépendant . revenu professionnel: 20794
dirigeant . rémunération . cotisations: 9105
dirigeant . rémunération . net: 1667
dirigeant . rémunération . net . après impôt: 1592
dirigeant . rémunération . totale: 29112
entreprise . charges: 0
entreprise . chiffre d'affaires: 29102
impôt . montant: 898"
entreprise . chiffre d'affaires: 29112
impôt . montant: 899"
`;
exports[`calculate simulations-indépendant > conjoint collaborateur 1`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 52092
dirigeant . rémunération . cotisations: 27175
dirigeant . rémunération . net: 50000
dirigeant . rémunération . net . après impôt: 40450
dirigeant . rémunération . totale: 77175
dirigeant . indépendant . revenu professionnel: 52091
dirigeant . rémunération . cotisations: 27111
dirigeant . rémunération . net: 4167
dirigeant . rémunération . net . après impôt: 3371
dirigeant . rémunération . totale: 77112
entreprise . charges: 0
entreprise . chiffre d'affaires: 77175
impôt . montant: 9550"
entreprise . chiffre d'affaires: 77112
impôt . montant: 9549"
`;
exports[`calculate simulations-indépendant > conjoint collaborateur 2`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 52121
dirigeant . rémunération . cotisations: 28236
dirigeant . rémunération . net: 50000
dirigeant . rémunération . net . après impôt: 40442
dirigeant . rémunération . totale: 78236
dirigeant . rémunération . cotisations: 28172
dirigeant . rémunération . net: 4167
dirigeant . rémunération . net . après impôt: 3371
dirigeant . rémunération . totale: 78180
entreprise . charges: 0
entreprise . chiffre d'affaires: 78236
entreprise . chiffre d'affaires: 78180
impôt . montant: 9558"
`;
exports[`calculate simulations-indépendant > conjoint collaborateur 3`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 52189
dirigeant . rémunération . cotisations: 30757
dirigeant . rémunération . net: 50000
dirigeant . rémunération . net . après impôt: 40421
dirigeant . rémunération . totale: 80757
dirigeant . indépendant . revenu professionnel: 52200
dirigeant . rémunération . cotisations: 30699
dirigeant . rémunération . net: 4167
dirigeant . rémunération . net . après impôt: 3369
dirigeant . rémunération . totale: 80712
entreprise . charges: 0
entreprise . chiffre d'affaires: 80757
impôt . montant: 9579"
entreprise . chiffre d'affaires: 80712
impôt . montant: 9582"
`;
exports[`calculate simulations-indépendant > conjoint collaborateur 4`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 52041
dirigeant . rémunération . cotisations: 25298
dirigeant . rémunération . net: 50000
dirigeant . rémunération . net . après impôt: 40466
dirigeant . rémunération . totale: 75298
dirigeant . indépendant . revenu professionnel: 52044
dirigeant . rémunération . cotisations: 25236
dirigeant . rémunération . net: 4167
dirigeant . rémunération . net . après impôt: 3372
dirigeant . rémunération . totale: 75240
entreprise . charges: 0
entreprise . chiffre d'affaires: 75298
impôt . montant: 9534"
entreprise . chiffre d'affaires: 75240
impôt . montant: 9535"
`;
exports[`calculate simulations-indépendant > conjoint collaborateur 5`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 52041
dirigeant . rémunération . cotisations: 25297
dirigeant . rémunération . net: 50000
dirigeant . rémunération . net . après impôt: 40466
dirigeant . rémunération . totale: 75297
dirigeant . indépendant . revenu professionnel: 52043
dirigeant . rémunération . cotisations: 25236
dirigeant . rémunération . net: 4167
dirigeant . rémunération . net . après impôt: 3372
dirigeant . rémunération . totale: 75240
entreprise . charges: 0
entreprise . chiffre d'affaires: 75297
impôt . montant: 9534"
entreprise . chiffre d'affaires: 75240
impôt . montant: 9535"
`;
exports[`calculate simulations-indépendant > conjoint collaborateur 6`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 517706
dirigeant . rémunération . cotisations: 152221
dirigeant . rémunération . net: 500000
dirigeant . rémunération . net . après impôt: 279515
dirigeant . rémunération . totale: 652221
dirigeant . indépendant . revenu professionnel: 517709
dirigeant . rémunération . cotisations: 152160
dirigeant . rémunération . net: 41667
dirigeant . rémunération . net . après impôt: 23293
dirigeant . rémunération . totale: 652164
entreprise . charges: 0
entreprise . chiffre d'affaires: 652221
impôt . montant: 220485
entreprise . chiffre d'affaires: 652164
impôt . montant: 220486
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-indépendant > contrats madelin 1`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 17881
dirigeant . rémunération . cotisations: 13181
dirigeant . rémunération . net: 16819
dirigeant . rémunération . net . après impôt: 16386
dirigeant . indépendant . revenu professionnel: 17885
dirigeant . rémunération . cotisations: 13182
dirigeant . rémunération . net: 1402
dirigeant . rémunération . net . après impôt: 1366
dirigeant . rémunération . totale: 30000
entreprise . charges: 10000
entreprise . chiffre d'affaires: 40000
impôt . montant: 433"
entreprise . chiffre d'affaires: 40008
impôt . montant: 434"
`;
exports[`calculate simulations-indépendant > contrats madelin 2`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 17881
dirigeant . rémunération . cotisations: 14381
dirigeant . rémunération . net: 15619
dirigeant . rémunération . net . après impôt: 15186
dirigeant . indépendant . revenu professionnel: 17885
dirigeant . rémunération . cotisations: 14382
dirigeant . rémunération . net: 1302
dirigeant . rémunération . net . après impôt: 1266
dirigeant . rémunération . totale: 30000
entreprise . charges: 10000
entreprise . chiffre d'affaires: 40000
impôt . montant: 433"
entreprise . chiffre d'affaires: 40008
impôt . montant: 434"
`;
exports[`calculate simulations-indépendant > contrats madelin 3`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 20431
dirigeant . rémunération . cotisations: 10381
dirigeant . rémunération . net: 19619
dirigeant . rémunération . net . après impôt: 18778
dirigeant . indépendant . revenu professionnel: 20429
dirigeant . rémunération . cotisations: 10380
dirigeant . rémunération . net: 1635
dirigeant . rémunération . net . après impôt: 1565
dirigeant . rémunération . totale: 30000
entreprise . charges: 10000
entreprise . chiffre d'affaires: 40000
impôt . montant: 841"
entreprise . chiffre d'affaires: 39996
impôt . montant: 840"
`;
exports[`calculate simulations-indépendant > contrats madelin 4`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 13809
dirigeant . rémunération . cotisations: 6732
dirigeant . rémunération . net: 13268
dirigeant . rémunération . net . après impôt: 13268
dirigeant . rémunération . net: 1106
dirigeant . rémunération . net . après impôt: 1106
dirigeant . rémunération . totale: 20000
entreprise . charges: 1000
entreprise . chiffre d'affaires: 21000
@ -161,8 +161,8 @@ exports[`calculate simulations-indépendant > contrats madelin 5`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 228526
dirigeant . rémunération . cotisations: 79617
dirigeant . rémunération . net: 220383
dirigeant . rémunération . net . après impôt: 138238
dirigeant . rémunération . net: 18365
dirigeant . rémunération . net . après impôt: 11520
dirigeant . rémunération . totale: 300000
entreprise . charges: 15000
entreprise . chiffre d'affaires: 315000
@ -174,56 +174,56 @@ exports[`calculate simulations-indépendant > contrats madelin 6`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 13709
dirigeant . rémunération . cotisations: 6832
dirigeant . rémunération . net: 13168
dirigeant . rémunération . net . après impôt: 13168
dirigeant . rémunération . net: 1097
dirigeant . rémunération . net . après impôt: 1097
dirigeant . rémunération . totale: 20000
entreprise . charges: 500
entreprise . chiffre d'affaires: 20500
entreprise . chiffre d'affaires: 20496
impôt . montant: 0"
`;
exports[`calculate simulations-indépendant > contrats madelin 7`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 9695
dirigeant . rémunération . cotisations: 13132
dirigeant . rémunération . net: 6868
dirigeant . rémunération . net . après impôt: 6868
dirigeant . indépendant . revenu professionnel: 9694
dirigeant . rémunération . cotisations: 13130
dirigeant . rémunération . net: 573
dirigeant . rémunération . net . après impôt: 573
dirigeant . rémunération . totale: 20000
entreprise . charges: 0
entreprise . chiffre d'affaires: 20000
entreprise . chiffre d'affaires: 20004
impôt . montant: 0"
`;
exports[`calculate simulations-indépendant > cotisations facultatives 1`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 17881
dirigeant . rémunération . cotisations: 13181
dirigeant . rémunération . net: 16819
dirigeant . rémunération . net . après impôt: 16386
dirigeant . indépendant . revenu professionnel: 17885
dirigeant . rémunération . cotisations: 13182
dirigeant . rémunération . net: 1402
dirigeant . rémunération . net . après impôt: 1366
dirigeant . rémunération . totale: 30000
entreprise . charges: 0
entreprise . chiffre d'affaires: 30000
impôt . montant: 433"
entreprise . chiffre d'affaires: 30012
impôt . montant: 434"
`;
exports[`calculate simulations-indépendant > cotisations facultatives 2`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 17881
dirigeant . rémunération . cotisations: 14381
dirigeant . rémunération . net: 15619
dirigeant . rémunération . net . après impôt: 15186
dirigeant . indépendant . revenu professionnel: 17885
dirigeant . rémunération . cotisations: 14382
dirigeant . rémunération . net: 1302
dirigeant . rémunération . net . après impôt: 1266
dirigeant . rémunération . totale: 30000
entreprise . charges: 0
entreprise . chiffre d'affaires: 30000
impôt . montant: 433"
entreprise . chiffre d'affaires: 30012
impôt . montant: 434"
`;
exports[`calculate simulations-indépendant > cotisations facultatives 3`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 20431
dirigeant . rémunération . cotisations: 10381
dirigeant . rémunération . net: 19619
dirigeant . rémunération . net . après impôt: 18778
dirigeant . rémunération . net: 1635
dirigeant . rémunération . net . après impôt: 1565
dirigeant . rémunération . totale: 30000
entreprise . charges: 0
entreprise . chiffre d'affaires: 30000
@ -232,13 +232,13 @@ impôt . montant: 841"
exports[`calculate simulations-indépendant > cotisations facultatives 4`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 13809
dirigeant . indépendant . revenu professionnel: 13812
dirigeant . rémunération . cotisations: 6732
dirigeant . rémunération . net: 13268
dirigeant . rémunération . net . après impôt: 13268
dirigeant . rémunération . net: 1106
dirigeant . rémunération . net . après impôt: 1106
dirigeant . rémunération . totale: 20000
entreprise . charges: 0
entreprise . chiffre d'affaires: 20000
entreprise . chiffre d'affaires: 20004
impôt . montant: 0"
`;
@ -246,8 +246,8 @@ exports[`calculate simulations-indépendant > cotisations facultatives 5`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 228526
dirigeant . rémunération . cotisations: 79617
dirigeant . rémunération . net: 220383
dirigeant . rémunération . net . après impôt: 138238
dirigeant . rémunération . net: 18365
dirigeant . rémunération . net . après impôt: 11520
dirigeant . rémunération . totale: 300000
entreprise . charges: 0
entreprise . chiffre d'affaires: 300000
@ -257,83 +257,83 @@ Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépass
exports[`calculate simulations-indépendant > cotisations facultatives 6`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 225026
dirigeant . rémunération . cotisations: 83117
dirigeant . rémunération . net: 216883
dirigeant . rémunération . net . après impôt: 136313
dirigeant . indépendant . revenu professionnel: 225033
dirigeant . rémunération . cotisations: 83118
dirigeant . rémunération . net: 18074
dirigeant . rémunération . net . après impôt: 11360
dirigeant . rémunération . totale: 300000
entreprise . charges: 0
entreprise . chiffre d'affaires: 300000
impôt . montant: 80570
entreprise . chiffre d'affaires: 300012
impôt . montant: 80573
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-indépendant > cotisations minimales 1`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 135
dirigeant . rémunération . cotisations: 1275
dirigeant . rémunération . net: 100
dirigeant . rémunération . net . après impôt: 100
dirigeant . rémunération . totale: 1375
dirigeant . indépendant . revenu professionnel: 125
dirigeant . rémunération . cotisations: 1277
dirigeant . rémunération . net: 8
dirigeant . rémunération . net . après impôt: 8
dirigeant . rémunération . totale: 1368
entreprise . charges: 0
entreprise . chiffre d'affaires: 1375
entreprise . chiffre d'affaires: 1368
impôt . montant: 0"
`;
exports[`calculate simulations-indépendant > cotisations minimales 2`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 104
dirigeant . indépendant . revenu professionnel: 100
dirigeant . rémunération . cotisations: 144
dirigeant . rémunération . net: 100
dirigeant . rémunération . net . après impôt: 100
dirigeant . rémunération . totale: 244
dirigeant . rémunération . net: 8
dirigeant . rémunération . net . après impôt: 8
dirigeant . rémunération . totale: 240
entreprise . charges: 0
entreprise . chiffre d'affaires: 244
entreprise . chiffre d'affaires: 240
impôt . montant: 0"
`;
exports[`calculate simulations-indépendant > exonération covid 1`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: 2059
dirigeant . indépendant . revenu professionnel: 51815
dirigeant . rémunération . cotisations: 21347
dirigeant . rémunération . net: 50000
dirigeant . rémunération . net . après impôt: 40450
dirigeant . rémunération . totale: 71347
dirigeant . indépendant . revenu professionnel: 51827
dirigeant . rémunération . cotisations: 21352
dirigeant . rémunération . net: 4167
dirigeant . rémunération . net . après impôt: 3371
dirigeant . rémunération . totale: 71364
entreprise . charges: 0
entreprise . chiffre d'affaires: 71347
impôt . montant: 9550"
entreprise . chiffre d'affaires: 71364
impôt . montant: 9554"
`;
exports[`calculate simulations-indépendant > exonération covid 2`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: 103
dirigeant . indépendant . revenu professionnel: 51032
dirigeant . rémunération . cotisations: 12977
dirigeant . rémunération . net: 50000
dirigeant . rémunération . net . après impôt: 40685
dirigeant . indépendant . revenu professionnel: 51041
dirigeant . rémunération . cotisations: 12981
dirigeant . rémunération . net: 4167
dirigeant . rémunération . net . après impôt: 3391
dirigeant . rémunération . totale: 500
entreprise . charges: 0
entreprise . chiffre d'affaires: 62977
impôt . montant: 9315"
entreprise . chiffre d'affaires: 62988
impôt . montant: 9318"
`;
exports[`calculate simulations-indépendant > exonération covid 3`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: 141
dirigeant . indépendant . revenu professionnel: 51440
dirigeant . rémunération . cotisations: 17475
dirigeant . rémunération . net: 50000
dirigeant . rémunération . net . après impôt: 40562
dirigeant . indépendant . revenu professionnel: 51443
dirigeant . rémunération . cotisations: 17478
dirigeant . rémunération . net: 4167
dirigeant . rémunération . net . après impôt: 3380
dirigeant . rémunération . totale: 50000
entreprise . charges: 0
entreprise . chiffre d'affaires: 67475
impôt . montant: 9438"
entreprise . chiffre d'affaires: 67476
impôt . montant: 9439"
`;
exports[`calculate simulations-indépendant > exonération pension invalidité 1`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 35311
dirigeant . rémunération . cotisations: 10908
dirigeant . rémunération . net: 34092
dirigeant . rémunération . net . après impôt: 29577
dirigeant . rémunération . net: 2841
dirigeant . rémunération . net . après impôt: 2465
dirigeant . rémunération . totale: 45000
entreprise . charges: 0
entreprise . chiffre d'affaires: 45000
@ -343,99 +343,99 @@ Notifications affichées : dirigeant . indépendant . cotisations et contributio
exports[`calculate simulations-indépendant > imposition à l'IS 1`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 72612
dirigeant . rémunération . cotisations: 30100
dirigeant . rémunération . net: 69900
dirigeant . rémunération . net . après impôt: 56373
dirigeant . rémunération . totale: 100000
dirigeant . indépendant . revenu professionnel: 96690
dirigeant . rémunération . cotisations: 37428
dirigeant . rémunération . net: 5214
dirigeant . rémunération . net . après impôt: 3431
dirigeant . rémunération . totale: 100001
entreprise . charges: 0
entreprise . chiffre d'affaires: 100000
impôt . montant: 13527
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
impôt . montant: 21401
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés, entreprise . imposition . IS . information sur le report de déficit"
`;
exports[`calculate simulations-indépendant > imposition à l'IS 2`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 72612
dirigeant . rémunération . cotisations: 30100
dirigeant . rémunération . net: 69900
dirigeant . rémunération . net . après impôt: 56373
dirigeant . rémunération . totale: 100000
dirigeant . indépendant . revenu professionnel: 96690
dirigeant . rémunération . cotisations: 37428
dirigeant . rémunération . net: 5214
dirigeant . rémunération . net . après impôt: 3431
dirigeant . rémunération . totale: 100001
entreprise . charges: 0
entreprise . chiffre d'affaires: 100000
impôt . montant: 13527
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
impôt . montant: 21401
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés, entreprise . imposition . IS . information sur le report de déficit"
`;
exports[`calculate simulations-indépendant > impôt sur le revenu 1`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 20787
dirigeant . rémunération . cotisations: 9086
dirigeant . rémunération . net: 20000
dirigeant . rémunération . net . après impôt: 19397
dirigeant . rémunération . totale: 29086
dirigeant . indépendant . revenu professionnel: 20798
dirigeant . rémunération . cotisations: 9090
dirigeant . rémunération . net: 1667
dirigeant . rémunération . net . après impôt: 1617
dirigeant . rémunération . totale: 29100
entreprise . charges: 0
entreprise . chiffre d'affaires: 29086
entreprise . chiffre d'affaires: 29100
impôt . montant: 603"
`;
exports[`calculate simulations-indépendant > impôt sur le revenu 2`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 51980
dirigeant . rémunération . cotisations: 23019
dirigeant . rémunération . net: 50000
dirigeant . rémunération . net . après impôt: 41787
dirigeant . rémunération . totale: 73019
dirigeant . indépendant . revenu professionnel: 51990
dirigeant . rémunération . cotisations: 23021
dirigeant . rémunération . net: 4167
dirigeant . rémunération . net . après impôt: 3483
dirigeant . rémunération . totale: 73032
entreprise . charges: 0
entreprise . chiffre d'affaires: 73019
impôt . montant: 8213"
entreprise . chiffre d'affaires: 73032
impôt . montant: 8214"
`;
exports[`calculate simulations-indépendant > impôt sur le revenu 3`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 20787
dirigeant . rémunération . cotisations: 9086
dirigeant . rémunération . net: 20000
dirigeant . rémunération . net . après impôt: 17921
dirigeant . rémunération . totale: 29086
dirigeant . indépendant . revenu professionnel: 20798
dirigeant . rémunération . cotisations: 9090
dirigeant . rémunération . net: 1667
dirigeant . rémunération . net . après impôt: 1494
dirigeant . rémunération . totale: 29100
entreprise . charges: 0
entreprise . chiffre d'affaires: 29086
impôt . montant: 2079"
entreprise . chiffre d'affaires: 29100
impôt . montant: 2080"
`;
exports[`calculate simulations-indépendant > inversions 1`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 666
dirigeant . rémunération . cotisations: 1386
dirigeant . rémunération . net: 614
dirigeant . rémunération . net . après impôt: 614
dirigeant . indépendant . revenu professionnel: 665
dirigeant . rémunération . cotisations: 1391
dirigeant . rémunération . net: 51
dirigeant . rémunération . net . après impôt: 51
dirigeant . rémunération . totale: 2000
entreprise . charges: 0
entreprise . chiffre d'affaires: 2000
entreprise . chiffre d'affaires: 2004
impôt . montant: 0"
`;
exports[`calculate simulations-indépendant > inversions 2`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 35351
dirigeant . rémunération . cotisations: 16004
dirigeant . rémunération . net: 33996
dirigeant . rémunération . net . après impôt: 29469
dirigeant . indépendant . revenu professionnel: 35353
dirigeant . rémunération . cotisations: 16006
dirigeant . rémunération . net: 2833
dirigeant . rémunération . net . après impôt: 2456
dirigeant . rémunération . totale: 50000
entreprise . charges: 0
entreprise . chiffre d'affaires: 50000
impôt . montant: 4527"
entreprise . chiffre d'affaires: 50004
impôt . montant: 4528"
`;
exports[`calculate simulations-indépendant > inversions 3`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 10394
dirigeant . rémunération . cotisations: 4597
dirigeant . rémunération . net: 10000
dirigeant . rémunération . net . après impôt: 10000
dirigeant . rémunération . totale: 14597
dirigeant . indépendant . revenu professionnel: 10391
dirigeant . rémunération . cotisations: 4593
dirigeant . rémunération . net: 833
dirigeant . rémunération . net . après impôt: 833
dirigeant . rémunération . totale: 14592
entreprise . charges: 0
entreprise . chiffre d'affaires: 14597
entreprise . chiffre d'affaires: 14592
impôt . montant: 0"
`;
@ -443,8 +443,8 @@ exports[`calculate simulations-indépendant > inversions 4`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 51249
dirigeant . rémunération . cotisations: 22703
dirigeant . rémunération . net: 49297
dirigeant . rémunération . net . après impôt: 40000
dirigeant . rémunération . net: 4108
dirigeant . rémunération . net . après impôt: 3333
dirigeant . rémunération . totale: 72000
entreprise . charges: 0
entreprise . chiffre d'affaires: 72000
@ -453,13 +453,13 @@ impôt . montant: 9297"
exports[`calculate simulations-indépendant > inversions 5`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 10394
dirigeant . rémunération . cotisations: 4597
dirigeant . rémunération . net: 10000
dirigeant . rémunération . net . après impôt: 10000
dirigeant . rémunération . totale: 14597
dirigeant . indépendant . revenu professionnel: 10388
dirigeant . rémunération . cotisations: 4593
dirigeant . rémunération . net: 833
dirigeant . rémunération . net . après impôt: 833
dirigeant . rémunération . totale: 14588
entreprise . charges: 1000
entreprise . chiffre d'affaires: 15597
entreprise . chiffre d'affaires: 15588
impôt . montant: 0"
`;
@ -467,8 +467,8 @@ exports[`calculate simulations-indépendant > inversions 6`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 13584
dirigeant . rémunération . cotisations: 5929
dirigeant . rémunération . net: 13071
dirigeant . rémunération . net . après impôt: 13071
dirigeant . rémunération . net: 1089
dirigeant . rémunération . net . après impôt: 1089
dirigeant . rémunération . totale: 19000
entreprise . charges: 1000
entreprise . chiffre d'affaires: 20000
@ -479,8 +479,8 @@ exports[`calculate simulations-indépendant > inversions 7`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 12860
dirigeant . rémunération . cotisations: 5627
dirigeant . rémunération . net: 12373
dirigeant . rémunération . net . après impôt: 12373
dirigeant . rémunération . net: 1031
dirigeant . rémunération . net . après impôt: 1031
dirigeant . rémunération . totale: 18000
entreprise . charges: 2000
entreprise . chiffre d'affaires: 20000
@ -489,98 +489,98 @@ impôt . montant: 0"
exports[`calculate simulations-indépendant > échelle de revenus 1`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 548
dirigeant . rémunération . cotisations: 1361
dirigeant . rémunération . net: 500
dirigeant . rémunération . net . après impôt: 500
dirigeant . rémunération . totale: 1861
dirigeant . indépendant . revenu professionnel: 552
dirigeant . rémunération . cotisations: 1368
dirigeant . rémunération . net: 42
dirigeant . rémunération . net . après impôt: 42
dirigeant . rémunération . totale: 1872
entreprise . charges: 0
entreprise . chiffre d'affaires: 1861
entreprise . chiffre d'affaires: 1872
impôt . montant: 0"
`;
exports[`calculate simulations-indépendant > échelle de revenus 2`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 1064
dirigeant . rémunération . cotisations: 1466
dirigeant . rémunération . net: 1000
dirigeant . rémunération . net . après impôt: 1000
dirigeant . rémunération . totale: 2466
dirigeant . rémunération . cotisations: 1472
dirigeant . rémunération . net: 83
dirigeant . rémunération . net . après impôt: 83
dirigeant . rémunération . totale: 2472
entreprise . charges: 0
entreprise . chiffre d'affaires: 2466
entreprise . chiffre d'affaires: 2472
impôt . montant: 0"
`;
exports[`calculate simulations-indépendant > échelle de revenus 3`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 1581
dirigeant . rémunération . cotisations: 1575
dirigeant . rémunération . net: 1500
dirigeant . rémunération . net . après impôt: 1500
dirigeant . rémunération . totale: 3075
dirigeant . indépendant . revenu professionnel: 1584
dirigeant . rémunération . cotisations: 1581
dirigeant . rémunération . net: 125
dirigeant . rémunération . net . après impôt: 125
dirigeant . rémunération . totale: 3084
entreprise . charges: 0
entreprise . chiffre d'affaires: 3075
entreprise . chiffre d'affaires: 3084
impôt . montant: 0"
`;
exports[`calculate simulations-indépendant > échelle de revenus 4`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 2097
dirigeant . rémunération . cotisations: 1683
dirigeant . rémunération . net: 2000
dirigeant . rémunération . net . après impôt: 2000
dirigeant . rémunération . totale: 3683
dirigeant . indépendant . revenu professionnel: 2104
dirigeant . rémunération . cotisations: 1691
dirigeant . rémunération . net: 167
dirigeant . rémunération . net . après impôt: 167
dirigeant . rémunération . totale: 3696
entreprise . charges: 0
entreprise . chiffre d'affaires: 3683
entreprise . chiffre d'affaires: 3696
impôt . montant: 0"
`;
exports[`calculate simulations-indépendant > échelle de revenus 5`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 5199
dirigeant . rémunération . cotisations: 2428
dirigeant . rémunération . net: 5000
dirigeant . rémunération . net . après impôt: 5000
dirigeant . rémunération . totale: 7428
dirigeant . indépendant . revenu professionnel: 5208
dirigeant . rémunération . cotisations: 2431
dirigeant . rémunération . net: 417
dirigeant . rémunération . net . après impôt: 417
dirigeant . rémunération . totale: 7440
entreprise . charges: 0
entreprise . chiffre d'affaires: 7428
entreprise . chiffre d'affaires: 7440
impôt . montant: 0"
`;
exports[`calculate simulations-indépendant > échelle de revenus 6`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 10394
dirigeant . rémunération . cotisations: 4597
dirigeant . rémunération . net: 10000
dirigeant . rémunération . net . après impôt: 10000
dirigeant . rémunération . totale: 14597
dirigeant . indépendant . revenu professionnel: 10391
dirigeant . rémunération . cotisations: 4593
dirigeant . rémunération . net: 833
dirigeant . rémunération . net . après impôt: 833
dirigeant . rémunération . totale: 14592
entreprise . charges: 0
entreprise . chiffre d'affaires: 14597
entreprise . chiffre d'affaires: 14592
impôt . montant: 0"
`;
exports[`calculate simulations-indépendant > échelle de revenus 7`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 103788
dirigeant . rémunération . cotisations: 39589
dirigeant . rémunération . net: 100000
dirigeant . rémunération . net . après impôt: 71725
dirigeant . rémunération . totale: 139589
dirigeant . indépendant . revenu professionnel: 103784
dirigeant . rémunération . cotisations: 39587
dirigeant . rémunération . net: 8333
dirigeant . rémunération . net . après impôt: 5977
dirigeant . rémunération . totale: 139584
entreprise . charges: 0
entreprise . chiffre d'affaires: 139589
impôt . montant: 28275
entreprise . chiffre d'affaires: 139584
impôt . montant: 28273
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-indépendant > échelle de revenus 8`] = `
"dirigeant . indépendant . cotisations et contributions . début activité: null
dirigeant . indépendant . revenu professionnel: 1033666
dirigeant . rémunération . cotisations: 239948
dirigeant . rémunération . net: 1000000
dirigeant . rémunération . net . après impôt: 526695
dirigeant . rémunération . totale: 1239948
dirigeant . indépendant . revenu professionnel: 1033656
dirigeant . rémunération . cotisations: 239946
dirigeant . rémunération . net: 83333
dirigeant . rémunération . net . après impôt: 43891
dirigeant . rémunération . totale: 1239936
entreprise . charges: 0
entreprise . chiffre d'affaires: 1239948
impôt . montant: 473305
entreprise . chiffre d'affaires: 1239936
impôt . montant: 473300
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;

View File

@ -2,472 +2,472 @@
exports[`calculate simulations-professions-libérales > CIPAV ACRE 1`] = `
"dirigeant . indépendant . cotisations et contributions: 2434
dirigeant . rémunération . net: 5000
dirigeant . rémunération . net . après impôt: 5000
entreprise . chiffre d'affaires: 7434
dirigeant . rémunération . net: 417
dirigeant . rémunération . net . après impôt: 417
entreprise . chiffre d'affaires: 7440
impôt . montant: 0
protection sociale . retraite . CNAVPL: 67
protection sociale . retraite . base . trimestres . indépendant: 3
protection sociale . retraite . complémentaire indépendants . points acquis: 36"
protection sociale . retraite . CNAVPL . points acquis: 67
protection sociale . retraite . complémentaire: 2412
protection sociale . retraite . trimestres: 1"
`;
exports[`calculate simulations-professions-libérales > CIPAV ACRE 2`] = `
"dirigeant . indépendant . cotisations et contributions: 4242
dirigeant . rémunération . net: 20000
dirigeant . rémunération . net . après impôt: 19124
entreprise . chiffre d'affaires: 24242
impôt . montant: 876
protection sociale . retraite . CNAVPL: 266
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 36"
"dirigeant . indépendant . cotisations et contributions: 4244
dirigeant . rémunération . net: 1667
dirigeant . rémunération . net . après impôt: 1594
entreprise . chiffre d'affaires: 24252
impôt . montant: 878
protection sociale . retraite . CNAVPL . points acquis: 266
protection sociale . retraite . complémentaire: 9587
protection sociale . retraite . trimestres: 4"
`;
exports[`calculate simulations-professions-libérales > CIPAV ACRE 3`] = `
"dirigeant . indépendant . cotisations et contributions: 19846
dirigeant . rémunération . net: 50000
dirigeant . rémunération . net . après impôt: 40510
entreprise . chiffre d'affaires: 69846
impôt . montant: 9490
protection sociale . retraite . CNAVPL: 531
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 108
"dirigeant . indépendant . cotisations et contributions: 19848
dirigeant . rémunération . net: 4167
dirigeant . rémunération . net . après impôt: 3376
entreprise . chiffre d'affaires: 69852
impôt . montant: 9492
protection sociale . retraite . CNAVPL . points acquis: 531
protection sociale . retraite . complémentaire: 57380
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 1`] = `
"dirigeant . indépendant . cotisations et contributions: 30886
dirigeant . rémunération . net: 60000
dirigeant . rémunération . net . après impôt: 47339
entreprise . chiffre d'affaires: 90886
impôt . montant: 12661
protection sociale . retraite . CNAVPL: 533
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 180
dirigeant . rémunération . net: 5000
dirigeant . rémunération . net . après impôt: 3945
entreprise . chiffre d'affaires: 90888
impôt . montant: 12662
protection sociale . retraite . CNAVPL . points acquis: 533
protection sociale . retraite . complémentaire: 95868
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 2`] = `
"dirigeant . indépendant . cotisations et contributions: 30332
dirigeant . rémunération . net: 60000
dirigeant . rémunération . net . après impôt: 47343
entreprise . chiffre d'affaires: 90332
dirigeant . rémunération . net: 5000
dirigeant . rémunération . net . après impôt: 3945
entreprise . chiffre d'affaires: 90324
impôt . montant: 12657
protection sociale . retraite . CNAVPL: 533
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 180
protection sociale . retraite . CNAVPL . points acquis: 533
protection sociale . retraite . complémentaire: 95868
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 3`] = `
"dirigeant . indépendant . cotisations et contributions: 30010
dirigeant . rémunération . net: 60000
dirigeant . rémunération . net . après impôt: 47346
entreprise . chiffre d'affaires: 90010
impôt . montant: 12654
protection sociale . retraite . CNAVPL: 708
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 180
dirigeant . rémunération . net: 5000
dirigeant . rémunération . net . après impôt: 3945
entreprise . chiffre d'affaires: 90000
impôt . montant: 12655
protection sociale . retraite . CNAVPL . points acquis: 708
protection sociale . retraite . complémentaire: 127350
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 4`] = `
"dirigeant . indépendant . cotisations et contributions: 32073
dirigeant . rémunération . net: 60000
dirigeant . rémunération . net . après impôt: 47329
entreprise . chiffre d'affaires: 92073
dirigeant . rémunération . net: 5000
dirigeant . rémunération . net . après impôt: 3944
entreprise . chiffre d'affaires: 92076
impôt . montant: 12671
protection sociale . retraite . CNAVPL: 533
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 180
protection sociale . retraite . CNAVPL . points acquis: 533
protection sociale . retraite . complémentaire: 95868
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 5`] = `
"dirigeant . indépendant . cotisations et contributions: 30530
dirigeant . rémunération . net: 60000
dirigeant . rémunération . net . après impôt: 47342
entreprise . chiffre d'affaires: 90530
"dirigeant . indépendant . cotisations et contributions: 30529
dirigeant . rémunération . net: 5000
dirigeant . rémunération . net . après impôt: 3945
entreprise . chiffre d'affaires: 90528
impôt . montant: 12658
protection sociale . retraite . CNAVPL: 805
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 180
protection sociale . retraite . CNAVPL . points acquis: 805
protection sociale . retraite . complémentaire: 144828
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 6`] = `
"dirigeant . indépendant . cotisations et contributions: 3895
dirigeant . rémunération . net: 1000
dirigeant . rémunération . net . après impôt: 1000
entreprise . chiffre d'affaires: 4895
"dirigeant . indépendant . cotisations et contributions: 3903
dirigeant . rémunération . net: 83
dirigeant . rémunération . net . après impôt: 83
entreprise . chiffre d'affaires: 4896
impôt . montant: 0
protection sociale . retraite . CNAVPL: 122
protection sociale . retraite . base . trimestres . indépendant: 2
protection sociale . retraite . complémentaire indépendants . points acquis: 36"
protection sociale . retraite . CNAVPL . points acquis: 123
protection sociale . retraite . complémentaire: 4421
protection sociale . retraite . trimestres: 1"
`;
exports[`calculate simulations-professions-libérales > CIPAV conjoint collaborateur 7`] = `
"dirigeant . indépendant . cotisations et contributions: 33016
dirigeant . rémunération . net: 60000
dirigeant . rémunération . net . après impôt: 47321
entreprise . chiffre d'affaires: 93016
dirigeant . rémunération . net: 5000
dirigeant . rémunération . net . après impôt: 3943
entreprise . chiffre d'affaires: 93012
impôt . montant: 12679
protection sociale . retraite . CNAVPL: 533
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 180
protection sociale . retraite . CNAVPL . points acquis: 533
protection sociale . retraite . complémentaire: 95868
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > CIPAV exonération incapacité 1`] = `
"dirigeant . indépendant . cotisations et contributions: 7070
dirigeant . rémunération . net: 40000
dirigeant . rémunération . net . après impôt: 33696
entreprise . chiffre d'affaires: 47070
impôt . montant: 6304
protection sociale . retraite . CNAVPL: 400
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 36
"dirigeant . indépendant . cotisations et contributions: 7069
dirigeant . rémunération . net: 3333
dirigeant . rémunération . net . après impôt: 2808
entreprise . chiffre d'affaires: 47064
impôt . montant: 6303
protection sociale . retraite . CNAVPL . points acquis: 400
protection sociale . retraite . complémentaire: 14400
protection sociale . retraite . trimestres: 0
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > CIPAV réduction et surcotisation 1`] = `
"dirigeant . indépendant . cotisations et contributions: 6239
dirigeant . rémunération . net: 10000
dirigeant . rémunération . net . après impôt: 10000
entreprise . chiffre d'affaires: 16239
dirigeant . rémunération . net: 833
dirigeant . rémunération . net . après impôt: 833
entreprise . chiffre d'affaires: 16236
impôt . montant: 0
protection sociale . retraite . CNAVPL: 135
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 72"
protection sociale . retraite . CNAVPL . points acquis: 135
protection sociale . retraite . complémentaire: 9684
protection sociale . retraite . trimestres: 3"
`;
exports[`calculate simulations-professions-libérales > CIPAV réduction et surcotisation 2`] = `
"dirigeant . indépendant . cotisations et contributions: 23230
dirigeant . rémunération . net: 50000
dirigeant . rémunération . net . après impôt: 40482
entreprise . chiffre d'affaires: 73230
impôt . montant: 9518
protection sociale . retraite . CNAVPL: 531
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 180
dirigeant . rémunération . net: 4167
dirigeant . rémunération . net . après impôt: 3374
entreprise . chiffre d'affaires: 73236
impôt . montant: 9519
protection sociale . retraite . CNAVPL . points acquis: 531
protection sociale . retraite . complémentaire: 95634
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > CIPAV réduction et surcotisation 3`] = `
"dirigeant . indépendant . cotisations et contributions: 49211
dirigeant . rémunération . net: 100000
dirigeant . rémunération . net . après impôt: 71618
entreprise . chiffre d'affaires: 149211
impôt . montant: 28382
protection sociale . retraite . CNAVPL: 538
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 468
"dirigeant . indépendant . cotisations et contributions: 49207
dirigeant . rémunération . net: 8333
dirigeant . rémunération . net . après impôt: 5968
entreprise . chiffre d'affaires: 149196
impôt . montant: 28378
protection sociale . retraite . CNAVPL . points acquis: 538
protection sociale . retraite . complémentaire: 251597
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 1`] = `
"dirigeant . indépendant . cotisations et contributions: 2777
dirigeant . rémunération . net: 500
dirigeant . rémunération . net . après impôt: 500
entreprise . chiffre d'affaires: 3277
"dirigeant . indépendant . cotisations et contributions: 2783
dirigeant . rémunération . net: 42
dirigeant . rémunération . net . après impôt: 42
entreprise . chiffre d'affaires: 3288
impôt . montant: 0
protection sociale . retraite . CNAVPL: 61
protection sociale . retraite . base . trimestres . indépendant: 2
protection sociale . retraite . complémentaire indépendants . points acquis: 36"
protection sociale . retraite . CNAVPL . points acquis: 61
protection sociale . retraite . complémentaire: 2210
protection sociale . retraite . trimestres: 1"
`;
exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 2`] = `
"dirigeant . indépendant . cotisations et contributions: 2838
dirigeant . rémunération . net: 1000
dirigeant . rémunération . net . après impôt: 1000
entreprise . chiffre d'affaires: 3838
"dirigeant . indépendant . cotisations et contributions: 2842
dirigeant . rémunération . net: 83
dirigeant . rémunération . net . après impôt: 83
entreprise . chiffre d'affaires: 3840
impôt . montant: 0
protection sociale . retraite . CNAVPL: 61
protection sociale . retraite . base . trimestres . indépendant: 2
protection sociale . retraite . complémentaire indépendants . points acquis: 36"
protection sociale . retraite . CNAVPL . points acquis: 61
protection sociale . retraite . complémentaire: 2210
protection sociale . retraite . trimestres: 1"
`;
exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 3`] = `
"dirigeant . indépendant . cotisations et contributions: 2898
dirigeant . rémunération . net: 1500
dirigeant . rémunération . net . après impôt: 1500
entreprise . chiffre d'affaires: 4398
"dirigeant . indépendant . cotisations et contributions: 2903
dirigeant . rémunération . net: 125
dirigeant . rémunération . net . après impôt: 125
entreprise . chiffre d'affaires: 4404
impôt . montant: 0
protection sociale . retraite . CNAVPL: 61
protection sociale . retraite . base . trimestres . indépendant: 2
protection sociale . retraite . complémentaire indépendants . points acquis: 36"
protection sociale . retraite . CNAVPL . points acquis: 61
protection sociale . retraite . complémentaire: 2210
protection sociale . retraite . trimestres: 1"
`;
exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 4`] = `
"dirigeant . indépendant . cotisations et contributions: 2959
dirigeant . rémunération . net: 2000
dirigeant . rémunération . net . après impôt: 2000
entreprise . chiffre d'affaires: 4959
"dirigeant . indépendant . cotisations et contributions: 2964
dirigeant . rémunération . net: 167
dirigeant . rémunération . net . après impôt: 167
entreprise . chiffre d'affaires: 4968
impôt . montant: 0
protection sociale . retraite . CNAVPL: 61
protection sociale . retraite . base . trimestres . indépendant: 2
protection sociale . retraite . complémentaire indépendants . points acquis: 36"
protection sociale . retraite . CNAVPL . points acquis: 61
protection sociale . retraite . complémentaire: 2210
protection sociale . retraite . trimestres: 1"
`;
exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 5`] = `
"dirigeant . indépendant . cotisations et contributions: 3377
dirigeant . rémunération . net: 5000
dirigeant . rémunération . net . après impôt: 5000
entreprise . chiffre d'affaires: 8377
dirigeant . rémunération . net: 417
dirigeant . rémunération . net . après impôt: 417
entreprise . chiffre d'affaires: 8376
impôt . montant: 0
protection sociale . retraite . CNAVPL: 67
protection sociale . retraite . base . trimestres . indépendant: 3
protection sociale . retraite . complémentaire indépendants . points acquis: 36"
protection sociale . retraite . CNAVPL . points acquis: 67
protection sociale . retraite . complémentaire: 2423
protection sociale . retraite . trimestres: 1"
`;
exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 6`] = `
"dirigeant . indépendant . cotisations et contributions: 4552
dirigeant . rémunération . net: 10000
dirigeant . rémunération . net . après impôt: 10000
entreprise . chiffre d'affaires: 14552
"dirigeant . indépendant . cotisations et contributions: 4551
dirigeant . rémunération . net: 833
dirigeant . rémunération . net . après impôt: 833
entreprise . chiffre d'affaires: 14544
impôt . montant: 0
protection sociale . retraite . CNAVPL: 134
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 36"
protection sociale . retraite . CNAVPL . points acquis: 134
protection sociale . retraite . complémentaire: 4820
protection sociale . retraite . trimestres: 3"
`;
exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 7`] = `
"dirigeant . indépendant . cotisations et contributions: 47523
dirigeant . rémunération . net: 100000
dirigeant . rémunération . net . après impôt: 71637
entreprise . chiffre d'affaires: 147523
dirigeant . rémunération . net: 8333
dirigeant . rémunération . net . après impôt: 5969
entreprise . chiffre d'affaires: 147516
impôt . montant: 28363
protection sociale . retraite . CNAVPL: 538
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 432
protection sociale . retraite . CNAVPL . points acquis: 538
protection sociale . retraite . complémentaire: 232243
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > CIPAV échelle de revenu 8`] = `
"dirigeant . indépendant . cotisations et contributions: 239427
dirigeant . rémunération . net: 1000000
dirigeant . rémunération . net . après impôt: 526702
entreprise . chiffre d'affaires: 1239427
dirigeant . rémunération . net: 83333
dirigeant . rémunération . net . après impôt: 43892
entreprise . chiffre d'affaires: 1239432
impôt . montant: 473298
protection sociale . retraite . CNAVPL: 550
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: 468
protection sociale . retraite . CNAVPL . points acquis: 550
protection sociale . retraite . complémentaire: 257400
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > auxiliaire médical 1`] = `
"dirigeant . indépendant . cotisations et contributions: 8078
dirigeant . rémunération . net: 21922
dirigeant . rémunération . net . après impôt: 20714
dirigeant . rémunération . net: 1827
dirigeant . rémunération . net . après impôt: 1726
entreprise . chiffre d'affaires: 30000
impôt . montant: 1208
protection sociale . retraite . CNAVPL: 293
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null"
protection sociale . retraite . CNAVPL . points acquis: 293
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4"
`;
exports[`calculate simulations-professions-libérales > auxiliaire médical 2`] = `
"dirigeant . indépendant . cotisations et contributions: 8398
dirigeant . rémunération . net: 21602
dirigeant . rémunération . net . après impôt: 20445
dirigeant . rémunération . net: 1800
dirigeant . rémunération . net . après impôt: 1704
entreprise . chiffre d'affaires: 30000
impôt . montant: 1157
protection sociale . retraite . CNAVPL: 289
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null"
protection sociale . retraite . CNAVPL . points acquis: 289
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4"
`;
exports[`calculate simulations-professions-libérales > auxiliaire médical 3`] = `
"dirigeant . indépendant . cotisations et contributions: 62883
dirigeant . rémunération . net: 237117
dirigeant . rémunération . net . après impôt: 147444
dirigeant . rémunération . net: 19760
dirigeant . rémunération . net . après impôt: 12287
entreprise . chiffre d'affaires: 300000
impôt . montant: 89673
protection sociale . retraite . CNAVPL: 550
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null"
protection sociale . retraite . CNAVPL . points acquis: 550
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4"
`;
exports[`calculate simulations-professions-libérales > avocat 1`] = `
"dirigeant . indépendant . cotisations et contributions: 11135
dirigeant . rémunération . net: 38865
dirigeant . rémunération . net . après impôt: 32877
entreprise . chiffre d'affaires: 50000
impôt . montant: 5988
protection sociale . retraite . CNAVPL: 518
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null
dirigeant . rémunération . net: 3239
dirigeant . rémunération . net . après impôt: 2740
entreprise . chiffre d'affaires: 50004
impôt . montant: 5989
protection sociale . retraite . CNAVPL . points acquis: 518
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > avocat 2`] = `
"dirigeant . indépendant . cotisations et contributions: 11805
dirigeant . rémunération . net: 38195
dirigeant . rémunération . net . après impôt: 32408
entreprise . chiffre d'affaires: 50000
impôt . montant: 5787
protection sociale . retraite . CNAVPL: 510
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null
dirigeant . rémunération . net: 3183
dirigeant . rémunération . net . après impôt: 2701
entreprise . chiffre d'affaires: 50004
impôt . montant: 5788
protection sociale . retraite . CNAVPL . points acquis: 510
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > expert-comptable 1`] = `
"dirigeant . indépendant . cotisations et contributions: 5014
dirigeant . rémunération . net: 14986
dirigeant . rémunération . net . après impôt: 14929
entreprise . chiffre d'affaires: 20000
impôt . montant: 57
protection sociale . retraite . CNAVPL: 200
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null"
dirigeant . rémunération . net: 1249
dirigeant . rémunération . net . après impôt: 1244
entreprise . chiffre d'affaires: 20004
impôt . montant: 58
protection sociale . retraite . CNAVPL . points acquis: 200
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4"
`;
exports[`calculate simulations-professions-libérales > expert-comptable 2`] = `
"dirigeant . indépendant . cotisations et contributions: 14816
dirigeant . rémunération . net: 35184
dirigeant . rémunération . net . après impôt: 30300
entreprise . chiffre d'affaires: 50000
impôt . montant: 4884
protection sociale . retraite . CNAVPL: 471
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null
"dirigeant . indépendant . cotisations et contributions: 14817
dirigeant . rémunération . net: 2932
dirigeant . rémunération . net . après impôt: 2525
entreprise . chiffre d'affaires: 50004
impôt . montant: 4885
protection sociale . retraite . CNAVPL . points acquis: 471
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > médecin 1`] = `
"dirigeant . indépendant . cotisations et contributions: 14395
dirigeant . rémunération . net: 35605
dirigeant . rémunération . net . après impôt: 30597
entreprise . chiffre d'affaires: 50000
impôt . montant: 5008
protection sociale . retraite . CNAVPL: 476
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null"
"dirigeant . indépendant . cotisations et contributions: 14396
dirigeant . rémunération . net: 2967
dirigeant . rémunération . net . après impôt: 2550
entreprise . chiffre d'affaires: 50004
impôt . montant: 5009
protection sociale . retraite . CNAVPL . points acquis: 476
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4"
`;
exports[`calculate simulations-professions-libérales > médecin 2`] = `
"dirigeant . indépendant . cotisations et contributions: 21965
dirigeant . rémunération . net: 28035
dirigeant . rémunération . net . après impôt: 25297
entreprise . chiffre d'affaires: 50000
impôt . montant: 2738
protection sociale . retraite . CNAVPL: 379
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null"
"dirigeant . indépendant . cotisations et contributions: 21966
dirigeant . rémunération . net: 2336
dirigeant . rémunération . net . après impôt: 2108
entreprise . chiffre d'affaires: 50004
impôt . montant: 2739
protection sociale . retraite . CNAVPL . points acquis: 379
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4"
`;
exports[`calculate simulations-professions-libérales > médecin 3`] = `
"dirigeant . indépendant . cotisations et contributions: 88005
dirigeant . rémunération . net: 211995
dirigeant . rémunération . net . après impôt: 133627
"dirigeant . indépendant . cotisations et contributions: 88004
dirigeant . rémunération . net: 17666
dirigeant . rémunération . net . après impôt: 11136
entreprise . chiffre d'affaires: 300000
impôt . montant: 78368
protection sociale . retraite . CNAVPL: 550
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null"
impôt . montant: 78366
protection sociale . retraite . CNAVPL . points acquis: 550
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4"
`;
exports[`calculate simulations-professions-libérales > médecin 4`] = `
"dirigeant . indépendant . cotisations et contributions: 108116
dirigeant . rémunération . net: 291884
dirigeant . rémunération . net . après impôt: 174762
entreprise . chiffre d'affaires: 400000
impôt . montant: 117122
protection sociale . retraite . CNAVPL: 550
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null"
"dirigeant . indépendant . cotisations et contributions: 108118
dirigeant . rémunération . net: 24324
dirigeant . rémunération . net . après impôt: 14564
entreprise . chiffre d'affaires: 400008
impôt . montant: 117125
protection sociale . retraite . CNAVPL . points acquis: 550
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4"
`;
exports[`calculate simulations-professions-libérales > médecin 5`] = `
"dirigeant . indépendant . cotisations et contributions: 36559
dirigeant . rémunération . net: 83441
dirigeant . rémunération . net . après impôt: 62173
dirigeant . rémunération . net: 6953
dirigeant . rémunération . net . après impôt: 5181
entreprise . chiffre d'affaires: 120000
impôt . montant: 21268
protection sociale . retraite . CNAVPL: 536
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null
protection sociale . retraite . CNAVPL . points acquis: 536
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4
Notifications affichées : entreprise . TVA . franchise de TVA . seuils dépassés"
`;
exports[`calculate simulations-professions-libérales > médecin 6`] = `
"dirigeant . indépendant . cotisations et contributions: 14395
dirigeant . rémunération . net: 35605
dirigeant . rémunération . net . après impôt: 30597
entreprise . chiffre d'affaires: 50000
impôt . montant: 5008
protection sociale . retraite . CNAVPL: 476
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null"
"dirigeant . indépendant . cotisations et contributions: 14396
dirigeant . rémunération . net: 2967
dirigeant . rémunération . net . après impôt: 2550
entreprise . chiffre d'affaires: 50004
impôt . montant: 5009
protection sociale . retraite . CNAVPL . points acquis: 476
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4"
`;
exports[`calculate simulations-professions-libérales > sage-femme 1`] = `
"dirigeant . indépendant . cotisations et contributions: 12479
dirigeant . rémunération . net: 37521
dirigeant . rémunération . net . après impôt: 31937
entreprise . chiffre d'affaires: 50000
impôt . montant: 5584
protection sociale . retraite . CNAVPL: 501
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null"
"dirigeant . indépendant . cotisations et contributions: 12482
dirigeant . rémunération . net: 3127
dirigeant . rémunération . net . après impôt: 2661
entreprise . chiffre d'affaires: 50004
impôt . montant: 5587
protection sociale . retraite . CNAVPL . points acquis: 501
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4"
`;
exports[`calculate simulations-professions-libérales > sage-femme 2`] = `
"dirigeant . indépendant . cotisations et contributions: 5190
dirigeant . rémunération . net: 14810
dirigeant . rémunération . net . après impôt: 14781
entreprise . chiffre d'affaires: 20000
dirigeant . rémunération . net: 1234
dirigeant . rémunération . net . après impôt: 1232
entreprise . chiffre d'affaires: 20004
impôt . montant: 29
protection sociale . retraite . CNAVPL: 198
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null
protection sociale . retraite . CNAVPL . points acquis: 198
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4
Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable"
`;
exports[`calculate simulations-professions-libérales > sage-femme 3`] = `
"dirigeant . indépendant . cotisations et contributions: 1315
dirigeant . rémunération . net: 2685
dirigeant . rémunération . net . après impôt: 2685
entreprise . chiffre d'affaires: 4000
"dirigeant . indépendant . cotisations et contributions: 1320
dirigeant . rémunération . net: 223
dirigeant . rémunération . net . après impôt: 223
entreprise . chiffre d'affaires: 3996
impôt . montant: 0
protection sociale . retraite . CNAVPL: 61
protection sociale . retraite . base . trimestres . indépendant: 2
protection sociale . retraite . complémentaire indépendants . points acquis: null
protection sociale . retraite . CNAVPL . points acquis: 61
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 1
Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable, dirigeant . indépendant . PL . CARCDSF . sage-femme . exonération PCV"
`;
exports[`calculate simulations-professions-libérales > sage-femme 4`] = `
"dirigeant . indépendant . cotisations et contributions: 5190
dirigeant . rémunération . net: 14810
dirigeant . rémunération . net . après impôt: 14781
entreprise . chiffre d'affaires: 20000
dirigeant . rémunération . net: 1234
dirigeant . rémunération . net . après impôt: 1232
entreprise . chiffre d'affaires: 20004
impôt . montant: 29
protection sociale . retraite . CNAVPL: 198
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null
protection sociale . retraite . CNAVPL . points acquis: 198
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4
Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable"
`;
exports[`calculate simulations-professions-libérales > sage-femme 5`] = `
"dirigeant . indépendant . cotisations et contributions: 5267
dirigeant . rémunération . net: 14733
dirigeant . rémunération . net . après impôt: 14716
entreprise . chiffre d'affaires: 20000
"dirigeant . indépendant . cotisations et contributions: 5266
dirigeant . rémunération . net: 1228
dirigeant . rémunération . net . après impôt: 1227
entreprise . chiffre d'affaires: 20004
impôt . montant: 17
protection sociale . retraite . CNAVPL: 197
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null
protection sociale . retraite . CNAVPL . points acquis: 197
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4
Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable"
`;
exports[`calculate simulations-professions-libérales > sage-femme 6`] = `
"dirigeant . indépendant . cotisations et contributions: 5343
dirigeant . rémunération . net: 14657
dirigeant . rémunération . net . après impôt: 14653
entreprise . chiffre d'affaires: 20000
impôt . montant: 4
protection sociale . retraite . CNAVPL: 196
protection sociale . retraite . base . trimestres . indépendant: 4
protection sociale . retraite . complémentaire indépendants . points acquis: null
dirigeant . rémunération . net: 1221
dirigeant . rémunération . net . après impôt: 1221
entreprise . chiffre d'affaires: 20004
impôt . montant: 5
protection sociale . retraite . CNAVPL . points acquis: 196
protection sociale . retraite . complémentaire: 0
protection sociale . retraite . trimestres: 4
Notifications affichées : dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable"
`;

View File

@ -0,0 +1,17 @@
import { it } from 'vitest'
import { configSASU } from '@/pages/Simulateurs/configs/dirigeantSASU'
import rémunérationSASUSituations from './simulations-SASU.yaml'
import { runSimulations } from './utils'
it('calculate assimilé salarié', () => {
runSimulations(
rémunérationSASUSituations,
[
...(configSASU['objectifs exclusifs'] ?? []),
...(configSASU.objectifs ?? []),
],
configSASU.situation
)
})

View File

@ -1,20 +0,0 @@
import { it } from 'vitest'
import { configRémunérationDirigeant } from '@/pages/Simulateurs/configs/rémunérationDirigeant'
import rémunérationDirigeantSituations from './simulations-assimilé-salarié.yaml'
import { runSimulations } from './utils'
it('calculate assimilé salarié', () => {
runSimulations(
rémunérationDirigeantSituations,
[
...(configRémunérationDirigeant['objectifs exclusifs'] ?? []),
...(configRémunérationDirigeant.objectifs ?? []),
],
{
...configRémunérationDirigeant.situation,
'dirigeant . régime social': "'assimilé salarié'",
}
)
})

View File

@ -39,21 +39,21 @@ ACRE:
dirigeant . exonérations . ACRE: oui
activités:
- dirigeant . rémunération . totale: 20000 €/an
- dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 €/an
entreprise . activité . nature: "'libérale'"
- dirigeant . rémunération . totale: 20000 €/an
- dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 €/an
entreprise . activité . nature: "'libérale'"
entreprise . activité . nature . libérale . réglementée: oui
- dirigeant . rémunération . totale: 20000 €/an
- dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 €/an
entreprise . activité . nature: "'artisanale'"
entreprise . activité . service ou vente: "'vente'"
- dirigeant . rémunération . totale: 20000 €/an
- dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 €/an
entreprise . activité . nature: "'artisanale'"
entreprise . activité . service ou vente: "'service'"
- dirigeant . rémunération . totale: 20000 €/an
- dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 €/an
entreprise . activité . nature: "'commerciale'"
entreprise . activité . service ou vente: "'vente'"
- dirigeant . rémunération . totale: 20000 €/an
- dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 €/an
entreprise . activité . nature: "'commerciale'"
entreprise . activité . service ou vente: "'service'"

View File

@ -4949,9 +4949,9 @@ __metadata:
languageName: node
linkType: hard
"@publicodes/api@npm:^1.0.0-beta.60":
version: 1.0.0-beta.60
resolution: "@publicodes/api@npm:1.0.0-beta.60"
"@publicodes/api@npm:^1.0.0-beta.61":
version: 1.0.0-beta.61
resolution: "@publicodes/api@npm:1.0.0-beta.61"
dependencies:
"@koa/cors": ^3.3.0
"@koa/router": ^10.1.1
@ -4960,7 +4960,7 @@ __metadata:
openapi-validator-middleware: ^3.2.6
peerDependencies:
publicodes: ^1.0.0-beta.47
checksum: 329a27264687c09c3ad56f1184482337d068f525ae9893fcd361a31ac7f65665e4f85012caf552dabebce25e873882b26bfa7972cf7eb14646f4ecb818e7b9cd
checksum: 28c178815d588f27f920a720c8a5f4544ede51d9606f74f8463fc0d746344eed1745456d1a3d4f3913946cd1e3f5c6bf48534a79478f9fb5926f18a6dbc26599
languageName: node
linkType: hard
@ -10334,7 +10334,7 @@ __metadata:
"@apidevtools/swagger-cli": ^4.0.4
"@koa/cors": ^3.3.0
"@koa/router": ^10.1.1
"@publicodes/api": ^1.0.0-beta.60
"@publicodes/api": ^1.0.0-beta.61
"@sentry/node": ^7.1.1
"@sentry/tracing": ^7.1.1
"@types/koa": ^2.13.4
@ -10351,7 +10351,7 @@ __metadata:
koa-static: ^5.0.0
modele-social: "workspace:^"
nodemon: ^2.0.16
publicodes: ^1.0.0-beta.60
publicodes: ^1.0.0-beta.61
rate-limiter-flexible: ^2.3.8
rimraf: ^3.0.2
swagger-ui-dist: ^4.11.1
@ -13709,9 +13709,9 @@ __metadata:
linkType: hard
"decimal.js@npm:^10.3.1":
version: 10.3.1
resolution: "decimal.js@npm:10.3.1"
checksum: 0351ac9f05fe050f23227aa6a4573bee2d58fa7378fcf28d969a8c789525032effb488a90320fd3fe86a66e17b4bc507d811b15eada5b7f0e7ec5d2af4c24a59
version: 10.4.2
resolution: "decimal.js@npm:10.4.2"
checksum: 536cd6816a3197f2e1aa3da4860856cb5a2db73f6fafe8cb3b924ccc63f9b7d78296acc13dccbd419bd958ccc6357921fb15467f883b37cab04bfba7044cada2
languageName: node
linkType: hard
@ -21978,9 +21978,9 @@ __metadata:
linkType: hard
"moo@npm:^0.5.0, moo@npm:^0.5.1":
version: 0.5.1
resolution: "moo@npm:0.5.1"
checksum: 2d8c013f1f9aad8e5c7a9d4a03dbb4eecd91b9fe5e9446fbc7561fd38d4d161c742434acff385722542fe7b360fce9c586da62442379e62e4158ad49c7e1a6b7
version: 0.5.2
resolution: "moo@npm:0.5.2"
checksum: 5a41ddf1059fd0feb674d917c4774e41c877f1ca980253be4d3aae1a37f4bc513f88815041243f36f5cf67a62fb39324f3f997cf7fb17b6cb00767c165e7c499
languageName: node
linkType: hard
@ -22063,9 +22063,9 @@ __metadata:
linkType: hard
"nano-memoize@npm:^1.2.1":
version: 1.3.0
resolution: "nano-memoize@npm:1.3.0"
checksum: 2ece19b674da68db3f7ab449981182737babec0cb1c5804620535f0fa2aa12d965fe22b95a24723640bf738658ca5b284c9f323d3005fec0536e67dce589ab89
version: 1.3.1
resolution: "nano-memoize@npm:1.3.1"
checksum: b2a25d1593d0df97eb9803ceb7ec4d0153649a87f29df08a1484ce5b3eed59e03fd812e6723fbeff10fee8b59ed0d18f62c3405e0f44d736f25e501fd6910ee3
languageName: node
linkType: hard
@ -24421,16 +24421,16 @@ __metadata:
languageName: node
linkType: hard
"publicodes-react@npm:^1.0.0-beta.60":
version: 1.0.0-beta.60
resolution: "publicodes-react@npm:1.0.0-beta.60"
"publicodes-react@npm:^1.0.0-beta.61":
version: 1.0.0-beta.61
resolution: "publicodes-react@npm:1.0.0-beta.61"
dependencies:
styled-components: ^5.1.0
peerDependencies:
publicodes: 1.0.0-beta.40
react: ^17 || ^18
react-dom: ^17 || ^18
checksum: ba08deebdc883782c5f2f621402b4d26122f0b100c1ae834e0ac312dc434c321c364cb570b5da4e7ab6a3b11483c49f93b5b8ec2ed47822b1acadfc902a1a4fd
checksum: 34806c08377faec8ef3092eb0d871312c14f4531b769093a9770cec727abc272c1bef7b6a177cefea47e01542d89126a70acf99489cab3420d6aa03d3b1e69e0
languageName: node
linkType: hard
@ -24446,15 +24446,15 @@ __metadata:
languageName: node
linkType: hard
"publicodes@npm:^1.0.0-beta.55, publicodes@npm:^1.0.0-beta.60":
version: 1.0.0-beta.60
resolution: "publicodes@npm:1.0.0-beta.60"
"publicodes@npm:^1.0.0-beta.55, publicodes@npm:^1.0.0-beta.61":
version: 1.0.0-beta.61
resolution: "publicodes@npm:1.0.0-beta.61"
dependencies:
moo: ^0.5.1
nearley: ^2.19.2
peerDependencies:
"@types/mocha": ^9.0.0
checksum: 2cbe33b207ac0b93fb77a63a0682f4ce06fa3f5d22a23a644300b05e9ea1f36526644efce492511aeb7fd2e09faaaa0c713d99ee18de89d0f99811b77c8fc92f
checksum: a479e59a1b497fba9bd6b4e946cac6c1ea8ea46ccc6ea6f350dc5322694e32b415be8e48fb06cc0b6819ee81a09c716ee99d9b5b2db37b40bf0e2cf60e5c6b6a
languageName: node
linkType: hard
@ -26602,8 +26602,8 @@ __metadata:
markdown-to-jsx: ^7.1.7
modele-social: "workspace:^"
netlify-cli: ^10.6.3
publicodes: ^1.0.0-beta.60
publicodes-react: ^1.0.0-beta.60
publicodes: ^1.0.0-beta.61
publicodes-react: ^1.0.0-beta.61
react: ^17.0.0
react-colorful: ^5.5.1
react-dom: ^17.0.0
@ -27536,29 +27536,7 @@ __metadata:
languageName: node
linkType: hard
"styled-components@npm:^5.1.0":
version: 5.3.5
resolution: "styled-components@npm:5.3.5"
dependencies:
"@babel/helper-module-imports": ^7.0.0
"@babel/traverse": ^7.4.5
"@emotion/is-prop-valid": ^1.1.0
"@emotion/stylis": ^0.8.4
"@emotion/unitless": ^0.7.4
babel-plugin-styled-components: ">= 1.12.0"
css-to-react-native: ^3.0.0
hoist-non-react-statics: ^3.0.0
shallowequal: ^1.1.0
supports-color: ^5.5.0
peerDependencies:
react: ">= 16.8.0"
react-dom: ">= 16.8.0"
react-is: ">= 16.8.0"
checksum: 05a664dfe423c2906959a0f3f47f9b1ad630e493eb2e06deea0dc0906af33ba5ca17277b98948a6c9642e73894d6533391aebf45576489f5afe920c974e9f8eb
languageName: node
linkType: hard
"styled-components@npm:^5.3.6":
"styled-components@npm:^5.3.5":
version: 5.3.6
resolution: "styled-components@npm:5.3.6"
dependencies:
@ -28324,9 +28302,9 @@ __metadata:
linkType: hard
"traverse@npm:~0.6.6":
version: 0.6.6
resolution: "traverse@npm:0.6.6"
checksum: e2afa72f11efa9ba31ed763d2d9d2aa244612f22015d16c0ea3ba5f6ca8bf071de87f8108b721885cce06ea4a36ef4605d9228c67e431d9015ea4685cb364420
version: 0.6.7
resolution: "traverse@npm:0.6.7"
checksum: 21018085ab72f717991597e12e2b52446962ed59df591502e4d7e1a709bc0a989f7c3d451aa7d882666ad0634f1546d696c5edecda1f2fc228777df7bb529a1e
languageName: node
linkType: hard
@ -30650,7 +30628,24 @@ __metadata:
languageName: node
linkType: hard
"z-schema@npm:^5.0.1, z-schema@npm:~5.0.2":
"z-schema@npm:^5.0.1":
version: 5.0.4
resolution: "z-schema@npm:5.0.4"
dependencies:
commander: ^2.20.3
lodash.get: ^4.4.2
lodash.isequal: ^4.5.0
validator: ^13.7.0
dependenciesMeta:
commander:
optional: true
bin:
z-schema: bin/z-schema
checksum: afa4e0039a104a53eeb6977bf754ef44e32042aecbf3b5eb18b82649763abd5c2608e47d6d6902291359b41e76130594d7f2b6132316d819c3529f17d4d3464d
languageName: node
linkType: hard
"z-schema@npm:~5.0.2":
version: 5.0.3
resolution: "z-schema@npm:5.0.3"
dependencies: