😷 Page Coronavirus et intégration du chômage partiel (#926)
Suite à la crise du coronavirus le gouvernement a élargi le dispositif d'activité partielle et encouragé son recours massif. Ce commit contient les modifications suivantes : * Intégration de l'activité partielle sur le simulateur salarié ; * Création d'une page /coronavirus incluant un simulateur spécifique pour le chômage partiel ainsi que des informations générale sur les dispositifs gouvernementaux. Référencement de cette page sur la page d'accueil et sur le simulateur salarié ; * Grosse refacto du calcul de la CSG/CRDS pour y inclure le calcul des revenus de remplacement. Corrige aussi des erreurs pour la CSG des salariés bénéficiant de la DFS, et intègre l'exonération de CSG à Mayotte ; * Légères modifications de la fenêtre « prochaines question » ; * Affichage d'un placeholder sur les inputs des questions. Co-authored-by: Johan Girod <johangirod@gmail.com>pull/933/head
parent
638db17d8e
commit
57bb595884
|
@ -64,9 +64,7 @@ module.exports = {
|
|||
// maxWorkers: "50%",
|
||||
|
||||
// An array of directory names to be searched recursively up from the requiring module's location
|
||||
// moduleDirectories: [
|
||||
// "node_modules"
|
||||
// ],
|
||||
moduleDirectories: ['node_modules', 'sources'],
|
||||
|
||||
// An array of file extensions your modules use
|
||||
// moduleFileExtensions: [
|
||||
|
|
11
netlify.toml
11
netlify.toml
|
@ -201,6 +201,12 @@
|
|||
to = "/prerender/mon-entreprise/g%C3%A9rer/index.html"
|
||||
status = 200
|
||||
|
||||
[[redirects]]
|
||||
from = "/coronavirus"
|
||||
to = "/prerender/mon-entreprise/coronavirus/index.html"
|
||||
status = 200
|
||||
|
||||
|
||||
[[redirects]]
|
||||
from = "/simulateurs/salari%C3%A9"
|
||||
to = "/prerender/mon-entreprise/simulateurs/salari%C3%A9/index.html"
|
||||
|
@ -231,6 +237,11 @@
|
|||
to = "/prerender/mon-entreprise/iframes/simulateur-embauche/index.html"
|
||||
status = 200
|
||||
|
||||
[[redirects]]
|
||||
from = "/iframes/simulateur-chomage-partiel"
|
||||
to = "/prerender/mon-entreprise/iframes/simulateur-chomage-partiel/index.html"
|
||||
status = 200
|
||||
|
||||
[[redirects]]
|
||||
from = "/*"
|
||||
to = "/mon-entreprise.html"
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import artisteAuteur from './rules/artiste-auteur.yaml'
|
||||
import base from './rules/base.yaml'
|
||||
import chômagePartiel from './rules/chômage-partiel.yaml'
|
||||
import CCBatiment from './rules/conventions-collectives/bâtiment.yaml'
|
||||
import CCHotels from './rules/conventions-collectives/hôtels-cafés-restaurants.yaml'
|
||||
import CCOptique from './rules/conventions-collectives/optique.yaml'
|
||||
|
@ -33,7 +34,8 @@ const rules = {
|
|||
...CCOptique,
|
||||
...CCSpectacleVivant,
|
||||
...CCSport,
|
||||
...situationPersonnelle
|
||||
...situationPersonnelle,
|
||||
...chômagePartiel
|
||||
}
|
||||
|
||||
export default rules
|
||||
|
|
|
@ -37,3 +37,24 @@ SMIC horaire:
|
|||
références:
|
||||
décret: https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000037833206
|
||||
service-public.fr: https://www.service-public.fr/particuliers/vosdroits/F2300
|
||||
|
||||
SMIC temps plein:
|
||||
unité: €/mois
|
||||
|
||||
formule:
|
||||
produit:
|
||||
assiette: contrat salarié . temps de travail . base légale * période . semaines par mois
|
||||
facteur: SMIC horaire
|
||||
références:
|
||||
décret: https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000037833206
|
||||
|
||||
SMIC temps plein . net imposable:
|
||||
titre: SMIC net imposable
|
||||
description: Montant du SMIC net imposable pour un temps plein.
|
||||
formule:
|
||||
recalcul:
|
||||
règle: contrat salarié . rémunération . net imposable . base
|
||||
avec:
|
||||
contrat salarié . rémunération . brut de base: SMIC temps plein
|
||||
références:
|
||||
barème PAS: https://bofip.impots.gouv.fr/bofip/11255-PGP.html
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
baisse de revenu chômage partiel:
|
||||
formule:
|
||||
allègement:
|
||||
assiette: net sans chômage partiel
|
||||
abattement: contrat salarié . rémunération . net
|
||||
|
||||
baisse de revenu chômage partiel . net sans chômage partiel:
|
||||
formule:
|
||||
recalcul:
|
||||
règle: contrat salarié . rémunération . net
|
||||
avec:
|
||||
contrat salarié . activité partielle: non
|
|
@ -132,6 +132,7 @@ contrat salarié . convention collective . BTP . cotisations conventionnelles:
|
|||
- OPPBTP
|
||||
|
||||
contrat salarié . convention collective . BTP . congés intempéries:
|
||||
rend non applicable: CDD . compensation pour congés non pris
|
||||
formule:
|
||||
produit:
|
||||
assiette: cotisations . assiette
|
||||
|
@ -157,6 +158,7 @@ contrat salarié . convention collective . BTP . congés intempéries:
|
|||
alors: 19.90%
|
||||
références:
|
||||
CIBTP: https://www.cibtp.fr/
|
||||
Article L3141-30 du Code du Travail: https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=DF6E6424807679A6EDC2915496BEA32D.tplgfr22s_2?idArticle=LEGIARTI000033020675&cidTexte=LEGITEXT000006072050&dateTexte=20200320
|
||||
|
||||
contrat salarié . convention collective . BTP . congés intempéries . caisse de rattachement:
|
||||
question: À quelle caisse l'entreprise est-elle rattachée pour le versement de la cotisation congés intempéries ?
|
||||
|
|
|
@ -79,12 +79,14 @@ contrat salarié . intermittents du spectacle . formation professionnelle:
|
|||
taux: 2.10%
|
||||
|
||||
contrat salarié . intermittents du spectacle . caisse des congés spectacle:
|
||||
rend non applicable: CDD . compensation pour congés non pris
|
||||
formule:
|
||||
produit:
|
||||
assiette: rémunération . brut
|
||||
taux: 15.40%
|
||||
références:
|
||||
audiens.org: https://www.audiens.org/files/live/sites/siteAudiens/files/03_documents/entreprise/Fiches-techniques/Conges-Spectacles-Mode-d-emploi-employeur-2019.pdf
|
||||
Article L3141-30 du Code du Travail: https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=DF6E6424807679A6EDC2915496BEA32D.tplgfr22s_2?idArticle=LEGIARTI000033020675&cidTexte=LEGITEXT000006072050&dateTexte=20200320
|
||||
|
||||
contrat salarié . intermittents du spectacle . retraite complémentaire techniciens et cadre:
|
||||
applicable si:
|
||||
|
|
|
@ -91,7 +91,7 @@ impôt . revenu imposable . abattement contrat court:
|
|||
- contrat salarié . CDD
|
||||
- contrat salarié . CDD . durée contrat <= 2 mois
|
||||
formule:
|
||||
arrondi: 50% * contrat salarié . SMIC temps plein . net imposable * 1 mois
|
||||
arrondi: 50% * SMIC temps plein . net imposable * 1 mois
|
||||
note: Cet abattement s'applique aussi pour les conventions de stage ou les contrats de mission (intérim) de moins de 2 mois.
|
||||
références:
|
||||
Bofip - dispositions spécifiques aux contrats courts: https://bofip.impots.gouv.fr/bofip/11252-PGP.html?identifiant=BOI-IR-PAS-20-20-30-10-20180515
|
||||
|
|
|
@ -319,7 +319,7 @@ protection sociale . santé . indemnités journalières . salarié:
|
|||
produit:
|
||||
assiette: revenu moyen [€/jour]
|
||||
taux: 50%
|
||||
plafond: 1.8 * contrat salarié . SMIC temps plein [€/jour]
|
||||
plafond: 1.8 * SMIC temps plein [€/jour]
|
||||
reférences:
|
||||
service-public.fr: https://www.service-public.fr/particuliers/vosdroits/F3053
|
||||
|
||||
|
|
|
@ -205,6 +205,167 @@ contrat salarié . frais professionnels . indemnité kilométrique vélo . dista
|
|||
10 km/jour: 200
|
||||
par défaut: 80
|
||||
|
||||
contrat salarié . activité partielle:
|
||||
question: Le salarié est-il en chômage partiel ?
|
||||
description: >-
|
||||
À la suite de la crise du Coronavirus, le gouvernement a mis en place un
|
||||
dispositif de chômage partiel étendu dans lequel l'État prend en charge
|
||||
l'indemnisation des heures chômées jusqu’à 4,5 SMIC.
|
||||
|
||||
La déclaration d'activité partielle est simplifiée est l'effet est
|
||||
rétroactif.
|
||||
|
||||
par défaut: non
|
||||
rend non applicable:
|
||||
- temps de travail . heures supplémentaires
|
||||
- temps de travail . heures complémentaires
|
||||
références:
|
||||
déclaration employeur: https://activitepartielle.emploi.gouv.fr/aparts/
|
||||
service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F23503
|
||||
economie.gouv.fr: https://www.economie.gouv.fr/entreprises/activite-partielle
|
||||
urssaf.fr: https://www.urssaf.fr/portail/home/employeur/reduire-ou-cesser-lactivite/lactivite-partielle.html
|
||||
|
||||
contrat salarié . activité partielle . rémunération mensuelle minimale:
|
||||
acronyme: RMM
|
||||
description: >-
|
||||
Les salariés à temps plein dont l’horaire de travail est réduit ont droit à
|
||||
une rémunération mensuelle minimale qui peut donner lieu à un versement
|
||||
complémentaire de l’employeur.
|
||||
références:
|
||||
Article L3232-3 du code du travail: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000006902847&cidTexte=LEGITEXT000006072050&dateTexte=20080501
|
||||
formule:
|
||||
recalcul:
|
||||
règle: contrat salarié . rémunération . net de cotisations
|
||||
avec:
|
||||
rémunération . brut de base: SMIC contractuel
|
||||
activité partielle: non
|
||||
|
||||
contrat salarié . activité partielle . heures chômées:
|
||||
unité: heures/mois
|
||||
formule:
|
||||
produit:
|
||||
assiette: temps de travail . temps contractuel
|
||||
taux: 100% - proportion heures travaillées
|
||||
|
||||
contrat salarié . activité partielle . proportion heures travaillées:
|
||||
titre: proportion heures travaillées
|
||||
question: Quelle est la proportion d'heures travaillées sur le mois ?
|
||||
description: >-
|
||||
Dans le cadre du chômage partiel, la proportion d'heure travaillées correspond
|
||||
au ratio du nombre d'heures travaillées par rapport au temps de travail
|
||||
contractuel habituel.
|
||||
|
||||
Un ratio de 0% signifie que l'employé n'a pas travaillé ce mois ci.
|
||||
Un ratio de 100% signifie que l'employé a effectué toutes ces heures contractuelles.
|
||||
|
||||
Les heures supplémentaires, même habituelles, ne sont pas prises en compte.
|
||||
unité: '%'
|
||||
par défaut: 0
|
||||
suggestions:
|
||||
0%: 0
|
||||
20%: 20
|
||||
50%: 50
|
||||
|
||||
contrat salarié . activité partielle . indemnités:
|
||||
titre: indemnités activité partielle
|
||||
description: >-
|
||||
La mise en chômage partiel ouvre droit non au paiement d’un salaire mais à
|
||||
l’allocation spécifique. Pour chaque heure chômée indemnisable, le salarié
|
||||
reçoit de l'entreprise une indemnité. L'entreprise obtient en contrepartie de
|
||||
l’Etat une allocation d’activité partielle.
|
||||
|
||||
Si après versement de l’indemnité d’activité partielle la rémunération du
|
||||
salarié est inférieure à la rémunération mensuelle minimale (RMM garantie par
|
||||
les articles L3232-1 et suivants du code du travail pour les salariés à temps
|
||||
plein), l'employeur doit lui verser une allocation complémentaire qui est égale
|
||||
à la différence entre la rémunération mensuelle minimale (ou Smic net) et la
|
||||
somme initialement perçue par le salarié.
|
||||
|
||||
formule:
|
||||
somme:
|
||||
- base
|
||||
- complémentaire
|
||||
- conventionnelle
|
||||
références:
|
||||
urssaf.fr: https://www.urssaf.fr/portail/home/employeur/reduire-ou-cesser-lactivite/lactivite-partielle.html
|
||||
|
||||
contrat salarié . activité partielle . indemnités . base:
|
||||
titre: indemnités d'activité partielle de base
|
||||
formule:
|
||||
multiplication:
|
||||
assiette: retrait absence
|
||||
taux: 70%
|
||||
|
||||
contrat salarié . activité partielle . indemnités . complémentaire:
|
||||
titre: indemnité complémentaire
|
||||
description: >-
|
||||
L'indemnité complémentaire de chômage partielle est une indemnité versée par
|
||||
l'entreprise pour les salaires proches du SMIC permettant de s'assurer que
|
||||
rémunération effectivement perçue ne soit jamais inférieure à celle
|
||||
du SMIC net.
|
||||
formule:
|
||||
allègement:
|
||||
assiette: rémunération mensuelle minimale
|
||||
abattement:
|
||||
somme:
|
||||
- rémunération . net de cotisations
|
||||
- indemnités . base
|
||||
|
||||
contrat salarié . activité partielle . indemnités . conventionnelle:
|
||||
applicable si: convention syntec
|
||||
formule:
|
||||
produit:
|
||||
assiette: rémunération . assiette congés payés
|
||||
taux:
|
||||
grille:
|
||||
assiette: rémunération . assiette congés payés
|
||||
tranches:
|
||||
- montant: 95% - 70%
|
||||
plafond: 2000€
|
||||
- montant: 80% - 70%
|
||||
plafond: plafond sécurité sociale temps plein
|
||||
- montant: 75% - 70%
|
||||
références:
|
||||
Legifrance: https://www.legifrance.gouv.fr/affichIDCCArticle.do?idArticle=KALIARTI000028465400&cidTexte=KALITEXT000028465378&dateTexte=29990101&categorieLien=id
|
||||
Juritravail: https://www.juritravail.com/Actualite/Hygiene-securite-travail-employeur/Id/327284
|
||||
|
||||
contrat salarié . activité partielle . retrait absence:
|
||||
titre: retrait activité partielle
|
||||
formule:
|
||||
multiplication:
|
||||
assiette: rémunération . taux horaire
|
||||
facteur: heures chômées
|
||||
|
||||
contrat salarié . activité partielle . indemnisation entreprise:
|
||||
titre: Remboursement de l'indemnité d'activité partielle
|
||||
description: >-
|
||||
Dans le cadre de la crise du Coronavirus, le gouvernement a anoncé que
|
||||
l'indemnité de chômage partiel sera prise à 100% en charge par l'état.
|
||||
formule:
|
||||
encadrement:
|
||||
valeur: indemnités . base
|
||||
plancher: 8.03 €/heure * heures chômées
|
||||
plafond:
|
||||
recalcul:
|
||||
avec:
|
||||
rémunération . brut de base: 4.5 * SMIC
|
||||
|
||||
# TODO : This should be merged with other convention collectives
|
||||
contrat salarié . activité partielle . convention syntec:
|
||||
question: La convention collective Syntec est-elle applicable à l'entreprise ?
|
||||
description: >-
|
||||
Convention Collective applicable aux salariés des Bureaux d'Études
|
||||
Techniques, des Cabinets d'Ingénieurs-Conseils et des Sociétés de Conseils.
|
||||
|
||||
Cette convention collective prévoit notamment une majoration de l'indemnité
|
||||
de chômage partielle au dessus du minimum légal et à la charge de
|
||||
l'entreprise.
|
||||
par défaut: non
|
||||
rend non applicable:
|
||||
# TODO: this is not working, the question is still displayed. This should be
|
||||
# fixed but is not critical
|
||||
- profession spécifique
|
||||
|
||||
contrat salarié . déduction forfaitaire spécifique:
|
||||
description: >-
|
||||
Pour une liste précise de professions, l'employeur peut pratiquer une
|
||||
|
@ -217,7 +378,7 @@ contrat salarié . déduction forfaitaire spécifique:
|
|||
titre: assiette avec DFS
|
||||
remplace:
|
||||
règle: cotisations . assiette
|
||||
sauf dans: contrat salarié . CSG
|
||||
sauf dans: contrat salarié . CSG et CRDS
|
||||
# TODO: ajouter pas d'abattement pour l'assurance chômage mais seulement
|
||||
# pour les journalistes. Nécessite probablement de faire un re-remplacement
|
||||
# inverse.
|
||||
|
@ -235,13 +396,13 @@ contrat salarié . déduction forfaitaire spécifique:
|
|||
contrat salarié . déduction forfaitaire spécifique . taux:
|
||||
formule:
|
||||
variations:
|
||||
- si: profession = 'journaliste'
|
||||
- si: profession spécifique = 'journaliste'
|
||||
alors: 20%
|
||||
- si: profession = 'ouvrier du bâtiment'
|
||||
- si: profession spécifique = 'ouvrier du bâtiment'
|
||||
alors: 10%
|
||||
- si: profession = 'artiste musicien'
|
||||
- si: profession spécifique = 'artiste musicien'
|
||||
alors: 20%
|
||||
- si: profession = 'pilote de ligne ou personnel navigant'
|
||||
- si: profession spécifique = 'pilote de ligne ou personnel navigant'
|
||||
alors: 30%
|
||||
- sinon: 0%
|
||||
références:
|
||||
|
@ -356,7 +517,7 @@ contrat salarié . CDD . compensation pour congés non pris:
|
|||
formule:
|
||||
le maximum de:
|
||||
- produit:
|
||||
assiette: assiette mensuelle
|
||||
assiette: rémunération . assiette congés payés
|
||||
taux: 10%
|
||||
facteur: proportion congés non pris
|
||||
- produit:
|
||||
|
@ -408,15 +569,10 @@ contrat salarié . CDD . congés dus en jours ouvrés:
|
|||
contrat salarié . congés dus par mois:
|
||||
formule: 25 jour ouvré / 12 mois
|
||||
|
||||
contrat salarié . CDD . compensation pour congés non pris . assiette mensuelle:
|
||||
unité: €/mois
|
||||
|
||||
formule: rémunération . brut de base + prime de fin de contrat
|
||||
|
||||
contrat salarié . CDD . compensation pour congés non pris . salaire journalier:
|
||||
unité: €/jour ouvré
|
||||
|
||||
formule: assiette mensuelle / période . jours ouvrés moyen par mois
|
||||
formule: rémunération . assiette congés payés / période . jours ouvrés moyen par mois
|
||||
|
||||
contrat salarié . CDD . prime de fin de contrat:
|
||||
indemnité:
|
||||
|
@ -770,8 +926,7 @@ contrat salarié . apprentissage:
|
|||
Le contrat d'apprentissage est un contrat de travail écrit à durée limitée (CDD) ou à durée indéterminée (CDI) entre un salarié et un employeur. Il permet à l'apprenti de suivre une formation en alternance en entreprise sous la responsabilité d'un maître d'apprentissage et en centre de formation des apprentis (CFA) pendant 1 à 3 ans.
|
||||
formule: contrat salarié = 'apprentissage'
|
||||
rend non applicable:
|
||||
- CSG
|
||||
- CRDS
|
||||
- CSG et CRDS
|
||||
- statut cadre
|
||||
- statut JEI
|
||||
- régime des impatriés
|
||||
|
@ -916,13 +1071,13 @@ contrat salarié . cotisations . assiette minimale:
|
|||
recalcul:
|
||||
règle: rémunération . assiette de vérification du SMIC
|
||||
avec:
|
||||
rémunération . brut de base: SMIC
|
||||
rémunération . brut de base: SMIC horaire * temps de travail . effectif
|
||||
|
||||
contrat salarié . rémunération . brut de base:
|
||||
titre: Salaire brut
|
||||
résumé: Brut de base inscrit dans le contrat de travail
|
||||
résumé: Brut de référence (sans les primes, indemnités ni majorations)
|
||||
type: salaire
|
||||
question: Quel est le salaire de base ?
|
||||
question: Quel est votre salaire brut ?
|
||||
description: |
|
||||
C'est le salaire *brut* régulier inscrit dans le contrat de travail. Il ne change jamais entre les mois et ne peut pas être modifié sans signature des deux parties.
|
||||
|
||||
|
@ -985,6 +1140,10 @@ contrat salarié . rémunération . brut de base . équivalent temps plein:
|
|||
salaire médian: 2300
|
||||
SMIC: 1522
|
||||
|
||||
contrat salarié . rémunération . taux horaire:
|
||||
unité: €/heure
|
||||
formule: assiette de vérification du SMIC / temps de travail
|
||||
|
||||
contrat salarié . rémunération . taux horaire des heures supplémentaires et complémentaires:
|
||||
description: >
|
||||
Le taux horaire utilisé pour calculer la rémunération liée au heures
|
||||
|
@ -1014,6 +1173,26 @@ contrat salarié . rémunération . assiette de vérification du SMIC:
|
|||
payées (et non de manière lissée sur l'année), c'est pourquoi nous ne les
|
||||
incluons pas dans cette formule.
|
||||
|
||||
contrat salarié . rémunération . assiette congés payés:
|
||||
titre: Assiette pour le calcul de l'indemnité de congés payés
|
||||
description: >-
|
||||
Pendant ses congés, le salarié ne perçoit pas son salaire. Il perçoit une
|
||||
indemnité de congés payés.
|
||||
|
||||
Toutes les sommes ayant le caractère de salaire sont prises en compte pour
|
||||
déterminer l'indemnité de congés payés. Les autres sommes ne sont pas prise en
|
||||
compte.
|
||||
formule:
|
||||
somme:
|
||||
- brut de base
|
||||
- heures supplémentaires
|
||||
- heures complémentaires
|
||||
- avantages en nature
|
||||
- primes . ancienneté
|
||||
- primes . activité
|
||||
références:
|
||||
service-public.fr: https://www.service-public.fr/particuliers/vosdroits/F33359
|
||||
|
||||
contrat salarié . rémunération . primes:
|
||||
description: |
|
||||
Les primes sont des compléments de salaire versés au salarié en vertu du
|
||||
|
@ -1098,16 +1277,19 @@ contrat salarié . rémunération . brut:
|
|||
# et de retraite complémentaire on ne ré-intègre ici que la part employeur
|
||||
# (car la part salarié est déjà comptabilisé dans `rémunération . brut de
|
||||
# base` dont elle vient en déduction).
|
||||
somme:
|
||||
- rémunération . brut de base
|
||||
- avantages en nature . montant
|
||||
- primes
|
||||
- CDD . indemnités salarié
|
||||
- heures supplémentaires
|
||||
- heures complémentaires
|
||||
- frais professionnels
|
||||
- prévoyance . employeur
|
||||
- retraite supplémentaire . employeur
|
||||
allègement:
|
||||
assiette:
|
||||
somme:
|
||||
- rémunération . brut de base
|
||||
- avantages en nature . montant
|
||||
- primes
|
||||
- CDD . indemnités salarié
|
||||
- heures supplémentaires
|
||||
- heures complémentaires
|
||||
- frais professionnels
|
||||
- prévoyance . employeur
|
||||
- retraite supplémentaire . employeur
|
||||
abattement: activité partielle . retrait absence
|
||||
|
||||
contrat salarié . rémunération . heures supplémentaires:
|
||||
titre: rémunération heures supplémentaires
|
||||
|
@ -1135,6 +1317,25 @@ contrat salarié . rémunération . heures complémentaires:
|
|||
- temps de travail . heures complémentaires
|
||||
- temps de travail . heures complémentaires . majoration
|
||||
|
||||
contrat salarié . rémunération . revenus de remplacement:
|
||||
description: >-
|
||||
Les revenus de remplacement sont les revenus perçus en remplacement de la
|
||||
rémunération du travail : allocations de chômage ou de chômage partiel,
|
||||
indemnités maladie ou accident du travail, pension de retraite, revenu
|
||||
d'intégration sociale, etc.
|
||||
|
||||
Ces revenus sont imposables mais sont exonérés de cotisations sociales. Ils
|
||||
sont soumis à la CSG/CRDS avec un taux spécifique.
|
||||
formule:
|
||||
somme:
|
||||
- activité partielle . indemnités
|
||||
note: >-
|
||||
L'indemnité complémentaire n'est pas ajoutée ici car elle est
|
||||
systématiquement exonérée de CSG du fait de l'écrêtement pour les bas
|
||||
revenus.
|
||||
|
||||
L'ajouter abouti à un calcul cyclique (vu qu'elle dépend du montant de la CSG)
|
||||
|
||||
contrat salarié . avantages sociaux:
|
||||
description: >
|
||||
Ce sont les avantages sociaux payés par l'employeur. Ils sont spécifiques à l'entreprise, et fournis par des structures privées (mutuelle, assurance...).
|
||||
|
@ -1309,27 +1510,6 @@ contrat salarié . plafond sécurité sociale . renonciation proratisation:
|
|||
- règle: plafond sécurité sociale
|
||||
par: plafond sécurité sociale temps plein
|
||||
|
||||
contrat salarié . SMIC temps plein:
|
||||
unité: €/mois
|
||||
|
||||
formule:
|
||||
produit:
|
||||
assiette: temps de travail . base légale * période . semaines par mois
|
||||
facteur: SMIC horaire
|
||||
références:
|
||||
décret: https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000037833206
|
||||
|
||||
contrat salarié . SMIC temps plein . net imposable:
|
||||
titre: SMIC net imposable
|
||||
description: Montant du SMIC net imposable pour un temps plein.
|
||||
formule:
|
||||
recalcul:
|
||||
règle: rémunération . net imposable . base
|
||||
avec:
|
||||
rémunération . brut de base: SMIC temps plein
|
||||
références:
|
||||
barème PAS: https://bofip.impots.gouv.fr/bofip/11255-PGP.html
|
||||
|
||||
contrat salarié . SMIC contractuel:
|
||||
description: >
|
||||
Valeur du SMIC pro-ratisé pour prendre en compte le temps partiel et utilisé pour la détermination du salaire minimum
|
||||
|
@ -1355,8 +1535,7 @@ contrat salarié . cotisations . salariales:
|
|||
- contribution d'équilibre général .salarié
|
||||
- contribution d'équilibre technique .salarié
|
||||
- chômage .salarié
|
||||
- CSG
|
||||
- CRDS
|
||||
- CSG et CRDS
|
||||
- APEC .salarié
|
||||
- complémentaire santé .salarié
|
||||
- conventionnelles
|
||||
|
@ -1398,8 +1577,17 @@ contrat salarié . rémunération . net de cotisations:
|
|||
titre: Salaire net de cotisations
|
||||
type: rémunération
|
||||
unité: €/mois
|
||||
formule:
|
||||
somme:
|
||||
- brut
|
||||
- (- cotisations . salariales)
|
||||
|
||||
formule: brut - cotisations . salariales
|
||||
contrat salarié . rémunération . net avec revenus de remplacement:
|
||||
formule:
|
||||
somme:
|
||||
- net de cotisations
|
||||
- revenus de remplacement
|
||||
- (- CSG et CRDS . revenus de remplacement)
|
||||
|
||||
contrat salarié . rémunération . net imposable:
|
||||
titre: Salaire net imposable
|
||||
|
@ -1408,27 +1596,25 @@ contrat salarié . rémunération . net imposable:
|
|||
description: |
|
||||
C'est la base utilisée pour calculer l'impôt sur le revenu.
|
||||
formule:
|
||||
allègement:
|
||||
assiette: base
|
||||
abattement:
|
||||
somme:
|
||||
- frais professionnels . part déductible
|
||||
- prime d'impatriation
|
||||
- exonération d'impôt des stagiaires et apprentis
|
||||
- heures supplémentaires et complémentaires défiscalisées
|
||||
- retraite supplémentaire . exonération fiscale
|
||||
- prévoyance . exonération fiscale
|
||||
somme:
|
||||
- base
|
||||
- (- frais professionnels . part déductible)
|
||||
- (- prime d'impatriation)
|
||||
- (- exonération d'impôt des stagiaires et apprentis)
|
||||
- (- heures supplémentaires et complémentaires défiscalisées)
|
||||
- (- retraite supplémentaire . exonération fiscale)
|
||||
- (- prévoyance . exonération fiscale)
|
||||
références:
|
||||
DSN: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110
|
||||
|
||||
contrat salarié . rémunération . net imposable . base:
|
||||
titre: net imposable avant exonérations
|
||||
description: Le net imposable avant les exonérations et déductions
|
||||
formule:
|
||||
somme:
|
||||
- rémunération . net de cotisations
|
||||
- net avec revenus de remplacement
|
||||
- avantages sociaux
|
||||
- CSG .non déductible
|
||||
- CRDS
|
||||
- CSG et CRDS . non déductible
|
||||
|
||||
contrat salarié . rémunération . net imposable . heures supplémentaires et complémentaires défiscalisées:
|
||||
formule:
|
||||
|
@ -1459,8 +1645,9 @@ contrat salarié . prime d'impatriation:
|
|||
|
||||
contrat salarié . rémunération . net:
|
||||
titre: Salaire net
|
||||
unité: €/mois
|
||||
type: salaire
|
||||
question: Quel est le salaire net ?
|
||||
question: Quel est votre salaire net ?
|
||||
résumé: Salaire net avant impôt
|
||||
description: >-
|
||||
C'est le montant que le salarié toucherait à la fin du mois avant de payer
|
||||
|
@ -1475,12 +1662,10 @@ contrat salarié . rémunération . net:
|
|||
le changer, il faut signer un avenant au contrat).
|
||||
|
||||
formule:
|
||||
allègement:
|
||||
assiette: rémunération . net de cotisations
|
||||
abattement:
|
||||
somme:
|
||||
- avantages en nature . montant
|
||||
- frais professionnels . titres-restaurant . montant
|
||||
somme:
|
||||
- net avec revenus de remplacement
|
||||
- (- avantages en nature . montant)
|
||||
- (- frais professionnels . titres-restaurant . montant)
|
||||
|
||||
contrat salarié . rémunération . net après impôt:
|
||||
titre: Salaire net après impôt
|
||||
|
@ -1519,7 +1704,7 @@ contrat salarié . prix du travail:
|
|||
|
||||
contrat salarié . rémunération . total:
|
||||
titre: Total chargé
|
||||
question: Quel est la rémunération chargée ?
|
||||
question: Quelle est la rémunération chargée ?
|
||||
résumé: Dépensé par l'entreprise
|
||||
type: salaire
|
||||
unité par défaut: €/mois
|
||||
|
@ -1529,6 +1714,7 @@ contrat salarié . rémunération . total:
|
|||
somme:
|
||||
- brut
|
||||
- cotisations . patronales
|
||||
- activité partielle . indemnités
|
||||
|
||||
contrat salarié . cotisations . patronales . réductions de cotisations:
|
||||
formule:
|
||||
|
@ -1624,9 +1810,8 @@ contrat salarié . cotisations . patronales . conventionnelles:
|
|||
formule: 0
|
||||
|
||||
contrat salarié . aides employeur:
|
||||
titre: aides à l'embauche
|
||||
titre: aides employeur
|
||||
résumé: Pour l'employeur, différées dans le temps
|
||||
icônes: 🎁
|
||||
description: |
|
||||
Ces aides sont appelées différées, car elles ne consistent pas en une simple réduction des cotisations mensuelles : elles interviendront a posteriori par exemple sous forme de crédit d'impôt.
|
||||
|
||||
|
@ -1634,8 +1819,8 @@ contrat salarié . aides employeur:
|
|||
formule:
|
||||
somme:
|
||||
- aide à l'embauche d'apprentis
|
||||
- activité partielle . indemnisation entreprise
|
||||
- emploi franc
|
||||
note:
|
||||
|
||||
contrat salarié . aides employeur . aide à l'embauche d'apprentis:
|
||||
description: |
|
||||
|
@ -1707,6 +1892,12 @@ contrat salarié . temps de travail:
|
|||
- heures complémentaires
|
||||
description: En France, la base légale du travail est de 35h/semaine. Mais un grand nombre de dispositions existantes permettent de faire varier ce nombre. Vous pouvez les retrouver sur la page [service-public.fr](https://www.service-public.fr/particuliers/vosdroits/N458) dédiée.
|
||||
|
||||
contrat salarié . temps de travail . effectif:
|
||||
formule:
|
||||
somme:
|
||||
- temps de travail
|
||||
- (- activité partielle . heures chômées)
|
||||
|
||||
contrat salarié . temps de travail . temps contractuel:
|
||||
unité: heures/mois
|
||||
formule:
|
||||
|
@ -2381,21 +2572,42 @@ contrat salarié . contribution au dialogue social:
|
|||
assiette: cotisations . assiette
|
||||
taux: 0.016%
|
||||
|
||||
contrat salarié . assiette CSG et CRDS:
|
||||
note: Cette assiette est complexe, cette version n'est qu'une simplification.
|
||||
contrat salarié . CSG et CRDS:
|
||||
description: >-
|
||||
La CSG et la CRDS sont dues par tous les salariés remplissant les deux
|
||||
conditions suivantes :
|
||||
|
||||
- ils sont domiciliés fiscalement en France,
|
||||
- ils sont à la charge d’un régime français d’assurance maladie obligatoire.
|
||||
|
||||
Si l’un des deux critères n’est pas rempli, la CSG et la CRDS ne sont pas
|
||||
dues, à la condition d’en apporter la preuve (justificatif fiscal ou carte
|
||||
d’assuré social).
|
||||
formule:
|
||||
somme:
|
||||
- CSG
|
||||
- CRDS
|
||||
|
||||
contrat salarié . CSG et CRDS . assiette de base:
|
||||
références:
|
||||
calcul: https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-csg-crds/les-revenus-salariaux-soumis-a-l.html
|
||||
abattement: https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-csg-crds/abattement-et-deductions/les-revenus-exclus-de-labattemen.html
|
||||
heures supplémentaires: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110
|
||||
formule:
|
||||
somme:
|
||||
- assiette abattue
|
||||
- assiette abattue totale
|
||||
# TODO : ce sont les cotisations forfaitaires qui ne rentrent pas dans
|
||||
# l'abattue, et non tous les avantages sociaux
|
||||
- avantages sociaux
|
||||
# - (- assiette revenu remplacements)
|
||||
- (- assiette heures supplémentaires et complémentaires défiscalisées)
|
||||
|
||||
contrat salarié . assiette CSG et CRDS . assiette abattue:
|
||||
contrat salarié . CSG et CRDS . assiette abattue totale:
|
||||
formule:
|
||||
barème:
|
||||
assiette: cotisations . assiette
|
||||
assiette:
|
||||
cotisations . assiette
|
||||
# - rémunération . revenus de remplacement
|
||||
multiplicateur: plafond sécurité sociale
|
||||
# c'est en fait un abattement de 1,75% sur la partie en-dessous de 4 fois le plafond
|
||||
tranches:
|
||||
|
@ -2403,7 +2615,13 @@ contrat salarié . assiette CSG et CRDS . assiette abattue:
|
|||
plafond: 4
|
||||
- taux: 100%
|
||||
|
||||
contrat salarié . CSG . assiette heures supplémentaires et complémentaires défiscalisées:
|
||||
contrat salarié . CSG et CRDS . assiette revenu remplacements:
|
||||
formule:
|
||||
produit:
|
||||
taux: 98.25%
|
||||
assiette: rémunération . revenus de remplacement
|
||||
|
||||
contrat salarié . CSG et CRDS . assiette heures supplémentaires et complémentaires défiscalisées:
|
||||
formule:
|
||||
produit:
|
||||
assiette: rémunération . net imposable . heures supplémentaires et complémentaires défiscalisées
|
||||
|
@ -2411,33 +2629,45 @@ contrat salarié . CSG . assiette heures supplémentaires et complémentaires d
|
|||
références:
|
||||
DSN: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110
|
||||
|
||||
contrat salarié . CSG . assiette CSG déductible:
|
||||
formule: assiette CSG et CRDS - assiette heures supplémentaires et complémentaires défiscalisées
|
||||
contrat salarié . CSG et CRDS . non déductible:
|
||||
titre: CSG non déductible et CRDS
|
||||
formule:
|
||||
somme:
|
||||
- CSG . base .non déductible
|
||||
- CSG . heures supplémentaires et complémentaires défiscalisées
|
||||
- CRDS
|
||||
- revenus de remplacement . CSG non déductible
|
||||
- revenus de remplacement . CRDS
|
||||
|
||||
contrat salarié . CSG:
|
||||
contrat salarié . CSG et CRDS . CSG:
|
||||
non applicable si: établissement . localisation . département = 'Mayotte'
|
||||
cotisation:
|
||||
impôt: oui
|
||||
dû par: salarié
|
||||
description: |
|
||||
Contribution sociale généralisée.
|
||||
Prélèvement obligatoire qui participe au financement de la sécurité sociale.
|
||||
formule:
|
||||
produit:
|
||||
composantes:
|
||||
- attributs:
|
||||
impôt sur le revenu: non déductible
|
||||
assiette: assiette CSG et CRDS
|
||||
taux: 2.4%
|
||||
- attributs:
|
||||
impôt sur le revenu: déductible
|
||||
assiette: assiette CSG déductible
|
||||
taux: 6.8%
|
||||
- attributs:
|
||||
nom: heures supplémentaires et complémentaires défiscalisées
|
||||
impôt sur le revenu: non déductible
|
||||
assiette: assiette heures supplémentaires et complémentaires défiscalisées
|
||||
taux: 6.8%
|
||||
description: >-
|
||||
La contribution sociale généralisée (CSG) est un impôt destiné à participer
|
||||
au financement de la protection sociale.
|
||||
|
||||
A la différence des cotisations sociales qui ne portent que sur les revenus
|
||||
d’activité, la CSG concerne, outre les revenus d’activité et de remplacement
|
||||
(allocations chômage, indemnités journalières…), les revenus du patrimoine,
|
||||
les produits de placement ou les sommes engagées ou redistribuées par les
|
||||
jeux.
|
||||
|
||||
Elle est prélevée à la source sur la plupart des revenus. Elle est recouvrée
|
||||
par les Urssaf sur les revenus d’activité et par l’administration fiscale
|
||||
sur les revenus du patrimoine.
|
||||
|
||||
Le produit de la CSG est reversé à la Cnam et à la Cnaf, il finance
|
||||
également le fonds de solidarité vieillesse
|
||||
formule:
|
||||
somme:
|
||||
- base
|
||||
- heures supplémentaires et complémentaires défiscalisées
|
||||
|
||||
références:
|
||||
urssaf.fr: https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/la-base-de-calcul/assiette-csg-crds.html
|
||||
heures supplémentaires: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110
|
||||
exemples:
|
||||
- nom: 'CSG cadre'
|
||||
situation:
|
||||
|
@ -2450,18 +2680,117 @@ contrat salarié . CSG:
|
|||
cotisations . assiette: 1500
|
||||
complémentaire santé . forfait: 40
|
||||
valeur attendue: 137.425
|
||||
références:
|
||||
heures supplémentaires: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110
|
||||
|
||||
contrat salarié . CRDS:
|
||||
contrat salarié . CSG et CRDS . CSG . taux déductible:
|
||||
formule: 2.4%
|
||||
contrat salarié . CSG et CRDS . CSG . taux non déductible:
|
||||
formule: 6.8%
|
||||
|
||||
contrat salarié . CSG et CRDS . CSG . base:
|
||||
titre: CSG
|
||||
formule:
|
||||
multiplication:
|
||||
assiette: assiette de base
|
||||
composantes:
|
||||
- attributs:
|
||||
impôt sur le revenu: non déductible
|
||||
taux: taux déductible
|
||||
- attributs:
|
||||
impôt sur le revenu: déductible
|
||||
taux: taux non déductible
|
||||
|
||||
contrat salarié . CSG et CRDS . CSG . heures supplémentaires et complémentaires défiscalisées:
|
||||
titre: CSG heures supplémentaires et complémentaires défiscalisées
|
||||
formule:
|
||||
produit:
|
||||
assiette: assiette heures supplémentaires et complémentaires défiscalisées
|
||||
taux: taux déductible + taux non déductible
|
||||
|
||||
contrat salarié . CSG et CRDS . CRDS:
|
||||
cotisation:
|
||||
impôt: oui
|
||||
dû par: salarié
|
||||
description: Contribution pour le remboursement de la dette sociale
|
||||
formule:
|
||||
produit:
|
||||
assiette: assiette CSG et CRDS
|
||||
taux: 0.5%
|
||||
assiette:
|
||||
somme:
|
||||
- assiette de base
|
||||
- assiette heures supplémentaires et complémentaires défiscalisées
|
||||
taux: taux
|
||||
|
||||
contrat salarié . CSG et CRDS . CRDS . taux:
|
||||
titre: taux CRDS
|
||||
formule: 0.5%
|
||||
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement:
|
||||
titre: CSG et CRDS revenus de remplacement
|
||||
description: >-
|
||||
La CSG et CRDS prélevées sur les revenus de remplacement.
|
||||
note: >-
|
||||
Le prélèvement de la CSG et de la CRDS ne peut pas avoir pour effet de
|
||||
réduire le montant de la rémunération d’activité et des allocations de
|
||||
chômage à un seuil inférieur au Smic brut.
|
||||
|
||||
formule:
|
||||
somme:
|
||||
- revenus de remplacement . CSG déductible
|
||||
- revenus de remplacement . CSG non déductible
|
||||
- revenus de remplacement . CRDS
|
||||
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CSG déductible:
|
||||
titre: CSG déductible revenus de remplacement
|
||||
applicable si: rémunération nette >= SMIC temps plein
|
||||
formule: montant
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CSG déductible . rémunération nette:
|
||||
formule:
|
||||
somme:
|
||||
- rémunération . net de cotisations
|
||||
- rémunération . revenus de remplacement
|
||||
- (- montant)
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CSG déductible . montant:
|
||||
titre: CSG déductible
|
||||
formule:
|
||||
produit:
|
||||
assiette: CSG et CRDS . assiette revenu remplacements
|
||||
taux: CSG . taux déductible
|
||||
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CSG non déductible:
|
||||
titre: CSG non déductible revenus de remplacement
|
||||
applicable si: rémunération nette >= SMIC temps plein
|
||||
formule: montant
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CSG non déductible . rémunération nette:
|
||||
formule:
|
||||
somme:
|
||||
- rémunération . net de cotisations
|
||||
- rémunération . revenus de remplacement
|
||||
- (- CSG déductible . montant)
|
||||
- (- montant)
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CSG non déductible . montant:
|
||||
titre: CSG non déductible
|
||||
formule:
|
||||
produit:
|
||||
assiette: CSG et CRDS . assiette revenu remplacements
|
||||
taux: 3.8%
|
||||
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CRDS:
|
||||
titre: CRDS revenus de remplacement
|
||||
applicable si: rémunération nette >= SMIC temps plein
|
||||
formule: montant
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CRDS . rémunération nette:
|
||||
formule:
|
||||
somme:
|
||||
- rémunération . net de cotisations
|
||||
- rémunération . revenus de remplacement
|
||||
- (- CSG déductible . montant)
|
||||
- (- CSG non déductible . montant)
|
||||
- (- montant)
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CRDS . montant:
|
||||
titre: CRDS
|
||||
formule:
|
||||
produit:
|
||||
assiette: assiette revenu remplacements
|
||||
taux: CRDS . taux
|
||||
|
||||
contrat salarié . FNAL:
|
||||
titre: Contribution au Fonds National d’Aide au Logement
|
||||
|
@ -2814,7 +3143,7 @@ contrat salarié . taxe sur les salaires . barème:
|
|||
assiette: 2300
|
||||
valeur attendue: 2627.97
|
||||
|
||||
contrat salarié . profession:
|
||||
contrat salarié . profession spécifique:
|
||||
question: Le salarié exerce t-il l'une des professions suivantes ?
|
||||
formule:
|
||||
une possibilité:
|
||||
|
@ -2824,14 +3153,14 @@ contrat salarié . profession:
|
|||
- artiste musicien
|
||||
- pilote de ligne ou personnel navigant
|
||||
|
||||
contrat salarié . profession . journaliste:
|
||||
contrat salarié . profession spécifique . journaliste:
|
||||
icônes: ✒
|
||||
description: >-
|
||||
Concerne les journalistes, rédacteurs, photographes, directeurs de journaux
|
||||
Critiques dramatiques et musicaux.
|
||||
|
||||
contrat salarié . profession . journaliste . réduction de taux:
|
||||
applicable si: profession = 'journaliste'
|
||||
contrat salarié . profession spécifique . journaliste . réduction de taux:
|
||||
applicable si: profession spécifique = 'journaliste'
|
||||
remplace:
|
||||
- règle: vieillesse . taux employeur plafonné
|
||||
par: vieillesse . taux employeur plafonné * réduction de taux
|
||||
|
@ -2852,8 +3181,8 @@ contrat salarié . profession . journaliste . réduction de taux:
|
|||
par: ATMP . taux minimum * réduction de taux
|
||||
formule: 80%
|
||||
|
||||
contrat salarié . profession . journaliste . abattement fiscal:
|
||||
applicable si: profession = 'journaliste'
|
||||
contrat salarié . profession spécifique . journaliste . abattement fiscal:
|
||||
applicable si: profession spécifique = 'journaliste'
|
||||
remplace: rémunération . net imposable
|
||||
titre: net imposable journaliste
|
||||
formule:
|
||||
|
@ -2861,20 +3190,20 @@ contrat salarié . profession . journaliste . abattement fiscal:
|
|||
assiette: rémunération . net imposable
|
||||
abattement: 7650€/an
|
||||
|
||||
contrat salarié . profession . ouvrier du bâtiment:
|
||||
contrat salarié . profession spécifique . ouvrier du bâtiment:
|
||||
icônes: 👷♂️
|
||||
description: >-
|
||||
Concerne les ouvriers du bâtiment visés aux paragraphes 1er et 2 de
|
||||
l’article 1er du décret du 17 novembre 1936, à l’exclusion de ceux qui
|
||||
travaillent en usine ou en atelier.
|
||||
|
||||
contrat salarié . profession . artiste musicien:
|
||||
contrat salarié . profession spécifique . artiste musicien:
|
||||
icônes: 🎼
|
||||
description: >-
|
||||
Concerne les artistes musiciens, choristes, chefs d’orchestre, régisseurs de
|
||||
théâtre
|
||||
|
||||
contrat salarié . profession . pilote de ligne ou personnel navigant:
|
||||
contrat salarié . profession spécifique . pilote de ligne ou personnel navigant:
|
||||
icônes: ✈
|
||||
description: >-
|
||||
Concerne les pilotes, radios, mécaniciens navigants des compagnies de
|
||||
|
@ -3227,7 +3556,7 @@ contrat salarié . cotisations . assiette forfaitaire . montant:
|
|||
- assiette . salariale
|
||||
- règle: assiette . salariale
|
||||
dans: vieillesse
|
||||
- règle: assiette CSG et CRDS . assiette abattue
|
||||
- règle: CSG et CRDS . assiette abattue totale
|
||||
- règle: plafond sécurité sociale
|
||||
par: plafond sécurité sociale temps plein
|
||||
sauf dans:
|
||||
|
|
|
@ -13,8 +13,7 @@ situation personnelle . domiciliation fiscale à l'étranger:
|
|||
question: La résidence fiscale est-elle située à l'étranger ?
|
||||
rend non applicable:
|
||||
- dirigeant . indépendant . cotisations et contributions . CSG et CRDS
|
||||
- contrat salarié . CSG
|
||||
- contrat salarié . CRDS
|
||||
- contrat salarié . CSG et CRDS
|
||||
- impôt
|
||||
par défaut: non
|
||||
références:
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
display: flex;
|
||||
align-items: center;
|
||||
margin: 1rem 0;
|
||||
max-width: 100%;
|
||||
color: var(--lighterInverseTextColor);
|
||||
width: 45rem;
|
||||
}
|
||||
|
||||
.ui__.banner img {
|
||||
|
|
|
@ -16,6 +16,12 @@ export let SalaireBrutSection = ({ getRule }) => {
|
|||
),
|
||||
salaireDeBase = getRule('contrat salarié . rémunération . brut de base'),
|
||||
rémunérationBrute = getRule('contrat salarié . rémunération . brut'),
|
||||
chômagePartielIndemnité = getRule(
|
||||
'contrat salarié . activité partielle . indemnités'
|
||||
),
|
||||
chômagePartielAbsence = getRule(
|
||||
'contrat salarié . activité partielle . retrait activité partielle'
|
||||
),
|
||||
primes = getRule('contrat salarié . rémunération . primes')
|
||||
return (
|
||||
<div className="payslip__salarySection">
|
||||
|
@ -30,6 +36,12 @@ export let SalaireBrutSection = ({ getRule }) => {
|
|||
)}
|
||||
/>
|
||||
)}
|
||||
{chômagePartielIndemnité?.nodeValue && (
|
||||
<>
|
||||
<Line rule={chômagePartielAbsence} />
|
||||
<Line rule={chômagePartielIndemnité} />
|
||||
</>
|
||||
)}
|
||||
{!!heuresSupplémentaires?.nodeValue && (
|
||||
<Line rule={heuresSupplémentaires} />
|
||||
)}
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
import { formatValue } from 'Engine/format'
|
||||
import React, { useCallback, useState } from 'react'
|
||||
import { formatPercentage } from 'Engine/format'
|
||||
import { debounce as debounceFn } from '../utils'
|
||||
import './PercentageField.css'
|
||||
|
||||
export default function PercentageField({ onChange, value, debounce }) {
|
||||
export default function PercentageField({ onChange, value, debounce = 0 }) {
|
||||
const [localValue, setLocalValue] = useState(value)
|
||||
const debouncedOnChange = useCallback(
|
||||
debounce ? debounce(debounce, onChange) : onChange,
|
||||
debounce ? debounceFn(debounce, onChange) : onChange,
|
||||
[debounce, onChange]
|
||||
)
|
||||
|
||||
|
@ -26,7 +27,10 @@ export default function PercentageField({ onChange, value, debounce }) {
|
|||
max="1"
|
||||
/>
|
||||
<span style={{ display: 'inline-block', width: '3em' }}>
|
||||
{formatPercentage(localValue)}
|
||||
{formatValue({
|
||||
value: localValue,
|
||||
unit: '%'
|
||||
})}
|
||||
</span>
|
||||
</div>
|
||||
)
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
import {
|
||||
deletePreviousSimulation,
|
||||
loadPreviousSimulation
|
||||
} from 'Actions/actions'
|
||||
import { loadPreviousSimulation } from 'Actions/actions'
|
||||
import React from 'react'
|
||||
import { Trans } from 'react-i18next'
|
||||
import { useDispatch, useSelector } from 'react-redux'
|
||||
|
@ -20,17 +17,13 @@ export default function PreviousSimulationBanner() {
|
|||
return (
|
||||
<Banner hidden={!previousSimulation || newSimulationStarted} icon="💾">
|
||||
<Trans i18nKey="previousSimulationBanner.info">
|
||||
Votre précédente simulation a été sauvegardée.
|
||||
Votre précédente simulation a été sauvegardée :
|
||||
</Trans>{' '}
|
||||
<LinkButton onClick={() => dispatch(loadPreviousSimulation())}>
|
||||
<Trans i18nKey="previousSimulationBanner.retrieveButton">
|
||||
Retrouver ma simulation
|
||||
</Trans>
|
||||
</LinkButton>
|
||||
.{' '}
|
||||
<LinkButton onClick={() => dispatch(deletePreviousSimulation())}>
|
||||
<Trans>Effacer</Trans>
|
||||
</LinkButton>
|
||||
</Banner>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
import Controls from 'Components/Controls'
|
||||
import Conversation, { ConversationProps } from 'Components/conversation/Conversation'
|
||||
import Conversation, {
|
||||
ConversationProps
|
||||
} from 'Components/conversation/Conversation'
|
||||
import SeeAnswersButton from 'Components/conversation/SeeAnswersButton'
|
||||
import PageFeedback from 'Components/Feedback/PageFeedback'
|
||||
import SearchButton from 'Components/SearchButton'
|
||||
|
@ -13,23 +15,28 @@ import * as Animate from 'Ui/animate'
|
|||
import Progress from 'Ui/Progress'
|
||||
|
||||
type SimulationProps = {
|
||||
explanations: React.ReactNode
|
||||
explanations?: React.ReactNode
|
||||
results?: React.ReactNode
|
||||
customEndMessages?: ConversationProps['customEndMessages']
|
||||
showPeriodSwitch?: boolean
|
||||
}
|
||||
|
||||
export default function Simulation({
|
||||
explanations,
|
||||
customEndMessages
|
||||
results,
|
||||
customEndMessages,
|
||||
showPeriodSwitch
|
||||
}: SimulationProps) {
|
||||
const firstStepCompleted = useSelector(firstStepCompletedSelector)
|
||||
const progress = useSelector(simulationProgressSelector)
|
||||
return (
|
||||
<>
|
||||
<TargetSelection />
|
||||
<TargetSelection showPeriodSwitch={showPeriodSwitch} />
|
||||
<SearchButton invisibleButton />
|
||||
{firstStepCompleted && (
|
||||
<>
|
||||
<Animate.fromTop>
|
||||
{results}
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
|
|
|
@ -10,7 +10,7 @@ import React, { useContext, useEffect, useState } from 'react'
|
|||
import emoji from 'react-easy-emoji'
|
||||
import { Trans, useTranslation } from 'react-i18next'
|
||||
import { useDispatch, useSelector } from 'react-redux'
|
||||
import { Link } from 'react-router-dom'
|
||||
import { Link, useLocation } from 'react-router-dom'
|
||||
import { RootState } from 'Reducers/rootReducer'
|
||||
import {
|
||||
analysisWithDefaultsSelector,
|
||||
|
@ -23,7 +23,7 @@ import AnimatedTargetValue from 'Ui/AnimatedTargetValue'
|
|||
import CurrencyInput from './CurrencyInput/CurrencyInput'
|
||||
import './TargetSelection.css'
|
||||
|
||||
export default function TargetSelection() {
|
||||
export default function TargetSelection({ showPeriodSwitch = true }) {
|
||||
const [initialRender, setInitialRender] = useState(true)
|
||||
const analysis = useSelector(analysisWithDefaultsSelector)
|
||||
const objectifs = useSelector(
|
||||
|
@ -86,7 +86,7 @@ export default function TargetSelection() {
|
|||
</h2>
|
||||
)}
|
||||
</div>
|
||||
{index === 0 && <PeriodSwitch />}
|
||||
{index === 0 && showPeriodSwitch && <PeriodSwitch />}
|
||||
</div>
|
||||
<section
|
||||
className="ui__ plain card"
|
||||
|
@ -198,12 +198,19 @@ const Target = ({ target, initialRender }) => {
|
|||
|
||||
let Header = ({ target }) => {
|
||||
const sitePaths = useContext(SitePathsContext)
|
||||
const { t } = useTranslation()
|
||||
const { pathname } = useLocation()
|
||||
// TODO : Super hacky, we want to amend one label in the covid simulator, but
|
||||
// because the label is fetched from the global state we have to do a hack
|
||||
// here based on the URL.
|
||||
const hackyShowPeriod = pathname === sitePaths.coronavirus
|
||||
return (
|
||||
<span className="header">
|
||||
<span className="texts">
|
||||
<span className="optionTitle">
|
||||
<Link to={sitePaths.documentation.rule(target.dottedName)}>
|
||||
{target.title || target.name}
|
||||
{hackyShowPeriod && ' ' + t('mensuel')}
|
||||
</Link>
|
||||
</span>
|
||||
<p>{target.summary}</p>
|
||||
|
@ -326,7 +333,7 @@ function AidesGlimpse() {
|
|||
<span>{formatCurrency(aides.nodeValue, language)}</span>
|
||||
</AnimatedTargetValue>
|
||||
</strong>{' '}
|
||||
<Trans>d'aides</Trans> {emoji(aides.explanation.icons)}
|
||||
<Trans>d'aides</Trans> {emoji(aides.explanation?.icons ?? '')}
|
||||
</RuleLink>
|
||||
</div>
|
||||
</Animate.fromTop>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import { goToQuestion, resetSimulation } from 'Actions/actions'
|
||||
import Overlay from 'Components/Overlay'
|
||||
import RuleLink from 'Components/RuleLink'
|
||||
import Value from 'Components/Value'
|
||||
import { getRuleFromAnalysis } from 'Engine/rules'
|
||||
import React from 'react'
|
||||
|
@ -19,6 +18,7 @@ import './AnswerList.css'
|
|||
export default function AnswerList({ onClose }) {
|
||||
const dispatch = useDispatch()
|
||||
const { folded, next } = useSelector(stepsToRules)
|
||||
console.log({ next })
|
||||
return (
|
||||
<Overlay onClose={onClose} className="answer-list">
|
||||
<h2>
|
||||
|
@ -38,11 +38,15 @@ export default function AnswerList({ onClose }) {
|
|||
</small>
|
||||
</h2>
|
||||
<StepsTable {...{ rules: folded, onClose }} />
|
||||
<h2>
|
||||
{emoji('🔮 ')}
|
||||
<Trans>Prochaines questions</Trans>
|
||||
</h2>
|
||||
<StepsTable {...{ rules: next, onClose }} />
|
||||
{next.length > 0 && (
|
||||
<>
|
||||
<h2>
|
||||
{emoji('🔮 ')}
|
||||
<Trans>Prochaines questions</Trans>
|
||||
</h2>
|
||||
<StepsTable {...{ rules: next, onClose }} />
|
||||
</>
|
||||
)}
|
||||
</Overlay>
|
||||
)
|
||||
}
|
||||
|
@ -62,10 +66,18 @@ function StepsTable({ rules, onClose }) {
|
|||
`}
|
||||
>
|
||||
<td>
|
||||
<RuleLink {...rule} />
|
||||
<button
|
||||
className="ui__ link-button"
|
||||
onClick={() => {
|
||||
dispatch(goToQuestion(rule.dottedName))
|
||||
onClose()
|
||||
}}
|
||||
>
|
||||
{rule.title}
|
||||
</button>
|
||||
</td>
|
||||
<td>
|
||||
<button
|
||||
<span
|
||||
className="answer"
|
||||
css={`
|
||||
display: inline-block;
|
||||
|
@ -76,21 +88,16 @@ function StepsTable({ rules, onClose }) {
|
|||
text-align: start;
|
||||
font-weight: 500;
|
||||
> span {
|
||||
border-bottom: 1px dashed blue;
|
||||
border-bottom-color: var(--textColorOnWhite);
|
||||
padding: 0.05em 0em;
|
||||
display: inline-block;
|
||||
}
|
||||
`}
|
||||
onClick={() => {
|
||||
dispatch(goToQuestion(rule.dottedName))
|
||||
onClose()
|
||||
}}
|
||||
>
|
||||
<span className="answerContent">
|
||||
<Value {...rule} />
|
||||
</span>
|
||||
</button>{' '}
|
||||
</span>{' '}
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
|
|
|
@ -15,6 +15,8 @@ export default function Input({
|
|||
onSubmit,
|
||||
dottedName,
|
||||
value,
|
||||
defaultValue,
|
||||
autoFocus,
|
||||
unit
|
||||
}) {
|
||||
const colors = useContext(ThemeColorsContext)
|
||||
|
@ -36,9 +38,10 @@ export default function Input({
|
|||
|
||||
<div className="answer">
|
||||
<NumberFormat
|
||||
autoFocus
|
||||
className={'suffixed'}
|
||||
autoFocus={autoFocus}
|
||||
className="suffixed"
|
||||
id={'step-' + dottedName}
|
||||
placeholder={defaultValue}
|
||||
thousandSeparator={thousandSeparator}
|
||||
decimalSeparator={decimalSeparator}
|
||||
allowEmptyFormatting={true}
|
||||
|
|
|
@ -87,7 +87,8 @@
|
|||
}
|
||||
|
||||
.step input::placeholder {
|
||||
opacity: 0.7;
|
||||
opacity: 0.6;
|
||||
color: grey;
|
||||
}
|
||||
.step input[type='tel']::placeholder {
|
||||
font-family: monospace;
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
objectifs:
|
||||
- contrat salarié . rémunération . brut de base
|
||||
|
||||
objectifs secondaires:
|
||||
- contrat salarié . prix du travail
|
||||
- contrat salarié . rémunération . net
|
||||
- baisse de revenu chômage partiel
|
||||
- contrat salarié . activité partielle . indemnités
|
||||
|
||||
questions:
|
||||
uniquement:
|
||||
- contrat salarié . activité partielle . proportion heures travaillées
|
||||
- contrat salarié . temps de travail . temps partiel
|
||||
- contrat salarié . temps de travail . temps partiel . heures par semaine
|
||||
- contrat salarié . activité partielle . convention syntec
|
||||
- contrat salarié . profession spécifique
|
||||
|
||||
unités par défaut: [€/mois]
|
||||
situation:
|
||||
dirigeant: non
|
||||
contrat salarié . activité partielle: oui
|
||||
contrat salarié . médecine du travail: non
|
||||
contrat salarié . complémentaire santé: 0
|
|
@ -13,6 +13,7 @@ objectifs secondaires:
|
|||
|
||||
questions:
|
||||
à l'affiche:
|
||||
Chômage partiel: contrat salarié . activité partielle
|
||||
Temps partiel: contrat salarié . temps de travail . temps partiel
|
||||
Cadre: contrat salarié . statut cadre . choix statut cadre
|
||||
Heures supplémentaires: contrat salarié . temps de travail . heures supplémentaires
|
||||
|
|
|
@ -97,10 +97,12 @@
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
|
||||
margin: 1rem;
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
text-decoration: none;
|
||||
align-items: center;
|
||||
color: inherit;
|
||||
font-size: inherit !important;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
import React, { useCallback } from 'react'
|
||||
import styled from 'styled-components'
|
||||
import { debounce } from '../../utils'
|
||||
|
||||
type RangeSliderProps = {
|
||||
value?: number
|
||||
onChange: React.ChangeEventHandler<HTMLInputElement>
|
||||
}
|
||||
|
||||
export default function RangeSlider({ value, onChange }: RangeSliderProps) {
|
||||
const debouncedOnChange = useCallback(debounce(100, onChange), [])
|
||||
|
||||
return (
|
||||
<Input
|
||||
type="range"
|
||||
min="0"
|
||||
max="100"
|
||||
defaultValue={value}
|
||||
onChange={evt => debouncedOnChange(evt.target.value)}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
const Input = styled.input`
|
||||
width: 100%;
|
||||
height: 15px;
|
||||
border-radius: 5px;
|
||||
background: #d3d3d3;
|
||||
outline: none;
|
||||
opacity: 0.7;
|
||||
transition: opacity 0.2s;
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
&::-webkit-slider-thumb {
|
||||
appearance: none;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
border-radius: 50%;
|
||||
background: var(--color);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&::-moz-range-thumb {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
border-radius: 50%;
|
||||
background: var(--color);
|
||||
cursor: pointer;
|
||||
}
|
||||
`
|
|
@ -125,9 +125,10 @@ span.ui__.enumeration:not(:last-of-type)::after {
|
|||
|
||||
.ui__.label {
|
||||
font-size: 85%;
|
||||
padding: 0.4rem 0.8rem;
|
||||
padding: 0.4rem 0.6rem;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
background: var(--lighterTextColor);
|
||||
background: var(--darkColor);
|
||||
border-radius: 0.3rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import SelectGéo from 'Components/conversation/select/SelectGéo'
|
|||
import SelectAtmp from 'Components/conversation/select/SelectTauxRisque'
|
||||
import SendButton from 'Components/conversation/SendButton'
|
||||
import CurrencyInput from 'Components/CurrencyInput/CurrencyInput'
|
||||
import PercentageField from 'Components/PercentageField'
|
||||
import ToggleSwitch from 'Components/ui/ToggleSwitch'
|
||||
import { is, prop, unless } from 'ramda'
|
||||
import React from 'react'
|
||||
|
@ -117,6 +118,9 @@ export default function RuleInput({
|
|||
</>
|
||||
)
|
||||
}
|
||||
if (unit?.numerators.includes('%') && isTarget) {
|
||||
return <PercentageField {...commonProps} debounce={600} />
|
||||
}
|
||||
|
||||
return <Input {...commonProps} unit={unit} />
|
||||
}
|
||||
|
|
|
@ -16,7 +16,8 @@ type EngineConfig = {
|
|||
}
|
||||
|
||||
let enrichRules = input => {
|
||||
const rules = typeof input === 'string' ? safeLoad(input) : input
|
||||
const rules =
|
||||
typeof input === 'string' ? safeLoad(input.replace(/\t/g, ' ')) : input
|
||||
const rulesList = Array.isArray(rules)
|
||||
? rules
|
||||
: Object.entries(rules).map(([dottedName, rule]) => ({
|
||||
|
@ -27,20 +28,19 @@ let enrichRules = input => {
|
|||
}
|
||||
|
||||
export default class Engine {
|
||||
rules: Array<Rule>
|
||||
parsedRules: Record<DottedName, Rule>
|
||||
defaultValues: Simulation['situation']
|
||||
situation: Simulation['situation'] = {}
|
||||
cache = { ...emptyCache }
|
||||
|
||||
constructor(config: EngineConfig = {}) {
|
||||
const rules = config
|
||||
? [
|
||||
...(config.rules ? enrichRules(config.rules) : rulesFr),
|
||||
...(config.extra ? enrichRules(config.extra) : [])
|
||||
]
|
||||
: rulesFr
|
||||
this.parsedRules = parseAll(rules) as any
|
||||
this.defaultValues = collectDefaults(rules)
|
||||
this.rules = [
|
||||
...(config?.rules ? enrichRules(config.rules) : rulesFr),
|
||||
...(config?.extra ? enrichRules(config.extra) : [])
|
||||
]
|
||||
this.parsedRules = parseAll(this.rules) as any
|
||||
this.defaultValues = collectDefaults(this.rules)
|
||||
}
|
||||
|
||||
private resetCache() {
|
||||
|
|
|
@ -1,29 +1,27 @@
|
|||
import Value from 'Components/Value'
|
||||
import React, { createContext, useContext, useMemo, useState } from 'react'
|
||||
import React, { createContext, useContext, useMemo } from 'react'
|
||||
import Engine from '.'
|
||||
|
||||
const EngineContext = createContext<{
|
||||
export const EngineContext = createContext<{
|
||||
engine: Engine | null
|
||||
error: string | null
|
||||
}>({ engine: new Engine(), error: null })
|
||||
|
||||
type InputProps = {
|
||||
rules?: any
|
||||
extra?: any
|
||||
situation?: any
|
||||
children: React.ReactNode
|
||||
}
|
||||
|
||||
export function Provider({ rules, situation, children }: InputProps) {
|
||||
const [error, setError] = useState<string | null>(null)
|
||||
const engine = useMemo(() => {
|
||||
export function Provider({ rules, extra, situation, children }: InputProps) {
|
||||
const [engine, error] = useMemo(() => {
|
||||
try {
|
||||
setError(null)
|
||||
return new Engine({ rules })
|
||||
return [new Engine({ rules, extra }), null]
|
||||
} catch (err) {
|
||||
setError(err?.message ?? err.toString())
|
||||
return null
|
||||
return [null, (err?.message ?? err.toString()) as string]
|
||||
}
|
||||
}, [rules])
|
||||
}, [rules, extra])
|
||||
if (engine !== null && !Object.is(situation, engine.situation)) {
|
||||
engine.setSituation(situation)
|
||||
}
|
||||
|
|
|
@ -25,6 +25,8 @@ Commencer: Get started
|
|||
Continuer: Continue
|
||||
Cotisations: Contributions
|
||||
Cotisations sociales: Social contributions
|
||||
'Covid-19 : Découvrez les mesures de soutien aux entreprises': 'Covid-19: Find out about business support measures'
|
||||
Coût pour l'entreprise: Cost to the company
|
||||
Crée le: Created on
|
||||
Créer une: Create a
|
||||
De: From
|
||||
|
@ -37,6 +39,7 @@ Désactivée: Inactive
|
|||
Détail annuel des cotisations: Annual detail of my contributions
|
||||
Effacer: Reset
|
||||
Embauche: Hiring process
|
||||
En incluant l'indemnité de chômage partiel: Including short-time working allowance
|
||||
En-dessous de: Below
|
||||
Entreprise Individuelle: Sole Proprietorship
|
||||
Entrez des mots clefs ici: Enter keywords
|
||||
|
@ -53,6 +56,7 @@ Gérant majoritaire: Chairman
|
|||
Gérant minoritaire: Managing director
|
||||
Imprimer: Print
|
||||
Impôts: Taxes
|
||||
'Indemnité chômage partiel prise en charge par l''état :': 'State-paid short-time working allowance :'
|
||||
Indépendant: Independent
|
||||
International: International
|
||||
Intégrer l'interface de simulation: Integrate the simulation interface
|
||||
|
@ -75,6 +79,7 @@ Nous n'avons rien trouvé: We didn't find any matching registered company.
|
|||
Oui: 'Yes'
|
||||
Outils pour les développeurs: Tools for developers
|
||||
Pages associées: Related pages
|
||||
Part du salaire net maintenue: Share of net salary maintained
|
||||
Part employeur: Employer share
|
||||
Part salariale: Employee share
|
||||
Part salarié: Employee share
|
||||
|
@ -82,6 +87,7 @@ Pas en auto-entrepreneur: Not in auto-entrepreneur
|
|||
Pas implémenté: Not implemented
|
||||
Passer: Skip
|
||||
Personnalisez l'integration: Customize the integration
|
||||
'Perte de revenu net :': 'Loss of net income :'
|
||||
Plafonds des tranches: Wafer ceilings
|
||||
Plein écran: Fullscreen
|
||||
Plus d'informations: More information (fr)
|
||||
|
@ -108,6 +114,8 @@ Retour à mon activité: Back to my business
|
|||
Revenir à la documentation: Go back to documentation
|
||||
Revenu (incluant les dépenses liées à l'activité): Revenue (including expenses related to the activity)
|
||||
Revenu disponible: Disposable income
|
||||
'Revenu net avec chômage partiel :': 'Net income with short-time work :'
|
||||
Revenu net mensuel: Monthly net income
|
||||
Récapitulatif: Summary
|
||||
Rémunération du dirigeant: Director's remuneration
|
||||
Répartition du chiffre d'affaires: Breakdown of turnover
|
||||
|
@ -128,6 +136,7 @@ Taux: Rate
|
|||
Taux calculé: Calculated rate
|
||||
Taux moyen: Average rate
|
||||
Total des retenues: Total withheld
|
||||
'Total payé par l''entreprise :': 'Total paid by the company :'
|
||||
Tout effacer: Delete all
|
||||
Tranche de l'assiette: Scale bracket
|
||||
Un seul associé: Only one partner
|
||||
|
@ -381,6 +390,17 @@ comparaisonRégimes:
|
|||
Create my company as:
|
||||
trimestreValidés: <0>Number of quarters validated <1>(for retirement)</1></0>
|
||||
composantes: components
|
||||
coronavirus:
|
||||
description: >-
|
||||
<0>Coronavirus and short-time working: what impact on my income?</0><1>The
|
||||
government is putting in place measures to support employees affected by the
|
||||
Coronavirus crisis. One of the key measures is the assumption of the entire
|
||||
short-time working compensation by the State.</1><2>This simulator allows
|
||||
you to find out your net income if you have been placed on short-time work,
|
||||
as well as the total cost to the company.</2>
|
||||
page:
|
||||
description: Estimate net income with short-time working benefits
|
||||
titre: 'Coronavirus and short-time working: what impact on your income?'
|
||||
cotisation: contribution
|
||||
créer:
|
||||
cta:
|
||||
|
@ -807,6 +827,7 @@ listeformejuridique:
|
|||
page:
|
||||
titre: Legal status list for creating your company in France
|
||||
maj2019: The simulation is up-to-date in 2019.
|
||||
mensuel: monthly
|
||||
mois: month
|
||||
montant à atteindre: minimum value
|
||||
multiplicateur: multiplier
|
||||
|
@ -836,7 +857,11 @@ pages:
|
|||
publicode: >-
|
||||
<0>Publicodes</0><1>Our tools are powered by Publicodes, a new language
|
||||
for encoding "explainable" algorithms.</1>
|
||||
code:
|
||||
description: 'Here is the code to copy and paste on your site:'
|
||||
titre: Integration Code
|
||||
code à copier: 'Here is the code to copy and paste on your site:'
|
||||
couleur: 'What color? '
|
||||
home:
|
||||
choice:
|
||||
iframe: >-
|
||||
|
@ -858,8 +883,10 @@ pages:
|
|||
module</2> to blend it into the visual theme of your page.</2><3>The
|
||||
attribute <1>data-lang="en"</1> allows you to choose English as the
|
||||
simulator language.</3>
|
||||
module: What module?
|
||||
par: per
|
||||
path:
|
||||
coronavirus: /coronavirus
|
||||
créer:
|
||||
après: /after-registration
|
||||
guideStatut:
|
||||
|
|
|
@ -1,6 +1,14 @@
|
|||
SMIC horaire:
|
||||
titre.en: hourly minimum wage (SMIC)
|
||||
titre.fr: SMIC horaire
|
||||
SMIC temps plein:
|
||||
titre.en: '[automatic] minimum wage'
|
||||
titre.fr: SMIC temps plein
|
||||
SMIC temps plein . net imposable:
|
||||
description.en: '[automatic] Amount of the net taxable SMIC for a full-time employee.'
|
||||
description.fr: Montant du SMIC net imposable pour un temps plein.
|
||||
titre.en: '[automatic] minimum net taxable income'
|
||||
titre.fr: SMIC net imposable
|
||||
aide déclaration revenu indépendant 2019:
|
||||
description.en: >-
|
||||
[automatic] These rules calculate the amounts claimed in the 2020 social and
|
||||
|
@ -252,6 +260,12 @@ artiste-auteur . revenus . traitements et salaires:
|
|||
résumé.fr: Le montant brut hors TVA de vos droits d'auteur (recettes précomptées)
|
||||
titre.en: Income in wages and salaries
|
||||
titre.fr: Revenu en traitements et salaires
|
||||
baisse de revenu chômage partiel:
|
||||
titre.en: '[automatic] short-time working'
|
||||
titre.fr: baisse de revenu chômage partiel
|
||||
baisse de revenu chômage partiel . net sans chômage partiel:
|
||||
titre.en: '[automatic] net without short-time work'
|
||||
titre.fr: net sans chômage partiel
|
||||
contrat salarié:
|
||||
contrôles.0.en: >
|
||||
[automatic] Remember that a fixed-term contract must always correspond to a
|
||||
|
@ -481,9 +495,6 @@ contrat salarié . CDD . compensation pour congés non pris:
|
|||
- maintenant : Les congés peuvent être pris dès l’embauche
|
||||
titre.en: '[automatic] holiday pay'
|
||||
titre.fr: indemnité de congés payés
|
||||
contrat salarié . CDD . compensation pour congés non pris . assiette mensuelle:
|
||||
titre.en: monthly basis
|
||||
titre.fr: assiette mensuelle
|
||||
contrat salarié . CDD . compensation pour congés non pris . proportion congés non pris:
|
||||
titre.en: proportion of untaken leave
|
||||
titre.fr: proportion congés non pris
|
||||
|
@ -803,26 +814,136 @@ contrat salarié . CDD . événement . rupture pour faute grave ou force majeure
|
|||
contrat salarié . CDI:
|
||||
titre.en: CDI
|
||||
titre.fr: CDI
|
||||
contrat salarié . CRDS:
|
||||
description.en: Contribution for the repayment of the social debt
|
||||
contrat salarié . CSG et CRDS:
|
||||
description.en: >-
|
||||
[automatic] The CSG and the CRDS are payable by all employees meeting the
|
||||
following two conditions:
|
||||
|
||||
- they are domiciled in France for tax purposes, - they are covered by a
|
||||
French compulsory health insurance scheme.
|
||||
|
||||
If one of the two criteria is not met, the CSG and CRDS are not due,
|
||||
provided that proof is provided (tax receipt or social security card).
|
||||
description.fr: >-
|
||||
La CSG et la CRDS sont dues par tous les salariés remplissant les deux
|
||||
conditions suivantes :
|
||||
|
||||
- ils sont domiciliés fiscalement en France, - ils sont à la charge d’un
|
||||
régime français d’assurance maladie obligatoire.
|
||||
|
||||
Si l’un des deux critères n’est pas rempli, la CSG et la CRDS ne sont pas
|
||||
dues, à la condition d’en apporter la preuve (justificatif fiscal ou carte
|
||||
d’assuré social).
|
||||
titre.en: '[automatic] CSG and CRDS'
|
||||
titre.fr: CSG et CRDS
|
||||
contrat salarié . CSG et CRDS . CRDS:
|
||||
description.en: '[automatic] Contribution for the repayment of the social debt'
|
||||
description.fr: Contribution pour le remboursement de la dette sociale
|
||||
titre.en: CRDS
|
||||
titre.en: '[automatic] DRES'
|
||||
titre.fr: CRDS
|
||||
contrat salarié . CSG:
|
||||
description.en: |-
|
||||
Generalized social contribution.
|
||||
Compulsory levy that contributes to the financing of social security.
|
||||
description.fr: |
|
||||
Contribution sociale généralisée.
|
||||
Prélèvement obligatoire qui participe au financement de la sécurité sociale.
|
||||
titre.en: CSG
|
||||
contrat salarié . CSG et CRDS . CRDS . taux:
|
||||
titre.en: '[automatic] CRDS rate'
|
||||
titre.fr: taux CRDS
|
||||
contrat salarié . CSG et CRDS . CSG:
|
||||
description.en: >-
|
||||
[automatic] The General Social Contribution (CSG) is a tax intended to
|
||||
contribute to the financing of social protection.
|
||||
|
||||
Unlike social contributions, which only apply to earned income, the CSG
|
||||
covers, in addition to earned income and replacement income (unemployment
|
||||
benefits, daily allowances, etc.), income from assets, investment income or
|
||||
sums committed or redistributed by the games.
|
||||
|
||||
It is deducted at source from most income. It is collected by the USSAF on
|
||||
income from activities and by the tax authorities on income from assets.
|
||||
|
||||
The CSG proceeds are paid to the CNAM and the CNAF, and also finance the old
|
||||
age solidarity fund.
|
||||
description.fr: >-
|
||||
La contribution sociale généralisée (CSG) est un impôt destiné à participer
|
||||
au financement de la protection sociale.
|
||||
|
||||
A la différence des cotisations sociales qui ne portent que sur les revenus
|
||||
d’activité, la CSG concerne, outre les revenus d’activité et de remplacement
|
||||
(allocations chômage, indemnités journalières…), les revenus du patrimoine,
|
||||
les produits de placement ou les sommes engagées ou redistribuées par les
|
||||
jeux.
|
||||
|
||||
Elle est prélevée à la source sur la plupart des revenus. Elle est recouvrée
|
||||
par les Urssaf sur les revenus d’activité et par l’administration fiscale
|
||||
sur les revenus du patrimoine.
|
||||
|
||||
Le produit de la CSG est reversé à la Cnam et à la Cnaf, il finance
|
||||
également le fonds de solidarité vieillesse
|
||||
titre.en: '[automatic] CSG'
|
||||
titre.fr: CSG
|
||||
contrat salarié . CSG . assiette CSG déductible:
|
||||
titre.en: deductible CSG base
|
||||
titre.fr: assiette CSG déductible
|
||||
contrat salarié . CSG . assiette heures supplémentaires et complémentaires défiscalisées:
|
||||
contrat salarié . CSG et CRDS . CSG . base:
|
||||
titre.en: '[automatic] CSG'
|
||||
titre.fr: CSG
|
||||
contrat salarié . CSG et CRDS . CSG . heures supplémentaires et complémentaires défiscalisées:
|
||||
titre.en: '[automatic] CSG tax-free overtime and overtime supplements'
|
||||
titre.fr: CSG heures supplémentaires et complémentaires défiscalisées
|
||||
contrat salarié . CSG et CRDS . CSG . taux déductible:
|
||||
titre.en: '[automatic] deductible rate'
|
||||
titre.fr: taux déductible
|
||||
contrat salarié . CSG et CRDS . CSG . taux non déductible:
|
||||
titre.en: '[automatic] non-deductible rate'
|
||||
titre.fr: taux non déductible
|
||||
contrat salarié . CSG et CRDS . assiette abattue totale:
|
||||
titre.en: '[automatic] total slaughter plate'
|
||||
titre.fr: assiette abattue totale
|
||||
contrat salarié . CSG et CRDS . assiette de base:
|
||||
titre.en: '[automatic] base plate'
|
||||
titre.fr: assiette de base
|
||||
contrat salarié . CSG et CRDS . assiette heures supplémentaires et complémentaires défiscalisées:
|
||||
titre.en: '[automatic] tax-free overtime and additional hours base'
|
||||
titre.fr: assiette heures supplémentaires et complémentaires défiscalisées
|
||||
contrat salarié . CSG et CRDS . assiette revenu remplacements:
|
||||
titre.en: '[automatic] income base replacements'
|
||||
titre.fr: assiette revenu remplacements
|
||||
contrat salarié . CSG et CRDS . non déductible:
|
||||
titre.en: '[automatic] Non-deductible CSG and CRDS'
|
||||
titre.fr: CSG non déductible et CRDS
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement:
|
||||
description.en: '[automatic] CSG and CRDS deducted from replacement income.'
|
||||
description.fr: La CSG et CRDS prélevées sur les revenus de remplacement.
|
||||
note.en: >-
|
||||
[automatic] The levying of the CSG and the CRDS may not have the effect of
|
||||
reducing the amount of earned income and unemployment benefits to a
|
||||
threshold lower than the gross minimum wage.
|
||||
note.fr: >-
|
||||
Le prélèvement de la CSG et de la CRDS ne peut pas avoir pour effet de
|
||||
réduire le montant de la rémunération d’activité et des allocations de
|
||||
chômage à un seuil inférieur au Smic brut.
|
||||
titre.en: '[automatic] CSG and CRDS replacement income'
|
||||
titre.fr: CSG et CRDS revenus de remplacement
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CRDS:
|
||||
titre.en: '[automatic] CRDS replacement income'
|
||||
titre.fr: CRDS revenus de remplacement
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CRDS . montant:
|
||||
titre.en: '[automatic] DRES'
|
||||
titre.fr: CRDS
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CRDS . rémunération nette:
|
||||
titre.en: '[automatic] take-home pay'
|
||||
titre.fr: rémunération nette
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CSG déductible:
|
||||
titre.en: '[automatic] Deductible MSA replacement income'
|
||||
titre.fr: CSG déductible revenus de remplacement
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CSG déductible . montant:
|
||||
titre.en: '[automatic] deductible MSA'
|
||||
titre.fr: CSG déductible
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CSG déductible . rémunération nette:
|
||||
titre.en: '[automatic] take-home pay'
|
||||
titre.fr: rémunération nette
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CSG non déductible:
|
||||
titre.en: '[automatic] Non-deductible CSG replacement income'
|
||||
titre.fr: CSG non déductible revenus de remplacement
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CSG non déductible . montant:
|
||||
titre.en: '[automatic] non-deductible MSA'
|
||||
titre.fr: CSG non déductible
|
||||
contrat salarié . CSG et CRDS . revenus de remplacement . CSG non déductible . rémunération nette:
|
||||
titre.en: '[automatic] take-home pay'
|
||||
titre.fr: rémunération nette
|
||||
contrat salarié . FNAL:
|
||||
description.en: >-
|
||||
The National Housing Fund (Fnal) is a contribution to ensure the financing
|
||||
|
@ -875,14 +996,146 @@ contrat salarié . SMIC contractuel:
|
|||
pour la détermination du salaire minimum
|
||||
titre.en: Contractual minimum wage (SMIC)
|
||||
titre.fr: SMIC contractuel
|
||||
contrat salarié . SMIC temps plein:
|
||||
titre.en: full-time mimimum wage (SMIC)
|
||||
titre.fr: SMIC temps plein
|
||||
contrat salarié . SMIC temps plein . net imposable:
|
||||
description.en: '[automatic] Amount of the net taxable SMIC for a full-time employee.'
|
||||
description.fr: Montant du SMIC net imposable pour un temps plein.
|
||||
titre.en: '[automatic] minimum net taxable income'
|
||||
titre.fr: SMIC net imposable
|
||||
contrat salarié . activité partielle:
|
||||
description.en: >-
|
||||
[automatic] Following the Coronavirus crisis, the government introduced an
|
||||
extended short-time working scheme in which the state pays compensation for
|
||||
hours worked up to 4.5 SMIC.
|
||||
|
||||
The declaration of partial activity is simplified and the effect is
|
||||
retroactive.
|
||||
description.fr: >-
|
||||
À la suite de la crise du Coronavirus, le gouvernement a mis en place un
|
||||
dispositif de chômage partiel étendu dans lequel l'État prend en charge
|
||||
l'indemnisation des heures chômées jusqu’à 4,5 SMIC.
|
||||
|
||||
La déclaration d'activité partielle est simplifiée est l'effet est
|
||||
rétroactif.
|
||||
question.en: '[automatic] Is the employee on short-time work?'
|
||||
question.fr: Le salarié est-il en chômage partiel ?
|
||||
titre.en: '[automatic] partial activity'
|
||||
titre.fr: activité partielle
|
||||
contrat salarié . activité partielle . convention syntec:
|
||||
description.en: >-
|
||||
[automatic] Collective bargaining agreement applicable to employees of
|
||||
Technical Design Offices, Engineering Consultancy Firms and Consulting
|
||||
Firms.
|
||||
|
||||
This collective bargaining agreement provides in particular for an increase
|
||||
in the partial unemployment benefit above the legal minimum and at the
|
||||
expense of the company.
|
||||
description.fr: >-
|
||||
Convention Collective applicable aux salariés des Bureaux d'Études
|
||||
Techniques, des Cabinets d'Ingénieurs-Conseils et des Sociétés de Conseils.
|
||||
|
||||
Cette convention collective prévoit notamment une majoration de l'indemnité
|
||||
de chômage partielle au dessus du minimum légal et à la charge de
|
||||
l'entreprise.
|
||||
question.en: '[automatic] Is the Syntec collective agreement applicable to the company?'
|
||||
question.fr: La convention collective Syntec est-elle applicable à l'entreprise ?
|
||||
titre.en: '[automatic] syntec convention'
|
||||
titre.fr: convention syntec
|
||||
contrat salarié . activité partielle . heures chômées:
|
||||
titre.en: '[automatic] non-working hours'
|
||||
titre.fr: heures chômées
|
||||
contrat salarié . activité partielle . indemnisation entreprise:
|
||||
description.en: >-
|
||||
[automatic] In the context of the Coronavirus crisis, the government has
|
||||
announced that the short-time working allowance will be 100% paid by the
|
||||
state.
|
||||
description.fr: >-
|
||||
Dans le cadre de la crise du Coronavirus, le gouvernement a anoncé que
|
||||
l'indemnité de chômage partiel sera prise à 100% en charge par l'état.
|
||||
titre.en: '[automatic] Reimbursement of partial activity allowance'
|
||||
titre.fr: Remboursement de l'indemnité d'activité partielle
|
||||
contrat salarié . activité partielle . indemnités:
|
||||
description.en: >-
|
||||
[automatic] If you are placed on short-time work, you are not entitled to a
|
||||
salary but to a special allowance. For each hour of compensable time off,
|
||||
the employee receives an allowance from the company. In return, the company
|
||||
receives a partial activity allowance from the State.
|
||||
|
||||
If, after payment of the partial activity allowance, the employee's
|
||||
remuneration is less than the minimum monthly remuneration (RMM guaranteed
|
||||
by Articles L3232-1 and following of the Labour Code for full-time
|
||||
employees), the employer must pay him an additional allowance equal to the
|
||||
difference between the minimum monthly remuneration (or Smic net) and the
|
||||
sum initially received by the employee.
|
||||
description.fr: >-
|
||||
La mise en chômage partiel ouvre droit non au paiement d’un salaire mais à
|
||||
l’allocation spécifique. Pour chaque heure chômée indemnisable, le salarié
|
||||
reçoit de l'entreprise une indemnité. L'entreprise obtient en contrepartie
|
||||
de l’Etat une allocation d’activité partielle.
|
||||
|
||||
Si après versement de l’indemnité d’activité partielle la rémunération du
|
||||
salarié est inférieure à la rémunération mensuelle minimale (RMM garantie
|
||||
par les articles L3232-1 et suivants du code du travail pour les salariés à
|
||||
temps plein), l'employeur doit lui verser une allocation complémentaire qui
|
||||
est égale à la différence entre la rémunération mensuelle minimale (ou Smic
|
||||
net) et la somme initialement perçue par le salarié.
|
||||
titre.en: '[automatic] partial activity compensation'
|
||||
titre.fr: indemnités activité partielle
|
||||
contrat salarié . activité partielle . indemnités . base:
|
||||
titre.en: '[automatic] basic partial severance pay'
|
||||
titre.fr: indemnités d'activité partielle de base
|
||||
contrat salarié . activité partielle . indemnités . complémentaire:
|
||||
description.en: >-
|
||||
[automatic] The supplementary partial unemployment allowance is an allowance
|
||||
paid by the company for salaries close to the SMIC to ensure that
|
||||
remuneration actually received is never lower than the net SMIC.
|
||||
description.fr: >-
|
||||
L'indemnité complémentaire de chômage partielle est une indemnité versée par
|
||||
l'entreprise pour les salaires proches du SMIC permettant de s'assurer que
|
||||
rémunération effectivement perçue ne soit jamais inférieure à celle du SMIC
|
||||
net.
|
||||
titre.en: '[automatic] additional allowance'
|
||||
titre.fr: indemnité complémentaire
|
||||
contrat salarié . activité partielle . indemnités . conventionnelle:
|
||||
titre.en: '[automatic] conventional'
|
||||
titre.fr: conventionnelle
|
||||
contrat salarié . activité partielle . proportion heures travaillées:
|
||||
description.en: >-
|
||||
[automatic] In the case of short-time working, the proportion of hours
|
||||
worked corresponds to the ratio of the number of hours worked to the usual
|
||||
contractual working time.
|
||||
|
||||
A ratio of 0% means that the employee did not work this month. A ratio of
|
||||
100% means that the employee worked all those contractual hours.
|
||||
|
||||
Overtime, even usual overtime, is not taken into account.
|
||||
description.fr: >-
|
||||
Dans le cadre du chômage partiel, la proportion d'heure travaillées
|
||||
correspond au ratio du nombre d'heures travaillées par rapport au temps de
|
||||
travail contractuel habituel.
|
||||
|
||||
Un ratio de 0% signifie que l'employé n'a pas travaillé ce mois ci. Un ratio
|
||||
de 100% signifie que l'employé a effectué toutes ces heures contractuelles.
|
||||
|
||||
Les heures supplémentaires, même habituelles, ne sont pas prises en compte.
|
||||
question.en: '[automatic] What is the proportion of hours worked over the month?'
|
||||
question.fr: Quelle est la proportion d'heures travaillées sur le mois ?
|
||||
suggestions.0%.en: '[automatic] 0%'
|
||||
suggestions.0%.fr: 0%
|
||||
suggestions.20%.en: '[automatic] 20%'
|
||||
suggestions.20%.fr: 20%
|
||||
suggestions.50%.en: '[automatic] 50%'
|
||||
suggestions.50%.fr: 50%
|
||||
titre.en: '[automatic] proportion of hours worked'
|
||||
titre.fr: proportion heures travaillées
|
||||
contrat salarié . activité partielle . retrait absence:
|
||||
titre.en: '[automatic] partial activity withdrawal'
|
||||
titre.fr: retrait activité partielle
|
||||
contrat salarié . activité partielle . rémunération mensuelle minimale:
|
||||
description.en: >-
|
||||
[automatic] Full-time employees with reduced working hours are entitled to a
|
||||
minimum monthly remuneration which may be supplemented by an additional
|
||||
payment from the employer.
|
||||
description.fr: >-
|
||||
Les salariés à temps plein dont l’horaire de travail est réduit ont droit à
|
||||
une rémunération mensuelle minimale qui peut donner lieu à un versement
|
||||
complémentaire de l’employeur.
|
||||
titre.en: '[automatic] minimum monthly pay'
|
||||
titre.fr: rémunération mensuelle minimale
|
||||
contrat salarié . aides employeur:
|
||||
description.en: >
|
||||
Some aids can be requested by the employer to help hires.
|
||||
|
@ -901,8 +1154,8 @@ contrat salarié . aides employeur:
|
|||
officiel](http://www.aides-entreprises.fr).
|
||||
résumé.en: Deferred aids available to the employer.
|
||||
résumé.fr: 'Pour l''employeur, différées dans le temps'
|
||||
titre.en: deferred employer aids
|
||||
titre.fr: aides à l'embauche
|
||||
titre.en: '[automatic] employer assistance'
|
||||
titre.fr: aides employeur
|
||||
contrat salarié . aides employeur . aide à l'embauche d'apprentis:
|
||||
description.en: >
|
||||
Since 2019, a single hiring aid has replaced four previous schemes. The
|
||||
|
@ -1041,14 +1294,6 @@ contrat salarié . apprentissage . diplôme préparé . niveau supérieur au bac
|
|||
niveau II (License, BMS...), et de niveau III (BTS, SUT, BM, ...)
|
||||
titre.en: Degree above the baccalaureate level
|
||||
titre.fr: Diplôme d'un niveau supérieur au bac
|
||||
contrat salarié . assiette CSG et CRDS:
|
||||
note.en: '[automatic] This plate is complex, this version is only a simplification.'
|
||||
note.fr: 'Cette assiette est complexe, cette version n''est qu''une simplification.'
|
||||
titre.en: CSG and CRDS base
|
||||
titre.fr: assiette CSG et CRDS
|
||||
contrat salarié . assiette CSG et CRDS . assiette abattue:
|
||||
titre.en: reduced base
|
||||
titre.fr: assiette abattue
|
||||
contrat salarié . avantages sociaux:
|
||||
description.en: >-
|
||||
These are the benefits paid by the employer. They are specific to the
|
||||
|
@ -2336,12 +2581,12 @@ contrat salarié . prix du travail:
|
|||
résumé.fr: Dépensé par l'entreprise
|
||||
titre.en: labor cost
|
||||
titre.fr: Coût total
|
||||
contrat salarié . profession:
|
||||
contrat salarié . profession spécifique:
|
||||
question.en: '[automatic] Does the employee work in one of the following professions?'
|
||||
question.fr: Le salarié exerce t-il l'une des professions suivantes ?
|
||||
titre.en: '[automatic] profession'
|
||||
titre.fr: profession
|
||||
contrat salarié . profession . artiste musicien:
|
||||
titre.en: '[automatic] specific profession'
|
||||
titre.fr: profession spécifique
|
||||
contrat salarié . profession spécifique . artiste musicien:
|
||||
description.en: >-
|
||||
[automatic] Concerns musicians, choir members, conductors, theatre managers,
|
||||
etc.
|
||||
|
@ -2350,7 +2595,7 @@ contrat salarié . profession . artiste musicien:
|
|||
théâtre
|
||||
titre.en: '[automatic] musical artist'
|
||||
titre.fr: artiste musicien
|
||||
contrat salarié . profession . journaliste:
|
||||
contrat salarié . profession spécifique . journaliste:
|
||||
description.en: >-
|
||||
[automatic] Concerns journalists, editors, photographers, newspaper
|
||||
directors Dramatic and music critics.
|
||||
|
@ -2359,13 +2604,13 @@ contrat salarié . profession . journaliste:
|
|||
Critiques dramatiques et musicaux.
|
||||
titre.en: '[automatic] journalist'
|
||||
titre.fr: journaliste
|
||||
contrat salarié . profession . journaliste . abattement fiscal:
|
||||
contrat salarié . profession spécifique . journaliste . abattement fiscal:
|
||||
titre.en: '[automatic] net taxable journalist'
|
||||
titre.fr: net imposable journaliste
|
||||
contrat salarié . profession . journaliste . réduction de taux:
|
||||
contrat salarié . profession spécifique . journaliste . réduction de taux:
|
||||
titre.en: '[automatic] rate reduction'
|
||||
titre.fr: réduction de taux
|
||||
contrat salarié . profession . ouvrier du bâtiment:
|
||||
contrat salarié . profession spécifique . ouvrier du bâtiment:
|
||||
description.en: >-
|
||||
[automatic] Concerns the construction workers referred to in paragraphs 1
|
||||
and 2 of Article 1 of the Decree of 17 November 1936, excluding those
|
||||
|
@ -2376,12 +2621,12 @@ contrat salarié . profession . ouvrier du bâtiment:
|
|||
travaillent en usine ou en atelier.
|
||||
titre.en: '[automatic] construction worker'
|
||||
titre.fr: ouvrier du bâtiment
|
||||
contrat salarié . profession . pilote de ligne ou personnel navigant:
|
||||
contrat salarié . profession spécifique . pilote de ligne ou personnel navigant:
|
||||
description.en: >-
|
||||
[automatic] Concerns pilots, radios, flight engineers of air transport
|
||||
companies; pilots and mechanics employed by aircraft and engine construction
|
||||
companies for testing prototypes; pilot instructors of flying clubs and
|
||||
civil aviation schools.
|
||||
[automatic] Concerns pilots, radio operators, flight engineers of air
|
||||
transport companies; pilots and mechanics employed by aircraft and engine
|
||||
construction companies to test prototypes; pilot instructors of flying clubs
|
||||
and civil aviation schools.
|
||||
description.fr: >-
|
||||
Concerne les pilotes, radios, mécaniciens navigants des compagnies de
|
||||
transports aériens ; pilotes et mécaniciens employés par les maisons de
|
||||
|
@ -2587,6 +2832,22 @@ contrat salarié . rémunération:
|
|||
les sommes d'argent versées au salarié.
|
||||
titre.en: Remuneration
|
||||
titre.fr: rémunération
|
||||
contrat salarié . rémunération . assiette congés payés:
|
||||
description.en: >-
|
||||
[automatic] During his or her leave, the employee does not receive his or
|
||||
her salary. He or she receives holiday pay.
|
||||
|
||||
All sums that have the character of wages are taken into account to
|
||||
determine the holiday pay. Other amounts are not taken into account.
|
||||
description.fr: >-
|
||||
Pendant ses congés, le salarié ne perçoit pas son salaire. Il perçoit une
|
||||
indemnité de congés payés.
|
||||
|
||||
Toutes les sommes ayant le caractère de salaire sont prises en compte pour
|
||||
déterminer l'indemnité de congés payés. Les autres sommes ne sont pas prise
|
||||
en compte.
|
||||
titre.en: '[automatic] Basis for the calculation of holiday pay allowance'
|
||||
titre.fr: Assiette pour le calcul de l'indemnité de congés payés
|
||||
contrat salarié . rémunération . assiette de vérification du SMIC:
|
||||
description.en: >
|
||||
This is the salary taken into account to verify that the minimum wage is
|
||||
|
@ -2811,10 +3072,10 @@ contrat salarié . rémunération . brut de base:
|
|||
|
||||
Il ne comprend pas les indemnités, avantages sociaux, avantages en nature et
|
||||
primes...
|
||||
question.en: What is the monthly gross salary?
|
||||
question.fr: Quel est le salaire de base ?
|
||||
résumé.en: Written in the employment contract
|
||||
résumé.fr: Brut de base inscrit dans le contrat de travail
|
||||
question.en: '[automatic] What''s your gross salary?'
|
||||
question.fr: Quel est votre salaire brut ?
|
||||
résumé.en: '[automatic] Reference gross (excluding premiums, allowances and surcharges)'
|
||||
résumé.fr: 'Brut de référence (sans les primes, indemnités ni majorations)'
|
||||
suggestions.SMIC.en: '[automatic] SMIC'
|
||||
suggestions.SMIC.fr: SMIC
|
||||
suggestions.salaire médian.en: '[automatic] median earnings'
|
||||
|
@ -2864,8 +3125,8 @@ contrat salarié . rémunération . net:
|
|||
Cette somme peut varier en fonction de décisions politiques (augmentation ou
|
||||
diminution des cotisations) alors que le salaire brut est contractuel (pour
|
||||
le changer, il faut signer un avenant au contrat).
|
||||
question.en: What is the net salary?
|
||||
question.fr: Quel est le salaire net ?
|
||||
question.en: '[automatic] What''s your take-home pay?'
|
||||
question.fr: Quel est votre salaire net ?
|
||||
résumé.en: Received by the employee
|
||||
résumé.fr: Salaire net avant impôt
|
||||
titre.en: Net salary
|
||||
|
@ -2900,6 +3161,9 @@ contrat salarié . rémunération . net après impôt:
|
|||
résumé.fr: Versé sur le compte bancaire
|
||||
titre.en: Net salary after income tax
|
||||
titre.fr: Salaire net après impôt
|
||||
contrat salarié . rémunération . net avec revenus de remplacement:
|
||||
titre.en: '[automatic] net with replacement income'
|
||||
titre.fr: net avec revenus de remplacement
|
||||
contrat salarié . rémunération . net de cotisations:
|
||||
titre.en: Remuneration after contributions
|
||||
titre.fr: Salaire net de cotisations
|
||||
|
@ -2914,8 +3178,8 @@ contrat salarié . rémunération . net imposable:
|
|||
contrat salarié . rémunération . net imposable . base:
|
||||
description.en: Net taxable income before exemptions and deductions
|
||||
description.fr: Le net imposable avant les exonérations et déductions
|
||||
titre.en: base
|
||||
titre.fr: base
|
||||
titre.en: '[automatic] net taxable before exemptions'
|
||||
titre.fr: net imposable avant exonérations
|
||||
contrat salarié . rémunération . net imposable . heures supplémentaires et complémentaires défiscalisées:
|
||||
titre.en: tax-free overtime hours
|
||||
titre.fr: heures supplémentaires et complémentaires défiscalisées
|
||||
|
@ -3005,6 +3269,40 @@ contrat salarié . rémunération . primes . fin d'année . treizième mois:
|
|||
question.fr: Le salarié bénéficie-t-il d'un treizième mois ?
|
||||
titre.en: thirteenth month
|
||||
titre.fr: treizième mois
|
||||
contrat salarié . rémunération . revenus de remplacement:
|
||||
description.en: >-
|
||||
[automatic] Replacement income is income received in lieu of work:
|
||||
unemployment or short-time working benefits, sickness or accident benefits,
|
||||
retirement pension, social integration income, etc.
|
||||
|
||||
This income is taxable but exempt from social security contributions. They
|
||||
are subject to the CSG/CRDS with a specific rate.
|
||||
description.fr: >-
|
||||
Les revenus de remplacement sont les revenus perçus en remplacement de la
|
||||
rémunération du travail : allocations de chômage ou de chômage partiel,
|
||||
indemnités maladie ou accident du travail, pension de retraite, revenu
|
||||
d'intégration sociale, etc.
|
||||
|
||||
Ces revenus sont imposables mais sont exonérés de cotisations sociales. Ils
|
||||
sont soumis à la CSG/CRDS avec un taux spécifique.
|
||||
note.en: >-
|
||||
[automatic] The additional allowance is not added here because it is
|
||||
systematically exempt from CSG due to the capping for low incomes.
|
||||
|
||||
Adding it results in a cyclical calculation (since it depends on the amount
|
||||
of the CSG).
|
||||
note.fr: >-
|
||||
L'indemnité complémentaire n'est pas ajoutée ici car elle est
|
||||
systématiquement exonérée de CSG du fait de l'écrêtement pour les bas
|
||||
revenus.
|
||||
|
||||
L'ajouter abouti à un calcul cyclique (vu qu'elle dépend du montant de la
|
||||
CSG)
|
||||
titre.en: '[automatic] replacement revenues'
|
||||
titre.fr: revenus de remplacement
|
||||
contrat salarié . rémunération . taux horaire:
|
||||
titre.en: '[automatic] hourly fee'
|
||||
titre.fr: taux horaire
|
||||
contrat salarié . rémunération . taux horaire des heures supplémentaires et complémentaires:
|
||||
description.en: >
|
||||
[automatic] The hourly rate used to calculate overtime pay. It includes
|
||||
|
@ -3023,8 +3321,8 @@ contrat salarié . rémunération . total:
|
|||
amount.
|
||||
description.fr: |
|
||||
C'est le total que l'employeur doit verser pour employer un salarié.
|
||||
question.en: What is the remuneration charged?
|
||||
question.fr: Quel est la rémunération chargée ?
|
||||
question.en: '[automatic] What is the remuneration charged?'
|
||||
question.fr: Quelle est la rémunération chargée ?
|
||||
résumé.en: Spent by the company
|
||||
résumé.fr: Dépensé par l'entreprise
|
||||
titre.en: Total salary
|
||||
|
@ -3211,6 +3509,9 @@ contrat salarié . temps de travail:
|
|||
contrat salarié . temps de travail . base légale:
|
||||
titre.en: legal base
|
||||
titre.fr: base légale
|
||||
contrat salarié . temps de travail . effectif:
|
||||
titre.en: '[automatic] staff'
|
||||
titre.fr: effectif
|
||||
contrat salarié . temps de travail . heures complémentaires:
|
||||
contrôles.0.en: >-
|
||||
[automatic] Unless otherwise provided by agreement, the number of overtime
|
||||
|
|
|
@ -1,21 +1,5 @@
|
|||
import { getRuleFromAnalysis } from 'Engine/rules'
|
||||
import {
|
||||
add,
|
||||
compose,
|
||||
equals,
|
||||
filter,
|
||||
fromPairs,
|
||||
map,
|
||||
mapObjIndexed,
|
||||
max,
|
||||
mergeWith,
|
||||
pick,
|
||||
pipe,
|
||||
propEq,
|
||||
reduce,
|
||||
sort,
|
||||
without
|
||||
} from 'ramda'
|
||||
import { compose, filter, fromPairs, map, max, reduce, sort } from 'ramda'
|
||||
import { createSelector } from 'reselect'
|
||||
import { analysisWithDefaultsSelector } from 'Selectors/analyseSelectors'
|
||||
import { Rule } from 'Types/rule'
|
||||
|
@ -59,7 +43,7 @@ const byMontantTotal = (
|
|||
a[1].partSalariale
|
||||
)
|
||||
}
|
||||
|
||||
// TODO : refaire ça proprement dans le moteur
|
||||
const REPARTITION_CSG: Partial<Record<Branch, number>> = {
|
||||
'protection sociale . famille': 0.85,
|
||||
'protection sociale . santé': 7.75,
|
||||
|
@ -67,50 +51,6 @@ const REPARTITION_CSG: Partial<Record<Branch, number>> = {
|
|||
// On peut imaginer la partager à toute les composantes concernées
|
||||
'protection sociale . autres': 0.6
|
||||
}
|
||||
function applyCSGInPlace(
|
||||
CSG: Cotisation,
|
||||
rawRépartition: Record<Branch, MontantPartagé>
|
||||
): void {
|
||||
for (const branche in REPARTITION_CSG) {
|
||||
rawRépartition[branche] = {
|
||||
partPatronale:
|
||||
rawRépartition[branche].partPatronale +
|
||||
(CSG.montant.partPatronale * (REPARTITION_CSG[branche] / (9.2 / 100))) /
|
||||
100,
|
||||
partSalariale:
|
||||
rawRépartition[branche].partSalariale +
|
||||
(CSG.montant.partSalariale * (REPARTITION_CSG[branche] / (9.2 / 100))) /
|
||||
100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const brancheConcernéeParLaRéduction = [
|
||||
'santé',
|
||||
'retraite',
|
||||
'logement',
|
||||
'famille'
|
||||
].map(branche => 'protection sociale . ' + branche)
|
||||
function applyReduction(
|
||||
réduction,
|
||||
répartitionMap: Record<Branch, MontantPartagé>
|
||||
): Record<Branch, MontantPartagé> {
|
||||
const totalPatronal = (pipe(
|
||||
pick(brancheConcernéeParLaRéduction),
|
||||
Object.values,
|
||||
|
||||
reduce(mergeWith(add), {})
|
||||
)(répartitionMap) as any).partPatronale
|
||||
return mapObjIndexed(
|
||||
({ partPatronale, partSalariale }, branche: string) => ({
|
||||
partPatronale: brancheConcernéeParLaRéduction.find(equals(branche))
|
||||
? partPatronale - (partPatronale / totalPatronal) * réduction.nodeValue
|
||||
: partPatronale,
|
||||
partSalariale
|
||||
}),
|
||||
répartitionMap
|
||||
)
|
||||
}
|
||||
|
||||
const répartition = analysis => {
|
||||
let cotisations = fromPairs(analysisToCotisations(analysis) as any)
|
||||
|
@ -122,22 +62,8 @@ const répartition = analysis => {
|
|||
réductionsDeCotisations = getRule(
|
||||
'contrat salarié . cotisations . patronales . réductions de cotisations'
|
||||
)
|
||||
let CSG
|
||||
const autresCotisations = cotisations['protection sociale . autres'] as any
|
||||
if (autresCotisations) {
|
||||
CSG = autresCotisations.find(propEq('dottedName', 'contrat salarié . CSG'))
|
||||
cotisations['protection sociale . autres'] = without(
|
||||
[CSG],
|
||||
autresCotisations
|
||||
)
|
||||
}
|
||||
|
||||
let répartitionMap = map(totalCotisations as any, cotisations) as any
|
||||
if (CSG) {
|
||||
applyCSGInPlace(CSG, répartitionMap)
|
||||
}
|
||||
|
||||
répartitionMap = applyReduction(réductionsDeCotisations, répartitionMap)
|
||||
return {
|
||||
répartition: compose(
|
||||
sort(byMontantTotal),
|
||||
|
|
|
@ -23,6 +23,7 @@ import './App.css'
|
|||
import Footer from './layout/Footer/Footer'
|
||||
import Header from './layout/Header'
|
||||
import trackSimulatorActions from './middlewares/trackSimulatorActions'
|
||||
import Coronavirus from './pages/Coronavirus'
|
||||
import Créer from './pages/Créer'
|
||||
import IntegrationTest from './pages/Dev/IntegrationTest'
|
||||
import Personas from './pages/Dev/Personas'
|
||||
|
@ -118,6 +119,7 @@ const App = () => {
|
|||
/>
|
||||
<Route path={sitePaths.integration.index} component={Integration} />
|
||||
<Route path={sitePaths.nouveautés} component={Nouveautés} />
|
||||
<Route path={sitePaths.coronavirus} component={Coronavirus} />
|
||||
<Route exact path="/dev/sitemap" component={Sitemap} />
|
||||
<Route
|
||||
exact
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import PageFeedback from 'Components/Feedback/PageFeedback'
|
||||
import LegalNotice from 'Components/LegalNotice'
|
||||
import NewsletterRegister from 'Components/NewsletterRegister'
|
||||
import { SitePathsContext } from 'Components/utils/withSitePaths'
|
||||
import { lensPath, view } from 'ramda'
|
||||
import React, { useContext } from 'react'
|
||||
|
@ -20,7 +19,8 @@ const feedbackBlacklist = [
|
|||
['simulateurs', 'indépendant'],
|
||||
['simulateurs', 'auto-entrepreneur'],
|
||||
['simulateurs', 'assimilé-salarié'],
|
||||
['simulateurs', 'salarié']
|
||||
['simulateurs', 'salarié'],
|
||||
['coronavirus', 'chômagePartiel']
|
||||
].map(lensPath)
|
||||
|
||||
const Footer = () => {
|
||||
|
@ -50,13 +50,6 @@ const Footer = () => {
|
|||
blacklist={feedbackBlacklist.map(lens => view(lens, sitePaths))}
|
||||
/>
|
||||
<div className="ui__ container">
|
||||
{i18n.language === 'fr' && (
|
||||
<>
|
||||
<NewsletterRegister />
|
||||
<hr className="footer__separator" />
|
||||
</>
|
||||
)}
|
||||
|
||||
{i18n.language === 'en' && (
|
||||
<p className="ui__ notice" css="text-align: center">
|
||||
This website is provided by the{' '}
|
||||
|
|
|
@ -0,0 +1,208 @@
|
|||
import { setSimulationConfig } from 'Actions/actions'
|
||||
import RuleLink from 'Components/RuleLink'
|
||||
import Simulation from 'Components/Simulation'
|
||||
import chomagePartielConfig from 'Components/simulationConfigs/chômage-partiel.yaml'
|
||||
import StackedBarChart from 'Components/StackedBarChart'
|
||||
import { ThemeColorsContext } from 'Components/utils/colors'
|
||||
import { IsEmbeddedContext } from 'Components/utils/embeddedContext'
|
||||
import { Markdown } from 'Components/utils/markdown'
|
||||
import { formatValue } from 'Engine/format'
|
||||
import { getRuleFromAnalysis } from 'Engine/rules'
|
||||
import React, { useContext } from 'react'
|
||||
import { Helmet } from 'react-helmet'
|
||||
import { Trans, useTranslation } from 'react-i18next'
|
||||
import { useDispatch, useSelector } from 'react-redux'
|
||||
import { useLocation } from 'react-router'
|
||||
import { analysisWithDefaultsSelector } from 'Selectors/analyseSelectors'
|
||||
import Animate from 'Ui/animate'
|
||||
|
||||
export default function ChômagePartiel() {
|
||||
const dispatch = useDispatch()
|
||||
const location = useLocation<{ fromGérer?: boolean }>()
|
||||
const inIframe = useContext(IsEmbeddedContext)
|
||||
dispatch(setSimulationConfig(chomagePartielConfig, location.state?.fromGérer))
|
||||
|
||||
const { t } = useTranslation()
|
||||
|
||||
return (
|
||||
<>
|
||||
<Helmet>
|
||||
<title>
|
||||
{t(
|
||||
'coronavirus.page.titre',
|
||||
'Coronavirus et chômage partiel : quel impact sur vos revenus ?'
|
||||
)}
|
||||
</title>
|
||||
<meta
|
||||
name="description"
|
||||
content={t(
|
||||
'coronavirus.page.description',
|
||||
'Estimez le revenus net avec les indemnités de chômage partiel'
|
||||
)}
|
||||
/>
|
||||
</Helmet>
|
||||
{!inIframe && (
|
||||
<Trans i18nKey="coronavirus.description">
|
||||
<h1>
|
||||
<span
|
||||
css={`
|
||||
font-size: 0.65em;
|
||||
opacity: 0.85;
|
||||
`}
|
||||
>
|
||||
Coronavirus et chômage partiel
|
||||
</span>
|
||||
<br />
|
||||
Quel impact sur mes revenus ?
|
||||
</h1>
|
||||
<p>
|
||||
Ce simulateur permet de connaître le revenu net versé au salarié,
|
||||
ainsi que le coût total restant à charge pour l'entreprise en cas de
|
||||
chômage partiel.
|
||||
</p>
|
||||
</Trans>
|
||||
)}
|
||||
<Simulation
|
||||
results={<ExplanationSection />}
|
||||
customEndMessages={
|
||||
<span className="ui__ notice">Voir les résultats au-dessus</span>
|
||||
}
|
||||
showPeriodSwitch={false}
|
||||
/>
|
||||
{!inIframe && <TextExplanations />}
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
function ExplanationSection() {
|
||||
const analysis = useSelector(analysisWithDefaultsSelector)
|
||||
const { language } = useTranslation().i18n
|
||||
const { palettes } = useContext(ThemeColorsContext)
|
||||
const getRule = getRuleFromAnalysis(analysis)
|
||||
|
||||
const net = getRule('contrat salarié . rémunération . net')
|
||||
const indemnité = getRule('contrat salarié . activité partielle . indemnités')
|
||||
const totalEntreprise = getRule('contrat salarié . prix du travail')
|
||||
const perteRevenu = getRule('baisse de revenu chômage partiel')
|
||||
if (!net?.nodeValue) {
|
||||
return null
|
||||
}
|
||||
return (
|
||||
<Animate.fromTop>
|
||||
<div
|
||||
css={`
|
||||
margin-top: 2rem;
|
||||
`}
|
||||
></div>
|
||||
<div
|
||||
className="ui__ light card"
|
||||
css={`
|
||||
margin: 3rem 0;
|
||||
`}
|
||||
>
|
||||
<div id="targetSelection">
|
||||
<ul className="targets">
|
||||
<li>
|
||||
<div className="main">
|
||||
<div>
|
||||
<div className="optionTitle">
|
||||
<Trans>Revenu net mensuel</Trans>
|
||||
</div>
|
||||
<p>
|
||||
<Trans>En incluant l'indemnité de chômage partiel</Trans>
|
||||
</p>
|
||||
</div>
|
||||
<div className="targetInputOrValue">
|
||||
<RuleLink {...net}>
|
||||
{formatValue({
|
||||
value: net.nodeValue,
|
||||
language,
|
||||
unit: '€',
|
||||
maximumFractionDigits: 0
|
||||
})}
|
||||
</RuleLink>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li className="small-target">
|
||||
<div className="main">
|
||||
<Trans>Coût pour l'entreprise</Trans>
|
||||
<div className="targetInputOrValue">
|
||||
<RuleLink {...totalEntreprise}>
|
||||
{formatValue({
|
||||
value: totalEntreprise.nodeValue,
|
||||
language,
|
||||
unit: '€',
|
||||
maximumFractionDigits: 0
|
||||
})}
|
||||
</RuleLink>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<span className="optionTitle">
|
||||
<Trans>Part du salaire net maintenue</Trans>
|
||||
</span>
|
||||
<StackedBarChart
|
||||
data={[
|
||||
{
|
||||
...net,
|
||||
title: 'net avec chômage partiel',
|
||||
color: palettes[0][0]
|
||||
},
|
||||
{
|
||||
...perteRevenu,
|
||||
title: 'Baisse de revenu',
|
||||
color: palettes[1][0]
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</Animate.fromTop>
|
||||
)
|
||||
}
|
||||
|
||||
function TextExplanations() {
|
||||
const { i18n } = useTranslation()
|
||||
if (i18n.language !== 'fr') {
|
||||
return null
|
||||
}
|
||||
return (
|
||||
<Markdown
|
||||
css={`
|
||||
margin-top: 2rem;
|
||||
`}
|
||||
source={`
|
||||
[👨💻 Intégrer ce simulateur sur votre site](/intégration/iframe?module=simulateur-chomage-partiel)
|
||||
|
||||
|
||||
## Pour l'entreprise : déclarer une activité partielle 📫
|
||||
|
||||
|
||||
Face à la crise du coronavirus, les modalités de passage en activité partielle
|
||||
ont été allégées. L'employeur est autorisé a placer ses salariés en activité
|
||||
partielle avant que la demande officielle ne soit déposée. Celui-ci dispose
|
||||
ensuite d'un délai de **30 jours** pour se mettre en règle. Les
|
||||
indemnités seront versées avec un effet rétro-actif débutant à la mise en place
|
||||
du chômage partiel.
|
||||
|
||||
[➡ Effectuer la demande de chômage partiel](https://activitepartielle.emploi.gouv.fr/aparts/).
|
||||
|
||||
## Indépendants 🚶♀️
|
||||
|
||||
Les petites entreprises et les indépendants qui subissent une fermeture
|
||||
administrative OU qui auront connu une perte de chiffre d'affaires d'au moins
|
||||
70% au mois de mars 2020 par rapport au mois de mars 2019 bénéficieront d'une
|
||||
aide de **1 500 euros**. Pour bénéficier de cette aide forfaitaire il faudra
|
||||
faire une déclaration sur le site de la DGFiP.
|
||||
|
||||
➡ Plus d'informations sur le site du
|
||||
[Ministère de l'Économie](https://www.economie.gouv.fr/coronavirus-soutien-entreprises)
|
||||
et de l'[Urssaf](https://www.urssaf.fr/portail/home/actualites/foire-aux-questions.html).
|
||||
`}
|
||||
/>
|
||||
)
|
||||
}
|
|
@ -6,7 +6,8 @@ export const integrableModuleNames = [
|
|||
'simulateur-autoentrepreneur',
|
||||
'simulateur-independant',
|
||||
'simulateur-assimilesalarie',
|
||||
'simulateur-artiste-auteur'
|
||||
'simulateur-artiste-auteur',
|
||||
'simulateur-chomage-partiel'
|
||||
]
|
||||
|
||||
export default function IntegrationTest() {
|
||||
|
|
|
@ -133,25 +133,45 @@ export default function SocialSecurity() {
|
|||
</Link>
|
||||
)}
|
||||
{régime !== 'auto-entrepreneur' && (
|
||||
<Link
|
||||
className="ui__ interactive card box"
|
||||
css="width: 100%"
|
||||
to={{
|
||||
pathname: sitePaths.simulateurs.salarié,
|
||||
state: {
|
||||
fromGérer: true
|
||||
}
|
||||
}}
|
||||
>
|
||||
<div className="ui__ big box-icon">{emoji('🤝')}</div>
|
||||
<Trans i18nKey="gérer.choix.embauche">
|
||||
<h3>Estimer le montant d’une embauche</h3>
|
||||
<p className="ui__ notice">
|
||||
Calculez le montant total que votre entreprise devra
|
||||
dépenser pour rémunérer votre prochain employé
|
||||
</p>
|
||||
</Trans>
|
||||
</Link>
|
||||
<>
|
||||
<Link
|
||||
className="ui__ interactive card box"
|
||||
css="width: 100%"
|
||||
to={{
|
||||
pathname: sitePaths.coronavirus
|
||||
}}
|
||||
>
|
||||
<div className="ui__ big box-icon">{emoji('😷')}</div>
|
||||
<Trans i18nKey="gérer.choix.embauche">
|
||||
<h3>Connaître les aides</h3>
|
||||
<p className="ui__ notice">
|
||||
Calculez le montant des indemnités de chômage partiel.
|
||||
Découvrez la liste des dispositifs d'aides aux
|
||||
entreprises.
|
||||
</p>
|
||||
</Trans>
|
||||
<span className="ui__ label">Covid-19</span>
|
||||
</Link>
|
||||
<Link
|
||||
className="ui__ interactive card box"
|
||||
css="width: 100%"
|
||||
to={{
|
||||
pathname: sitePaths.simulateurs.salarié,
|
||||
state: {
|
||||
fromGérer: true
|
||||
}
|
||||
}}
|
||||
>
|
||||
<div className="ui__ big box-icon">{emoji('🤝')}</div>
|
||||
<Trans i18nKey="gérer.choix.embauche">
|
||||
<h3>Estimer le montant d’une embauche</h3>
|
||||
<p className="ui__ notice">
|
||||
Calculez le montant total que votre entreprise devra
|
||||
dépenser pour rémunérer votre prochain employé
|
||||
</p>
|
||||
</Trans>
|
||||
</Link>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
</section>
|
||||
|
@ -341,7 +361,7 @@ export const CompanySection = ({ company }: CompanySectionProps) => {
|
|||
: company.statutJuridique}
|
||||
</span>
|
||||
{company.isDirigeantMajoritaire != null && (
|
||||
<span css="margin-left: 1rem" className="ui__ label">
|
||||
<span css="margin-left: 1rem;" className="ui__ label">
|
||||
{company.isDirigeantMajoritaire ? (
|
||||
<Trans i18nKey="gérer.entreprise.majoritaire">
|
||||
Dirigeant majoritaire
|
||||
|
|
|
@ -2,6 +2,7 @@ import { IsEmbeddedContext } from 'Components/utils/embeddedContext'
|
|||
import React from 'react'
|
||||
import { Route } from 'react-router'
|
||||
import { inIframe } from '../../../../utils'
|
||||
import SimulateurChômagePartiel from '../Coronavirus'
|
||||
import SimulateurArtisteAuteur from '../Simulateurs/ArtisteAuteur'
|
||||
import SimulateurAssimiléSalarié from '../Simulateurs/AssimiléSalarié'
|
||||
import SimulateurAutoEntrepreneur from '../Simulateurs/AutoEntrepreneur'
|
||||
|
@ -37,6 +38,10 @@ export default function Iframes() {
|
|||
path="/iframes/simulateur-artiste-auteur"
|
||||
component={SimulateurArtisteAuteur}
|
||||
/>
|
||||
<Route
|
||||
path="/iframes/simulateur-chomage-partiel"
|
||||
component={SimulateurChômagePartiel}
|
||||
/>
|
||||
{inIframe() && <IframeFooter />}
|
||||
</div>
|
||||
</IsEmbeddedContext.Provider>
|
||||
|
|
|
@ -39,6 +39,14 @@ export default function Landing() {
|
|||
<img src={illustrationSvg} className="landing-title__img" />
|
||||
</section>
|
||||
<section className="ui__ full-width light-bg center-flex">
|
||||
<div style={{ textAlign: 'center', width: '100%' }}>
|
||||
{emoji('😷')}{' '}
|
||||
<Link to={sitePaths.coronavirus}>
|
||||
<Trans>
|
||||
Covid-19 : Découvrez les mesures de soutien aux entreprises
|
||||
</Trans>
|
||||
</Link>
|
||||
</div>
|
||||
<Link
|
||||
className="ui__ interactive card box"
|
||||
to={
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import { setSimulationConfig } from 'Actions/actions'
|
||||
import Banner from 'Components/Banner'
|
||||
import PreviousSimulationBanner from 'Components/PreviousSimulationBanner'
|
||||
import SalaryExplanation from 'Components/SalaryExplanation'
|
||||
import Simulation from 'Components/Simulation'
|
||||
|
@ -34,6 +35,7 @@ export default function Salarié() {
|
|||
)}
|
||||
/>
|
||||
</Helmet>
|
||||
|
||||
<h1>
|
||||
<Trans i18nKey="simulateurs.salarié.titre">
|
||||
Simulateur de revenus pour salarié
|
||||
|
@ -158,6 +160,11 @@ export let SalarySimulation = () => {
|
|||
</>
|
||||
}
|
||||
/>
|
||||
<br />
|
||||
<Banner icon={'😷'}>
|
||||
<strong>Covid-19 et chômage partiel </strong>:{' '}
|
||||
<Link to={sitePaths.coronavirus}>Calculez votre indemnité</Link>
|
||||
</Banner>
|
||||
<PreviousSimulationBanner />
|
||||
</>
|
||||
)
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
import { ThemeColorsProvider } from 'Components/utils/colors'
|
||||
import {
|
||||
ThemeColorsContext,
|
||||
ThemeColorsProvider
|
||||
} from 'Components/utils/colors'
|
||||
import { ScrollToTop } from 'Components/utils/Scroll'
|
||||
import urssafLogo from 'Images/urssaf.svg'
|
||||
import React, { Suspense, useRef, useState } from 'react'
|
||||
import React, { Suspense, useContext, useRef, useState } from 'react'
|
||||
import emoji from 'react-easy-emoji'
|
||||
import { Trans } from 'react-i18next'
|
||||
import { MemoryRouter } from 'react-router-dom'
|
||||
import { MemoryRouter, useLocation } from 'react-router-dom'
|
||||
import { integrableModuleNames } from '../Dev/IntegrationTest'
|
||||
import Iframes from '../Iframes'
|
||||
import './iframe.css'
|
||||
|
@ -15,10 +19,16 @@ import poleEmploiLogo from './images/pole-emploi.png'
|
|||
let LazyColorPicker = React.lazy(() => import('../Dev/ColorPicker'))
|
||||
|
||||
function IntegrationCustomizer() {
|
||||
const { search } = useLocation()
|
||||
const defaultModuleFromUrl =
|
||||
new URLSearchParams(search ?? '').get('module') ?? ''
|
||||
const [currentModule, setCurrentModule] = React.useState(
|
||||
integrableModuleNames[0]
|
||||
integrableModuleNames.includes(defaultModuleFromUrl)
|
||||
? defaultModuleFromUrl
|
||||
: integrableModuleNames[0]
|
||||
)
|
||||
const [color, setColor] = useState()
|
||||
const { color: defaultColor } = useContext(ThemeColorsContext)
|
||||
const [color, setColor] = useState(defaultColor)
|
||||
return (
|
||||
<section>
|
||||
<h2>
|
||||
|
@ -65,25 +75,35 @@ function IntegrationCustomizer() {
|
|||
>
|
||||
<div className="ui__ left-side">
|
||||
<h3>
|
||||
<Trans>Quel module ?</Trans>
|
||||
<Trans i18nKey="pages.développeurs.module">Quel module ?</Trans>
|
||||
{emoji('🚩')}
|
||||
</h3>
|
||||
<select onChange={event => setCurrentModule(event.target.value)}>
|
||||
<select
|
||||
onChange={event => setCurrentModule(event.target.value)}
|
||||
value={currentModule}
|
||||
>
|
||||
{integrableModuleNames.map(name => (
|
||||
<option key={name}>{name}</option>
|
||||
))}
|
||||
</select>
|
||||
|
||||
<h3>
|
||||
<Trans>Quelle couleur ?</Trans>
|
||||
<Trans i18nKey="pages.développeurs.couleur">
|
||||
Quelle couleur ?{' '}
|
||||
</Trans>
|
||||
{emoji('🎨')}
|
||||
</h3>
|
||||
<Suspense fallback={<div>Chargement...</div>}>
|
||||
<LazyColorPicker color={color} onChange={setColor} />
|
||||
</Suspense>
|
||||
<h3>
|
||||
<Trans>Code d'intégration</Trans>
|
||||
<Trans i18nKey="pages.développeurs.code.titre">
|
||||
Code d'intégration
|
||||
</Trans>
|
||||
{emoji('🛠')}
|
||||
</h3>
|
||||
<p>
|
||||
<Trans i18nKey="pages.développeurs.code à copier">
|
||||
<Trans i18nKey="pages.développeurs.code.description">
|
||||
Voici le code à copier-coller sur votre site :
|
||||
</Trans>
|
||||
</p>
|
||||
|
|
|
@ -130,6 +130,7 @@ export const constructLocalizedSitePath = (language: string) => {
|
|||
index: t('path.documentation.index', '/documentation'),
|
||||
rule: (dottedName: DottedName) => '/' + encodeRuleName(dottedName)
|
||||
},
|
||||
coronavirus: t('path.coronavirus', '/coronavirus'),
|
||||
integration: {
|
||||
index: t('path.integration.index', '/intégration'),
|
||||
iframe: t('path.integration.iframe', '/iframe'),
|
||||
|
|
|
@ -123,8 +123,10 @@ module.exports = {
|
|||
'/simulateurs/assimilé-salarié',
|
||||
'/simulateurs/indépendant',
|
||||
'/créer',
|
||||
'/coronavirus',
|
||||
'/gérer',
|
||||
'/iframes/simulateur-embauche'
|
||||
'/iframes/simulateur-embauche',
|
||||
'/iframes/simulateur-chomage-partiel'
|
||||
],
|
||||
indexPath: path.resolve('dist', 'mon-entreprise.html')
|
||||
})
|
||||
|
|
|
@ -106,7 +106,7 @@ exports[`calculate simulations-rémunération-dirigeant: Assimilé salarié - a
|
|||
|
||||
exports[`calculate simulations-rémunération-dirigeant: Assimilé salarié - avec charges 2`] = `"[10982,10982,10742,4,19,23]"`;
|
||||
|
||||
exports[`calculate simulations-rémunération-dirigeant: Assimilé salarié - échelle de rémunération 1`] = `"[0,0,2488,0,0,0]"`;
|
||||
exports[`calculate simulations-rémunération-dirigeant: Assimilé salarié - échelle de rémunération 1`] = `"[-2313,-2313,2488,0,0,0]"`;
|
||||
|
||||
exports[`calculate simulations-rémunération-dirigeant: Assimilé salarié - échelle de rémunération 2`] = `"[169,169,139,0,1,1]"`;
|
||||
|
||||
|
@ -200,6 +200,24 @@ exports[`calculate simulations-salarié: JEI 2`] = `"[26635,0,0,20000,15969,106
|
|||
|
||||
exports[`calculate simulations-salarié: JEI 3`] = `"[4517,0,0,4000,3141,2741]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: activité partielle 1`] = `"[27,1218,0,1560,1197,1197]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: activité partielle 2`] = `"[27,2800,0,4000,2594,2354]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: activité partielle 3`] = `"[778,4849,0,8000,5209,4232]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: activité partielle 4`] = `"[850,2240,0,4000,2704,2435]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: activité partielle 5`] = `"[2479,1400,0,4000,2869,2556]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: activité partielle 6`] = `"[27,2100,3750,3000,1940,1844]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: activité partielle 7`] = `"[27,2800,0,4000,2594,2491]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: activité partielle 8`] = `"[227,1400,0,2000,1540,1515]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: activité partielle 9`] = `"[327,4200,0,6000,4182,3494]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: aides 1`] = `"[2302,0,0,2000,1561,1524]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: aides 2`] = `"[12823,0,0,10000,8911,7667]"`;
|
||||
|
@ -242,19 +260,19 @@ exports[`calculate simulations-salarié: effectif 3`] = `"[2539,0,0,2000,1561,1
|
|||
|
||||
exports[`calculate simulations-salarié: effectif 4`] = `"[2539,0,0,2000,1561,1524]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: frais pro - DFS 1`] = `"[2242,0,0,2000,1668,1668]"`;
|
||||
exports[`calculate simulations-salarié: frais pro - DFS 1`] = `"[2242,0,0,2000,1630,1630]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: frais pro - DFS 2`] = `"[2335,0,0,2000,1603,1561]"`;
|
||||
exports[`calculate simulations-salarié: frais pro - DFS 2`] = `"[2335,0,0,2000,1584,1544]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: frais pro - DFS 3`] = `"[2265,0,0,2000,1645,1597]"`;
|
||||
exports[`calculate simulations-salarié: frais pro - DFS 3`] = `"[2265,0,0,2000,1606,1563]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: frais pro - DFS 4`] = `"[2243,0,0,2000,1657,1608]"`;
|
||||
exports[`calculate simulations-salarié: frais pro - DFS 4`] = `"[2243,0,0,2000,1613,1569]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: frais pro - DFS 5`] = `"[2437,0,0,2000,1590,1590]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: frais pro - DFS 6`] = `"[1767,0,0,1700,1380,1380]"`;
|
||||
exports[`calculate simulations-salarié: frais pro - DFS 6`] = `"[1767,0,0,1700,1364,1364]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: frais pro - DFS 7`] = `"[3287,0,0,2600,2175,2141]"`;
|
||||
exports[`calculate simulations-salarié: frais pro - DFS 7`] = `"[3287,0,0,2600,2125,2097]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: frais pro - IKV 1`] = `"[4367,0,0,3200,2530,2320]"`;
|
||||
|
||||
|
@ -292,9 +310,9 @@ exports[`calculate simulations-salarié: impôt sur le revenu 4`] = `"[3896,0,0
|
|||
|
||||
exports[`calculate simulations-salarié: impôt sur le revenu 5`] = `"[41834,0,0,30000,24227,14588]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: impôt sur le revenu 6`] = `"[4076,0,0,3000,2353,2267]"`;
|
||||
exports[`calculate simulations-salarié: impôt sur le revenu 6`] = `"[4076,0,0,3000,2626,2481]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: impôt sur le revenu 7`] = `"[41834,0,0,30000,24227,15843]"`;
|
||||
exports[`calculate simulations-salarié: impôt sur le revenu 7`] = `"[41834,0,0,30000,26966,16204]"`;
|
||||
|
||||
exports[`calculate simulations-salarié: impôt sur le revenu 8`] = `"[4076,0,0,3000,2353,2107]"`;
|
||||
|
||||
|
|
|
@ -205,21 +205,48 @@ frais pro - IKV:
|
|||
|
||||
frais pro - DFS:
|
||||
- contrat salarié . rémunération . brut de base: 2000
|
||||
contrat salarié . profession: journaliste
|
||||
contrat salarié . profession spécifique: journaliste
|
||||
- contrat salarié . rémunération . brut de base: 2000
|
||||
contrat salarié . profession: ouvrier du bâtiment
|
||||
contrat salarié . profession spécifique: ouvrier du bâtiment
|
||||
- contrat salarié . rémunération . brut de base: 2000
|
||||
contrat salarié . profession: artiste musicien
|
||||
contrat salarié . profession spécifique: artiste musicien
|
||||
- contrat salarié . rémunération . brut de base: 2000
|
||||
contrat salarié . profession: pilote de ligne ou personnel navigant
|
||||
contrat salarié . profession spécifique: pilote de ligne ou personnel navigant
|
||||
- contrat salarié . rémunération . brut de base: 2000
|
||||
contrat salarié . profession: journaliste
|
||||
contrat salarié . profession spécifique: journaliste
|
||||
contrat salarié . déduction forfaitaire spécifique . application: non
|
||||
# Test des taux réduits journalistes et abattement fiscal
|
||||
- contrat salarié . rémunération . brut de base: 1700
|
||||
contrat salarié . profession: journaliste
|
||||
contrat salarié . profession spécifique: journaliste
|
||||
- contrat salarié . rémunération . brut de base: 2600
|
||||
contrat salarié . profession: journaliste
|
||||
contrat salarié . profession spécifique: journaliste
|
||||
|
||||
activité partielle:
|
||||
- contrat salarié . rémunération . brut de base: 1560
|
||||
contrat salarié . activité partielle: oui
|
||||
- contrat salarié . rémunération . brut de base: 4000
|
||||
contrat salarié . activité partielle: oui
|
||||
- contrat salarié . rémunération . brut de base: 8000
|
||||
contrat salarié . activité partielle: oui
|
||||
- contrat salarié . rémunération . brut de base: 4000
|
||||
contrat salarié . activité partielle: oui
|
||||
contrat salarié . activité partielle . proportion heures travaillées: 20
|
||||
- contrat salarié . rémunération . brut de base: 4000
|
||||
contrat salarié . activité partielle: oui
|
||||
contrat salarié . activité partielle . proportion heures travaillées: 50
|
||||
- contrat salarié . rémunération . brut de base: 3000
|
||||
contrat salarié . activité partielle: oui
|
||||
contrat salarié . temps de travail . temps partiel: oui
|
||||
contrat salarié . temps de travail . temps partiel . heures par semaine: 28
|
||||
- contrat salarié . rémunération . brut de base: 4000
|
||||
contrat salarié . activité partielle: oui
|
||||
contrat salarié . profession spécifique: journaliste
|
||||
- contrat salarié . rémunération . brut de base: 2000
|
||||
contrat salarié . activité partielle: oui
|
||||
contrat salarié . activité partielle . convention syntec: oui
|
||||
- contrat salarié . rémunération . brut de base: 6000
|
||||
contrat salarié . activité partielle: oui
|
||||
contrat salarié . activité partielle . convention syntec: oui
|
||||
|
||||
lodeom:
|
||||
- contrat salarié . rémunération . brut de base: 1521.22
|
||||
|
|
127
yarn.lock
127
yarn.lock
|
@ -1561,11 +1561,6 @@ abab@^2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a"
|
||||
integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==
|
||||
|
||||
abbrev@1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
|
||||
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
|
||||
|
||||
accepts@~1.3.5, accepts@~1.3.7:
|
||||
version "1.3.7"
|
||||
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
|
||||
|
@ -3727,7 +3722,7 @@ debug@3.1.0, debug@=3.1.0:
|
|||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@3.2.6, debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.6:
|
||||
debug@3.2.6, debug@^3.0.0, debug@^3.1.0, debug@^3.1.1:
|
||||
version "3.2.6"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
|
||||
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
|
||||
|
@ -3852,7 +3847,7 @@ detect-file@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
|
||||
integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
|
||||
|
||||
detect-libc@^1.0.2, detect-libc@^1.0.3:
|
||||
detect-libc@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
|
||||
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
|
||||
|
@ -4995,13 +4990,6 @@ fs-extra@^6.0.1:
|
|||
jsonfile "^4.0.0"
|
||||
universalify "^0.1.0"
|
||||
|
||||
fs-minipass@^1.2.5:
|
||||
version "1.2.7"
|
||||
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
|
||||
integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
|
||||
dependencies:
|
||||
minipass "^2.6.0"
|
||||
|
||||
fs-mkdirp-stream@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb"
|
||||
|
@ -5730,7 +5718,7 @@ i18next@^19.0.1:
|
|||
dependencies:
|
||||
"@babel/runtime" "^7.3.1"
|
||||
|
||||
iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13:
|
||||
iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13:
|
||||
version "0.4.24"
|
||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
|
||||
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
|
||||
|
@ -5764,13 +5752,6 @@ iframe-resizer@^4.1.1:
|
|||
resolved "https://registry.yarnpkg.com/iframe-resizer/-/iframe-resizer-4.2.10.tgz#c61c9119bb1bf31931fc3c3bb025e1891b18502c"
|
||||
integrity sha512-9T/AWavGI5Q7nw2ch7qatkKvhK6S11eatuSh0SXpPXN3MV0HtN97KyifWJSuMj47rD6jbqe1CXT91PLQbexvEQ==
|
||||
|
||||
ignore-walk@^3.0.1:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
|
||||
integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==
|
||||
dependencies:
|
||||
minimatch "^3.0.4"
|
||||
|
||||
ignore@^3.3.5:
|
||||
version "3.3.10"
|
||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
|
||||
|
@ -7585,21 +7566,6 @@ minimist@~0.0.1:
|
|||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
|
||||
integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=
|
||||
|
||||
minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0:
|
||||
version "2.9.0"
|
||||
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
|
||||
integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
|
||||
dependencies:
|
||||
safe-buffer "^5.1.2"
|
||||
yallist "^3.0.0"
|
||||
|
||||
minizlib@^1.2.1:
|
||||
version "1.3.3"
|
||||
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
|
||||
integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
|
||||
dependencies:
|
||||
minipass "^2.9.0"
|
||||
|
||||
mississippi@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f"
|
||||
|
@ -7640,7 +7606,7 @@ mixin-deep@^1.2.0:
|
|||
for-in "^1.0.2"
|
||||
is-extendable "^1.0.1"
|
||||
|
||||
mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
|
||||
mkdirp@0.5.1, mkdirp@^0.5.1, mkdirp@~0.5.1:
|
||||
version "0.5.1"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
|
||||
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
|
||||
|
@ -7795,15 +7761,6 @@ nearley@^2.19.0, nearley@^2.7.10:
|
|||
randexp "0.4.6"
|
||||
semver "^5.4.1"
|
||||
|
||||
needle@^2.2.1:
|
||||
version "2.3.3"
|
||||
resolved "https://registry.yarnpkg.com/needle/-/needle-2.3.3.tgz#a041ad1d04a871b0ebb666f40baaf1fb47867117"
|
||||
integrity sha512-EkY0GeSq87rWp1hoq/sH/wnTWgFVhYlnIkbJ0YJFfRgEFlz2RraCjBpFQ+vrEgEdp0ThfyHADmkChEhcb7PKyw==
|
||||
dependencies:
|
||||
debug "^3.2.6"
|
||||
iconv-lite "^0.4.4"
|
||||
sax "^1.2.4"
|
||||
|
||||
negotiator@0.6.2:
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
|
||||
|
@ -7902,22 +7859,6 @@ node-notifier@^5.4.2:
|
|||
shellwords "^0.1.1"
|
||||
which "^1.3.0"
|
||||
|
||||
node-pre-gyp@*:
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83"
|
||||
integrity sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==
|
||||
dependencies:
|
||||
detect-libc "^1.0.2"
|
||||
mkdirp "^0.5.1"
|
||||
needle "^2.2.1"
|
||||
nopt "^4.0.1"
|
||||
npm-packlist "^1.1.6"
|
||||
npmlog "^4.0.2"
|
||||
rc "^1.2.7"
|
||||
rimraf "^2.6.1"
|
||||
semver "^5.3.0"
|
||||
tar "^4.4.2"
|
||||
|
||||
node-releases@^1.1.50:
|
||||
version "1.1.52"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.52.tgz#bcffee3e0a758e92e44ecfaecd0a47554b0bcba9"
|
||||
|
@ -7935,14 +7876,6 @@ noop-logger@^0.1.1:
|
|||
resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2"
|
||||
integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=
|
||||
|
||||
nopt@^4.0.1:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48"
|
||||
integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==
|
||||
dependencies:
|
||||
abbrev "1"
|
||||
osenv "^0.1.4"
|
||||
|
||||
normalize-package-data@^2.3.2:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
|
||||
|
@ -7987,27 +7920,6 @@ now-and-later@^2.0.0:
|
|||
dependencies:
|
||||
once "^1.3.2"
|
||||
|
||||
npm-bundled@^1.0.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b"
|
||||
integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==
|
||||
dependencies:
|
||||
npm-normalize-package-bin "^1.0.1"
|
||||
|
||||
npm-normalize-package-bin@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
|
||||
integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
|
||||
|
||||
npm-packlist@^1.1.6:
|
||||
version "1.4.8"
|
||||
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
|
||||
integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==
|
||||
dependencies:
|
||||
ignore-walk "^3.0.1"
|
||||
npm-bundled "^1.0.1"
|
||||
npm-normalize-package-bin "^1.0.1"
|
||||
|
||||
npm-run-path@^2.0.0:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
|
||||
|
@ -8015,7 +7927,7 @@ npm-run-path@^2.0.0:
|
|||
dependencies:
|
||||
path-key "^2.0.0"
|
||||
|
||||
npmlog@^4.0.1, npmlog@^4.0.2, npmlog@^4.1.2:
|
||||
npmlog@^4.0.1, npmlog@^4.1.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
|
||||
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
|
||||
|
@ -8226,7 +8138,7 @@ os-browserify@^0.3.0:
|
|||
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
|
||||
integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
|
||||
|
||||
os-homedir@^1.0.0, os-homedir@^1.0.1:
|
||||
os-homedir@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
|
||||
integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
|
||||
|
@ -8240,19 +8152,11 @@ os-locale@^3.1.0:
|
|||
lcid "^2.0.0"
|
||||
mem "^4.0.0"
|
||||
|
||||
os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
|
||||
os-tmpdir@~1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
|
||||
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
|
||||
|
||||
osenv@^0.1.4:
|
||||
version "0.1.5"
|
||||
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
|
||||
integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
|
||||
dependencies:
|
||||
os-homedir "^1.0.0"
|
||||
os-tmpdir "^1.0.0"
|
||||
|
||||
p-defer@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
|
||||
|
@ -10211,7 +10115,7 @@ select@^1.1.2:
|
|||
resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
|
||||
integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
|
||||
|
||||
"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1:
|
||||
"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
||||
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
|
||||
|
@ -10996,19 +10900,6 @@ tar-stream@^2.0.0:
|
|||
inherits "^2.0.3"
|
||||
readable-stream "^3.1.1"
|
||||
|
||||
tar@^4.4.2:
|
||||
version "4.4.13"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
|
||||
integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
|
||||
dependencies:
|
||||
chownr "^1.1.1"
|
||||
fs-minipass "^1.2.5"
|
||||
minipass "^2.8.6"
|
||||
minizlib "^1.2.1"
|
||||
mkdirp "^0.5.0"
|
||||
safe-buffer "^5.1.2"
|
||||
yallist "^3.0.3"
|
||||
|
||||
term-size@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69"
|
||||
|
@ -12185,7 +12076,7 @@ yallist@^2.1.2:
|
|||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
|
||||
integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
|
||||
|
||||
yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:
|
||||
yallist@^3.0.2:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
|
||||
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
|
||||
|
|
Loading…
Reference in New Issue