From e7a80e58abef8acb8e85e738d0fe630438317309 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guillois?= Date: Mon, 10 Feb 2020 14:43:18 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Correction=20de=20la=20r=C3=A8gl?= =?UTF-8?q?e=20de=20plafond?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- publicode/rules/salarié.yaml | 55 +++++++++++-------- source/components/PaySlip.tsx | 6 +- source/locales/rules-en.yaml | 22 ++++---- .../__snapshots__/simulations.jest.js.snap | 6 ++ test/regressions/simulations-salarié.yaml | 11 ++++ 5 files changed, 62 insertions(+), 38 deletions(-) diff --git a/publicode/rules/salarié.yaml b/publicode/rules/salarié.yaml index 7adc6e192..473f5abc7 100644 --- a/publicode/rules/salarié.yaml +++ b/publicode/rules/salarié.yaml @@ -46,9 +46,27 @@ contrat salarié . frais professionnels: formule: somme: - indemnité kilométrique vélo - - titres-restaurant . participation employeur + - titres-restaurant .employeur contrat salarié . frais professionnels . titres-restaurant: + applicable si: actif + formule: + multiplication: + assiette: montant unitaire + facteur: titres-restaurant par mois + composantes: + - attributs: + dû par: employeur + taux: taux participation employeur + - attributs: + dû par: salarié + taux: 100% - taux participation employeur + +# Hack: le filtre .salarié ne fonctionne pas dans la méthode getRule dans l'UI. On crée une règle spécifique juste pour pouvoir récupérer la valeur dans l'UI +contrat salarié . frais professionnels . titres-restaurant . part salarié: + formule: titres-restaurant .salarié + +contrat salarié . frais professionnels . titres-restaurant . actif: icônes: 🍽️ description: >- Le titre-restaurant est un titre spécial de paiement « des repas » remis par l’employeur au salarié. @@ -62,32 +80,19 @@ contrat salarié . frais professionnels . titres-restaurant: question: Le salarié reçoit-il des titres-restaurant ? par défaut: non -contrat salarié . frais professionnels . titres-restaurant . part non exonérée de cotisation: +contrat salarié . frais professionnels . titres-restaurant . plafond d'exonération employeur: formule: multiplication: - facteur: - allègement: - assiette: taux participation employeur * montant unitaire - abattement: participation employeur . plafond assiette: titres-restaurant par mois - -contrat salarié . frais professionnels . titres-restaurant . participation employeur . plafond: - formule: 5.55€ - références: + facteur: 5.55 €/titres-restaurant + références: urssaf.fr: https://www.urssaf.fr/portail/home/taux-et-baremes/frais-professionnels/les-titres-restaurant.html -contrat salarié . frais professionnels . titres-restaurant . participation employeur: +contrat salarié . frais professionnels . titres-restaurant . part non exonérée de cotisation: formule: - multiplication: - facteur: titres-restaurant par mois - assiette: - encadrement: - valeur: taux participation employeur * montant unitaire - plafond: plafond - -contrat salarié . frais professionnels . titres-restaurant . participation salarié: - titre: Titres-restaurant - formule: montant unitaire * titres-restaurant par mois - participation employeur + allègement: + assiette: titres-restaurant .employeur + abattement: plafond d'exonération employeur contrat salarié . frais professionnels . titres-restaurant . titres-restaurant par mois: question: Combien de titres-restaurant recevez-vous par mois ? @@ -1283,7 +1288,7 @@ contrat salarié . rémunération . net imposable: abattement: somme: - frais professionnels . indemnité kilométrique vélo - - (- frais professionnels . titres-restaurant . participation employeur) + - (- frais professionnels . titres-restaurant .employeur) - prime d'impatriation - exonération d'impôt des stagiaires et apprentis - heures supplémentaires et complémentaires défiscalisées @@ -1337,7 +1342,11 @@ contrat salarié . rémunération . net: Aussi appelé salaire net à payer (c'était du moins le cas avant l'impôt à la source). Cette somme peut varier en fonction de décisions politiques (augmentation ou diminution des cotisations) alors que le salaire brut est contractuel (pour le changer, il faut signer un avenant au contrat). - formule: rémunération . net de cotisations - avantages en nature . montant - frais professionnels . titres-restaurant . participation salarié + formule: + somme: + - rémunération . net de cotisations + - (- avantages en nature . montant) + - (- frais professionnels . titres-restaurant .salarié) contrat salarié . rémunération . net après impôt: titre: Salaire net après impôt diff --git a/source/components/PaySlip.tsx b/source/components/PaySlip.tsx index 9d7498ccd..a0cf184e4 100644 --- a/source/components/PaySlip.tsx +++ b/source/components/PaySlip.tsx @@ -24,7 +24,7 @@ export default function PaySlip() { 'contrat salarié . temps de travail . heures supplémentaires' ) const retenueTitresRestaurant = getRule( - 'contrat salarié . frais professionnels . titres-restaurant . participation salarié' + 'contrat salarié . frais professionnels . titres-restaurant' ) console.log(retenueTitresRestaurant) return ( @@ -100,7 +100,7 @@ export default function PaySlip() { })} {/* Titres-restaurant */} - {retenueTitresRestaurant.nodeValue > 0 && ( + {retenueTitresRestaurant?.nodeValue > 0 && ( )} - {/**/} - {/* Total cotisation */}
Total des retenues diff --git a/source/locales/rules-en.yaml b/source/locales/rules-en.yaml index 86f71bf9d..f4d55f98d 100644 --- a/source/locales/rules-en.yaml +++ b/source/locales/rules-en.yaml @@ -1487,6 +1487,9 @@ contrat salarié . frais professionnels . indemnité kilométrique vélo . plafo titre.en: exemption cap titre.fr: plafond d'exonération contrat salarié . frais professionnels . titres-restaurant: + titre.en: '[automatic] restaurant vouchers' + titre.fr: titres-restaurant +contrat salarié . frais professionnels . titres-restaurant . actif: description.en: >- [automatic] The meal voucher is a special "meal" payment voucher issued by the employer to the employee. @@ -1511,8 +1514,8 @@ contrat salarié . frais professionnels . titres-restaurant: Ce titre peut être émis sur support papier ou sous forme dématérialisée. question.en: '[automatic] Does the employee receive luncheon vouchers?' question.fr: Le salarié reçoit-il des titres-restaurant ? - titre.en: '[automatic] restaurant vouchers' - titre.fr: titres-restaurant + titre.en: '[automatic] active' + titre.fr: actif contrat salarié . frais professionnels . titres-restaurant . montant unitaire: question.en: '[automatic] How much is the restaurant voucher?' question.fr: Quelle est le montant du titre-restaurant ? @@ -1521,15 +1524,12 @@ contrat salarié . frais professionnels . titres-restaurant . montant unitaire: contrat salarié . frais professionnels . titres-restaurant . part non exonérée de cotisation: titre.en: '[automatic] non-exempt portion' titre.fr: part non exonérée de cotisation -contrat salarié . frais professionnels . titres-restaurant . participation employeur: - titre.en: '[automatic] employer contribution' - titre.fr: participation employeur -contrat salarié . frais professionnels . titres-restaurant . participation employeur . plafond: - titre.en: '[automatic] ceiling' - titre.fr: plafond -contrat salarié . frais professionnels . titres-restaurant . participation salarié: - titre.en: '[automatic] Restaurant vouchers' - titre.fr: Titres-restaurant +contrat salarié . frais professionnels . titres-restaurant . part salarié: + titre.en: '[automatic] employee share' + titre.fr: part salarié +contrat salarié . frais professionnels . titres-restaurant . plafond d'exonération employeur: + titre.en: '[automatic] employer exemption limit' + titre.fr: plafond d'exonération employeur contrat salarié . frais professionnels . titres-restaurant . taux participation employeur: contrôles.0.en: >- [automatic] The Employer-paid portion of the meal voucher must be at least diff --git a/test/regressions/__snapshots__/simulations.jest.js.snap b/test/regressions/__snapshots__/simulations.jest.js.snap index acdb6b528..b4da4fa55 100644 --- a/test/regressions/__snapshots__/simulations.jest.js.snap +++ b/test/regressions/__snapshots__/simulations.jest.js.snap @@ -224,6 +224,12 @@ exports[`calculate simulations-salarié: cdd 2`] = `"[2591,0,0,2000,1599,1557]" exports[`calculate simulations-salarié: cdd 3`] = `"[3410,0,0,2400,1984,1900]"`; +exports[`calculate simulations-salarié: frais pro 1`] = `"[2443,0,0,2000,1530,1486]"`; + +exports[`calculate simulations-salarié: frais pro 2`] = `"[2434,0,0,2000,1522,1476]"`; + +exports[`calculate simulations-salarié: frais pro 3`] = `"[2385,0,0,2000,1545,1489]"`; + exports[`calculate simulations-salarié: heures supplémentaires et complémentaires 1`] = `"[2583,0,0,2000,1636,1599]"`; exports[`calculate simulations-salarié: heures supplémentaires et complémentaires 2`] = `"[3105,0,0,2000,2009,1965]"`; diff --git a/test/regressions/simulations-salarié.yaml b/test/regressions/simulations-salarié.yaml index 46d178bae..505b63d55 100644 --- a/test/regressions/simulations-salarié.yaml +++ b/test/regressions/simulations-salarié.yaml @@ -163,3 +163,14 @@ JEI: - contrat salarié . rémunération . brut de base: 4000 dirigeant: 'assimilé salarié' contrat salarié . statut JEI: true +frais pro: + - contrat salarié . rémunération . brut de base: 2000 + contrat salarié . frais professionnels . titres-restaurant . actif: true + contrat salarié . frais professionnels . titres-restaurant . titres-restaurant par mois: 10 + - contrat salarié . rémunération . brut de base: 2000 + contrat salarié . frais professionnels . titres-restaurant . actif: true + contrat salarié . frais professionnels . titres-restaurant . titres-restaurant par mois: 10 + contrat salarié . frais professionnels . titres-restaurant . montant unitaire: 10 + - contrat salarié . rémunération . brut de base: 2000 + contrat salarié . frais professionnels . titres-restaurant . actif: true + contrat salarié . frais professionnels . titres-restaurant . taux participation employeur: 75