From a88db53b13b2216c83bd8a171063a10e95eb0cc4 Mon Sep 17 00:00:00 2001 From: Mael Thomas Date: Wed, 9 Nov 2016 18:33:03 +0100 Subject: [PATCH] =?UTF-8?q?R=C3=A9v=C3=A9lation=20sur=20la=20fonction=20de?= =?UTF-8?q?=20calcul=20de=20lod=C3=A9om=20:=20affine=20par=20morceaux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agff.2.yaml | 107 +++++++++--------- parameters/conditions-logiques.syntaxe.yaml | 33 +++++- .../salariat/aides/aide-embauche-pme.yaml | 15 +-- .../aides/aide-embauche-premier-salarie.yaml | 18 +-- .../aides/outre-mer/exonération-lodeom.yaml | 93 +++++++++------ ...éduction-générale-bas-salaires-fillon.yaml | 27 ++--- 6 files changed, 174 insertions(+), 119 deletions(-) diff --git a/agff.2.yaml b/agff.2.yaml index d572cbf7e..aea6c5c97 100644 --- a/agff.2.yaml +++ b/agff.2.yaml @@ -13,58 +13,61 @@ formule: barème à taux marginaux: base: plafond sécurité sociale - +: - Cotisation: - dû par: employeur - variations: - - si: categorie salarié = privé non cadre - - seuil: 0 - taux: - 2001-04-01: .008 - - seuil: 1 - taux: - 2001-04-01: .009 - - seuil: 3 - taux: 0 - - si: categorie_salarie = privé cadre - - seuil: 0 - taux: - 2001-04-01: .012 - - seuil: 1 - taux: - 2001-04-01: .013 - - seuil: 4 - taux: - 2016-01-01: .013 - 2001-04-01: 0 - - seuil: 8 - taux: 0 + - Cotisation: + dû par: employeur + variations: + - si: categorie salarié = privé non cadre + tranches: + - seuil: 0 + taux: + 2001-04-01: .008 + - seuil: 1 + taux: + 2001-04-01: .009 + - seuil: 3 + taux: 0 - +: - Cotisation: - dû par: salarié - variations: - - si: categorie salarié = privé non cadre - - seuil: 0 - taux: - 2001-04-01: .008 - - seuil: 1 - taux: - 2001-04-01: .009 - - seuil: 3 - taux: 0 + - si: categorie_salarie = privé cadre + tranches: + - seuil: 0 + taux: + 2001-04-01: .012 + - seuil: 1 + taux: + 2001-04-01: .013 + - seuil: 4 + taux: + 2016-01-01: .013 + 2001-04-01: 0 + - seuil: 8 + taux: 0 - - si: categorie salarié = privé cadre - - seuil: 0 - taux: - 2001-04-01: .008 - - seuil: 1 - taux: - 2001-04-01: .009 - - seuil: 4 - taux: - 2016-01-01: .009 - 2001-04-01: 0 - - seuil: 8 - taux: 0 + - Cotisation: + dû par: salarié + variations: + - si: categorie salarié = privé non cadre + tranches: + - seuil: 0 + taux: + 2001-04-01: .008 + - seuil: 1 + taux: + 2001-04-01: .009 + - seuil: 3 + taux: 0 + + - si: categorie salarié = privé cadre + tranches: + - seuil: 0 + taux: + 2001-04-01: .008 + - seuil: 1 + taux: + 2001-04-01: .009 + - seuil: 4 + taux: + 2016-01-01: .009 + 2001-04-01: 0 + - seuil: 8 + taux: 0 diff --git a/parameters/conditions-logiques.syntaxe.yaml b/parameters/conditions-logiques.syntaxe.yaml index d4940aa99..85e18cfcf 100644 --- a/parameters/conditions-logiques.syntaxe.yaml +++ b/parameters/conditions-logiques.syntaxe.yaml @@ -1,10 +1,14 @@ - Variable: ma variable +# Cette variable est valable quand les conditions de la liste 'concerne' +# sont vérifiées concerne: - ma condition 1 - ma condition 2 +# Mais comment faire des & ? Comment dire : condition1 ET condition2 ? +# Première idée : # Une liste c'est des OU par défaut # Une :indentation c'est un ET par défaut concerne: @@ -15,9 +19,10 @@ - ma condition 3.1: - ou ma condition 3.2 +# Cela multiplie les indentations dans le cas de ET en série... trouvons mieux. + # Une liste est OU par défaut -# Un &: transforme une liste en ET -# C'est complexe ! +# Un &: transforme transforme la liste suivant en ET concerne: - ma condition 1: - ma condition 1.1 @@ -41,16 +46,31 @@ - industrie pharmaceutique - agriculture biologique - # Intégrer un OU dans une liste de ET (le & initial ne se transfère pas !) - concerne & : + # Et l'inverse ? Intégrer un OU dans une liste de ET (le & initial ne se transfère pas !) + conditions & : - effectif entreprise <= 200 - chiffre d'affaires < 50 000 000 - - - établissement . région = Alsace + - entreprise . région = Alsace - établissement . secteur = éducation + # On peut aussi partir sur des phrases qui enlèvent toute ambiguité + toutes ces conditions: + - effectif entreprise <= 200 + - chiffre d'affaires < 50 000 000 + - et l'une de ces conditions: + - entreprise . région = Alsace + - établissement . secteur = éducation -# PAS POSSIBLE : | est réservé au strings multilignes + # On peut imaginer que 'toutes ces conditions' devienne en fonction du contexte: + toutes ces situations: + # On peut aussi légèrement adapter par exemple: + l'une de ces conditions: # devient : + et l'une de ces conditions: + +# OPTIONS ABANDONNÉES + +# alternative PAS POSSIBLE : | est réservé au strings multilignes # concerne: # - | ma condition 1: # - ma condition 1.1 @@ -59,6 +79,7 @@ # - & ma condition 3.1 # - & ma condition 3.2 + # Lourd visuellement concerne: - :OU ma condition 1: diff --git a/parameters/salariat/aides/aide-embauche-pme.yaml b/parameters/salariat/aides/aide-embauche-pme.yaml index ccbdba503..67e665d03 100644 --- a/parameters/salariat/aides/aide-embauche-pme.yaml +++ b/parameters/salariat/aides/aide-embauche-pme.yaml @@ -9,13 +9,14 @@ Le montant de l'aide pour 2 ans est égal à 4 000 € maximum pour un même salarié. référence: https://www.service-public.fr/professionnels-entreprises/actualites/A10338 - concerne: Activité = Salariat - conditions: - - effectif entreprise <= 250 - - 2016-01-18 < début contrat <= 2016 - - durée contrat > 6 mois # CDD OK, pas cumul avec apprentissage, donc alternance seulement en Contrat Pro - - salaire de base < 1,3 * SMIC - - entreprise de droit privé # nécessaire ? + conditions à remplir: + toutes ces conditions: + - Activité = Salariat + - effectif entreprise <= 250 + - 2016-01-18 < début contrat <= 2016 + - durée contrat > 6 mois # CDD OK, pas cumul avec apprentissage, donc alternance seulement en Contrat Pro + - salaire de base < 1,3 * SMIC + - entreprise de droit privé # nécessaire ? non-cumul: # Cette prime est cumulable avec certains dispositifs existants : réduction générale des cotisations patronales sur les bas salaires, CICE, Accre diff --git a/parameters/salariat/aides/aide-embauche-premier-salarie.yaml b/parameters/salariat/aides/aide-embauche-premier-salarie.yaml index 2d5a617ed..8a6495618 100644 --- a/parameters/salariat/aides/aide-embauche-premier-salarie.yaml +++ b/parameters/salariat/aides/aide-embauche-premier-salarie.yaml @@ -3,18 +3,20 @@ type: prime thème: aide à l'embauche par: État - démarches: demande rapide + démarches: demande description: | Aide à l'embauche d'un premier salarié d'un montant maximal de 4 000 € pour toute embauche en CDI ou en CDD de plus de 6 mois comprise entre le 9 juin 2015 et le 31 décembre 2016. référence: https://www.service-public.fr/professionnels-entreprises/actualites/008168 - concerne: Activité = Salariat - conditions: - - effectif entreprise <= 250 - - 2015-06-09 < début contrat <= 2016 - - durée contrat > 6 mois # CDD OK, pas cumul avec apprentissage, donc alternance seulement en Contrat Pro - - salaire de base < 1,3 * SMIC - - entreprise de droit privé + conditions à remplir: + toutes ces conditions: + - Activité = Salariat + - effectif entreprise = 0 + - 2015-06-09 < début contrat <= 2016 + - durée contrat > 6 mois # CDD OK, pas cumul avec apprentissage, donc alternance seulement en Contrat Pro + - salaire de base < 1.3 * SMIC + - entreprise de droit privé + #TODO Le ministère du Travail indique dans son questions-réponses que les comités d'entreprise sont également éligibles à cette aide, tout comme les groupements d'employeurs au titre de l'embauche d'un salarié permanent, mais aussi d'un salarié mis à disposition des entreprises adhérentes. #TODO l’entreprise n’a pas conclu de contrat de travail avec un salarié, au-delà de la période d’essai, dans les 12 mois précédant la nouvelle embauche diff --git a/parameters/salariat/aides/outre-mer/exonération-lodeom.yaml b/parameters/salariat/aides/outre-mer/exonération-lodeom.yaml index b8f44448a..082a8454a 100644 --- a/parameters/salariat/aides/outre-mer/exonération-lodeom.yaml +++ b/parameters/salariat/aides/outre-mer/exonération-lodeom.yaml @@ -10,51 +10,78 @@ référence: https://www.urssaf.fr/portail/home/outre-mer/employeur/exoneration-de-cotisations-dite.html concerne: - - Établissement . territoire outre-mer ⊂ : # As-t-on besoin de spécifier l'entité ? Quelle syntaxe ? - - Guadeloupe - - Guyane - - Martinique - - la Réunion - - Saint-Barthélemy - - Saint-Martin + - Établissement . territoire outre-mer ⊂ : + - Guadeloupe + - Guyane + - Martinique + - la Réunion + - Saint-Barthélemy + - Saint-Martin - #TODO voir : https://www.urssaf.fr/portail/home/outre-mer/employeur/exoneration-de-cotisations-dite/les-cotisations-exonerees.html - # Subtilité (sérieux !?): + variables ciblées: + filtre: + Cotisation: + dû par: employeur + cibles: + - Cotisation: maladie + composante: maladie, maternité, invalidité, décès + - vieillesse + - allocations familiales - # Méchanisme de calcul #TODO IMPORTANT - # Faire un truc conditionnel : effectif vs secteur + CICE ou non - # intervalle de salaire -> exonération[totale, #TODO? totale sur partie du salaire, coefficient * salaire, nulle] - #TODO système de neutralisation d'autres variables - # totale sur partie du salaire -> les cotisations en question étant linéaires du salaire sur les montants concernés, - # cela consiste à retrancher la cotisation qui aurait été payée si le salaire était ex. 1.4 * SMIC +: Aide: variante: exonération de droit commun - concerne: - - effectif entreprise < 11 - #TODO règles de calcul de l'effectif, maintien partiel de l'éxo en cas de croissance : https://www.urssaf.fr/portail/home/outre-mer/employeur/exoneration-de-cotisations-dite/les-employeurs-concernes-par-lex/lexoneration-de-droit-commun-pou.html - - secteur Salariat ⊂ : # Voir la remarque "Bon à savoir" de l'URSSAF : c'est bien le secteur d'activité du salarié qui importe - - Bâtiment et travaux publics, industrie - - Restauration - - Presse, production audiovisuelle - - Energies renouvelables - - Nouvelles technologies de l'information, de la communication et centres d'appel - - Pêche, cultures marines, aquaculture - - Agriculture y compris les coopératives agricoles et les SICA et leurs unions, coopératives maritimes et leurs unions - - Tourisme, restauration de tourisme y compris les activités de loisirs s'y rapportant et hôtellerie - - Transport aérien #TODO conditionné - - Transport maritime ou fluvial #TODO conditionné + conditions à remplir: + toutes ces conditions: + - effectif entreprise < 11 + #TODO règles de calcul de l'effectif, maintien partiel de l'éxo en cas de croissance : https://www.urssaf.fr/portail/home/outre-mer/employeur/exoneration-de-cotisations-dite/les-employeurs-concernes-par-lex/lexoneration-de-droit-commun-pou.html + - secteur Salariat ⊂ : # Voir la remarque "Bon à savoir" de l'URSSAF : c'est bien le secteur d'activité du salarié qui importe + - Bâtiment et travaux publics, industrie + - Restauration + - Presse, production audiovisuelle + - Energies renouvelables + - Nouvelles technologies de l'information, de la communication et centres d'appel + - Pêche, cultures marines, aquaculture + - Agriculture y compris les coopératives agricoles et les SICA et leurs unions, coopératives maritimes et leurs unions + - Tourisme, restauration de tourisme y compris les activités de loisirs s'y rapportant et hôtellerie + - Transport aérien #TODO conditionné + - Transport maritime ou fluvial #TODO conditionné + # Méchanisme de calcul assez original + coefficient de réduction: + # Le principe de cette exonération : + # les cotisations cibles vont être rejouées, + # mais avec une assiette réduite à un coefficient * le smic, puis retranchées. + # la formule ci-dessous donne le coefficient qui varie sur des tranches + affine par morceaux: + base: smic proratisé + tranches: + - seuil: 0 + # Exonération totale des cotisations d’assurances sociales et d’allocations familiales + coefficient: 1 + - seuil: 1.4 + # Exonération sur la partie du salaire horaire brut limitée à 1.4 + coefficient: 1.4 + - seuil: 2 + # le coefficient suit une fonction linéaire passant par la borne précédente et la borne suivante + #TODO est-ce clair ? + coefficient: linéaire + - seuil: 3 + # Pas d’exonération dès le 1er euro versé + exonération: 0 + + # Faire le même pour les autres conditions : CICE: [oui, non], type de réduction: [effectif, secteur] +: Aide: variante: exonération renforcée # Complexité énorme pour 'concerne' !!!!!!!!!!!!!! - concerne: - - effectif < 250 && CA < 50 000 000 - - condition complexe ... - - soumis de plein droit ou sur option à un régime réel d’imposition + conditions à remlir: + toutes ces conditions: + - effectif < 250 && CA < 50 000 000 + - condition complexe ... + - soumis de plein droit ou sur option à un régime réel d’imposition #TODO IMPORTANT résoudre la syntaxe ET OU... # si machin alors condition suppl diff --git a/parameters/salariat/aides/réduction-générale-bas-salaires-fillon.yaml b/parameters/salariat/aides/réduction-générale-bas-salaires-fillon.yaml index cdbb8ed50..52a9b7c61 100644 --- a/parameters/salariat/aides/réduction-générale-bas-salaires-fillon.yaml +++ b/parameters/salariat/aides/réduction-générale-bas-salaires-fillon.yaml @@ -26,13 +26,13 @@ #TODO cette exonération ne peut être imputée à toutes les cotisations sociales. Voir s'il faut l'implémenter - cibles de la réduction: + variables ciblées: filtre: Cotisation: dû par: employeur cibles: - fnal - - allocation familiale + - allocations familiales - contribution solidarité autonomie - maladie - variable: ATMP @@ -52,23 +52,24 @@ # Cela évite une suprise de fin d'année, par exemple si le salaire pendant le deuxième semestre a été doublé et # fait sortir le salrié du champ de la réduction ! + #TODO s'inspirer de la formule de calcul de lodéom : + # c'est exactement le même principe avec des taux et tranches différentes + formule: - #TODO la formule d'OpenFisca (allègements.py) à base de min et max semble plus compréhensible variables de calcul: coefficient de réduction: - #TODO implémenter la section "Comment calculer l'effectif" de service public variations: - si: effectif entreprise >= 20 - - 2017: .2850 - - 2016: .2842 - - 2015: .2835 - - 2005-07-01: .26 + 2017: .2850 + 2016: .2842 + 2015: .2835 + 2005-07-01: .26 - si: effectif entreprise < 20 - - 2017: .2810 - - 2016: .2802 - - 2015: .2795 - - 2007-07-01: .281 - - 2005-07-01: .26 + 2017: .2810 + 2016: .2802 + 2015: .2795 + 2007-07-01: .281 + 2005-07-01: .26 seuil de réduction: 1.6 * smic proratisé écart assiette: (seuil de réduction - assiette cotisations sociales) / assiette cotisations sociales calcul final: