💚 fix lint

pull/1691/head
Johan Girod 2021-09-01 15:25:33 +02:00
parent f1961e5e22
commit f63da5be55
50 changed files with 742 additions and 736 deletions

View File

@ -24,8 +24,8 @@ contrat salarié . convention collective . BTP . catégorie . ouvrier:
icônes: 👨‍🔧
formule: catégorie = 'ouvrier'
? contrat salarié . convention collective . BTP . catégorie . ouvrier . prévoyance complémentaire
: produit:
contrat salarié . convention collective . BTP . catégorie . ouvrier . prévoyance complémentaire:
produit:
assiette: rémunération . brut de base
plafond: 3 * plafond sécurité sociale
composantes:
@ -55,8 +55,8 @@ contrat salarié . convention collective . BTP . catégorie . etam:
note: >-
Répartition conventionnelle fixée par larticle 5 de lAccord du BTP du 13 décembre 1990.
? contrat salarié . convention collective . BTP . catégorie . etam . prévoyance complémentaire
: produit:
contrat salarié . convention collective . BTP . catégorie . etam . prévoyance complémentaire:
produit:
assiette: rémunération . brut de base
plafond: 3 * plafond sécurité sociale
composantes:
@ -77,8 +77,8 @@ contrat salarié . convention collective . BTP . catégorie . cadre:
- règle: statut cadre
par: oui
? contrat salarié . convention collective . BTP . catégorie . cadre . prévoyance complémentaire
: barème:
contrat salarié . convention collective . BTP . catégorie . cadre . prévoyance complémentaire:
barème:
assiette: rémunération . brut de base
multiplicateur: plafond sécurité sociale
composantes:
@ -138,8 +138,8 @@ contrat salarié . convention collective . BTP . congés intempéries:
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 ?
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 ?
formule:
une possibilité:
choix obligatoire: oui
@ -155,8 +155,8 @@ contrat salarié . convention collective . BTP . congés intempéries:
- sud ouest
par défaut: "'idf'"
? contrat salarié . convention collective . BTP . congés intempéries . caisse de rattachement . idf
: titre: Île-de-France
contrat salarié . convention collective . BTP . congés intempéries . caisse de rattachement . idf:
titre: Île-de-France
contrat salarié . convention collective . BTP . congés intempéries . caisse de rattachement . nord ouest:
contrat salarié . convention collective . BTP . congés intempéries . caisse de rattachement . grand ouest:
contrat salarié . convention collective . BTP . congés intempéries . caisse de rattachement . centre ouest:

View File

@ -10,8 +10,8 @@ contrat salarié . convention collective . compta:
Légifrance: https://www.legifrance.gouv.fr/affichIDCC.do?idConvention=KALICONT000005635826
Synthèse Dicotravail: https://www.dicotravail.com/convention-collective/experts-comptables-jo-3020-idcc-787/
? contrat salarié . convention collective . compta . majoration heures supplémentaires
: remplace: temps de travail . heures supplémentaires . majoration
contrat salarié . convention collective . compta . majoration heures supplémentaires:
remplace: temps de travail . heures supplémentaires . majoration
formule:
barème:
assiette: temps de travail . heures supplémentaires

View File

@ -9,8 +9,8 @@ contrat salarié . convention collective . HCR . montant forfaitaire d'un repas:
règle: rémunération . avantages en nature . nourriture . montant . repas forfaitaire
formule: 3.62 €/repas
? contrat salarié . convention collective . HCR . majoration heures supplémentaires
: remplace: temps de travail . heures supplémentaires . majoration
contrat salarié . convention collective . HCR . majoration heures supplémentaires:
remplace: temps de travail . heures supplémentaires . majoration
formule:
barème:
assiette: temps de travail . heures supplémentaires

View File

@ -25,8 +25,8 @@ contrat salarié . convention collective . optique . prime d'ancienneté:
références:
Légifrance: https://www.legifrance.gouv.fr/affichIDCC.do?idSectionTA=KALISCTA000005736434&cidTexte=KALITEXT000005649634&idConvention=KALICONT000005635912
? contrat salarié . convention collective . optique . salaire minimum conventionnel
: unité: €/mois
contrat salarié . convention collective . optique . salaire minimum conventionnel:
unité: €/mois
formule:
variations:
- si: coefficient < 110

View File

@ -85,8 +85,8 @@ contrat salarié . intermittents du spectacle . caisse des congés spectacle:
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:
contrat salarié . intermittents du spectacle . retraite complémentaire techniciens et cadre:
applicable si:
une de ces conditions:
- statut cadre
- technicien
@ -191,16 +191,16 @@ contrat salarié . intermittents du spectacle . artiste . réduction de taux:
par: FNAL . taux * réduction de taux
formule: 70%
? contrat salarié . intermittents du spectacle . artiste . réduction de taux . ATMP
: remplace: ATMP . taux
contrat salarié . intermittents du spectacle . artiste . réduction de taux . ATMP:
remplace: ATMP . taux
formule:
variations:
- si: régime alsace moselle
alors: 1.54%
- sinon: 1.12%
? contrat salarié . intermittents du spectacle . artiste . nombre jours travaillés
: question: Pour combien de jours continus l'artiste est-il engagé ?
contrat salarié . intermittents du spectacle . artiste . nombre jours travaillés:
question: Pour combien de jours continus l'artiste est-il engagé ?
par défaut: 5 jours
contrat salarié . intermittents du spectacle . artiste . plafond proratisé:
@ -222,12 +222,12 @@ contrat salarié . intermittents du spectacle . artiste . acteur de complément:
question: L'artiste est-il un acteur de complément engagé à la journée pour une production cinématographique ?
par defaut: non
? contrat salarié . intermittents du spectacle . artiste . acteur de complément . nombre jours travaillés
: remplace: artiste . nombre jours travaillés
contrat salarié . intermittents du spectacle . artiste . acteur de complément . nombre jours travaillés:
remplace: artiste . nombre jours travaillés
formule: 1
? contrat salarié . intermittents du spectacle . artiste . acteur de complément . assiette forfaitaire
: applicable si: rémunération . brut < 6% * plafond sécurité sociale temps plein
contrat salarié . intermittents du spectacle . artiste . acteur de complément . assiette forfaitaire:
applicable si: rémunération . brut < 6% * plafond sécurité sociale temps plein
remplace:
- contrat salarié . cotisations . assiette forfaitaire
- règle: nombre jours travaillés

View File

@ -17,8 +17,8 @@ contrat salarié . convention collective . sport . cotisations . patronales:
- prévoyance . employeur
- financement du paritarisme
? contrat salarié . convention collective . sport . cotisations . financement du paritarisme
: # TODO
contrat salarié . convention collective . sport . cotisations . financement du paritarisme:
# TODO
note: se calcule sur la masse salariale
formule:
produit:
@ -49,15 +49,15 @@ contrat salarié . convention collective . sport . cotisations . prévoyance:
références:
Article 10.8 de la CCNS (IDCC 2511): https://www.legifrance.gouv.fr/affichIDCCArticle.do;?idArticle=KALIARTI000033304755&cidTexte=KALITEXT000017577657&dateTexte=29990101&categorieLien=id
? contrat salarié . convention collective . sport . cotisations . régime frais de santé
: remplace: contrat salarié . complémentaire santé . forfait
contrat salarié . convention collective . sport . cotisations . régime frais de santé:
remplace: contrat salarié . complémentaire santé . forfait
formule:
produit:
assiette: plafond sécurité sociale temps plein
taux: taux
? contrat salarié . convention collective . sport . cotisations . régime frais de santé . taux
: formule:
contrat salarié . convention collective . sport . cotisations . régime frais de santé . taux:
formule:
variations:
- si: régime alsace moselle
alors:
@ -80,8 +80,8 @@ contrat salarié . convention collective . sport . cotisations . prévoyance:
unamens.fr: https://www.umanens.fr/reglementation-couverture-sante-obligatoire/ccn-sport
unamens (notice pdf): https://www.umanens.fr/documents/doc-offres-2018/sport/juin-2019/CCN_SPORT_PLAQ_EMPLOYEUR_2019.pdf
? contrat salarié . convention collective . sport . cotisations . régime frais de santé . option
: question: Quel option a été choisi pour le régime des frais de santé ?
contrat salarié . convention collective . sport . cotisations . régime frais de santé . option:
question: Quel option a été choisi pour le régime des frais de santé ?
formule:
une possibilité:
choix obligatoire: oui
@ -92,15 +92,15 @@ contrat salarié . convention collective . sport . cotisations . prévoyance:
par défaut: "'R1'"
références:
unamens.fr: https://www.umanens.fr/reglementation-couverture-sante-obligatoire/ccn-sport
? contrat salarié . convention collective . sport . cotisations . régime frais de santé . option . R1
: formule: option = 'R1'
? contrat salarié . convention collective . sport . cotisations . régime frais de santé . option . R2
: formule: option = 'R2'
? contrat salarié . convention collective . sport . cotisations . régime frais de santé . option . R3
: formule: option = 'R3'
contrat salarié . convention collective . sport . cotisations . régime frais de santé . option . R1:
formule: option = 'R1'
contrat salarié . convention collective . sport . cotisations . régime frais de santé . option . R2:
formule: option = 'R2'
contrat salarié . convention collective . sport . cotisations . régime frais de santé . option . R3:
formule: option = 'R3'
? contrat salarié . convention collective . sport . cotisations . formation professionnelle
: remplace: contrat salarié . formation professionnelle
contrat salarié . convention collective . sport . cotisations . formation professionnelle:
remplace: contrat salarié . formation professionnelle
formule:
somme:
- plan de formation
@ -110,8 +110,8 @@ contrat salarié . convention collective . sport . cotisations . prévoyance:
références:
Article 8.6 de la CCNS (IDCC2511): https://www.legifrance.gouv.fr/affichIDCCArticle.do;?idArticle=KALIARTI000034406905&cidTexte=KALITEXT000017577657&dateTexte=29990101&categorieLien=id
? contrat salarié . convention collective . sport . cotisations . formation professionnelle . plan de formation
: formule:
contrat salarié . convention collective . sport . cotisations . formation professionnelle . plan de formation:
formule:
produit:
assiette: cotisations . assiette
taux:
@ -122,12 +122,12 @@ contrat salarié . convention collective . sport . cotisations . prévoyance:
alors: 0.90%
plancher: versement minimum
? contrat salarié . convention collective . sport . cotisations . formation professionnelle . plan de formation . versement minimum
: applicable si: entreprise . effectif < 10
contrat salarié . convention collective . sport . cotisations . formation professionnelle . plan de formation . versement minimum:
applicable si: entreprise . effectif < 10
formule: 30 €/mois
? contrat salarié . convention collective . sport . cotisations . formation professionnelle . professionnalisation
: formule:
contrat salarié . convention collective . sport . cotisations . formation professionnelle . professionnalisation:
formule:
produit:
assiette: cotisations . assiette
taux:
@ -138,12 +138,12 @@ contrat salarié . convention collective . sport . cotisations . prévoyance:
alors: 0.50%
plancher: versement minimum
? contrat salarié . convention collective . sport . cotisations . formation professionnelle . professionnalisation . versement minimum
: applicable si: entreprise . effectif < 10
contrat salarié . convention collective . sport . cotisations . formation professionnelle . professionnalisation . versement minimum:
applicable si: entreprise . effectif < 10
formule: 5 €/mois
? contrat salarié . convention collective . sport . cotisations . formation professionnelle . CIF CDI
: applicable si:
contrat salarié . convention collective . sport . cotisations . formation professionnelle . CIF CDI:
applicable si:
toutes ces conditions:
- CDI
- entreprise . effectif >= 20
@ -152,15 +152,15 @@ contrat salarié . convention collective . sport . cotisations . prévoyance:
assiette: cotisations . assiette
taux: 0.20%
? contrat salarié . convention collective . sport . cotisations . formation professionnelle . CIF CDD
: applicable si: CDD
contrat salarié . convention collective . sport . cotisations . formation professionnelle . CIF CDD:
applicable si: CDD
formule:
produit:
assiette: cotisations . assiette
taux: 1%
? contrat salarié . convention collective . sport . cotisations . assiette franchisée
: formule:
contrat salarié . convention collective . sport . cotisations . assiette franchisée:
formule:
valeur: cotisations . assiette
abattement: franchise
@ -178,13 +178,13 @@ contrat salarié . convention collective . sport . exonération cotisation AT:
par: non
formule: oui
? contrat salarié . convention collective . sport . exonération cotisation AT . refus
: titre: refus exonération AT
contrat salarié . convention collective . sport . exonération cotisation AT . refus:
titre: refus exonération AT
question: L'employeur a-t'il refusé d'être exonéré de cotisations AT ?
par défaut: non
? contrat salarié . convention collective . sport . cotisations . assiette forfaitaire
: applicable si: assiette franchisée < SMIC horaire * 115 heures/mois
contrat salarié . convention collective . sport . cotisations . assiette forfaitaire:
applicable si: assiette franchisée < SMIC horaire * 115 heures/mois
remplace: contrat salarié . cotisations . assiette forfaitaire
formule:
grille:
@ -203,8 +203,8 @@ contrat salarié . convention collective . sport . exonération cotisation AT:
- montant: 50 * SMIC horaire
plafond: 115 heures
? contrat salarié . convention collective . sport . primes . nombre de manifestations
: question: Combien de manifestations rémunérées le joueur a-t'il effectué ?
contrat salarié . convention collective . sport . primes . nombre de manifestations:
question: Combien de manifestations rémunérées le joueur a-t'il effectué ?
#TODO : gérer la période
par défaut: 0 manifestations
@ -227,8 +227,8 @@ contrat salarié . convention collective . sport . primes . manifestation 1:
applicable si: nombre de manifestations > 0
par défaut: 100
? contrat salarié . convention collective . sport . primes . manifestation 1 . franchise
: titre: franchise manifestation 1
contrat salarié . convention collective . sport . primes . manifestation 1 . franchise:
titre: franchise manifestation 1
formule:
valeur: manifestation 1
plafond: 70% * plafond journalier sécurité sociale
@ -238,8 +238,8 @@ contrat salarié . convention collective . sport . primes . manifestation 2:
applicable si: nombre de manifestations > 1
par défaut: 100
? contrat salarié . convention collective . sport . primes . manifestation 2 . franchise
: titre: franchise manifestation 2
contrat salarié . convention collective . sport . primes . manifestation 2 . franchise:
titre: franchise manifestation 2
formule:
valeur: manifestation 2
plafond: 70% * plafond journalier sécurité sociale
@ -249,8 +249,8 @@ contrat salarié . convention collective . sport . primes . manifestation 3:
applicable si: nombre de manifestations > 2
par défaut: 100
? contrat salarié . convention collective . sport . primes . manifestation 3 . franchise
: titre: franchise manifestation 3
contrat salarié . convention collective . sport . primes . manifestation 3 . franchise:
titre: franchise manifestation 3
formule:
valeur: manifestation 3
plafond: 70% * plafond journalier sécurité sociale
@ -260,8 +260,8 @@ contrat salarié . convention collective . sport . primes . manifestation 4:
applicable si: nombre de manifestations > 3
par défaut: 100
? contrat salarié . convention collective . sport . primes . manifestation 4 . franchise
: titre: franchise manifestation 4
contrat salarié . convention collective . sport . primes . manifestation 4 . franchise:
titre: franchise manifestation 4
formule:
valeur: manifestation 4
plafond: 70% * plafond journalier sécurité sociale
@ -271,14 +271,14 @@ contrat salarié . convention collective . sport . primes . manifestation 5:
applicable si: nombre de manifestations > 4
par défaut: 100
? contrat salarié . convention collective . sport . primes . manifestation 5 . franchise
: titre: franchise manifestation 5
contrat salarié . convention collective . sport . primes . manifestation 5 . franchise:
titre: franchise manifestation 5
formule:
valeur: manifestation 5
plafond: 70% * plafond journalier sécurité sociale
? contrat salarié . convention collective . sport . primes . autres manifestations
: question: Quelles primes pour les autres manifestations ?
contrat salarié . convention collective . sport . primes . autres manifestations:
question: Quelles primes pour les autres manifestations ?
applicable si: nombre de manifestations > 5
par défaut: 100

View File

@ -227,8 +227,8 @@ dirigeant . auto-entrepreneur . cotisations et contributions . TFC . métiers:
références:
service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F32847
? dirigeant . auto-entrepreneur . cotisations et contributions . TFC . métiers . taux Alsace
: remplace:
dirigeant . auto-entrepreneur . cotisations et contributions . TFC . métiers . taux Alsace:
remplace:
- règle: taux service
par: 0.65%
- règle: taux vente
@ -239,8 +239,8 @@ dirigeant . auto-entrepreneur . cotisations et contributions . TFC . métiers:
références:
service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F32847
? dirigeant . auto-entrepreneur . cotisations et contributions . TFC . métiers . taux Moselle
: remplace:
dirigeant . auto-entrepreneur . cotisations et contributions . TFC . métiers . taux Moselle:
remplace:
- règle: taux service
par: 0.83%
- règle: taux vente
@ -249,8 +249,8 @@ dirigeant . auto-entrepreneur . cotisations et contributions . TFC . métiers:
références:
service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F32847
? dirigeant . auto-entrepreneur . cotisations et contributions . contribution formation professionnelle
: titre: Contribution à la formation professionnelle
dirigeant . auto-entrepreneur . cotisations et contributions . contribution formation professionnelle:
titre: Contribution à la formation professionnelle
description: |
En plus des charges sociales, les auto-entrepreneurs sont redevables dune
contribution à la formation professionnelle leur permettant de bénéficier du
@ -310,8 +310,8 @@ dirigeant . auto-entrepreneur . cotisations et contributions . cotisations:
economie.gouv.fr: https://www.economie.gouv.fr/entreprises/micro-entreprise-auto-entreprise-charges-sociales
actualité urssaf.fr (2019): https://www.autoentrepreneur.urssaf.fr/portail/accueil/sinformer-sur-le-statut/toutes-les-actualites/nouveautes-2019--ce-qui-change-e.html
? dirigeant . auto-entrepreneur . cotisations et contributions . cotisations . taux ACRE
: titre: taux ACRE auto-entrepreneur
dirigeant . auto-entrepreneur . cotisations et contributions . cotisations . taux ACRE:
titre: taux ACRE auto-entrepreneur
applicable si: entreprise . ACRE
remplace:
règle: taux vente restauration hébergement
@ -356,8 +356,8 @@ dirigeant . auto-entrepreneur . cotisations et contributions . cotisations:
FAQ Urssaf avant 04/2020: https://www.autoentrepreneur.urssaf.fr/portail/accueil/une-question/questions-frequentes.html#quest-ce-qui-change-pour-moi-si
service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F32318
? dirigeant . auto-entrepreneur . cotisations et contributions . cotisations . taux ACRE . prestation de service
: remplace: taux prestation de service
dirigeant . auto-entrepreneur . cotisations et contributions . cotisations . taux ACRE . prestation de service:
remplace: taux prestation de service
titre: taux prestation de service avec ACRE
variations:
- si:
@ -553,8 +553,8 @@ dirigeant . indépendant . cotisations et contributions . PSS proratisé:
plafond: 100%
arrondi: oui
? dirigeant . indépendant . cotisations et contributions . exonérations . ACRE . prorata sur l'année
: description: |
dirigeant . indépendant . cotisations et contributions . exonérations . ACRE . prorata sur l'année:
description: |
Comme le calcul des cotisations indépendants s'effectue sur l'année entière,
l'exonération est proratisée en fonction de la durée effective de l'ACRE sur l'année courante.
@ -565,8 +565,8 @@ dirigeant . indépendant . cotisations et contributions . PSS proratisé:
formule: (1 an - entreprise . durée d'activité . en début d'année) / 1 an
? dirigeant . indépendant . cotisations et contributions . exonérations . ACRE . taux
: formule:
dirigeant . indépendant . cotisations et contributions . exonérations . ACRE . taux:
formule:
taux progressif:
assiette: assiette des cotisations
multiplicateur: PSS proratisé
@ -601,8 +601,8 @@ dirigeant . indépendant . conjoint collaborateur . assiette . forfaitaire:
une assiette équivalente à 40% du PASS.
formule: assiette = 'forfaitaire'
? dirigeant . indépendant . conjoint collaborateur . assiette . revenu avec partage
: description: |
dirigeant . indépendant . conjoint collaborateur . assiette . revenu avec partage:
description: |
Le conjoint collaborateur et le gérant paieront des cotisations sociales chacun sur une part du revenu professionnel.
**Cette option baisse le montant des cotisations à payer pour le gérant, mais elle diminue également ses contreparties sociales (pension de retraite, indemnité décès, etc)**
formule: assiette = 'revenu avec partage'
@ -613,8 +613,8 @@ dirigeant . indépendant . conjoint collaborateur . assiette . forfaitaire:
- cotisations et contributions . retraite de base
- cotisations et contributions . retraite complémentaire
- cotisations et contributions . invalidité et décès
? dirigeant . indépendant . conjoint collaborateur . assiette . revenu sans partage
: description: Le conjoint collaborateur paiera des cotisations sociales calculées sur une base d'un pourcentage du assiette des cotisations du gérant de l'entreprise (un tiers ou la moitié).
dirigeant . indépendant . conjoint collaborateur . assiette . revenu sans partage:
description: Le conjoint collaborateur paiera des cotisations sociales calculées sur une base d'un pourcentage du assiette des cotisations du gérant de l'entreprise (un tiers ou la moitié).
formule: assiette = 'revenu sans partage'
dirigeant . indépendant . conjoint collaborateur . assiette . pourcentage:
@ -627,12 +627,12 @@ dirigeant . indépendant . conjoint collaborateur . assiette . pourcentage:
- tiers
- moitié
? dirigeant . indépendant . conjoint collaborateur . assiette . pourcentage . tiers
: formule: pourcentage = 'tiers'
dirigeant . indépendant . conjoint collaborateur . assiette . pourcentage . tiers:
formule: pourcentage = 'tiers'
titre: '1/3'
? dirigeant . indépendant . conjoint collaborateur . assiette . pourcentage . moitié
: formule: pourcentage = 'moitié'
dirigeant . indépendant . conjoint collaborateur . assiette . pourcentage . moitié:
formule: pourcentage = 'moitié'
titre: '1/2'
dirigeant . indépendant . conjoint collaborateur . cotisations . assiette:
@ -660,16 +660,16 @@ dirigeant . indépendant . conjoint collaborateur . cotisations:
- invalidité et décès
- indemnités journalières maladie
? dirigeant . indépendant . conjoint collaborateur . cotisations . assiette retraite
: le maximum de:
dirigeant . indépendant . conjoint collaborateur . cotisations . assiette retraite:
le maximum de:
- cotisations . assiette
- 5.25% * plafond sécurité sociale temps plein
- 200 heures/an * SMIC horaire
unité: €/an
arrondi: oui
? dirigeant . indépendant . conjoint collaborateur . cotisations . retraite de base
: unité: €/an
dirigeant . indépendant . conjoint collaborateur . cotisations . retraite de base:
unité: €/an
barème:
assiette: assiette retraite
multiplicateur: plafond sécurité sociale temps plein
@ -679,8 +679,8 @@ dirigeant . indépendant . conjoint collaborateur . cotisations:
- taux: 0.6%
arrondi: oui
? dirigeant . indépendant . conjoint collaborateur . cotisations . retraite complémentaire
: unité: €/an
dirigeant . indépendant . conjoint collaborateur . cotisations . retraite complémentaire:
unité: €/an
barème:
assiette: retraite complémentaire . assiette
tranches:
@ -690,8 +690,8 @@ dirigeant . indépendant . conjoint collaborateur . cotisations:
plafond: 4 * plafond sécurité sociale temps plein
arrondi: oui
? dirigeant . indépendant . conjoint collaborateur . cotisations . retraite complémentaire . assiette
: titre: assiette retraite complémentaire
dirigeant . indépendant . conjoint collaborateur . cotisations . retraite complémentaire . assiette:
titre: assiette retraite complémentaire
unité: €/an
valeur: assiette retraite
plafond:
@ -700,22 +700,22 @@ dirigeant . indépendant . conjoint collaborateur . cotisations:
alors: 4 * plafond sécurité sociale temps plein
- sinon: 3 * plafond sécurité sociale temps plein
? dirigeant . indépendant . conjoint collaborateur . cotisations . invalidité et décès . assiette
: titre: assiette invalidité et décès
dirigeant . indépendant . conjoint collaborateur . cotisations . invalidité et décès . assiette:
titre: assiette invalidité et décès
formule:
le maximum de:
- cotisations . assiette
- 20% * plafond sécurité sociale temps plein
? dirigeant . indépendant . conjoint collaborateur . cotisations . invalidité et décès
: unité: €/an
dirigeant . indépendant . conjoint collaborateur . cotisations . invalidité et décès:
unité: €/an
produit:
assiette: assiette
taux: 1.3%
plafond: plafond sécurité sociale temps plein
arrondi: oui
? dirigeant . indépendant . conjoint collaborateur . cotisations . indemnités journalières maladie
: produit:
dirigeant . indépendant . conjoint collaborateur . cotisations . indemnités journalières maladie:
produit:
assiette:
valeur: 40% * plafond sécurité sociale temps plein
unité: €/an
@ -789,8 +789,8 @@ dirigeant . indépendant . assiette minimale . retraite:
références:
cotisations minimales: https://www.secu-independants.fr/cotisations/calcul-cotisations/cotisations-minimales/
? dirigeant . indépendant . cotisations et contributions . contributions spéciales
: description: |
dirigeant . indépendant . cotisations et contributions . contributions spéciales:
description: |
Certains régimes spéciaux peuvent ajouter des contributions additionnelles
(par exemple, la CURPS pour les CPAM)
formule: non
@ -816,8 +816,8 @@ dirigeant . indépendant . cotisations et contributions . déduction tabac:
Si vous exercez une activité de débit de tabac simultanément à une activité commerciale, vous avez la possibilité dopter pour le calcul de votre cotisation dassurance vieillesse sur le seul revenu tiré de votre activité commerciale (en effet, les remises pour débit de tabac sont soumises par ailleurs à un prélèvement vieillesse particulier). Nous attirons cependant votre attention sur le fait quen cotisant sur une base moins importante, excluant les revenus de débit de tabac, vos droits à retraite pour lassurance vieillesse des commerçants en seront diminués.
par défaut: 0 €/an
? dirigeant . indépendant . cotisations et contributions . déduction tabac . revenus déduits
: titre: assiette des cotisations (avec déduction tabac)
dirigeant . indépendant . cotisations et contributions . déduction tabac . revenus déduits:
titre: assiette des cotisations (avec déduction tabac)
applicable si: déduction tabac
remplace:
règle: assiette des cotisations
@ -879,8 +879,8 @@ dirigeant . indépendant . cotisations facultatives . contrats madelin:
- prévoyance
- retraite
? dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance
: titre: Souscription à un contrat de prévoyance complémentaire Madelin
dirigeant . indépendant . cotisations facultatives . contrats madelin . prévoyance:
titre: Souscription à un contrat de prévoyance complémentaire Madelin
question: Quel est le montant que vous versez pour vos contrats Madelin de prévoyance complémentaire (santé, perte d'emploi subie) ?
unité: €/an
description: |
@ -912,8 +912,8 @@ dirigeant . indépendant . cotisations facultatives . plafond prévoyance:
Réassurez-moi: https://reassurez-moi.fr/guide/pro/tns/plafond#le_plafond_de_deduction_madelin_pour_une_mutuelle_santenbsp
note: |
Normalement c'est le résultat fiscal qui devrait être utilisé pour l'assiette du plafond, mais on utilise le revenu professionnel pour éviter un cycle.
? dirigeant . indépendant . cotisations facultatives . contrats madelin . retraite
: titre: Souscription à une retraite Madelin
dirigeant . indépendant . cotisations facultatives . contrats madelin . retraite:
titre: Souscription à une retraite Madelin
question: Quel est le montant que vous versez pour votre contrat Madelin retraite complémentaire ?
description: |
Si vous cotisez au titre d'un contrat retraite de type loi Madelin,
@ -925,8 +925,8 @@ dirigeant . indépendant . cotisations facultatives . plafond prévoyance:
Article de loi: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000029042287&cidTexte=LEGITEXT000006069577&dateTexte=20140530&fastReqId=1900907951&nbResultRech=1
par défaut: 0 €/an
? dirigeant . indépendant . cotisations facultatives . plafond retraite complémentaire
: unité: €/an
dirigeant . indépendant . cotisations facultatives . plafond retraite complémentaire:
unité: €/an
formule:
le maximum de:
- barème:
@ -981,8 +981,8 @@ dirigeant . indépendant . cotisations et contributions . début activité:
références:
Fiche Urssaf: https://www.urssaf.fr/portail/home/independant/mes-cotisations/les-etapes-de-calcul/le-mode-de-calcul/lajustement-et-la-regularisation.html
? dirigeant . indépendant . cotisations et contributions . début activité . assiette forfaitaire
: produit:
dirigeant . indépendant . cotisations et contributions . début activité . assiette forfaitaire:
produit:
assiette: PSS proratisé
taux: 19%
unité: €/an
@ -1016,8 +1016,8 @@ dirigeant . indépendant . cotisations et contributions . régularisation:
Article L131-6-2 du Code de la sécurité sociale: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000037062224/
Article D131-3 du Code de la sécurité sociale: https://www.legifrance.gouv.fr/codes/id/LEGIARTI000038786941/2021-03-01/?isSuggest=true
? dirigeant . indépendant . cotisations et contributions . indemnités journalières maladie
: synonyme: maladie 2
dirigeant . indépendant . cotisations et contributions . indemnités journalières maladie:
synonyme: maladie 2
description: |
Cotisations pour les indemnités journalières des indépendants. Si l'état de
santé des artisans, commerçants, industriels et conjoints collaborateurs
@ -1061,8 +1061,8 @@ dirigeant . indépendant . cotisations et contributions . maladie:
Le terme "lorsque" laisse entendre qu'en cas de dépassement du seuil 5xPSS, tout le revenu est soumis à 6.5%. Il semblerait qu'une interprétation inverse soit à privilégier : seule la part supérieure à ce seuil est soumise à ce taux, et c'est cette implémentation que nous avons retenue.
? dirigeant . indépendant . cotisations et contributions . maladie . taux progressif . réduction supplémentaire
: description: |
dirigeant . indépendant . cotisations et contributions . maladie . taux progressif . réduction supplémentaire:
description: |
La réduction supplémentaire du taux maladie pour les revenu inférieurs à 40% du plafond de la sécurité sociale
non applicable si: situation personnelle . RSA
remplace:
@ -1080,8 +1080,8 @@ dirigeant . indépendant . cotisations et contributions . maladie:
Taux de cotisations: https://www.secu-independants.fr/cotisations/calcul-cotisations/taux-de-cotisations/
décret formule de calcul: https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000036342439&categorieLien=id
? dirigeant . indépendant . cotisations et contributions . maladie . taux progressif
: taux progressif:
dirigeant . indépendant . cotisations et contributions . maladie . taux progressif:
taux progressif:
assiette:
nom: assiette
valeur: assiette des cotisations
@ -1109,8 +1109,8 @@ dirigeant . indépendant . cotisations et contributions . retraite de base:
références:
Cotisation minimale: https://www.secu-independants.fr/cotisations/calcul-des-cotisations/cotisations-minimales/
? dirigeant . indépendant . cotisations et contributions . retraite complémentaire
: formule:
dirigeant . indépendant . cotisations et contributions . retraite complémentaire:
formule:
barème:
assiette: assiette des cotisations
tranches:
@ -1199,8 +1199,8 @@ dirigeant . indépendant . cotisations et contributions . CSG et CRDS . assiette
- dirigeant . indépendant . IJSS . imposable
plancher: 0 €/mois
? dirigeant . indépendant . cotisations et contributions . formation professionnelle
: acronyme: CFP
dirigeant . indépendant . cotisations et contributions . formation professionnelle:
acronyme: CFP
produit:
assiette: plafond sécurité sociale temps plein
taux:
@ -1261,8 +1261,8 @@ dirigeant . indépendant . cotisations et contributions . exonérations . âge:
applicable si: entreprise . date de création < 01/2016
rend non applicable: invalidité et décès
? dirigeant . indépendant . cotisations et contributions . exonérations . invalidité
: question: Êtes-vous titulaire dune pension dinvalidité à titre de travailleur indépendant ?
dirigeant . indépendant . cotisations et contributions . exonérations . invalidité:
question: Êtes-vous titulaire dune pension dinvalidité à titre de travailleur indépendant ?
description: Les personnes titulaires dune pension dinvalidité versée par un régime des travailleurs non-salariés non agricoles bénéficient dune exonération totale des cotisations maladie et retraite complémentaire.
par défaut: non
rend non applicable:
@ -1271,8 +1271,8 @@ dirigeant . indépendant . cotisations et contributions . exonérations . âge:
- indemnités journalières maladie
- retraite complémentaire
? dirigeant . indépendant . cotisations et contributions . exonérations . ZFU . taux
: titre: taux exonération ZFU
dirigeant . indépendant . cotisations et contributions . exonérations . ZFU . taux:
titre: taux exonération ZFU
formule:
taux progressif:
assiette: établissement . ZFU . durée d'implantation en fin d'année
@ -1310,8 +1310,8 @@ dirigeant . indépendant . cotisations et contributions . exonérations . âge:
- plafond: 9 ans
taux: 0%
? dirigeant . indépendant . cotisations et contributions . maladie domiciliation fiscale étranger
: applicable si: situation personnelle . domiciliation fiscale à l'étranger
dirigeant . indépendant . cotisations et contributions . maladie domiciliation fiscale étranger:
applicable si: situation personnelle . domiciliation fiscale à l'étranger
titre: Maladie (domiciliation fiscale à l'étranger)
description: En contrepartie de l'exonération de CSG, les cotisants ont un taux maladie plus elevé. Contrairement aux autres assurés commerçants/artisans ils ne bénéficient pas de la réduction du taux de la cotisation maladie en fonction du revenu déclaré.
remplace: maladie

View File

@ -53,8 +53,8 @@ aide déclaration revenu indépendant 2020 . cotisations payées:
non applicable si: résultat simple
valeur: oui
? aide déclaration revenu indépendant 2020 . cotisations payées . total charges sociales
: remplace:
aide déclaration revenu indépendant 2020 . cotisations payées . total charges sociales:
remplace:
règle: dirigeant . indépendant . cotisations et contributions
par:
somme:
@ -83,8 +83,8 @@ aide déclaration revenu indépendant 2020 . cotisations payées . CSG déductib
3. Puis, "attestation CSG/CRDS"
4. Reportez dans ce champs le total de la colonne "Montant déductible CSG" (dernière ligne)
? aide déclaration revenu indépendant 2020 . cotisations payées . CSG non déductible
: question: Quel est le montant total de CSG non déductible payé cette année ?
aide déclaration revenu indépendant 2020 . cotisations payées . CSG non déductible:
question: Quel est le montant total de CSG non déductible payé cette année ?
unité: €/an
description: |
Vous pouvez retrouver ce montant dans votre espace personnel Urssaf. Voici la marche à suivre :
@ -107,8 +107,8 @@ aide déclaration revenu indépendant 2020 . cotisations payées . CRDS:
3. Puis, "attestation CSG/CRDS"
4. Reportez dans ce champs le total de la colonne "Montant non déductible : CRDS" (dernière ligne)
? aide déclaration revenu indépendant 2020 . cotisations payées . cotisations obligatoires déductibles
: remplace: cotisations obligatoires déductibles
aide déclaration revenu indépendant 2020 . cotisations payées . cotisations obligatoires déductibles:
remplace: cotisations obligatoires déductibles
unité: €/an
valeur: cotisations payées . total charges sociales
abattement:
@ -133,20 +133,20 @@ aide déclaration revenu indépendant 2020 . cotisations payées version simple:
- cotisations payées version simple . cotisations sociales
- cotisations payées version simple . CSG déductible et CFP
? aide déclaration revenu indépendant 2020 . cotisations payées version simple . CSG déductible et CFP
: question: Quel est le montant total de CSG déductible et CFP payées cette année ?
aide déclaration revenu indépendant 2020 . cotisations payées version simple . CSG déductible et CFP:
question: Quel est le montant total de CSG déductible et CFP payées cette année ?
unité: €/an
description: |
Indiquez le montant de la part de CSG déductible et de CFP que vous avez payé en 2020 (peu importe lannée à laquelle ces contributions se rapportent).
? aide déclaration revenu indépendant 2020 . cotisations payées version simple . cotisations sociales
: question: Quel est le montant de vos cotisations sociales payées cette année ?
aide déclaration revenu indépendant 2020 . cotisations payées version simple . cotisations sociales:
question: Quel est le montant de vos cotisations sociales payées cette année ?
unité: €/an
description: |
Indiquez le montant des cotisations sociales aux régimes obligatoires (maladie-maternité, vieillesse, invalidité-décès, famille) que vous avez payées en 2020 (peu importe lannée à laquelle ces cotisations se rapportent).
aide déclaration revenu indépendant 2020 . régime d'imposition: oui
? aide déclaration revenu indépendant 2020 . régime d'imposition . déclaration contrôlée
: titre: régime de la déclaration contrôlée
aide déclaration revenu indépendant 2020 . régime d'imposition . déclaration contrôlée:
titre: régime de la déclaration contrôlée
applicable si: entreprise . activité . libérale
non applicable si:
une de ces conditions:
@ -178,8 +178,8 @@ aide déclaration revenu indépendant 2020 . régime d'imposition . réel:
- simplifié
- normal
? aide déclaration revenu indépendant 2020 . régime d'imposition . réel . simplifié
: description: |
aide déclaration revenu indépendant 2020 . régime d'imposition . réel . simplifié:
description: |
Les entreprises soumises au régime d'imposition réel simplifié doivent tenir une comptabilité classique : un bilan, un compte de résultat et des annexes. Des dispositions particulières sappliquent pour alléger vos obligations comptables :
- le livre journal nenregistre journellement que les recettes encaissées et les dépenses payées
@ -353,8 +353,8 @@ aide déclaration revenu indépendant 2020 . réduction covid . montant:
somme:
- printemps 2020
- automne 2020
? aide déclaration revenu indépendant 2020 . réduction covid . conjoint collaborateur
: applicable si: dirigeant . indépendant . conjoint collaborateur
aide déclaration revenu indépendant 2020 . réduction covid . conjoint collaborateur:
applicable si: dirigeant . indépendant . conjoint collaborateur
remplace:
règle: dirigeant . indépendant . conjoint collaborateur . cotisations
par:
@ -377,23 +377,23 @@ aide déclaration revenu indépendant 2020 . réduction covid . part cotisations
assiette: montant
taux: pourcentage cotisations
? aide déclaration revenu indépendant 2020 . réduction covid . pourcentage cotisations
: unité: '%'
aide déclaration revenu indépendant 2020 . réduction covid . pourcentage cotisations:
unité: '%'
valeur: dirigeant . indépendant . cotisations et contributions . cotisations / (dirigeant . indépendant . cotisations et contributions . cotisations + dirigeant . indépendant . cotisations et contributions . CSG et CRDS)
aide déclaration revenu indépendant 2020 . réduction covid . part CSG:
titre: Part réduction Covid sur CSG
valeur: montant - part cotisations
? aide déclaration revenu indépendant 2020 . réduction covid . part CSG . déductible
: titre: Part réduction Covid sur CSG/CRDS déductible
aide déclaration revenu indépendant 2020 . réduction covid . part CSG . déductible:
titre: Part réduction Covid sur CSG/CRDS déductible
produit:
assiette: part CSG
taux: dirigeant . indépendant . cotisations et contributions . CSG et CRDS . déductible . taux / taux CSG
arrondi: oui
? aide déclaration revenu indépendant 2020 . réduction covid . part CSG . non déductible
: titre: Part réduction Covid sur CSG/CRDS non déductible
aide déclaration revenu indépendant 2020 . réduction covid . part CSG . non déductible:
titre: Part réduction Covid sur CSG/CRDS non déductible
valeur: part CSG - part CSG . déductible
aide déclaration revenu indépendant 2020 . réduction covid . taux CSG:
@ -403,16 +403,16 @@ aide déclaration revenu indépendant 2020 . réduction covid . taux CSG:
- dirigeant . indépendant . cotisations et contributions . CSG et CRDS . non déductible . taux
- dirigeant . indépendant . cotisations et contributions . CSG et CRDS . déductible . taux
? aide déclaration revenu indépendant 2020 . réduction covid . montant . printemps 2020
: applicable si: éligible aide printemps 2020
aide déclaration revenu indépendant 2020 . réduction covid . montant . printemps 2020:
applicable si: éligible aide printemps 2020
formule:
variations:
- si: secteur d'activité = 'S2'
alors: 1800 €/an
- sinon: 2400 €/an
? aide déclaration revenu indépendant 2020 . réduction covid . montant . automne 2020
: applicable si: éligible aide automne 2020
aide déclaration revenu indépendant 2020 . réduction covid . montant . automne 2020:
applicable si: éligible aide automne 2020
formule: nombre de mois éligibles * 600 €/an/mois éligibles
aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activité:
@ -449,22 +449,22 @@ aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activi
- S2
par défaut: non
? aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activité . S1
: titre: Secteur dit S1
aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activité . S1:
titre: Secteur dit S1
description: |
Secteurs du tourisme, de lhôtellerie, de la restauration, du sport, de la culture, du transport aérien et de lévénementiel.
? aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activité . S1-bis
: titre: Secteur dit S1 bis
aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activité . S1-bis:
titre: Secteur dit S1 bis
description: |
Secteurs dont lactivité dépend de celle des secteurs 1 et qui ont subi une très forte baisse de leur chiffre daffaires.
? aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activité . S2
: titre: Secteur dit S2
aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activité . S2:
titre: Secteur dit S2
description: Autres secteurs dactivité qui ont fait lobjet dune interdiction affectant de manière prépondérante la poursuite de leur activité.
? aide déclaration revenu indépendant 2020 . réduction covid . éligible aide printemps 2020
: applicable si: secteur d'activité
aide déclaration revenu indépendant 2020 . réduction covid . éligible aide printemps 2020:
applicable si: secteur d'activité
question: Êtes-vous éligibles au dispositif de réduction prévu au titre de la première vague de la crise sanitaire du printemps 2020 ?
par défaut: non
description: |
@ -499,8 +499,8 @@ aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activi
Votre activité doit avoir débuté avant le 1er juin 2020.
Si vous avez cessé votre activité, la cessation doit être postérieure ou égale au 15 mars 2020.
? aide déclaration revenu indépendant 2020 . réduction covid . éligible aide automne 2020
: applicable si: secteur d'activité
aide déclaration revenu indépendant 2020 . réduction covid . éligible aide automne 2020:
applicable si: secteur d'activité
question: Êtes-vous éligibles au dispositif de réduction prévu au titre de la première vague de la crise sanitaire de l'automne 2020 ?
par défaut: non
description: |
@ -553,15 +553,15 @@ aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activi
Bon à savoir : Les activités de livraison, de retrait de commande ou de vente à emporter ne sont pas prises en compte pour apprécier le respect de la condition dinterdiction.
? aide déclaration revenu indépendant 2020 . réduction covid . nombre de mois éligibles
: formule:
aide déclaration revenu indépendant 2020 . réduction covid . nombre de mois éligibles:
formule:
somme:
- S1 et S1bis
- S2
arrondi: oui
? aide déclaration revenu indépendant 2020 . réduction covid . nombre de mois éligibles . S1 et S1bis
: applicable si:
aide déclaration revenu indépendant 2020 . réduction covid . nombre de mois éligibles . S1 et S1bis:
applicable si:
toutes ces conditions:
- éligible aide automne 2020
- une de ces conditions:
@ -574,8 +574,8 @@ aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activi
unité: mois éligibles
plafond: 6 mois éligibles
? aide déclaration revenu indépendant 2020 . réduction covid . nombre de mois éligibles . S2
: applicable si:
aide déclaration revenu indépendant 2020 . réduction covid . nombre de mois éligibles . S2:
applicable si:
toutes ces conditions:
- éligible aide automne 2020
- secteur d'activité = 'S2'
@ -806,39 +806,39 @@ aide déclaration revenu indépendant 2020 . informations résultat par formulai
applicable si: comptabilité . engagement
non applicable si: entreprise . imposition . IR . micro-fiscal
valeur: oui
? aide déclaration revenu indépendant 2020 . informations résultat par formulaire . réduction Covid
: description: La réduction de cotisation applicable dans le cas du dispositif Covid
aide déclaration revenu indépendant 2020 . informations résultat par formulaire . réduction Covid:
description: La réduction de cotisation applicable dans le cas du dispositif Covid
valeur: réduction covid . total
? aide déclaration revenu indépendant 2020 . informations résultat par formulaire . rémunération totale
: titre: Total rémunération dirigeant
aide déclaration revenu indépendant 2020 . informations résultat par formulaire . rémunération totale:
titre: Total rémunération dirigeant
résumé: '[A]'
description: La rémunération "superbrute" du dirigeant, incluant toutes les cotisations et contributions sociales.
valeur: dirigeant . rémunération . totale
? aide déclaration revenu indépendant 2020 . informations résultat par formulaire . cotisations déductibles
: résumé: '[C1]'
aide déclaration revenu indépendant 2020 . informations résultat par formulaire . cotisations déductibles:
résumé: '[C1]'
description: "Cotisations et contributions sociales déductibles pour le calcul de l'assiette sociale"
somme:
- cotisations obligatoires déductibles
- dirigeant . indépendant . cotisations et contributions . CSG et CRDS . déductible
- dirigeant . indépendant . cotisations et contributions . formation professionnelle
? aide déclaration revenu indépendant 2020 . informations résultat par formulaire . cotisations non déductibles
: résumé: '[C2]'
aide déclaration revenu indépendant 2020 . informations résultat par formulaire . cotisations non déductibles:
résumé: '[C2]'
description: Cotisations et contributions sociales non déductibles pour le calcul de l'assiette sociale
valeur:
somme:
- dirigeant . indépendant . cotisations et contributions . CSG et CRDS . non déductible
- dirigeant . indépendant . cotisations facultatives . total
? aide déclaration revenu indépendant 2020 . informations résultat par formulaire . assiette sociale
: résumé: '[A - C1]'
aide déclaration revenu indépendant 2020 . informations résultat par formulaire . assiette sociale:
résumé: '[A - C1]'
description: Assiette utilisée pour le calcul des cotisations sociales.
valeur: dirigeant . indépendant . assiette des cotisations
? aide déclaration revenu indépendant 2020 . informations résultat par formulaire . rémunération nette
: résumé: '[A - C1 - C2]'
aide déclaration revenu indépendant 2020 . informations résultat par formulaire . rémunération nette:
résumé: '[A - C1 - C2]'
description: Le revenu net du dirigeant avant impôt sur le revenu. C'est la rémunération effectivement versée.
valeur: dirigeant . rémunération . nette
@ -850,8 +850,8 @@ aide déclaration revenu indépendant 2020 . résultat simple . revenu net fisca
description: Résultat avant déduction des charges sociales et exonérations fiscales
valeur: dirigeant . rémunération . totale
? aide déclaration revenu indépendant 2020 . résultat simple . cotisations obligatoires
: titre: Cotisations sociales obligatoires déductibles
aide déclaration revenu indépendant 2020 . résultat simple . cotisations obligatoires:
titre: Cotisations sociales obligatoires déductibles
résumé: '[C]'
description: |
À reporter dans :
@ -881,8 +881,8 @@ aide déclaration revenu indépendant 2020 . résultat simple . CFP:
description: Contribution à la formation professionnelle
valeur: dirigeant . indépendant . cotisations et contributions . formation professionnelle
? aide déclaration revenu indépendant 2020 . résultat simple . total charges sociales déductible
: non applicable si: entreprise . imposition . IR . micro-fiscal
aide déclaration revenu indépendant 2020 . résultat simple . total charges sociales déductible:
non applicable si: entreprise . imposition . IR . micro-fiscal
titre: charges sociales obligatoires déductibles fiscalement
résumé: '[B + C + D]'
somme:

View File

@ -90,8 +90,8 @@ impôt . revenu imposable . abattement contrat court:
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
? impôt . taux neutre d'impôt sur le revenu . barème Guadeloupe Réunion Martinique
: icônes: 🇬🇵🇷🇪 🇲🇶
impôt . taux neutre d'impôt sur le revenu . barème Guadeloupe Réunion Martinique:
icônes: 🇬🇵🇷🇪 🇲🇶
formule:
grille:
assiette: revenu imposable
@ -426,8 +426,8 @@ impôt . foyer fiscal . impôt sur le revenu . quotient familial:
unité: €/part/an
formule: revenu imposable / nombre de parts
? impôt . foyer fiscal . impôt sur le revenu . quotient familial . plafond avantage
: formule:
impôt . foyer fiscal . impôt sur le revenu . quotient familial . plafond avantage:
formule:
somme:
- produit:
assiette:

View File

@ -143,8 +143,8 @@ dirigeant . indépendant . PL . régime général:
- CIPAV = non
- entreprise . activité . libérale réglementée = non
? dirigeant . indépendant . PL . régime général . taux spécifique retraite complémentaire
: titre: taux spécifique profession libérale non reglementée
dirigeant . indépendant . PL . régime général . taux spécifique retraite complémentaire:
titre: taux spécifique profession libérale non reglementée
question: Avez-vous opté pour des taux spécifiques de cotisation retraite complémentaire ?
par défaut: non
description: |
@ -156,8 +156,8 @@ dirigeant . indépendant . PL . régime général:
références:
Guide PL urssaf: https://www.urssaf.fr/portail/files/live/sites/urssaf/files/documents/Diaporama_TI_statuts_hors_AE.pdf
? dirigeant . indépendant . PL . régime général . taux spécifique retraite complémentaire . montant
: titre: retraite complémentaire (taux PLNR)
dirigeant . indépendant . PL . régime général . taux spécifique retraite complémentaire . montant:
titre: retraite complémentaire (taux PLNR)
remplace: cotisations et contributions . retraite complémentaire
formule:
barème:
@ -276,8 +276,8 @@ dirigeant . indépendant . PL . CIPAV . invalidité et décès:
- si: classe de cotisation = 'C'
alors: 380 €/an
? dirigeant . indépendant . PL . CIPAV . invalidité et décès . classe de cotisation
: question: Dans quelle classe cotisez-vous pour le régime invalidité-décès de la CIPAV ?
dirigeant . indépendant . PL . CIPAV . invalidité et décès . classe de cotisation:
question: Dans quelle classe cotisez-vous pour le régime invalidité-décès de la CIPAV ?
description: >-
La Cipav gère un régime de prévoyance versant une pension en cas
d'invalidité permanente et un capital décès ainsi quune rente pour les
@ -293,12 +293,12 @@ dirigeant . indépendant . PL . CIPAV . invalidité et décès:
- C
par défaut: "'A'"
? dirigeant . indépendant . PL . CIPAV . invalidité et décès . classe de cotisation . A
: titre: classe A
? dirigeant . indépendant . PL . CIPAV . invalidité et décès . classe de cotisation . B
: titre: classe B
? dirigeant . indépendant . PL . CIPAV . invalidité et décès . classe de cotisation . C
: titre: classe C
dirigeant . indépendant . PL . CIPAV . invalidité et décès . classe de cotisation . A:
titre: classe A
dirigeant . indépendant . PL . CIPAV . invalidité et décès . classe de cotisation . B:
titre: classe B
dirigeant . indépendant . PL . CIPAV . invalidité et décès . classe de cotisation . C:
titre: classe C
dirigeant . indépendant . PL . retraite CNAVPL:
non applicable si:
@ -360,8 +360,8 @@ dirigeant . indépendant . PL . PAMC:
- dirigeant . indépendant . cotisations et contributions . maladie domiciliation fiscale étranger
formule: oui
? dirigeant . indépendant . PL . PAMC . proportion recette activité non conventionnée
: question: |
dirigeant . indépendant . PL . PAMC . proportion recette activité non conventionnée:
question: |
Quel est la part de votre chiffre d'affaires liée à une activité non
conventionnée (estimation) ?
par défaut: 0%
@ -383,8 +383,8 @@ dirigeant . indépendant . PL . PAMC:
(aide à la télétransmission, indemnisation, indemnisation de la formation
continue, prime à linstallation, ...)
? dirigeant . indépendant . PL . PAMC . proportion recette activité non conventionnée . notification
: type: notification
dirigeant . indépendant . PL . PAMC . proportion recette activité non conventionnée . notification:
type: notification
sévérité: avertissement
formule: proportion recette activité non conventionnée > 100%
description: |
@ -529,8 +529,8 @@ dirigeant . indépendant . PL . PAMC . allocations familiales:
références:
Fiche Urssaf: https://www.urssaf.fr/portail/home/taux-et-baremes/taux-de-cotisations/les-praticiens-et-auxiliaires-me/taux-de-cotisations-medecin-sect.html
? dirigeant . indépendant . PL . PAMC . allocations familiales . participation CPAM
: titre: Participation CPAM aux allocations familiales
dirigeant . indépendant . PL . PAMC . allocations familiales . participation CPAM:
titre: Participation CPAM aux allocations familiales
formule:
produit:
assiette: cotisations et contributions . allocations familiales
@ -546,8 +546,8 @@ dirigeant . indépendant . PL . PAMC . allocations familiales:
- montant: 60%
arrondi: oui
? dirigeant . indépendant . PL . PAMC . assiette participation chirurgien-dentiste
: applicable si: métier = 'santé . chirurgien-dentiste'
dirigeant . indépendant . PL . PAMC . assiette participation chirurgien-dentiste:
applicable si: métier = 'santé . chirurgien-dentiste'
titre: assiette participation CPAM (chirurgien dentiste)
remplace: assiette participation CPAM
formule:
@ -558,8 +558,8 @@ dirigeant . indépendant . PL . PAMC . allocations familiales:
Fiche Urssaf: https://www.urssaf.fr/portail/home/praticien-et-auxiliaire-medical/mes-cotisations/le-calcul-de-mes-cotisations/la-participation-de-la-cpam-a-me/je-suis-chirurgien-dentiste/assiette-de-participation-de-la.html
Texte de loi: https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000020429271&categorieLien=id
? dirigeant . indépendant . PL . PAMC . assiette participation chirurgien-dentiste . taux Urssaf
: description: |
dirigeant . indépendant . PL . PAMC . assiette participation chirurgien-dentiste . taux Urssaf:
description: |
Le « taux Urssaf » (taux UR) permet de calculer la part de votre
cotisation dassurance maladie-maternité prise en charge par la CPAM.
@ -578,8 +578,8 @@ dirigeant . indépendant . PL . PAMC . allocations familiales:
unité: ''
par défaut: 1
? dirigeant . indépendant . PL . PAMC . assiette participation chirurgien-dentiste . taux Urssaf . notification
: formule: taux Urssaf >= 100
dirigeant . indépendant . PL . PAMC . assiette participation chirurgien-dentiste . taux Urssaf . notification:
formule: taux Urssaf >= 100
type: notification
sévérité: avertissement
description: Le taux Urssaf doit être inférieur à 100
@ -848,8 +848,8 @@ dirigeant . indépendant . PL . CARCDSF . retraite complémentaire:
références:
Site CARCDSF: http://www.carcdsf.fr/cotisations-du-praticien/montant-des-cotisations
? dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation proportionnelle
: formule:
dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation proportionnelle:
formule:
barème:
assiette: assiette des cotisations
multiplicateur: plafond sécurité sociale temps plein
@ -860,8 +860,8 @@ dirigeant . indépendant . PL . CARCDSF . retraite complémentaire:
plafond: 5
arrondi: oui
? dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire
: formule:
dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire:
formule:
produit:
assiette: 2960.40 €/an
facteur:
@ -871,16 +871,16 @@ dirigeant . indépendant . PL . CARCDSF . retraite complémentaire:
- sinon: 100%
arrondi: oui
? dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable
: formule: assiette des cotisations < 85% * plafond sécurité sociale temps plein
dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . réduction applicable:
formule: assiette des cotisations < 85% * plafond sécurité sociale temps plein
description: |
Vous avez la possibilité de bénéficier d'une réduction de cotisation
pour la retraite complémentaire si vous en faites la demande. [En savoir
plus](/documentation/dirigeant/indépendant/PL/CARCDSF/retraite-complémentaire/cotisation-forfaitaire/taux-réduction)
type: notification
? dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . taux réduction
: applicable si: réduction applicable
dirigeant . indépendant . PL . CARCDSF . retraite complémentaire . cotisation forfaitaire . taux réduction:
applicable si: réduction applicable
description: |
Les affiliés dont les revenus professionnels nets sur l'année N-1 sont inférieurs à 85
% du PASS en vigueur au 1er janvier de lannée considérée (34 966 € en 2020)
@ -927,18 +927,18 @@ dirigeant . indépendant . PL . CARCDSF . chirurgien-dentiste . PCV:
- proportionnelle
arrondi: oui
? dirigeant . indépendant . PL . CARCDSF . chirurgien-dentiste . PCV . forfaitaire
: formule: 1440.60 €/an
? dirigeant . indépendant . PL . CARCDSF . chirurgien-dentiste . PCV . proportionnelle
: formule:
dirigeant . indépendant . PL . CARCDSF . chirurgien-dentiste . PCV . forfaitaire:
formule: 1440.60 €/an
dirigeant . indépendant . PL . CARCDSF . chirurgien-dentiste . PCV . proportionnelle:
formule:
produit:
assiette: assiette des cotisations
plafond: 5 * plafond sécurité sociale temps plein
taux: 0.725 %
références:
Site CARCDSF: http://www.carcdsf.fr/cotisations-du-praticien/montant-des-cotisations
? dirigeant . indépendant . PL . CARCDSF . chirurgien-dentiste . PCV . participation CPAM
: titre: Participation CPAM à la prestation complémentaire vieillesse
dirigeant . indépendant . PL . CARCDSF . chirurgien-dentiste . PCV . participation CPAM:
titre: Participation CPAM à la prestation complémentaire vieillesse
formule:
somme:
- 2 * forfaitaire
@ -955,8 +955,8 @@ dirigeant . indépendant . PL . CARCDSF . chirurgien-dentiste . exonération PCV
faites la demande. [En savoir
plus](http://www.carcdsf.fr/cotisations-du-praticien/montant-des-cotisations)
? dirigeant . indépendant . PL . CARCDSF . chirurgien-dentiste . prix d'une consultation
: formule: 23 €/consultation
dirigeant . indépendant . PL . CARCDSF . chirurgien-dentiste . prix d'une consultation:
formule: 23 €/consultation
dirigeant . indépendant . PL . CARCDSF . sage-femme:
applicable si: métier = 'santé . sage-femme'
@ -1074,8 +1074,8 @@ dirigeant . indépendant . PL . CNBF . retraite de base . cotisation forfaitaire
plafond: 5 ans
- montant: 1586 €/an
? dirigeant . indépendant . PL . CNBF . retraite de base . cotisation proportionnelle
: formule:
dirigeant . indépendant . PL . CNBF . retraite de base . cotisation proportionnelle:
formule:
produit:
taux: 3.1%
assiette: assiette des cotisations

View File

@ -102,8 +102,8 @@ protection sociale . retraite . trimestres validés . trimestres indépendant:
valeur: barème trimestres générique
plancher: 3
? protection sociale . retraite . trimestres validés . barème trimestres générique
: unité: trimestres validés/an
protection sociale . retraite . trimestres validés . barème trimestres générique:
unité: trimestres validés/an
formule:
grille:
unité: trimestres validés/an
@ -122,8 +122,8 @@ protection sociale . retraite . trimestres validés . trimestres indépendant:
références:
cnav.fr: https://www.legislation.cnav.fr/Pages/bareme.aspx?Nom=salaire_validant_un_trimestre_montant_bar
Article R351-9 du code de la sécurité sociale: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000028751530/2014-03-21
? protection sociale . retraite . trimestres validés . trimestres auto-entrepreneur
: applicable si: dirigeant . auto-entrepreneur
protection sociale . retraite . trimestres validés . trimestres auto-entrepreneur:
applicable si: dirigeant . auto-entrepreneur
description: Les seuils de chiffre d'affaires minimum pour la validation des trimestres pour la retraite en auto-entrepreneur. En-dessous du montant minimum, vous n'aurez accès qu'à l'allocation de solidarité.
unité: trimestres validés/an
somme:
@ -218,15 +218,15 @@ protection sociale . retraite . complémentaire indépendants . valeur du point:
références:
secu-independants.fr: https://www.secu-independants.fr/baremes/prestations-vieillesse-et-invalidite-deces
? protection sociale . retraite . complémentaire indépendants . total points acquis
: formule: points acquis * mois cotisés
protection sociale . retraite . complémentaire indépendants . total points acquis:
formule: points acquis * mois cotisés
protection sociale . retraite . complémentaire indépendants . points acquis:
unité: points/an
valeur: dirigeant . indépendant . cotisations et contributions . retraite complémentaire / prix d'achat du point
? protection sociale . retraite . complémentaire indépendants . prix d'achat du point
: formule: 17.765 €/point
protection sociale . retraite . complémentaire indépendants . prix d'achat du point:
formule: 17.765 €/point
références:
secu-independants.fr: https://www.secu-independants.fr/baremes/baremes-2018/baremesprestations-maladie-maternite/?reg=ile-de-france-centre&ae=oui

View File

@ -146,8 +146,8 @@ contrat salarié . frais professionnels . titres-restaurant . montant unitaire:
moyenne: 8 €/titre-restaurant
max exonéré: 11.10 €/titre-restaurant
? contrat salarié . frais professionnels . titres-restaurant . taux participation employeur
: description: >-
contrat salarié . frais professionnels . titres-restaurant . taux participation employeur:
description: >-
Part du titre-restaurant payée par l'employeur. Doit être de 50% minimum et
de 60% maximum.
question: Quelle est la participation de l'employeur ?
@ -156,14 +156,14 @@ contrat salarié . frais professionnels . titres-restaurant . montant unitaire:
50%: 50 %
60%: 60 %
? contrat salarié . frais professionnels . titres-restaurant . contrôle taux employeur min
: type: notification
contrat salarié . frais professionnels . titres-restaurant . contrôle taux employeur min:
type: notification
sévérité: avertissement
formule: taux participation employeur < 50%
description: La part employeur du titre-restaurant doit être de 50% au minimum
? contrat salarié . frais professionnels . titres-restaurant . contrôle taux employeur max
: type: notification
contrat salarié . frais professionnels . titres-restaurant . contrôle taux employeur max:
type: notification
sévérité: avertissement
formule: taux participation employeur > 60%
description: La part employeur du titre-restaurant doit être de 60% au maximum
@ -172,8 +172,8 @@ contrat salarié . frais professionnels . abonnement transports publics:
icônes: 🚍
valeur: oui
? contrat salarié . frais professionnels . abonnement transports publics . montant
: titre: Abonnement aux transports publics
contrat salarié . frais professionnels . abonnement transports publics . montant:
titre: Abonnement aux transports publics
question: Quel montant le salarié dépense-t-il en abonnement aux transports publics chaque mois ?
unité: €/mois
par défaut: 0 €/mois
@ -193,11 +193,11 @@ contrat salarié . frais professionnels . abonnement transports publics:
Tisséo: 42.50 €/mois
TBM: 42.20 €/mois
? contrat salarié . frais professionnels . abonnement transports publics . taux de participation employeur
: valeur: 50%
contrat salarié . frais professionnels . abonnement transports publics . taux de participation employeur:
valeur: 50%
? contrat salarié . frais professionnels . abonnement transports publics . taux de prise en charge
: titre: Taux de prise en charge
contrat salarié . frais professionnels . abonnement transports publics . taux de prise en charge:
titre: Taux de prise en charge
valeur:
produit:
assiette:
@ -206,8 +206,8 @@ contrat salarié . frais professionnels . abonnement transports publics:
- 50%
taux: 2 * taux de participation employeur
? contrat salarié . frais professionnels . abonnement transports publics . prise en charge
: titre: Abonnement transports publics, part prise en charge par l'employeur (déductible)
contrat salarié . frais professionnels . abonnement transports publics . prise en charge:
titre: Abonnement transports publics, part prise en charge par l'employeur (déductible)
unité: €/mois
valeur: taux de prise en charge * montant
@ -224,14 +224,14 @@ contrat salarié . frais professionnels . transports personnels . montant:
- carburant faible émission . montant
- forfait mobilités durables . montant
? contrat salarié . frais professionnels . transports personnels . part déductible
: valeur:
contrat salarié . frais professionnels . transports personnels . part déductible:
valeur:
somme:
- carburant faible émission . part déductible
- forfait mobilités durables . part déductible
? contrat salarié . frais professionnels . transports personnels . proportion déduction
: titre: Facteur de proportion de la déductibilité
contrat salarié . frais professionnels . transports personnels . proportion déduction:
titre: Facteur de proportion de la déductibilité
valeur:
produit:
assiette:
@ -242,11 +242,11 @@ contrat salarié . frais professionnels . transports personnels . montant:
références:
Article R3261-14 du code du travail, version 11/05/2020: https://www.legifrance.gouv.fr/codes/id/LEGIARTI000041865023/2020-05-11/
? contrat salarié . frais professionnels . transports personnels . carburant faible émission
: valeur: oui
contrat salarié . frais professionnels . transports personnels . carburant faible émission:
valeur: oui
? contrat salarié . frais professionnels . transports personnels . carburant faible émission . montant
: titre: Prise en charge du carburant pour véhicule électrique, hybride rechargeable ou hydrogène
contrat salarié . frais professionnels . transports personnels . carburant faible émission . montant:
titre: Prise en charge du carburant pour véhicule électrique, hybride rechargeable ou hydrogène
question: Quel montant l'employeur prend-il en charge des dépenses en carburant pour véhicule électrique, hybride rechargeable ou hydrogènes?
unité: €/an
par défaut: 0 €/an
@ -266,8 +266,8 @@ contrat salarié . frais professionnels . transports personnels . montant:
Articles R3261-11 à -13 du code du travail, version 11/05/2020: https://www.legifrance.gouv.fr/codes/section_lc/LEGITEXT000006072050/LEGISCTA000018487476/2020-05-11
Article 81 du code des impôts, version en vigueur au 31/12/2020: https://www.legifrance.gouv.fr/codes/id/LEGIARTI000042910732/2020-12-31/
? contrat salarié . frais professionnels . transports personnels . carburant faible émission . part déductible
: titre: Prise en charge du carburant pour véhicule électrique, hybride rechargeable ou hydrogène (part déductible)
contrat salarié . frais professionnels . transports personnels . carburant faible émission . part déductible:
titre: Prise en charge du carburant pour véhicule électrique, hybride rechargeable ou hydrogène (part déductible)
unité: €/an
valeur: montant
plafond:
@ -276,11 +276,11 @@ contrat salarié . frais professionnels . transports personnels . montant:
- valeur: proportion déduction * 500€/an
abattement: abonnement transports publics . prise en charge
? contrat salarié . frais professionnels . transports personnels . forfait mobilités durables
: valeur: oui
contrat salarié . frais professionnels . transports personnels . forfait mobilités durables:
valeur: oui
? contrat salarié . frais professionnels . transports personnels . forfait mobilités durables . montant
: titre: Prise en charge des frais de transports forfait mobilités durables
contrat salarié . frais professionnels . transports personnels . forfait mobilités durables . montant:
titre: Prise en charge des frais de transports forfait mobilités durables
question: Quel montant l'employeur prend-il en charge dans le cadre du forfait mobilités durables ?
unité: €/an
par défaut: 0 €/an
@ -312,8 +312,8 @@ contrat salarié . frais professionnels . transports personnels . montant:
Articles R3261-13-1 à -13-2 du code du travail, version 11/05/2020: https://www.legifrance.gouv.fr/codes/section_lc/LEGITEXT000006072050/LEGISCTA000018487476/2020-05-11
Article 81 du code des impôts, version en vigueur au 31/12/2020: https://www.legifrance.gouv.fr/codes/id/LEGIARTI000042910732/2020-12-31/
? contrat salarié . frais professionnels . transports personnels . forfait mobilités durables . part déductible
: titre: Prise en charge des frais de transports forfait mobilités durables (part déductible)
contrat salarié . frais professionnels . transports personnels . forfait mobilités durables . part déductible:
titre: Prise en charge des frais de transports forfait mobilités durables (part déductible)
unité: €/an
valeur: montant
plafond:
@ -377,8 +377,8 @@ contrat salarié . activité partielle . heures travaillées:
20 h/semaine: 86.6666 heures/mois
10 h/semaine: 43.3333 heures/mois
? contrat salarié . activité partielle . heures travaillées . contrôle temps de travail
: type: notification
contrat salarié . activité partielle . heures travaillées . contrôle temps de travail:
type: notification
sévérité: avertissement
formule: heures travaillées > temps de travail . temps contractuel
description: >-
@ -455,8 +455,8 @@ contrat salarié . activité partielle . indemnités . conventionnelle:
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 . indemnités . conventionnelle . part soumise à cotisation
: applicable si:
contrat salarié . activité partielle . indemnités . conventionnelle . part soumise à cotisation:
applicable si:
toutes ces conditions:
- indemnités . conventionnelle > 0
- indemnités . conventionnelle + indemnités . base > 3.15 * SMIC
@ -496,8 +496,8 @@ contrat salarié . activité partielle . indemnisation entreprise:
avec:
rémunération . brut de base: 4.5 * SMIC
? contrat salarié . activité partielle . indemnisation entreprise . taux d'indemnisation
: description: >-
contrat salarié . activité partielle . indemnisation entreprise . taux d'indemnisation:
description: >-
Depuis le 1er juin, le taux d'indemnisation de l'entreprise passe à 60%.
L'indemnité versée à l'employé reste inchangée et c'est donc l'entreprise
qui devra prendre en charge la différence.
@ -613,8 +613,8 @@ contrat salarié . déduction forfaitaire spécifique . profession . journaliste
Concerne les journalistes, rédacteurs, photographes, directeurs de journaux
Critiques dramatiques et musicaux.
? contrat salarié . déduction forfaitaire spécifique . profession . journaliste . réduction de taux
: applicable si: déduction forfaitaire spécifique . profession = 'journaliste'
contrat salarié . déduction forfaitaire spécifique . profession . journaliste . réduction de taux:
applicable si: déduction forfaitaire spécifique . profession = 'journaliste'
remplace:
- règle: vieillesse . employeur . plafonnée . taux
par: vieillesse . employeur . plafonnée . taux * réduction de taux
@ -635,29 +635,29 @@ contrat salarié . déduction forfaitaire spécifique . profession . journaliste
par: ATMP . taux minimum * réduction de taux
formule: 80%
? contrat salarié . déduction forfaitaire spécifique . profession . journaliste . abattement fiscal
: applicable si: déduction forfaitaire spécifique . profession = 'journaliste'
contrat salarié . déduction forfaitaire spécifique . profession . journaliste . abattement fiscal:
applicable si: déduction forfaitaire spécifique . profession = 'journaliste'
remplace: rémunération . net imposable
titre: net imposable journaliste
formule:
valeur: rémunération . net imposable
abattement: 7650€/an
? contrat salarié . déduction forfaitaire spécifique . profession . ouvrier du bâtiment
: icônes: 👷‍♂️
contrat salarié . déduction forfaitaire spécifique . profession . ouvrier du bâtiment:
icônes: 👷‍♂️
description: >-
Concerne les ouvriers du bâtiment visés aux paragraphes 1er et 2 de
larticle 1er du décret du 17 novembre 1936, à lexclusion de ceux qui
travaillent en usine ou en atelier.
? contrat salarié . déduction forfaitaire spécifique . profession . artiste musicien
: icônes: 🎼
contrat salarié . déduction forfaitaire spécifique . profession . artiste musicien:
icônes: 🎼
description: >-
Concerne les artistes musiciens, choristes, chefs dorchestre, régisseurs de
théâtre
? contrat salarié . déduction forfaitaire spécifique . profession . pilote de ligne ou personnel navigant
: icônes:
contrat salarié . déduction forfaitaire spécifique . profession . pilote de ligne ou personnel navigant:
icônes:
description: >-
Concerne les pilotes, radios, mécaniciens navigants des compagnies de
transports aériens ; pilotes et mécaniciens employés par les maisons de
@ -1482,8 +1482,8 @@ contrat salarié . rémunération . primes . fin d'année:
assiette: assiette de vérification du SMIC * temps de travail . quotité de travail / 1 an
facteur: prime de fin d'année en mois
? contrat salarié . rémunération . primes . fin d'année . prime de fin d'année en mois
: applicable si: treizième mois
contrat salarié . rémunération . primes . fin d'année . prime de fin d'année en mois:
applicable si: treizième mois
formule: 13 mois - 1 an
note: >
Certaines entreprises proposent une prime de fin d'année sur une base de
@ -1674,8 +1674,8 @@ contrat salarié . rémunération . avantages en nature . nourriture . montant:
références:
urssaf.fr: https://www.urssaf.fr/portail/home/taux-et-baremes/avantages-en-nature/nourriture.html
? contrat salarié . rémunération . avantages en nature . nourriture . repas par mois
: question: >
contrat salarié . rémunération . avantages en nature . nourriture . repas par mois:
question: >
Combien de repas par mois sont payés par l'entreprise ?
par défaut: 21 repas/mois
suggestions:
@ -1837,8 +1837,8 @@ contrat salarié . rémunération . net imposable:
références:
DSN: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110
? contrat salarié . rémunération . net imposable . heures supplémentaires et complémentaires défiscalisées
: unité: €/mois
contrat salarié . rémunération . net imposable . heures supplémentaires et complémentaires défiscalisées:
unité: €/mois
formule:
valeur:
somme:
@ -1961,8 +1961,8 @@ contrat salarié . cotisations . patronales . réductions de cotisations:
urssaf.fr (cumul réduction générale): https://www.urssaf.fr/portail/home/employeur/beneficier-dune-exoneration/exonerations-generales/la-reduction-generale/les-regles-relatives-au-cumul.html
urssaf.fr (cumul JEI): https://www.urssaf.fr/portail/home/employeur/beneficier-dune-exoneration/exonerations-ou-aides-liees-au-s/jeunes-entreprises-innovantes/regles-de-cumul.html
? contrat salarié . cotisations . patronales . réductions de cotisations . déduction heures supplémentaires
: applicable si: entreprise . effectif < 20
contrat salarié . cotisations . patronales . réductions de cotisations . déduction heures supplémentaires:
applicable si: entreprise . effectif < 20
titre: déduction forfaitaire pour heures supplémentaires
formule:
produit:
@ -1982,8 +1982,8 @@ contrat salarié . cotisations . salariales . réduction heures supplémentaires
références:
Code de la sécurité sociale - Article D241-21: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000038056813&cidTexte=LEGITEXT000006073189
? contrat salarié . cotisations . salariales . réduction heures supplémentaires . taux des cotisations réduites
: unité: '%'
contrat salarié . cotisations . salariales . réduction heures supplémentaires . taux des cotisations réduites:
unité: '%'
description: le taux effectif des cotisations d'assurance vieillesse à la charge du salarié
formule:
valeur:
@ -2072,8 +2072,8 @@ contrat salarié . aides employeur . aide à l'embauche d'apprentis:
références:
Fiche service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F23556
? contrat salarié . aides employeur . aide exceptionnelle à l'embauche d'apprentis
: description: >-
contrat salarié . aides employeur . aide exceptionnelle à l'embauche d'apprentis:
description: >-
Dans le cadre du plan de relance de l'économie de la rentrée 2020, le
gouvernement met en place une aide exceptionnelle au recrutement des
apprentis.
@ -2135,8 +2135,8 @@ contrat salarié . aides employeur . aide exceptionnelle à l'embauche des jeune
références:
Plan \#1jeune1solution: https://travail-emploi.gouv.fr/le-ministere-en-action/relance-activite/plan-1jeune-1solution/aide-embauche-jeunes
? contrat salarié . aides employeur . aide à l'embauche senior professionnalisation
: description: |
contrat salarié . aides employeur . aide à l'embauche senior professionnalisation:
description: |
Les employeurs peuvent obtenir une aide de 2000 € pour l'embauche d'un
demandeur d'emploi de plus de 45 ans en contrat de professionnalisation.
applicable si: professionnalisation . salarié de 45 ans et plus
@ -2213,8 +2213,8 @@ 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é . aides employeur . aide à l'embauche des travailleurs handicapés
: non applicable si: aides employeur . emploi franc
contrat salarié . aides employeur . aide à l'embauche des travailleurs handicapés:
non applicable si: aides employeur . emploi franc
description: >-
Dans le cadre du plan de relance, le gouvernement a décidé de créer une aide
à lembauche visant à favoriser lemploi des personnes en situation de
@ -2360,8 +2360,8 @@ contrat salarié . temps de travail . heures complémentaires:
question: Combien d'heures complémentaires (non récupérées en repos) sont effectuées par mois ?
par défaut: 0 heure/mois
? contrat salarié . temps de travail . contrôle heures complémentaires 10 pourcents
: type: notification
contrat salarié . temps de travail . contrôle heures complémentaires 10 pourcents:
type: notification
formule: heures complémentaires > heures complémentaires . seuil légal
description: Sauf disposition conventionnelle, le nombre d'heures complémentaires ne peut être supérieur à un dixième de la durée contractuelle du temps partiel.
@ -2653,8 +2653,8 @@ contrat salarié . retraite supplémentaire . part déductible:
valeur: retraite supplémentaire . employeur
abattement: plafond d'exonération sociale employeur
? contrat salarié . retraite supplémentaire . plafond d'exonération sociale employeur
: formule:
contrat salarié . retraite supplémentaire . plafond d'exonération sociale employeur:
formule:
valeur: 5% * rémunération . brut
plafond: 5% * plafond sécurité sociale
références:
@ -2929,8 +2929,8 @@ contrat salarié . CSG et CRDS . assiette revenu remplacements:
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:
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
taux: 98.25%

View File

@ -30,7 +30,7 @@
"@types/mocha": "^8.2.2",
"@types/react": "^17.0.0",
"@types/react-color": "^3.0.1",
"@types/react-dom": "^17.0.0",
"@types/react-dom": "^17.0.9",
"@types/react-helmet": "^6.1.0",
"@types/react-redux": "^7.1.11",
"@types/react-router": "^5.1.2",
@ -67,7 +67,6 @@
"@rehooks/local-storage": "^2.1.1",
"@sentry/react": "^6.3.5",
"@sentry/tracing": "^6.3.5",
"@types/react-dom": "^17.0.0",
"classnames": "^2.2.5",
"color-convert": "^1.9.2",
"core-js": "^3.2.1",

View File

@ -82,7 +82,8 @@
: null
}
var c = this,
b = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g,
b =
/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g,
d = RegExp(
'^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\\.)*)[\\x20\\t\\r\\n\\f]+$',
'g'
@ -1506,12 +1507,13 @@
'undefined' !== typeof window &&
'undefined' !== typeof window.location
) {
h = (c.getConfig('urlPropertyQueryString')
? window.location.href
: window.location.protocol +
'//' +
window.location.host +
window.location.pathname
h = (
c.getConfig('urlPropertyQueryString')
? window.location.href
: window.location.protocol +
'//' +
window.location.host +
window.location.pathname
)
.replace(/[<>]/g, '')
.substring(0, 1600)
@ -1521,9 +1523,10 @@
c.setContext('page', l)
c.setParam('page_url', h, {
permanent: !0,
hitType: 'page click publisher selfPromotion onSiteAdsClick onSiteAdsImpression InternalSearch mvtesting richmedia'.split(
' '
),
hitType:
'page click publisher selfPromotion onSiteAdsClick onSiteAdsImpression InternalSearch mvtesting richmedia'.split(
' '
),
})
}
c.plugins.init()
@ -1641,8 +1644,13 @@
},
c = { search: 's', content: 'c' }
this.atMedium = 'sl'
this.atTerm = this.atNetwork = this.atVariant = this.atCreation = this.atPlatform = this.atCampaign =
''
this.atTerm =
this.atNetwork =
this.atVariant =
this.atCreation =
this.atPlatform =
this.atCampaign =
''
this.format = function () {
var a = 'sec',
h = b(this.atCampaign),
@ -1693,8 +1701,15 @@
this.Email = function () {
var e = { acquisition: 'erec', retention: 'epr', promotion: 'es' }
this.atMedium = 'email'
this.atSendTime = this.atRecipientList = this.atRecipientId = this.atLink = this.atSendDate = this.atCreation = this.atCampaign = this.atEmailtype =
''
this.atSendTime =
this.atRecipientList =
this.atRecipientId =
this.atLink =
this.atSendDate =
this.atCreation =
this.atCampaign =
this.atEmailtype =
''
this.format = function () {
var a = e[this.atEmailtype] || e.promotion,
c = b(this.atCampaign),
@ -1762,8 +1777,13 @@
}
this.Affiliate = function () {
this.atMedium = 'affiliate'
this.atVariant = this.atCreation = this.atFormat = this.atIdentifier = this.atType = this.atCampaign =
''
this.atVariant =
this.atCreation =
this.atFormat =
this.atIdentifier =
this.atType =
this.atCampaign =
''
this.format = function () {
var a = 'al',
f = b(this.atCampaign),
@ -1813,8 +1833,14 @@
}
this.Display = function () {
this.atMedium = 'display'
this.atDetailPlacement = this.atGeneralPlacement = this.atChannel = this.atFormat = this.atVariant = this.atCreation = this.atCampaign =
''
this.atDetailPlacement =
this.atGeneralPlacement =
this.atChannel =
this.atFormat =
this.atVariant =
this.atCreation =
this.atCampaign =
''
this.format = function () {
var a = 'ad',
f = b(this.atCampaign),
@ -1885,8 +1911,13 @@
}
}
this.Custom = function () {
this.atCustom4 = this.atCustom3 = this.atCustom2 = this.atCustom1 = this.atCampaign = this.atMedium =
''
this.atCustom4 =
this.atCustom3 =
this.atCustom2 =
this.atCustom1 =
this.atCampaign =
this.atMedium =
''
this.format = function () {
var a = ''
;/\d+$/.test(this.atMedium) && (a = /\d+$/.exec(this.atMedium)[0])

View File

@ -66,11 +66,8 @@ export default function CurrencyInput({
onChangeDebounced?.(event)
}
const {
isCurrencyPrefixed,
thousandSeparator,
decimalSeparator,
} = currencyFormat(language)
const { isCurrencyPrefixed, thousandSeparator, decimalSeparator } =
currencyFormat(language)
// Autogrow the input
const valueLength = currentValue.toString().length
const width = `${5 + (valueLength - 5) * 0.75}em`

View File

@ -13,17 +13,19 @@ import RuleLink from './RuleLink'
export default function Distribution() {
const targetUnit = useSelector(targetUnitSelector)
const engine = useContext(EngineContext)
const distribution = (getCotisationsBySection(
useEngine().getParsedRules()
).map(([section, cotisations]) => [
section,
cotisations
.map((c) => engine.evaluate({ valeur: c, unité: targetUnit }))
.reduce(
(acc, evaluation) => acc + ((evaluation?.nodeValue as number) || 0),
0
),
]) as Array<[DottedName, number]>)
const distribution = (
getCotisationsBySection(useEngine().getParsedRules()).map(
([section, cotisations]) => [
section,
cotisations
.map((c) => engine.evaluate({ valeur: c, unité: targetUnit }))
.reduce(
(acc, evaluation) => acc + ((evaluation?.nodeValue as number) || 0),
0
),
]
) as Array<[DottedName, number]>
)
.filter(([, value]) => value > 0)
.sort(([, a], [, b]) => b - a)

View File

@ -6,10 +6,8 @@ import { Etablissement, searchDenominationOrSiren } from '../api/sirene'
import { debounce } from '../utils'
export default function Search() {
const [
searchResults,
setSearchResults,
] = useState<Array<Etablissement> | null>()
const [searchResults, setSearchResults] =
useState<Array<Etablissement> | null>()
const [isLoading, setLoadingState] = useState(false)
const handleSearch = useCallback(
@ -21,9 +19,10 @@ export default function Search() {
},
[setSearchResults, setLoadingState]
)
const debouncedHandleSearch = useMemo(() => debounce(300, handleSearch), [
handleSearch,
])
const debouncedHandleSearch = useMemo(
() => debounce(300, handleSearch),
[handleSearch]
)
const setEntreprise = useSetEntreprise()
return (

View File

@ -39,9 +39,10 @@ export default function SchemeComparaison({
const [conversationStarted, setConversationStarted] = useState(
!!Object.keys(useSelector(situationSelector)).length
)
const startConversation = useCallback(() => setConversationStarted(true), [
setConversationStarted,
])
const startConversation = useCallback(
() => setConversationStarted(true),
[setConversationStarted]
)
const situation = useSelector(situationSelector)
const displayResult =

View File

@ -12,13 +12,7 @@ import {
import { SitePathsContext } from 'Components/utils/SitePathsContext'
import { DottedName } from 'modele-social'
import { Names } from 'modele-social/dist/names'
import {
ASTNode,
EvaluatedNode,
formatValue,
reduceAST,
RuleNode,
} from 'publicodes'
import { EvaluatedNode, formatValue, reduceAST, RuleNode } from 'publicodes'
import { Fragment, useCallback, useContext, useState } from 'react'
import emoji from 'react-easy-emoji'
import { Trans, useTranslation } from 'react-i18next'
@ -290,9 +284,8 @@ function AidesGlimpse() {
const aidesNotNul = node.explanation
.map((n) => engine.evaluate(n))
.filter(({ nodeValue }) => nodeValue !== false)
if (aidesNotNul.length === 1) {
return (aidesNotNul[0] as ASTNode & { nodeKind: 'reference' })
.dottedName as DottedName
if (aidesNotNul.length === 1 && 'dottedName' in aidesNotNul[0]) {
return aidesNotNul[0].dottedName as DottedName
} else {
return acc
}

View File

@ -17,11 +17,9 @@ type AnswerListProps = {
export default function AnswerList({ onClose }: AnswerListProps) {
const dispatch = useDispatch()
const engine = useEngine()
const answeredQuestions = (Object.keys(
useSelector(situationSelector)
) as Array<DottedName>).map((dottedName) =>
engine.evaluate(engine.getRule(dottedName))
)
const answeredQuestions = (
Object.keys(useSelector(situationSelector)) as Array<DottedName>
).map((dottedName) => engine.evaluate(engine.getRule(dottedName)))
const nextSteps = useNextQuestions().map((dottedName) =>
engine.evaluate(engine.getRule(dottedName))

View File

@ -175,7 +175,7 @@ export default function Question({
}
const choiceElements = Array.isArray(choices)
? renderBinaryQuestion((choices as unknown) as typeof binaryQuestion)
? renderBinaryQuestion(choices as unknown as typeof binaryQuestion)
: renderChildren(choices as Choice)
return (

View File

@ -225,9 +225,11 @@ export const buildVariantTree = <Name extends string>(
variant
? {
canGiveUp,
children: (variant.explanation as (ASTNode & {
nodeKind: 'reference'
})[]).map(({ dottedName }) =>
children: (
variant.explanation as (ASTNode & {
nodeKind: 'reference'
})[]
).map(({ dottedName }) =>
buildVariantTree(engine, dottedName as Name)
),
}

View File

@ -130,24 +130,20 @@ const CotisationsSection: Partial<Record<DottedName, Array<string>>> = {
],
}
interface DistributionProps {
disableAnimation: boolean
}
function Distribution({ disableAnimation }: DistributionProps) {
function Distribution() {
const targetUnit = useSelector(targetUnitSelector)
const engine = useEngine()
const distribution = (Object.entries(
CotisationsSection
).map(([section, cotisations]) => [
section,
cotisations
.map((c) => engine.evaluate({ valeur: c, unité: targetUnit }))
.reduce(
(acc, evaluation) => acc + ((evaluation?.nodeValue as number) || 0),
0
),
]) as Array<[DottedName, number]>)
const distribution = (
Object.entries(CotisationsSection).map(([section, cotisations]) => [
section,
cotisations
.map((c) => engine.evaluate({ valeur: c, unité: targetUnit }))
.reduce(
(acc, evaluation) => acc + ((evaluation?.nodeValue as number) || 0),
0
),
]) as Array<[DottedName, number]>
)
.filter(([, value]) => value > 0)
.sort(([, a], [, b]) => b - a)
@ -162,7 +158,6 @@ function Distribution({ disableAnimation }: DistributionProps) {
dottedName={sectionName}
value={value}
maximum={maximum}
disableAnimation={disableAnimation}
/>
))}
</div>
@ -175,7 +170,6 @@ type DistributionBranchProps = {
value: number
maximum: number
icon?: string
disableAnimation: boolean
}
function DistributionBranch({
@ -183,7 +177,6 @@ function DistributionBranch({
value,
icon,
maximum,
disableAnimation,
}: DistributionBranchProps) {
const branche = useEngine().getRule(dottedName)
@ -195,7 +188,6 @@ function DistributionBranch({
icon={icon ?? branche.rawNode.icônes}
description={branche.rawNode.résumé}
unit="€"
disableAnimation={disableAnimation}
/>
)
}

View File

@ -92,7 +92,8 @@ function CaisseRetraite() {
return (
<>
{caisses.map((caisse) => {
const dottedName = `dirigeant . indépendant . PL . ${caisse}` as DottedName
const dottedName =
`dirigeant . indépendant . PL . ${caisse}` as DottedName
const { description, références } = engine.getRule(dottedName).rawNode
return (
<Condition expression={dottedName} key={caisse}>

View File

@ -3,34 +3,24 @@ import { useContext } from 'react'
export const icons = {
facebook: {
icon:
'M34.1,47V33.3h4.6l0.7-5.3h-5.3v-3.4c0-1.5,0.4-2.6,2.6-2.6l2.8,0v-4.8c-0.5-0.1-2.2-0.2-4.1-0.2 c-4.1,0-6.9,2.5-6.9,7V28H24v5.3h4.6V47H34.1z',
mask:
'M0,0v64h64V0H0z M39.6,22l-2.8,0c-2.2,0-2.6,1.1-2.6,2.6V28h5.3l-0.7,5.3h-4.6V47h-5.5V33.3H24V28h4.6V24 c0-4.6,2.8-7,6.9-7c2,0,3.6,0.1,4.1,0.2V22z',
icon: 'M34.1,47V33.3h4.6l0.7-5.3h-5.3v-3.4c0-1.5,0.4-2.6,2.6-2.6l2.8,0v-4.8c-0.5-0.1-2.2-0.2-4.1-0.2 c-4.1,0-6.9,2.5-6.9,7V28H24v5.3h4.6V47H34.1z',
mask: 'M0,0v64h64V0H0z M39.6,22l-2.8,0c-2.2,0-2.6,1.1-2.6,2.6V28h5.3l-0.7,5.3h-4.6V47h-5.5V33.3H24V28h4.6V24 c0-4.6,2.8-7,6.9-7c2,0,3.6,0.1,4.1,0.2V22z',
},
twitter: {
icon:
'M48,22.1c-1.2,0.5-2.4,0.9-3.8,1c1.4-0.8,2.4-2.1,2.9-3.6c-1.3,0.8-2.7,1.3-4.2,1.6 C41.7,19.8,40,19,38.2,19c-3.6,0-6.6,2.9-6.6,6.6c0,0.5,0.1,1,0.2,1.5c-5.5-0.3-10.3-2.9-13.5-6.9c-0.6,1-0.9,2.1-0.9,3.3 c0,2.3,1.2,4.3,2.9,5.5c-1.1,0-2.1-0.3-3-0.8c0,0,0,0.1,0,0.1c0,3.2,2.3,5.8,5.3,6.4c-0.6,0.1-1.1,0.2-1.7,0.2c-0.4,0-0.8,0-1.2-0.1 c0.8,2.6,3.3,4.5,6.1,4.6c-2.2,1.8-5.1,2.8-8.2,2.8c-0.5,0-1.1,0-1.6-0.1c2.9,1.9,6.4,2.9,10.1,2.9c12.1,0,18.7-10,18.7-18.7 c0-0.3,0-0.6,0-0.8C46,24.5,47.1,23.4,48,22.1z',
mask:
'M0,0v64h64V0H0z M44.7,25.5c0,0.3,0,0.6,0,0.8C44.7,35,38.1,45,26.1,45c-3.7,0-7.2-1.1-10.1-2.9 c0.5,0.1,1,0.1,1.6,0.1c3.1,0,5.9-1,8.2-2.8c-2.9-0.1-5.3-2-6.1-4.6c0.4,0.1,0.8,0.1,1.2,0.1c0.6,0,1.2-0.1,1.7-0.2 c-3-0.6-5.3-3.3-5.3-6.4c0,0,0-0.1,0-0.1c0.9,0.5,1.9,0.8,3,0.8c-1.8-1.2-2.9-3.2-2.9-5.5c0-1.2,0.3-2.3,0.9-3.3 c3.2,4,8.1,6.6,13.5,6.9c-0.1-0.5-0.2-1-0.2-1.5c0-3.6,2.9-6.6,6.6-6.6c1.9,0,3.6,0.8,4.8,2.1c1.5-0.3,2.9-0.8,4.2-1.6 c-0.5,1.5-1.5,2.8-2.9,3.6c1.3-0.2,2.6-0.5,3.8-1C47.1,23.4,46,24.5,44.7,25.5z',
icon: 'M48,22.1c-1.2,0.5-2.4,0.9-3.8,1c1.4-0.8,2.4-2.1,2.9-3.6c-1.3,0.8-2.7,1.3-4.2,1.6 C41.7,19.8,40,19,38.2,19c-3.6,0-6.6,2.9-6.6,6.6c0,0.5,0.1,1,0.2,1.5c-5.5-0.3-10.3-2.9-13.5-6.9c-0.6,1-0.9,2.1-0.9,3.3 c0,2.3,1.2,4.3,2.9,5.5c-1.1,0-2.1-0.3-3-0.8c0,0,0,0.1,0,0.1c0,3.2,2.3,5.8,5.3,6.4c-0.6,0.1-1.1,0.2-1.7,0.2c-0.4,0-0.8,0-1.2-0.1 c0.8,2.6,3.3,4.5,6.1,4.6c-2.2,1.8-5.1,2.8-8.2,2.8c-0.5,0-1.1,0-1.6-0.1c2.9,1.9,6.4,2.9,10.1,2.9c12.1,0,18.7-10,18.7-18.7 c0-0.3,0-0.6,0-0.8C46,24.5,47.1,23.4,48,22.1z',
mask: 'M0,0v64h64V0H0z M44.7,25.5c0,0.3,0,0.6,0,0.8C44.7,35,38.1,45,26.1,45c-3.7,0-7.2-1.1-10.1-2.9 c0.5,0.1,1,0.1,1.6,0.1c3.1,0,5.9-1,8.2-2.8c-2.9-0.1-5.3-2-6.1-4.6c0.4,0.1,0.8,0.1,1.2,0.1c0.6,0,1.2-0.1,1.7-0.2 c-3-0.6-5.3-3.3-5.3-6.4c0,0,0-0.1,0-0.1c0.9,0.5,1.9,0.8,3,0.8c-1.8-1.2-2.9-3.2-2.9-5.5c0-1.2,0.3-2.3,0.9-3.3 c3.2,4,8.1,6.6,13.5,6.9c-0.1-0.5-0.2-1-0.2-1.5c0-3.6,2.9-6.6,6.6-6.6c1.9,0,3.6,0.8,4.8,2.1c1.5-0.3,2.9-0.8,4.2-1.6 c-0.5,1.5-1.5,2.8-2.9,3.6c1.3-0.2,2.6-0.5,3.8-1C47.1,23.4,46,24.5,44.7,25.5z',
},
linkedin: {
icon:
'M20.4,44h5.4V26.6h-5.4V44z M23.1,18c-1.7,0-3.1,1.4-3.1,3.1c0,1.7,1.4,3.1,3.1,3.1 c1.7,0,3.1-1.4,3.1-3.1C26.2,19.4,24.8,18,23.1,18z M39.5,26.2c-2.6,0-4.4,1.4-5.1,2.8h-0.1v-2.4h-5.2V44h5.4v-8.6 c0-2.3,0.4-4.5,3.2-4.5c2.8,0,2.8,2.6,2.8,4.6V44H46v-9.5C46,29.8,45,26.2,39.5,26.2z',
mask:
'M0,0v64h64V0H0z M25.8,44h-5.4V26.6h5.4V44z M23.1,24.3c-1.7,0-3.1-1.4-3.1-3.1c0-1.7,1.4-3.1,3.1-3.1 c1.7,0,3.1,1.4,3.1,3.1C26.2,22.9,24.8,24.3,23.1,24.3z M46,44h-5.4v-8.4c0-2,0-4.6-2.8-4.6c-2.8,0-3.2,2.2-3.2,4.5V44h-5.4V26.6 h5.2V29h0.1c0.7-1.4,2.5-2.8,5.1-2.8c5.5,0,6.5,3.6,6.5,8.3V44z',
icon: 'M20.4,44h5.4V26.6h-5.4V44z M23.1,18c-1.7,0-3.1,1.4-3.1,3.1c0,1.7,1.4,3.1,3.1,3.1 c1.7,0,3.1-1.4,3.1-3.1C26.2,19.4,24.8,18,23.1,18z M39.5,26.2c-2.6,0-4.4,1.4-5.1,2.8h-0.1v-2.4h-5.2V44h5.4v-8.6 c0-2.3,0.4-4.5,3.2-4.5c2.8,0,2.8,2.6,2.8,4.6V44H46v-9.5C46,29.8,45,26.2,39.5,26.2z',
mask: 'M0,0v64h64V0H0z M25.8,44h-5.4V26.6h5.4V44z M23.1,24.3c-1.7,0-3.1-1.4-3.1-3.1c0-1.7,1.4-3.1,3.1-3.1 c1.7,0,3.1,1.4,3.1,3.1C26.2,22.9,24.8,24.3,23.1,24.3z M46,44h-5.4v-8.4c0-2,0-4.6-2.8-4.6c-2.8,0-3.2,2.2-3.2,4.5V44h-5.4V26.6 h5.2V29h0.1c0.7-1.4,2.5-2.8,5.1-2.8c5.5,0,6.5,3.6,6.5,8.3V44z',
},
github: {
icon:
'M32,16c-8.8,0-16,7.2-16,16c0,7.1,4.6,13.1,10.9,15.2 c0.8,0.1,1.1-0.3,1.1-0.8c0-0.4,0-1.4,0-2.7c-4.5,1-5.4-2.1-5.4-2.1c-0.7-1.8-1.8-2.3-1.8-2.3c-1.5-1,0.1-1,0.1-1 c1.6,0.1,2.5,1.6,2.5,1.6c1.4,2.4,3.7,1.7,4.7,1.3c0.1-1,0.6-1.7,1-2.1c-3.6-0.4-7.3-1.8-7.3-7.9c0-1.7,0.6-3.2,1.6-4.3 c-0.2-0.4-0.7-2,0.2-4.2c0,0,1.3-0.4,4.4,1.6c1.3-0.4,2.6-0.5,4-0.5c1.4,0,2.7,0.2,4,0.5c3.1-2.1,4.4-1.6,4.4-1.6 c0.9,2.2,0.3,3.8,0.2,4.2c1,1.1,1.6,2.5,1.6,4.3c0,6.1-3.7,7.5-7.3,7.9c0.6,0.5,1.1,1.5,1.1,3c0,2.1,0,3.9,0,4.4 c0,0.4,0.3,0.9,1.1,0.8C43.4,45.1,48,39.1,48,32C48,23.2,40.8,16,32,16z',
mask:
'M0,0v64h64V0H0z M37.1,47.2c-0.8,0.2-1.1-0.3-1.1-0.8c0-0.5,0-2.3,0-4.4c0-1.5-0.5-2.5-1.1-3 c3.6-0.4,7.3-1.7,7.3-7.9c0-1.7-0.6-3.2-1.6-4.3c0.2-0.4,0.7-2-0.2-4.2c0,0-1.3-0.4-4.4,1.6c-1.3-0.4-2.6-0.5-4-0.5 c-1.4,0-2.7,0.2-4,0.5c-3.1-2.1-4.4-1.6-4.4-1.6c-0.9,2.2-0.3,3.8-0.2,4.2c-1,1.1-1.6,2.5-1.6,4.3c0,6.1,3.7,7.5,7.3,7.9 c-0.5,0.4-0.9,1.1-1,2.1c-0.9,0.4-3.2,1.1-4.7-1.3c0,0-0.8-1.5-2.5-1.6c0,0-1.6,0-0.1,1c0,0,1,0.5,1.8,2.3c0,0,0.9,3.1,5.4,2.1 c0,1.3,0,2.3,0,2.7c0,0.4-0.3,0.9-1.1,0.8C20.6,45.1,16,39.1,16,32c0-8.8,7.2-16,16-16c8.8,0,16,7.2,16,16 C48,39.1,43.4,45.1,37.1,47.2z',
icon: 'M32,16c-8.8,0-16,7.2-16,16c0,7.1,4.6,13.1,10.9,15.2 c0.8,0.1,1.1-0.3,1.1-0.8c0-0.4,0-1.4,0-2.7c-4.5,1-5.4-2.1-5.4-2.1c-0.7-1.8-1.8-2.3-1.8-2.3c-1.5-1,0.1-1,0.1-1 c1.6,0.1,2.5,1.6,2.5,1.6c1.4,2.4,3.7,1.7,4.7,1.3c0.1-1,0.6-1.7,1-2.1c-3.6-0.4-7.3-1.8-7.3-7.9c0-1.7,0.6-3.2,1.6-4.3 c-0.2-0.4-0.7-2,0.2-4.2c0,0,1.3-0.4,4.4,1.6c1.3-0.4,2.6-0.5,4-0.5c1.4,0,2.7,0.2,4,0.5c3.1-2.1,4.4-1.6,4.4-1.6 c0.9,2.2,0.3,3.8,0.2,4.2c1,1.1,1.6,2.5,1.6,4.3c0,6.1-3.7,7.5-7.3,7.9c0.6,0.5,1.1,1.5,1.1,3c0,2.1,0,3.9,0,4.4 c0,0.4,0.3,0.9,1.1,0.8C43.4,45.1,48,39.1,48,32C48,23.2,40.8,16,32,16z',
mask: 'M0,0v64h64V0H0z M37.1,47.2c-0.8,0.2-1.1-0.3-1.1-0.8c0-0.5,0-2.3,0-4.4c0-1.5-0.5-2.5-1.1-3 c3.6-0.4,7.3-1.7,7.3-7.9c0-1.7-0.6-3.2-1.6-4.3c0.2-0.4,0.7-2-0.2-4.2c0,0-1.3-0.4-4.4,1.6c-1.3-0.4-2.6-0.5-4-0.5 c-1.4,0-2.7,0.2-4,0.5c-3.1-2.1-4.4-1.6-4.4-1.6c-0.9,2.2-0.3,3.8-0.2,4.2c-1,1.1-1.6,2.5-1.6,4.3c0,6.1,3.7,7.5,7.3,7.9 c-0.5,0.4-0.9,1.1-1,2.1c-0.9,0.4-3.2,1.1-4.7-1.3c0,0-0.8-1.5-2.5-1.6c0,0-1.6,0-0.1,1c0,0,1,0.5,1.8,2.3c0,0,0.9,3.1,5.4,2.1 c0,1.3,0,2.3,0,2.7c0,0.4-0.3,0.9-1.1,0.8C20.6,45.1,16,39.1,16,32c0-8.8,7.2-16,16-16c8.8,0,16,7.2,16,16 C48,39.1,43.4,45.1,37.1,47.2z',
},
email: {
icon:
'M17,22v20h30V22H17z M41.1,25L32,32.1L22.9,25H41.1z M20,39V26.6l12,9.3l12-9.3V39H20z',
mask:
'M41.1,25H22.9l9.1,7.1L41.1,25z M44,26.6l-12,9.3l-12-9.3V39h24V26.6z M0,0v64h64V0H0z M47,42H17V22h30V42z',
icon: 'M17,22v20h30V22H17z M41.1,25L32,32.1L22.9,25H41.1z M20,39V26.6l12,9.3l12-9.3V39H20z',
mask: 'M41.1,25H22.9l9.1,7.1L41.1,25z M44,26.6l-12,9.3l-12-9.3V39h24V26.6z M0,0v64h64V0H0z M47,42H17V22h30V42z',
},
}

View File

@ -115,10 +115,12 @@ export const cleanSearchParams = (
export const getRulesParamNames = (
parsedRules: ParsedRules<DottedName>
): [DottedName, ParamName][] =>
(Object.entries(parsedRules) as [
DottedName,
{ rawNode: { 'identifiant court'?: ShortName } }
][]).map(([dottedName, ruleNode]) => [
(
Object.entries(parsedRules) as [
DottedName,
{ rawNode: { 'identifiant court'?: ShortName } }
][]
).map(([dottedName, ruleNode]) => [
dottedName,
ruleNode.rawNode['identifiant court'] || dottedName,
])

View File

@ -41,17 +41,15 @@ export const attributesToTranslate = [
'identifiant court',
]
const translateProp = (lang: string, translation: Translation) => (
rule: Rule,
prop: string
) => {
if (prop === 'suggestions' && rule?.suggestions) {
return translateSuggestion(prop, rule, translation, lang)
const translateProp =
(lang: string, translation: Translation) => (rule: Rule, prop: string) => {
if (prop === 'suggestions' && rule?.suggestions) {
return translateSuggestion(prop, rule, translation, lang)
}
let propTrans = translation[prop + '.' + lang]
propTrans = propTrans?.replace(/^\[automatic\] /, '')
return propTrans ? assoc(prop, propTrans, rule) : rule
}
let propTrans = translation[prop + '.' + lang]
propTrans = propTrans?.replace(/^\[automatic\] /, '')
return propTrans ? assoc(prop, propTrans, rule) : rule
}
function translateRule<Names extends string>(
lang: string,

View File

@ -126,6 +126,9 @@ Plafonds des tranches: Wafer ceilings
Plein écran: Fullscreen
Plus d'informations: More information (fr)
Plusieurs associés: Several partners
"Pour en savoir plus, rendez-vous sur le site <2>aquoiserventlescotisations":
urssaf:
fr</2>: To find out more, visit <2>aquoiserventlescotisations.urssaf.fr</2>
Prise en charge du revenu net avec chômage partiel: Net income support with short-time working
Prochaines questions: Next questions
Professionnels de santé: Health Care Professionals
@ -1357,8 +1360,9 @@ pages:
shortname: PAMC
title: "PAMC: contribution and income simulators"
print-info:
recover: Find it, as well as other tools to help create and manage a business on <2>mycompanyinfrance.fr</2>
date: This simulation was performed on
recover: You can find this simulation and other tools to help you create and
manage your business on <2>mon-entreprise.fr</2>.
title: Would you like to recover this simulation?
profession-libérale:
meta:

View File

@ -52,6 +52,10 @@ Passer: Passer
Personnalisez l'intégration: Personnalisez l'intégration
Plus d'informations: Plus d'informations
Plusieurs associés: Plusieurs associés
"Pour en savoir plus, rendez-vous sur le site <2>aquoiserventlescotisations":
urssaf:
fr</2>: Pour en savoir plus, rendez-vous sur le site
<2>aquoiserventlescotisations.urssaf.fr</2>
Prochaines questions: Prochaines questions
Professions libérales: Professions libérales
Précédent: Précédent
@ -1009,8 +1013,9 @@ pages:
shortname: PAMC
title: "PAMC : simulateurs de cotisations et de revenu"
print-info:
recover: Retrouvez la, ainsi que d'autres outils d'aide à la création et à la gestion d'entreprise, sur <2>mon-entreprise.fr</2>
date: Cette simulation a été effectuée le
date: Cette simulation a été effectuée le
recover: Retrouvez cette simulation ainsi que d'autres outils d'aide à la
création et à la gestion d'entreprise, sur <2>mon-entreprise.fr</2>.
title: Vous souhaitez retrouver cette simulation ?
profession-libérale:
meta:

View File

@ -45,10 +45,12 @@ export default function ResultatsSimples() {
Vous pouvez reporter les montants suivants dans votre déclaration,
calculés à partir des informations saisies.
</p>
{([
'aide déclaration revenu indépendant 2020 . résultat simple . cotisations obligatoires',
'aide déclaration revenu indépendant 2020 . résultat simple . total charges sociales déductible',
] as const).map((dottedName) => {
{(
[
'aide déclaration revenu indépendant 2020 . résultat simple . cotisations obligatoires',
'aide déclaration revenu indépendant 2020 . résultat simple . total charges sociales déductible',
] as const
).map((dottedName) => {
const r = engine.getRule(dottedName)
if (engine.evaluate(dottedName).nodeValue === false) {
return null
@ -114,13 +116,15 @@ export default function ResultatsSimples() {
grid-template-columns: repeat(3, auto);
`}
>
{([
'aide déclaration revenu indépendant 2020 . réduction covid . total',
'aide déclaration revenu indépendant 2020 . résultat simple . revenu net fiscal',
'aide déclaration revenu indépendant 2020 . résultat simple . CSG déductible',
'aide déclaration revenu indépendant 2020 . résultat simple . CFP',
'aide déclaration revenu indépendant 2020 . résultat simple . assiette sociale',
] as const).map((dottedName) => {
{(
[
'aide déclaration revenu indépendant 2020 . réduction covid . total',
'aide déclaration revenu indépendant 2020 . résultat simple . revenu net fiscal',
'aide déclaration revenu indépendant 2020 . résultat simple . CSG déductible',
'aide déclaration revenu indépendant 2020 . résultat simple . CFP',
'aide déclaration revenu indépendant 2020 . résultat simple . assiette sociale',
] as const
).map((dottedName) => {
const r = engine.getRule(dottedName)
if (engine.evaluate(dottedName).nodeValue === false) {
return null

View File

@ -46,13 +46,15 @@ export default function ResultatsParFormulaire() {
déclaration correcte.{' '}
</p>
<p>En cas de doute, référez-vous à votre expert comptable.</p>
{([
'aide déclaration revenu indépendant 2020 . formulaire 2035',
'aide déclaration revenu indépendant 2020 . formulaire 2033',
'aide déclaration revenu indépendant 2020 . formulaire 2050',
'aide déclaration revenu indépendant 2020 . formulaire 2042',
'aide déclaration revenu indépendant 2020 . formulaire 2042 PRO C',
] as const).map((dottedName) => (
{(
[
'aide déclaration revenu indépendant 2020 . formulaire 2035',
'aide déclaration revenu indépendant 2020 . formulaire 2033',
'aide déclaration revenu indépendant 2020 . formulaire 2050',
'aide déclaration revenu indépendant 2020 . formulaire 2042',
'aide déclaration revenu indépendant 2020 . formulaire 2042 PRO C',
] as const
).map((dottedName) => (
<DeclarationForm key={dottedName} dottedName={dottedName} />
))}
<Condition expression="aide déclaration revenu indépendant 2020 . informations résultat par formulaire">

View File

@ -34,10 +34,12 @@ export default function FieldsPDF({ fields }: FieldsPDFProps) {
{formatValue(engine.evaluate(dottedName)) +
(API === 'commune'
? ` (${
(engine.evaluate(dottedName).nodeValue as Record<
string,
unknown
>)?.codePostal as string
(
engine.evaluate(dottedName).nodeValue as Record<
string,
unknown
>
)?.codePostal as string
})`
: '')}{' '}
</Text>

View File

@ -222,15 +222,15 @@ activité transfrontalière simultanée . activité salariée . profession:
activité transfrontalière simultanée . activité salariée . période:
type: groupe
formule: oui
? activité transfrontalière simultanée . activité salariée . période . date de début du contrat
: type: date
? activité transfrontalière simultanée . activité salariée . période . date de fin connue
: question: Votre contrat salarié a-t'il une date de fin ?
? activité transfrontalière simultanée . activité salariée . période . date de fin
: applicable si: date de fin connue
activité transfrontalière simultanée . activité salariée . période . date de début du contrat:
type: date
? activité transfrontalière simultanée . activité salariée . période . vérification
: titre: Date d'activité salariée non valides
activité transfrontalière simultanée . activité salariée . période . date de fin connue:
question: Votre contrat salarié a-t'il une date de fin ?
activité transfrontalière simultanée . activité salariée . période . date de fin:
applicable si: date de fin connue
type: date
activité transfrontalière simultanée . activité salariée . période . vérification:
titre: Date d'activité salariée non valides
formule: date de début du contrat > date de fin
type: notification
description: La date de fin du contrat ne peut être antérieure à la date de début
@ -246,32 +246,32 @@ activité transfrontalière simultanée . activité salariée . employeur . adre
type: texte
activité transfrontalière simultanée . activité salariée . employeur . ville:
type: texte
? activité transfrontalière simultanée . activité salariée . employeur . code postal
: type: texte
activité transfrontalière simultanée . activité salariée . employeur . code postal:
type: texte
activité transfrontalière simultanée . activité salariée . lieu d'exercice:
titre: Lieu effectif d'activité
type: groupe
formule: oui
? activité transfrontalière simultanée . activité salariée . lieu d'exercice . employeur
: question: Exercerez-vous effectivement cette activité salariée dans le pays de votre employeur ?
activité transfrontalière simultanée . activité salariée . lieu d'exercice . employeur:
question: Exercerez-vous effectivement cette activité salariée dans le pays de votre employeur ?
description: Votre activité salariée peut-être exercé depuis un autre pays que celui de l'employeur par exemple en cas de télétravail.
? activité transfrontalière simultanée . activité salariée . lieu d'exercice . lieu de résidence
: question: Exercerez-vous cette activité salariée dans votre pays de résidence ?
activité transfrontalière simultanée . activité salariée . lieu d'exercice . lieu de résidence:
question: Exercerez-vous cette activité salariée dans votre pays de résidence ?
non applicable si: employeur
? activité transfrontalière simultanée . activité salariée . lieu d'exercice . pays
: non applicable si:
activité transfrontalière simultanée . activité salariée . lieu d'exercice . pays:
non applicable si:
une de ces conditions:
- lieu de résidence
- employeur
question: Quel sera le pays dans lequel vous exercerez cette activité salariée ?
API: pays européen
? activité transfrontalière simultanée . activité salariée . lieu d'exercice . pays . autre
: applicable si: pays = 'Autre'
activité transfrontalière simultanée . activité salariée . lieu d'exercice . pays . autre:
applicable si: pays = 'Autre'
titre: Nom du pays
type: texte
@ -280,12 +280,12 @@ activité transfrontalière simultanée . activité salariée . revenus:
type: groupe
formule: oui
? activité transfrontalière simultanée . activité salariée . revenus . taux horaire
: type: texte
activité transfrontalière simultanée . activité salariée . revenus . taux horaire:
type: texte
question: Quel est le taux horaire brut (dans la monnaie du pays d'accueil) ?
? activité transfrontalière simultanée . activité salariée . revenus . nombre d'heures
: type: nombre
activité transfrontalière simultanée . activité salariée . revenus . nombre d'heures:
type: nombre
unité: heures/semaine
question: Quel est le temps de travail hebdomadaire inscrit au contrat de travail ?
@ -294,16 +294,16 @@ activité transfrontalière simultanée . activité salariée . revenus . revenu
type: nombre
unité: €/an
? activité transfrontalière simultanée . activité salariée . revenus . activité substantielle
: question: >
activité transfrontalière simultanée . activité salariée . revenus . activité substantielle:
question: >
Considérez-vous que votre activité salariée représentera plus de 5% de votre activité professionnelle pour les 12 prochains mois ?
? activité transfrontalière simultanée . activité salariée . revenus . articulation activité indépendante
: question: Comment votre activité salariée s'articulera-t-elle avec votre activité indépendante au cours des 12 prochains mois (périodes, revenu, etc.) ?
activité transfrontalière simultanée . activité salariée . revenus . articulation activité indépendante:
question: Comment votre activité salariée s'articulera-t-elle avec votre activité indépendante au cours des 12 prochains mois (périodes, revenu, etc.) ?
type: paragraphe
? activité transfrontalière simultanée . activité salariée . activité indépendante additionnelle
: question: >
activité transfrontalière simultanée . activité salariée . activité indépendante additionnelle:
question: >
Exercez-vous également une activité non salariée à l'étranger ?
activité transfrontalière simultanée . part substantielle France:
@ -336,21 +336,21 @@ activité transfrontalière simultanée . activité non salariée . n°1:
formule: oui
activité transfrontalière simultanée . activité non salariée . n°1 . pays:
API: pays européen
? activité transfrontalière simultanée . activité non salariée . n°1 . pays . autre
: applicable si: pays = 'Autre'
activité transfrontalière simultanée . activité non salariée . n°1 . pays . autre:
applicable si: pays = 'Autre'
titre: Nom du pays
type: texte
? activité transfrontalière simultanée . activité non salariée . n°1 . nom de l'entreprise
: type: texte
activité transfrontalière simultanée . activité non salariée . n°1 . nom de l'entreprise:
type: texte
activité transfrontalière simultanée . activité non salariée . n°1 . adresse:
type: texte
activité transfrontalière simultanée . activité non salariée . n°1 . ville:
type: texte
? activité transfrontalière simultanée . activité non salariée . n°1 . code postal
: type: texte
? activité transfrontalière simultanée . activité non salariée . n°1 . date de début d'activité
: type: date
activité transfrontalière simultanée . activité non salariée . n°1 . code postal:
type: texte
activité transfrontalière simultanée . activité non salariée . n°1 . date de début d'activité:
type: date
activité transfrontalière simultanée . activité non salariée . n°2:
titre: activité non salarié n°2
@ -359,20 +359,20 @@ activité transfrontalière simultanée . activité non salariée . n°2:
formule: oui
activité transfrontalière simultanée . activité non salariée . n°2 . pays:
API: pays européen
? activité transfrontalière simultanée . activité non salariée . n°2 . pays . autre
: applicable si: pays = 'Autre'
activité transfrontalière simultanée . activité non salariée . n°2 . pays . autre:
applicable si: pays = 'Autre'
titre: Nom du pays
type: texte
? activité transfrontalière simultanée . activité non salariée . n°2 . nom de l'entreprise
: type: texte
activité transfrontalière simultanée . activité non salariée . n°2 . nom de l'entreprise:
type: texte
activité transfrontalière simultanée . activité non salariée . n°2 . adresse:
type: texte
activité transfrontalière simultanée . activité non salariée . n°2 . ville:
type: texte
? activité transfrontalière simultanée . activité non salariée . n°2 . code postal
: type: texte
? activité transfrontalière simultanée . activité non salariée . n°2 . date de début d'activité
: type: date
activité transfrontalière simultanée . activité non salariée . n°2 . code postal:
type: texte
activité transfrontalière simultanée . activité non salariée . n°2 . date de début d'activité:
type: date
activité transfrontalière simultanée . activité non salariée . n°3:
titre: activité non salarié n°3
@ -381,23 +381,23 @@ activité transfrontalière simultanée . activité non salariée . n°3:
formule: oui
activité transfrontalière simultanée . activité non salariée . n°3 . pays:
API: pays européen
? activité transfrontalière simultanée . activité non salariée . n°3 . pays . autre
: applicable si: pays = 'Autre'
activité transfrontalière simultanée . activité non salariée . n°3 . pays . autre:
applicable si: pays = 'Autre'
titre: Nom du pays
type: texte
? activité transfrontalière simultanée . activité non salariée . n°3 . nom de l'entreprise
: type: texte
activité transfrontalière simultanée . activité non salariée . n°3 . nom de l'entreprise:
type: texte
activité transfrontalière simultanée . activité non salariée . n°3 . adresse:
type: texte
activité transfrontalière simultanée . activité non salariée . n°3 . ville:
type: texte
? activité transfrontalière simultanée . activité non salariée . n°3 . code postal
: type: texte
? activité transfrontalière simultanée . activité non salariée . n°3 . date de début d'activité
: type: date
activité transfrontalière simultanée . activité non salariée . n°3 . code postal:
type: texte
activité transfrontalière simultanée . activité non salariée . n°3 . date de début d'activité:
type: date
? activité transfrontalière simultanée . activité non salariée . pays centre d'intérêt
: type: groupe
activité transfrontalière simultanée . activité non salariée . pays centre d'intérêt:
type: groupe
formule: oui
titre: Quel sera votre pays "centre d'intêret" pour les 12 prochains mois ?
non applicable si:
@ -430,11 +430,11 @@ activité transfrontalière simultanée . activité non salariée . n°3 . ville
circonstances (notamment ses projets), de faire des Pays-Bas le centre
dintérêt de son activité.
? activité transfrontalière simultanée . activité non salariée . pays centre d'intérêt . pays
: API: pays européen
activité transfrontalière simultanée . activité non salariée . pays centre d'intérêt . pays:
API: pays européen
titre: Pays "centre d'intêret"
? activité transfrontalière simultanée . activité non salariée . pays centre d'intérêt . pays . autre
: applicable si: pays = 'Autre'
activité transfrontalière simultanée . activité non salariée . pays centre d'intérêt . pays . autre:
applicable si: pays = 'Autre'
titre: Nom du pays
type: texte
commentaires additionnels:

View File

@ -290,9 +290,8 @@ type CompanySectionProps = {
export const CompanySection = ({ company }: CompanySectionProps) => {
const [searchModal, showSearchModal] = useState(false)
const [autoEntrepreneurModal, showAutoEntrepreneurModal] = useState(false)
const [DirigeantMajoritaireModal, showDirigeantMajoritaireModal] = useState(
false
)
const [DirigeantMajoritaireModal, showDirigeantMajoritaireModal] =
useState(false)
const companyRef = useRef<Company | null>(null)
useEffect(() => {

View File

@ -41,9 +41,9 @@ export default function VotreSituation() {
}
const déclarations = déclarationsSelector(state)
const régimeGénéralDisponible = activitésEffectuéesSelector(
state
).some((activité) => régimeGénéralDisponibleSelector(state, activité))
const régimeGénéralDisponible = activitésEffectuéesSelector(state).some(
(activité) => régimeGénéralDisponibleSelector(state, activité)
)
return (
<FromBottom>

View File

@ -1,12 +1,14 @@
import { hasConditions } from './activitésData'
const filterActivités = (filter = () => true) => (state) =>
Object.entries(state)
.filter(
([activitéTitle, activitéData]) =>
activitéData.effectuée && filter(activitéData, activitéTitle)
)
.map(([activité]) => activité)
const filterActivités =
(filter = () => true) =>
(state) =>
Object.entries(state)
.filter(
([activitéTitle, activitéData]) =>
activitéData.effectuée && filter(activitéData, activitéTitle)
)
.map(([activité]) => activité)
export const nextActivitéSelector = (state, currentActivité) =>
filterActivités(

View File

@ -22,7 +22,7 @@ import SatisfactionChart from './SatisfactionChart'
import { Page, PageChapter2, PageSatisfaction, StatsStruct } from './types'
import { formatDay, formatMonth, Indicator, Indicators } from './utils'
const stats = (statsJson as unknown) as StatsStruct
const stats = statsJson as unknown as StatsStruct
type Period = 'mois' | 'jours'
type Chapter2 = PageChapter2 | 'PAM'

View File

@ -103,9 +103,9 @@ function simulation(
unfoldedStep: null,
}
case 'BATCH_UPDATE_SITUATION': {
return (Object.entries(action.situation as any) as Array<
[Names, unknown]
>).reduce<Simulation | null>(
return (
Object.entries(action.situation as any) as Array<[Names, unknown]>
).reduce<Simulation | null>(
(newState, [fieldName, value]) =>
simulation(newState, {
type: 'UPDATE_SITUATION',

View File

@ -97,21 +97,21 @@ const QUESTION_LIST: Array<Question> = keys(
mergeAll(flatten(Object.values(LEGAL_STATUS_DETAILS)))
)
const isCompatibleStatusWith = (answers: any) => (
statusRequirements: LegalStatusRequirements
): boolean => {
const stringify = map((x) => (!isNil(x) ? JSON.stringify(x) : x))
const answerCompatibility = Object.values(
mergeWith(
(answer, statusValue) =>
isNil(answer) || isNil(statusValue) || answer === statusValue,
stringify(statusRequirements as any),
stringify(answers)
const isCompatibleStatusWith =
(answers: any) =>
(statusRequirements: LegalStatusRequirements): boolean => {
const stringify = map((x) => (!isNil(x) ? JSON.stringify(x) : x))
const answerCompatibility = Object.values(
mergeWith(
(answer, statusValue) =>
isNil(answer) || isNil(statusValue) || answer === statusValue,
stringify(statusRequirements as any),
stringify(answers)
)
)
)
const isCompatibleStatus = answerCompatibility.every((x) => x !== false)
return isCompatibleStatus
}
const isCompatibleStatus = answerCompatibility.every((x) => x !== false)
return isCompatibleStatus
}
const possibleStatus = (
answers: Array<LegalStatusRequirements> | LegalStatusRequirements
): Record<LegalStatus, boolean> =>
@ -140,24 +140,23 @@ export const nextQuestionSelector = (state: RootState): Question | null => {
).filter(isCompatibleStatusWith(legalStatusRequirements) as any)
const unansweredQuestions = difference(QUESTION_LIST, questionAnswered)
const shannonEntropyByQuestion = unansweredQuestions.map((question): [
typeof question,
number
] => {
const answerPopulation = Object.values(possibleStatusList).map(
(status: any) => status[question]
)
const frequencyOfAnswers = Object.values(
countBy(
(x) => x,
answerPopulation.filter((x) => x !== undefined)
const shannonEntropyByQuestion = unansweredQuestions.map(
(question): [typeof question, number] => {
const answerPopulation = Object.values(possibleStatusList).map(
(status: any) => status[question]
)
).map((numOccurrence) => numOccurrence / answerPopulation.length)
const shannonEntropy = -frequencyOfAnswers
.map((p) => p * Math.log2(p))
.reduce(add, 0)
return [question, shannonEntropy]
})
const frequencyOfAnswers = Object.values(
countBy(
(x) => x,
answerPopulation.filter((x) => x !== undefined)
)
).map((numOccurrence) => numOccurrence / answerPopulation.length)
const shannonEntropy = -frequencyOfAnswers
.map((p) => p * Math.log2(p))
.reduce(add, 0)
return [question, shannonEntropy]
}
)
const sortedPossibleNextQuestions = sortBy(
([, entropy]) => -entropy,

View File

@ -1,9 +1,8 @@
import * as Sentry from '@sentry/react'
import { Integrations } from '@sentry/tracing'
let branch: string | undefined = process.env.GITHUB_REF?.split('/')?.slice(
-1
)?.[0]
let branch: string | undefined =
process.env.GITHUB_REF?.split('/')?.slice(-1)?.[0]
if (branch === 'merge') {
branch = process.env.GITHUB_HEAD_REF
@ -28,8 +27,7 @@ export const productionMode = ['master', 'next'].includes(branch ?? '')
if (productionMode) {
Sentry.init({
dsn:
'https://92bbc21937b24136a2fe1b1d922b000f@o548798.ingest.sentry.io/5745615',
dsn: 'https://92bbc21937b24136a2fe1b1d922b000f@o548798.ingest.sentry.io/5745615',
integrations: [new Integrations.BrowserTracing()],
release,
// Set tracesSampleRate to 1.0 to capture 100%

View File

@ -13,11 +13,8 @@ let runExamples = (examples, rule) =>
const situation = Object.entries(ex.situation).reduce(
(acc, [name, value]) => ({
...acc,
[disambiguateRuleReference(
engine.parsedRules,
rule.dottedName,
name
)]: value,
[disambiguateRuleReference(engine.parsedRules, rule.dottedName, name)]:
value,
}),
{}
)

View File

@ -295,16 +295,14 @@ const traversePlancherNode: TraverseFunction<'plancher'> = (fn, node) => ({
},
})
const traverseRésoudreRéférenceCirculaireNode: TraverseFunction<'résoudre référence circulaire'> = (
fn,
node
) => ({
...node,
explanation: {
...node.explanation,
valeur: fn(node.explanation.valeur),
},
})
const traverseRésoudreRéférenceCirculaireNode: TraverseFunction<'résoudre référence circulaire'> =
(fn, node) => ({
...node,
explanation: {
...node.explanation,
valeur: fn(node.explanation.valeur),
},
})
const traversePlafondNode: TraverseFunction<'plafond'> = (fn, node) => ({
...node,

View File

@ -2,33 +2,35 @@ import { Evaluation, Unit } from './AST/types'
import { simplifyNodeUnit } from './nodeUnits'
import { formatUnit, serializeUnit } from './units'
export const numberFormatter = ({
style,
maximumFractionDigits = 2,
minimumFractionDigits = 0,
language,
}: {
style?: string
maximumFractionDigits?: number
minimumFractionDigits?: number
language?: string
}) => (value: number) => {
// When we format currency we don't want to display a single decimal digit
// ie 8,1€ but we want to display 8,10€
const adaptedMinimumFractionDigits =
style === 'currency' &&
maximumFractionDigits >= 2 &&
minimumFractionDigits === 0 &&
!Number.isInteger(value)
? 2
: minimumFractionDigits
return Intl.NumberFormat(language, {
export const numberFormatter =
({
style,
currency: 'EUR',
maximumFractionDigits,
minimumFractionDigits: adaptedMinimumFractionDigits,
}).format(value)
}
maximumFractionDigits = 2,
minimumFractionDigits = 0,
language,
}: {
style?: string
maximumFractionDigits?: number
minimumFractionDigits?: number
language?: string
}) =>
(value: number) => {
// When we format currency we don't want to display a single decimal digit
// ie 8,1€ but we want to display 8,10€
const adaptedMinimumFractionDigits =
style === 'currency' &&
maximumFractionDigits >= 2 &&
minimumFractionDigits === 0 &&
!Number.isInteger(value)
? 2
: minimumFractionDigits
return Intl.NumberFormat(language, {
style,
currency: 'EUR',
maximumFractionDigits,
minimumFractionDigits: adaptedMinimumFractionDigits,
}).format(value)
}
export const formatCurrency = (
nodeValue: number | undefined,
@ -168,9 +170,10 @@ export function serializeValue(
{ nodeValue, unit }: { nodeValue: Evaluation; unit?: Unit },
{ format }: { format: formatUnit }
) {
const serializedUnit = (unit && typeof nodeValue === 'number'
? serializeUnit(unit, nodeValue, format)
: ''
const serializedUnit = (
unit && typeof nodeValue === 'number'
? serializeUnit(unit, nodeValue, format)
: ''
)?.replace(/\s*\/\s*/g, '/')
return `${nodeValue} ${serializedUnit}`.trim()
}

View File

@ -2,19 +2,23 @@
The advantage of putting them here is to get prettier's JS formatting, since Nealrey doesn't support it https://github.com/kach/nearley/issues/310 */
import { normalizeDateString } from './date'
export let binaryOperation = (operationType) => ([A, , operator, , B]) => ({
[operator]: {
operationType,
explanation: [A, B],
},
})
export let binaryOperation =
(operationType) =>
([A, , operator, , B]) => ({
[operator]: {
operationType,
explanation: [A, B],
},
})
export let unaryOperation = (operationType) => ([operator, , A]) => ({
[operator]: {
operationType,
explanation: [number([{ value: '0' }]), A],
},
})
export let unaryOperation =
(operationType) =>
([operator, , A]) => ({
[operator]: {
operationType,
explanation: [number([{ value: '0' }]), A],
},
})
export let variable = ([firstFragment, nextFragment], _, reject) => {
const fragments = [firstFragment, ...nextFragment].map(({ value }) => value)

View File

@ -18,7 +18,7 @@ export type RecalculNode = {
const evaluateRecalcul: EvaluationFunction<'recalcul'> = function (node) {
if (this.cache._meta.inRecalcul) {
return (defaultNode(null) as any) as RecalculNode & EvaluatedNode
return defaultNode(null) as any as RecalculNode & EvaluatedNode
}
const amendedSituation = node.explanation.amendedSituation

View File

@ -14,83 +14,82 @@ export type RésoudreRéférenceCirculaireNode = {
nodeKind: 'résoudre référence circulaire'
}
export const evaluateRésoudreRéférenceCirculaire: EvaluationFunction<'résoudre référence circulaire'> = function (
node
) {
const originalCache = this.cache
let inversionNumberOfIterations = 0
export const evaluateRésoudreRéférenceCirculaire: EvaluationFunction<'résoudre référence circulaire'> =
function (node) {
const originalCache = this.cache
let inversionNumberOfIterations = 0
const evaluateWithValue = (
n: number,
unit: Unit = { numerators: [], denominators: [] }
) => {
inversionNumberOfIterations++
this.resetCache()
const evaluateWithValue = (
n: number,
unit: Unit = { numerators: [], denominators: [] }
) => {
inversionNumberOfIterations++
this.resetCache()
this.parsedSituation[node.explanation.ruleToSolve] = {
unit: unit,
nodeKind: 'unité',
explanation: {
nodeKind: 'constant',
nodeValue: n,
type: 'number',
} as ConstantNode,
} as UnitéNode
return this.evaluate(node.explanation.valeur)
}
let nodeValue: number | null | undefined = null
const x0 = 0
let valeur = evaluateWithValue(x0)
const y0 = valeur.nodeValue as number
const unit = valeur.unit
const missingVariables = valeur.missingVariables
let i = 0
if (y0 !== null) {
// The `uniroot` function parameter. It will be called with its `min` and
// `max` arguments, so we can use our cached nodes if the function is called
// with the already computed x1 or x2.
const test = (x: number): number => {
if (x === x0) {
return y0 - x0
}
valeur = evaluateWithValue(x, unit)
const y = valeur.nodeValue
i++
return (y as number) - x
this.parsedSituation[node.explanation.ruleToSolve] = {
unit: unit,
nodeKind: 'unité',
explanation: {
nodeKind: 'constant',
nodeValue: n,
type: 'number',
} as ConstantNode,
} as UnitéNode
return this.evaluate(node.explanation.valeur)
}
const defaultMin = -1_000_000
const defaultMax = 100_000_000
let nodeValue: number | null | undefined = null
nodeValue = uniroot(test, defaultMin, defaultMax, 0.5, 30, 2)
}
const x0 = 0
let valeur = evaluateWithValue(x0)
this.cache = originalCache
const y0 = valeur.nodeValue as number
const unit = valeur.unit
const missingVariables = valeur.missingVariables
let i = 0
if (y0 !== null) {
// The `uniroot` function parameter. It will be called with its `min` and
// `max` arguments, so we can use our cached nodes if the function is called
// with the already computed x1 or x2.
const test = (x: number): number => {
if (x === x0) {
return y0 - x0
}
valeur = evaluateWithValue(x, unit)
const y = valeur.nodeValue
i++
return (y as number) - x
}
if (nodeValue === undefined) {
nodeValue = null
this.cache._meta.inversionFail = true
}
if (nodeValue !== null) {
valeur = evaluateWithValue(nodeValue, unit)
}
delete this.parsedSituation[node.explanation.ruleToSolve]
const defaultMin = -1_000_000
const defaultMax = 100_000_000
return {
...node,
unit,
nodeValue,
explanation: {
...node.explanation,
valeur,
inversionNumberOfIterations,
},
missingVariables,
nodeValue = uniroot(test, defaultMin, defaultMax, 0.5, 30, 2)
}
this.cache = originalCache
if (nodeValue === undefined) {
nodeValue = null
this.cache._meta.inversionFail = true
}
if (nodeValue !== null) {
valeur = evaluateWithValue(nodeValue, unit)
}
delete this.parsedSituation[node.explanation.ruleToSolve]
return {
...node,
unit,
nodeValue,
explanation: {
...node.explanation,
valeur,
inversionNumberOfIterations,
},
missingVariables,
}
}
}
export default function parseRésoudreRéférenceCirculaire(v, context: Context) {
return {

View File

@ -101,13 +101,12 @@ const equals = <T>(a: T, b: T) => {
}
}
export const removeOnce = <T>(
element: T,
eqFn: (a: T, b: T) => boolean = equals
) => (list: Array<T>): Array<T> => {
const index = list.findIndex((e) => eqFn(e, element))
return list.filter((_, i) => i !== index)
}
export const removeOnce =
<T>(element: T, eqFn: (a: T, b: T) => boolean = equals) =>
(list: Array<T>): Array<T> => {
const index = list.findIndex((e) => eqFn(e, element))
return list.filter((_, i) => i !== index)
}
const simplify = (
unit: Unit,

View File

@ -8,8 +8,7 @@ import 'regenerator-runtime/runtime'
import App from './components/App'
Sentry.init({
dsn:
'https://92bbc21937b24136a2fe1b1d922b000f@o548798.ingest.sentry.io/5745615',
dsn: 'https://92bbc21937b24136a2fe1b1d922b000f@o548798.ingest.sentry.io/5745615',
integrations: [new Integrations.BrowserTracing()],
// Set tracesSampleRate to 1.0 to capture 100%

View File

@ -2,8 +2,9 @@ import { VariationNode } from 'publicodes/source/mecanisms/variations'
import Explanation from '../Explanation'
export default function Replacement(node: VariationNode) {
const applicableReplacement = node.explanation.find((ex) => ex.satisfied)
?.consequence
const applicableReplacement = node.explanation.find(
(ex) => ex.satisfied
)?.consequence
const replacedNode = node.explanation.slice(-1)[0].consequence
return <Explanation node={applicableReplacement || replacedNode} />
}

View File

@ -3421,9 +3421,9 @@
integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==
"@types/prop-types@*":
version "15.7.4"
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
version "15.7.3"
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
"@types/ramda@^0.26.43":
version "0.26.44"
@ -3449,9 +3449,9 @@
"@types/reactcss" "*"
"@types/react-dom@^17.0.0":
version "17.0.9"
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.9.tgz#441a981da9d7be117042e1a6fd3dac4b30f55add"
integrity sha512-wIvGxLfgpVDSAMH5utdL9Ngm5Owu0VsGmldro3ORLXV8CShrL8awVj06NuEXFQ5xyaYfdca7Sgbk/50Ri1GdPg==
version "17.0.0"
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.0.tgz#b3b691eb956c4b3401777ee67b900cb28415d95a"
integrity sha512-lUqY7OlkF/RbNtD5nIq7ot8NquXrdFrjSOR6+w9a9RFQevGi1oZO1dcJbXMeONAPKtZ2UrZOEJ5UOCVsxbLk/g==
dependencies:
"@types/react" "*"
@ -3535,16 +3535,7 @@
dependencies:
"@types/react" "*"
"@types/react@*":
version "17.0.19"
resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.19.tgz#8f2a85e8180a43b57966b237d26a29481dacc991"
integrity sha512-sX1HisdB1/ZESixMTGnMxH9TDe8Sk709734fEQZzCV/4lSu9kJCPbo2PbTRoZM+53Pp0P10hYVyReUueGwUi4A==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
csstype "^3.0.2"
"@types/react@^17.0.0":
"@types/react@*", "@types/react@^17.0.0":
version "17.0.0"
resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.0.tgz#5af3eb7fad2807092f0046a1302b7823e27919b8"
integrity sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==
@ -3582,11 +3573,6 @@
dependencies:
"@types/node" "*"
"@types/scheduler@*":
version "0.16.2"
resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
"@types/sinon-chai@^3.2.5":
version "3.2.5"
resolved "https://registry.yarnpkg.com/@types/sinon-chai/-/sinon-chai-3.2.5.tgz#df21ae57b10757da0b26f512145c065f2ad45c48"
@ -6494,9 +6480,9 @@ cssstyle@^2.3.0:
cssom "~0.3.6"
csstype@^3.0.2:
version "3.0.8"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340"
integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==
version "3.0.2"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.2.tgz#ee5ff8f208c8cd613b389f7b222c9801ca62b3f7"
integrity sha512-ofovWglpqoqbfLNOTBNZLSbMuGrblAf1efvvArGKOZMBrIoJeu5UsAipQolkijtyQx5MtAzT/J9IHj/CEY1mJw==
csv-loader@^2.1.1:
version "2.1.1"