diff --git a/exoneration-covid/CHANGELOG.md b/exoneration-covid/CHANGELOG.md index 981ce8f09..f3cadd5ba 100644 --- a/exoneration-covid/CHANGELOG.md +++ b/exoneration-covid/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.3.0 + +Ajoute la règle `code` contenant le code de l'exonération covid applicable à transmettre à l'administration fiscale + ## 0.2.0 Change complètement l'organisation des règles publicodes pour être au plus proche de l'implémentation diff --git a/exoneration-covid/README.md b/exoneration-covid/README.md index 103967bfc..2d2f9a0b3 100644 --- a/exoneration-covid/README.md +++ b/exoneration-covid/README.md @@ -1,4 +1,4 @@ -# Modèle social français en publicodes +# Covid : exonération de cotisation sociale pour les indépendants Ce paquet contient les règles [publicodes](https://publi.codes) utilisées sur https://mon-entreprise.urssaf.fr pour le calcul de l'exonération covid 2021. @@ -18,15 +18,19 @@ const engine = new Engine(rules) engine.setSituation({ "lieu d'exercice": "'métropole'", "début d'activité": "'mai 2021'", - secteur: "'S1'", + secteur: "'S1B'", - 'mois . avril 2021': "'LFSS 600'", - 'mois . mai 2021': 'non', - 'mois . juin 2021': "'LFSS 600'", + 'mois . mai 2021': "'LFSS 600'", + 'mois . juin 2021': "'LFR1'", + 'mois . juillet 2021': "'LFSS 600'", + 'mois . août 2021': 'non', 'mois . décembre 2021': "'LFSS 300'", + 'mois . janvier 2022': "'LFSS 600'", + 'mois . février 2022': "'LFSS 300'", }) -console.log(formatValue(engine.evaluate('montant total'))) +console.log(formatValue(engine.evaluate('montant total'))) // "3000 €" +console.log(engine.evaluate('code').nodeValue) // "S1B;O;3;1;O;1" ``` 👉 **[Voir l'exemple complet](https://codesandbox.io/s/covidform-rxweh?file=/src/index.js)** diff --git a/exoneration-covid/package.json b/exoneration-covid/package.json index 06b532612..ad6198cb4 100644 --- a/exoneration-covid/package.json +++ b/exoneration-covid/package.json @@ -1,6 +1,6 @@ { "name": "exoneration-covid", - "version": "0.2.0", + "version": "0.3.0", "description": "Les règles publicodes pour le calcul de l'exonération de cotisations covid (année 2021)", "main": "./dist/index.js", "types": "./index.d.ts", @@ -17,10 +17,10 @@ "type": "module", "devDependencies": { "js-yaml": "^4.1.0", - "publicodes": "^1.0.0-beta.30" + "publicodes": "^1.0.0-beta.31" }, "peerDependencies": { - "publicodes": "^1.0.0-beta.30" + "publicodes": "^1.0.0-beta.31" }, "scripts": { "build": "node ../scripts/build-rules.js", diff --git a/exoneration-covid/règles/exonération-covid.yaml b/exoneration-covid/règles/exonération-covid.yaml index c9dc27c8d..792104d4b 100644 --- a/exoneration-covid/règles/exonération-covid.yaml +++ b/exoneration-covid/règles/exonération-covid.yaml @@ -369,6 +369,7 @@ exonération S2 . mois éligibles: arrondi: oui unité: mois - 1 mois + exonération S2 . mois éligibles . premier mois: variations: - si: début d'activité . date < 01/2021 @@ -390,3 +391,53 @@ montant total: - LFR1 - LFSS 300 - exonération S2 + +code: + texte: '{{ secteur }};{{ LFSS }};{{ LFR1 }}' + + # Applicabilité ajoutée pour éviter un code mal formatté en cas de variable non définie + # Cf https://github.com/betagouv/publicodes/issues/172 + applicable si: + toutes ces conditions: + - secteur + - LFSS + - LFR1 + +code . secteur: + variations: + - si: secteur . S1bis + alors: "'S1B'" + - sinon: secteur + +code . LFSS: + variations: + - si: secteur . S2 + alors: + texte: O;{{ mois S2 }} + - si: LFSS 300 + LFSS 600 = 0€ + alors: "'N'" + - si: LFSS 300 = 0€ + alors: + texte: O;{{ mois 600 }} + - sinon: # LFSS 300 et 600 + texte: O;{{ mois 600 }};{{ mois 300}} + +code . LFSS . mois S2: + valeur: exonération S2 . mois éligibles + unité: '' +code . LFSS . mois 300: + valeur: LFSS 300 . mois éligibles + unité: '' +code . LFSS . mois 600: + valeur: LFSS 600 . mois éligibles + unité: '' + +code . LFR1: + variations: + - si: LFR1 = 0€ + alors: "'N'" + - sinon: + texte: O;{{ mois }} +code . LFR1 . mois: + valeur: LFR1 . mois éligibles + unité: ''