From d24e0c498d32001323ab24c4d2e4f6166fecb952 Mon Sep 17 00:00:00 2001 From: Maxime Quandalle Date: Tue, 21 May 2019 00:42:40 +0200 Subject: [PATCH 1/6] =?UTF-8?q?:hammer:=20Int=C3=A9gration=20de=20la=20CEH?= =?UTF-8?q?R?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La contribution exceptionnelle sur les hauts revenus concerne les foyers fiscaux gagnants plus de 250000€ par an. Elle est constituée de deux tranches marginales qui s'ajoutent aux tranches de l'impôt sur le revenu. https://www.service-public.fr/particuliers/vosdroits/F31130 --- source/règles/base.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/règles/base.yaml b/source/règles/base.yaml index a0df0d09a..efaacf142 100644 --- a/source/règles/base.yaml +++ b/source/règles/base.yaml @@ -2591,6 +2591,7 @@ espace: impôt description: | Voici le fameux barème de l'impôt sur le revenu. C'est un barème marginal à 5 tranches. + Une contribution sur les hauts revenus ajoute deux tranches supplémentaires. Attention : pour un revenu de 100 000€ annuels, le contribuable ne paiera 41 000€ d'impôt (le taux de la 4ème tranche est 41%) ! Ces 41% sont appliqués uniquement à la part de ses revenus supérieure à 72 617€. période: année @@ -2609,8 +2610,14 @@ - de: 73779 à: 156244 taux: 41% - - au-dessus de: 156244 + - de: 156244 + à: 250000 taux: 45% + - de: 250000 + à: 500000 + taux: 48% + - au-dessus de: 500000 + taux: 49% exemples: exemples: - nom: Haut salaire de ~ 10 000€ mensuels @@ -2619,6 +2626,7 @@ valeur attendue: 30366 références: Article 197 du Code général des impôts: https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006069577&idArticle=LEGIARTI000006308322 + Article 223 sexies du Code général des impôts: https://www.legifrance.gouv.fr/affichCode.do?idSectionTA=LEGISCTA000025049019&cidTexte=LEGITEXT000006069577 - nom: impôt sur le revenu après décote espace: impôt From 62d9369adaec47575bdd034ccf0c59f8c72e37fd Mon Sep 17 00:00:00 2001 From: Maxime Quandalle Date: Tue, 21 May 2019 15:41:47 +0200 Subject: [PATCH 2/6] :gear: :hammer: Gestion du plafond frais pro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La déduction forfaitaire de 10% pour les frais professionnels est plafonnée. https://www.service-public.fr/particuliers/vosdroits/F1989 --- source/engine/mecanisms.js | 13 +++++++------ source/règles/base.yaml | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/source/engine/mecanisms.js b/source/engine/mecanisms.js index dfcfe1c75..0f8fd61d2 100644 --- a/source/engine/mecanisms.js +++ b/source/engine/mecanisms.js @@ -537,10 +537,11 @@ export let mecanismReduction = (recurse, k, v) => { let objectShape = { assiette: false, abattement: defaultNode(0), + plafond: defaultNode(Infinity), franchise: defaultNode(0) } - let effect = ({ assiette, abattement, franchise, décote }) => { + let effect = ({ assiette, abattement, plafond, franchise, décote }) => { let v_assiette = val(assiette) if (v_assiette == null) return null @@ -550,12 +551,12 @@ export let mecanismReduction = (recurse, k, v) => { ? 0 : décote ? do { - let plafond = val(décote.plafond), + let plafondDécote = val(décote.plafond), taux = val(décote.taux) - v_assiette > plafond + v_assiette > plafondDécote ? v_assiette - : max(0, (1 + taux) * v_assiette - taux * plafond) + : max(0, (1 + taux) * v_assiette - taux * plafondDécote) } : v_assiette @@ -567,9 +568,9 @@ export let mecanismReduction = (recurse, k, v) => { : abattement.category === 'percentage' ? max( 0, - montantFranchiséDécoté - val(abattement) * montantFranchiséDécoté + montantFranchiséDécoté - min(val(plafond), val(abattement) * montantFranchiséDécoté) ) - : max(0, montantFranchiséDécoté - val(abattement)) + : max(0, montantFranchiséDécoté - min(val(plafond), val(abattement))) : montantFranchiséDécoté } diff --git a/source/règles/base.yaml b/source/règles/base.yaml index efaacf142..98fd06022 100644 --- a/source/règles/base.yaml +++ b/source/règles/base.yaml @@ -2586,6 +2586,7 @@ - contrat salarié . rémunération . net imposable - indépendant . revenu professionnel abattement: 10% + plafond: 12502 - nom: impôt sur le revenu espace: impôt From 2f2e70c9a8b3f030b9ce1d621b391047b2a85f2d Mon Sep 17 00:00:00 2001 From: Mael Date: Mon, 3 Jun 2019 11:17:05 +0200 Subject: [PATCH 3/6] =?UTF-8?q?:white=5Fcheck=5Fmark:=20Test=20de=20l'abat?= =?UTF-8?q?tement=20plafonn=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/mécanismes/allègement.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/mécanismes/allègement.yaml b/test/mécanismes/allègement.yaml index a95e1390d..e3de814b7 100644 --- a/test/mécanismes/allègement.yaml +++ b/test/mécanismes/allègement.yaml @@ -84,6 +84,21 @@ montant: 80000 valeur attendue: 68000 +- test: montant abattu avec plafond numérique + format: € + formule: + allègement: + assiette: montant + abattement: 15% + plafond: 12000 + exemples: + - situation: + montant: 10000 + valeur attendue: 8500 + - situation: + montant: 100000 + valeur attendue: 88000 # 85000 s'il n'y avait pas de plafond à la somme abattue + - test: montant franchisé, décote, abattu format: € formule: From 2528d3ca12454cccca0721a080f59903871f3841 Mon Sep 17 00:00:00 2001 From: Mael Date: Mon, 3 Jun 2019 11:21:11 +0200 Subject: [PATCH 4/6] =?UTF-8?q?:hammer:=20:memom:=20R=C3=A9f=C3=A9rence=20?= =?UTF-8?q?pour=20l'abattement=2010%=20frais=20pro?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/règles/base.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/règles/base.yaml b/source/règles/base.yaml index 98fd06022..2ca216bd1 100644 --- a/source/règles/base.yaml +++ b/source/règles/base.yaml @@ -2587,6 +2587,8 @@ - indépendant . revenu professionnel abattement: 10% plafond: 12502 + références: + Frais professionnels - forfait ou frais réels: https://www.service-public.fr/particuliers/vosdroits/F1989 - nom: impôt sur le revenu espace: impôt From 0a51a55019603895194140c5ceea7d76103ad6e4 Mon Sep 17 00:00:00 2001 From: Mael Date: Mon, 3 Jun 2019 11:45:55 +0200 Subject: [PATCH 5/6] =?UTF-8?q?:hammer:=20D=C3=A9placement=20de=20la=20CEH?= =?UTF-8?q?R=20dans=20une=20r=C3=A8gle=20=C3=A0=20part?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/règles/base.yaml | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/source/règles/base.yaml b/source/règles/base.yaml index 2ca216bd1..f144b50e1 100644 --- a/source/règles/base.yaml +++ b/source/règles/base.yaml @@ -2613,15 +2613,8 @@ - de: 73779 à: 156244 taux: 41% - - de: 156244 - à: 250000 + - au-dessus de: 156244 taux: 45% - - de: 250000 - à: 500000 - taux: 48% - - au-dessus de: 500000 - taux: 49% - exemples: exemples: - nom: Haut salaire de ~ 10 000€ mensuels situation: @@ -2629,7 +2622,6 @@ valeur attendue: 30366 références: Article 197 du Code général des impôts: https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006069577&idArticle=LEGIARTI000006308322 - Article 223 sexies du Code général des impôts: https://www.legifrance.gouv.fr/affichCode.do?idSectionTA=LEGISCTA000025049019&cidTexte=LEGITEXT000006069577 - nom: impôt sur le revenu après décote espace: impôt @@ -2647,12 +2639,34 @@ contrat salarié . rémunération . net imposable: 4000 valeur attendue: 7162 +- espace: impôt + nom: CEHR + période: année + note: Attention, ce barème concerne les foyers célibataires. Pour les couples, le barème est adapté pour ne pas leur appliquer la même imposition alors qu'ils sont individuellement deux fois moins riches. + formule: + barème: + assiette: revenu abattu + tranches: + - en-dessous de: 250000 + taux: 0% + - de: 250000 + à: 500000 + taux: 3% + - au-dessus de: 500000 + taux: 4% + références: + contribution exceptionnelle sur les hauts revenus: https://www.service-public.fr/particuliers/vosdroits/F31130 + Article 223 sexies du Code général des impôts: https://www.legifrance.gouv.fr/affichCode.do?idSectionTA=LEGISCTA000025049019&cidTexte=LEGITEXT000006069577 + + + + - nom: impôt sur le revenu à payer espace: impôt titre: impôt sur le revenu description: période: flexible - formule: impôt sur le revenu après décote + formule: impôt sur le revenu après décote + CEHR - nom: revenu net de cotisations période: flexible From 7f601e44615028b2a1ebfd9a0622cc7e14b04121 Mon Sep 17 00:00:00 2001 From: Mael Date: Mon, 3 Jun 2019 14:23:45 +0200 Subject: [PATCH 6/6] =?UTF-8?q?:hammer:=20:memo:=20Note=20d'impl=C3=A9ment?= =?UTF-8?q?ation=20pour=20l'abattement=20frais=20pro=20min?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/règles/base.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/source/règles/base.yaml b/source/règles/base.yaml index f144b50e1..ce696ca0b 100644 --- a/source/règles/base.yaml +++ b/source/règles/base.yaml @@ -2587,6 +2587,7 @@ - indépendant . revenu professionnel abattement: 10% plafond: 12502 + note: L'abattement a aussi un minimum fixé à 437€ par personne (voir la référence ci-dessous), mais cela n'impacte que les couples, or notre implémentation de l'impôt sur le revenu est pour l'instant limitée aux célibataires. références: Frais professionnels - forfait ou frais réels: https://www.service-public.fr/particuliers/vosdroits/F1989