diff --git a/source/règles/base.yaml b/source/règles/base.yaml index 7952c0c7e..cb0434c41 100644 --- a/source/règles/base.yaml +++ b/source/règles/base.yaml @@ -25,6 +25,7 @@ possibilités: - CDI - CDD + - apprentissage - stage par défaut: CDI description: | @@ -740,6 +741,15 @@ références: Le régime des dirigeants: https://www.urssaf.fr/portail/home/employeur/creer/choisir-une-forme-juridique/le-statut-du-dirigeant/les-dirigeants-rattaches-au-regi.html +- espace: contrat salarié + nom: apprentissage + description: | + Le contrat d'apprentissage est un contrat de travail écrit à durée limitée (CDD) ou à durée indéterminée (CDI) entre un salarié et un employeur. Il permet à l'apprenti de suivre une formation en alternance en entreprise sous la responsabilité d'un maître d'apprentissage et en centre de formation des apprentis (CFA) pendant 1 à 3 ans. + formule: contrat salarié = 'apprentissage' + rend non applicable: + - CSG + - CRDS + - espace: contrat salarié nom: stage description: | @@ -763,13 +773,16 @@ références: Gratification minimale: https://www.service-public.fr/professionnels-entreprises/vosdroits/F32131 -- espace: contrat salarié . stage - nom: gratification exonérée d'impôt +- espace: contrat salarié + nom: exonération d'impôt des stagiaires et apprentis description: | Les salaires versés aux apprentis ainsi que les gratifications de stages sont exonérés d'impôt sur le revenu dans la limite d'un SMIC annuel. références: Article 81 bis du Code général des impôts: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000029236245&cidTexte=LEGITEXT000006069577 - applicable si: stage + applicable si: + une de ces conditions: + - apprentissage + - stage période: flexible formule: SMIC @@ -803,6 +816,23 @@ assiette: rémunération . brut abattement: indemnité kilométrique vélo + stage . gratification minimale +- espace: contrat salarié . cotisations . assiette + nom: salariale + titre: Assiette des cotisations sociales + description: | + Les apprentis bénéficient d'une exonération de cotisations sociales jusqu'à 79% du SMIC. + références: + URSSAF: https://www.urssaf.fr/portail/home/employeur/beneficier-dune-exoneration/exonerations-ou-aides-liees-a-la/le-contrat-dapprentissage/exonerations.html + période: flexible + formule: + variations: + - si: apprentissage + alors: + allègement: + assiette: cotisations . assiette + abattement: 79% * SMIC + - sinon: cotisations . assiette + - espace: contrat salarié . rémunération nom: brut de base titre: Salaire brut @@ -824,6 +854,7 @@ - rémunération . assiette de vérification du SMIC [mensuel] < SMIC [mensuel] - assimilé salarié != oui - stage != oui + - apprentissage != oui niveau: avertissement message: | Le salaire saisi est inférieur au SMIC. @@ -1231,7 +1262,7 @@ somme: - indemnité kilométrique vélo - prime d'impatriation - - stage . gratification exonérée d'impôt + - exonération d'impôt des stagiaires et apprentis - heures supplémentaires défiscalisées références: DSN: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110 @@ -2184,6 +2215,7 @@ - attributs: dû par: salarié + assiette: cotisations . assiette . salariale tranches: - en-dessous de: 1 taux: 0.86% @@ -2245,6 +2277,7 @@ - attributs: dû par: salarié + assiette: cotisations . assiette . salariale tranches: - en-dessous de: 1 taux: 3.15% @@ -3012,6 +3045,7 @@ composantes: - attributs: dû par: salarié + assiette: cotisations . assiette . salariale composantes: - nom: non plafonnée taux: 0.4% @@ -3137,7 +3171,7 @@ - espace: impôt . méthode de calcul nom: barème standard titre: avec le barème standard - description: Le calcul "officiel" de l'impôt, celui sur lequel l'administration fiscal se base pour calculer votre taux d'imposition. Pour l'instant, ne prend en compte que l'abattement 10%, le barème et la décôte. + description: Le calcul "officiel" de l'impôt, celui sur lequel l'administration fiscal se base pour calculer votre taux d'imposition. Pour l'instant, ne prend en compte que l'abattement 10%, le barème et la décote. formule: impôt . méthode de calcul = 'barème standard' - espace: impôt diff --git a/source/règles/externalized.yaml b/source/règles/externalized.yaml index b6cc55d4d..8fe21983f 100644 --- a/source/règles/externalized.yaml +++ b/source/règles/externalized.yaml @@ -565,6 +565,21 @@ contrat salarié . assimilé salarié: question.fr: Le salarié est-il considéré comme "assimilé salarié" ? titre.en: Assimilated salaried titre.fr: assimilé salarié +contrat salarié . apprentissage: + description.en: > + An apprenticeship contract is a written employment contract of limited + duration (CDD) or indefinite duration (CDI) between an employee and an + employer. It allows the apprentice to follow a work-study program in a + company under the responsibility of an apprentice master and in an + apprenticeship training centre (CFA) for 1 to 3 years. + description.fr: > + Le contrat d'apprentissage est un contrat de travail écrit à durée limitée + (CDD) ou à durée indéterminée (CDI) entre un salarié et un employeur. Il + permet à l'apprenti de suivre une formation en alternance en entreprise sous + la responsabilité d'un maître d'apprentissage et en centre de formation des + apprentis (CFA) pendant 1 à 3 ans. + titre.en: apprenticeship + titre.fr: apprentissage contrat salarié . stage: description.en: > An employer who employs an intern must pay a minimum bonus to the intern. @@ -577,15 +592,15 @@ contrat salarié . stage: contrat salarié . stage . gratification minimale: titre.en: minimum bonus titre.fr: gratification minimale -contrat salarié . stage . gratification exonérée d'impôt: +contrat salarié . exonération d'impôt des stagiaires et apprentis: description.en: > - Les salaires versés aux apprentis ainsi que les gratifications de stages - sont exonérés d'impôt sur le revenu dans la limite d'un SMIC annuel. + Wages paid to apprentices and internship bonuses are exempt from income tax + up to an annual minimum wage. description.fr: > Les salaires versés aux apprentis ainsi que les gratifications de stages sont exonérés d'impôt sur le revenu dans la limite d'un SMIC annuel. - titre.en: tax-exempt bonus - titre.fr: gratification exonérée d'impôt + titre.en: tax exemption for interns and apprentices + titre.fr: exonération d'impôt des stagiaires et apprentis contrat salarié . CDD: description.en: The employment contract explicitly provides for an end date. description.fr: > @@ -609,6 +624,15 @@ contrat salarié . cotisations . assiette: de cotisations sur le travail salarié. Elle comprend notamment les rémunérations en espèces (salaire de base, indemnité, primes...) et les avantages en nature (logement, véhicule...). +contrat salarié . cotisations . assiette . salariale: + titre.en: base for the social contributions + titre.fr: Assiette des cotisations sociales + description.en: > + Apprentices are exempt from social security contributions up to 79% of the + minimum wage (SMIC). + description.fr: > + Les apprentis bénéficient d'une exonération de cotisations sociales jusqu'à + 79% du SMIC. contrat salarié . rémunération . brut de base: titre.en: Gross salary titre.fr: Salaire brut @@ -665,6 +689,7 @@ contrat salarié . rémunération . brut de base: [mensuel] - assimilé salarié != oui - stage != oui + - apprentissage != oui niveau: avertissement message: | Le salaire saisi est inférieur au SMIC. @@ -2063,7 +2088,7 @@ impôt . méthode de calcul . barème standard: description.fr: >- Le calcul "officiel" de l'impôt, celui sur lequel l'administration fiscal se base pour calculer votre taux d'imposition. Pour l'instant, ne prend en - compte que l'abattement 10%, le barème et la décôte. + compte que l'abattement 10%, le barème et la décote. titre.en: '!!barème standard' titre.fr: barème standard impôt . revenu imposable: diff --git a/source/selectors/repartitionSelectors.js b/source/selectors/repartitionSelectors.js index ce6f4aac8..24cb106e0 100644 --- a/source/selectors/repartitionSelectors.js +++ b/source/selectors/repartitionSelectors.js @@ -119,8 +119,6 @@ const répartition = (analysis): ?Répartition => { const autresCotisations = cotisations['protection sociale . autres'] if (autresCotisations) { CSG = autresCotisations.find(propEq('dottedName', 'contrat salarié . CSG')) - if (!CSG) - throw new Error('[répartition selector]: expect CSG not to be null') cotisations['protection sociale . autres'] = without( [CSG], autresCotisations