Merge branch '2018'

pull/142/merge
mama 2017-12-28 14:12:52 +01:00
commit f9df18e31a
12 changed files with 26 additions and 114 deletions

View File

@ -15,3 +15,4 @@ https://github.com/atom/atom/blob/master/CONTRIBUTING.md#git-commit-messages
Et ceux spécifiques au projet :
- :gear: `:gear:` pour une contribution au moteur qui traite les YAML
- :hammer: `:hammer:` pour une contribution à la base de règles
- :calendar: `:calendar:` pour un changement de règle du à une évolution temporelle (en attendant mieux)

View File

@ -18,14 +18,14 @@
formule:
multiplication:
assiette: assiette cotisations sociales
taux: 7%
taux: 6%
exemples:
- nom: SMIC
situation:
assiette cotisations sociales: 2300
entreprise . association non lucrative: non
valeur attendue: 161
valeur attendue: 138
- nom: Non applicable si association
situation:
assiette cotisations sociales: 2300

View File

@ -25,11 +25,11 @@
exemples:
- nom: "Maximale dans le cas d'un SMIC"
situation:
assiette cotisations sociales: 1480
valeur attendue: 415.732
assiette cotisations sociales: 1498.47
valeur attendue: 420.92
- nom: "Nulle au-dessus du plafond"
situation:
assiette cotisations sociales: 2370
assiette cotisations sociales: 2398
valeur attendue: 0
- espace: contrat salarié

View File

@ -28,11 +28,14 @@
- attributs:
dû par: salarié
taux: 2.4%
taux: 0.95%
exemples:
- nom: SMIC
situation:
assiette cotisations sociales: 1480
plafond sécurité sociale: 3269
valeur attendue: 95.46
assiette cotisations sociales: 1500
valeur attendue: 75
- nom: Haut salaire
situation:
assiette cotisations sociales: 20000
valeur attendue: 662.2

View File

@ -42,19 +42,19 @@
- attributs:
déductible des impôts: oui
taux: 5.1%
taux: 6.8%
exemples:
- nom: "CSG cadre"
situation:
assiette cotisations sociales: 1500
forfait complémentaire santé: 40
statut cadre: oui
valeur attendue: 113.7
valeur attendue: 139.495
- nom: "CSG non cadre"
situation:
assiette cotisations sociales: 1500
forfait complémentaire santé: 40
valeur attendue: 112
valeur attendue: 137.425
- espace: contrat salarié

View File

@ -2,6 +2,7 @@
nom: maladie
cotisation:
branche: santé
dû par: employeur
description: Cotisations de la branche maladie
référence: https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-cotisation-maladie---maternit.html
@ -11,19 +12,12 @@
composantes:
- attributs: # On va ici surcharger la Cotisation incomplète définie plus haut
composante: maladie, maternité, invalidité, décès
dû par: employeur
taux: 12.89%
- attributs:
composante: Contribution Solidarité Autonomie
abbréviation: CSA
dû par: employeur
références:
- https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-contribution-solidarite-auton.html
- https://www.service-public.fr/professionnels-entreprises/vosdroits/F32872
taux: 0.3%
- attributs:
composante: maladie, maternité, invalidité, décès
dû par: salarié
taux: 0.75%

View File

@ -1,81 +0,0 @@
- espace: contrat salarié
nom: exposition pénibilité
titre: Exposition à des facteurs de pénibilité
question: Quelle est l'exposition du salarié à des facteurs de pénibilité ?
référence: https://www.service-public.fr/professionnels-entreprises/vosdroits/F33777
formule:
une possibilité:
- exposition simple
- exposition multiple
par défaut: non
- espace: contrat salarié . exposition pénibilité
nom: exposition simple
titre: Exposition à un seul facteur de pénibilité
formule: contrat salarié . exposition pénibilité = 'exposition simple'
description: Exposition à un seul facteur de pénibilité
- espace: contrat salarié . exposition pénibilité
nom: exposition multiple
titre: Exposition à plusieurs facteurs de pénibilité
formule: contrat salarié . exposition pénibilité = 'exposition multiple'
description: Exposition à plusieurs facteurs de pénibilité
- espace: contrat salarié
nom: cotisation pénibilité
cotisation:
branche: santé # ou vieillesse car ouvrant droit à une retraite anticipée ?
dû par: employeur
description: Les dépenses liées à l'utilisation du compte pénibilité par le salarié sont prises en charge par un fonds financé par l'employeur
formule:
multiplication:
assiette: assiette cotisations sociales
composantes:
- nom: base
taux: 0.01%
- nom: additionnelle
# TODO une fois que 'non applicable si' sera un mécanisme
# non applicable si:
# - toutes ces conditions:
# - type de contrat = 'CDD'
# - CDD . durée contrat < 1
variations:
- si: exposition pénibilité = 'non'
taux: 0%
- si: exposition pénibilité . exposition simple
taux: 0.2%
- si: exposition pénibilité . exposition multiple
taux: 0.4%
exemples:
- nom: Pas d'exposition
situation:
exposition pénibilité: non
assiette cotisations sociales: 2000
valeur attendue: 0.2
- nom: Exposition simple
situation:
exposition pénibilité: exposition simple
assiette cotisations sociales: 2000
valeur attendue: 4.2
- nom: Exposition multiple
situation:
exposition pénibilité: exposition multiple
assiette cotisations sociales: 2000
valeur attendue: 8.2
# TODO
# - nom: Pas de composante additionnelle pour CDD court
# situation:
# type de contrat: 'CDD'
# CDD . durée contrat: .2
# assiette cotisations sociales: 2000
# exposition pénibilité: exposition multiple
# valeur attendue: 0.2
références:
fiche service-public: https://www.service-public.fr/professionnels-entreprises/vosdroits/F33777
fiche URSSAF: https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/les-cotisations-patronales-au-ti/cotisations-dues.html
Code du travail - Article L4162-19: https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006072050&idArticle=LEGIARTI000028496066&dateTexte=&categorieLien=cid

View File

@ -29,9 +29,9 @@
exemples:
- nom: SMIC
situation:
assiette cotisations sociales: 1480
valeur attendue: 262.70
- nom: Salaire élevé
assiette cotisations sociales: 1500
valeur attendue: 266.25
- nom: Haut salaire élevé
situation:
assiette cotisations sociales: 8000
valeur attendue: 689.06
valeur attendue: 695.55

View File

@ -94,7 +94,7 @@
nom: plafond sécurité sociale temps plein
#TODO peut-être à déplacer ? Doit être accessible par d'autres types d'activité que contrat salarié
# type de période: mensuel
formule: 3269
formule: 3311
- espace: contrat salarié
nom: plafond sécurité sociale
@ -105,7 +105,7 @@
- espace: contrat salarié
nom: smic mensuel temps plein
formule: 1480.27
formule: 1498.47
- espace: contrat salarié
nom: smic mensuel
@ -115,7 +115,6 @@
nom: cotisations salariales
formule:
somme:
- maladie (salarié)
- vieillesse (salarié)
- ARRCO (salarié)
- AGIRC (salarié)
@ -153,7 +152,6 @@
- formation professionnelle
- versement transport
- taxe d'apprentissage
- cotisation pénibilité
- taxe sur les salaires
- CDD . cotisations employeur CDD

View File

@ -22,7 +22,7 @@ export default class Home extends Component {
/>
<p style={opacityStyle}>
Cette nouvelle version du site vous permet de simuler un CDD ou un
CDI dans la même interface. Joyeuses fêtes !
CDI, aux taux de 2018. Joyeuses fêtes !
</p>
</div>
<div id="content">

View File

@ -141,5 +141,3 @@ composantes:
Il est même possible, pour les mécanismes `barème` et `multiplication` de garder en commun un paramètre comme l'assiette, puis de déclarer des composantes pour le taux.
> L'example le plus courant de composantes, c'est la distinction part employeur, part salarié (ex. retraite AGIRC).
> On peut aussi citer la composante de base de la cotisation pénibilité, et la composante additionnelle.

View File

@ -74,11 +74,10 @@ describe('results grid', function() {
maladie = byName(result['santé']),
names = R.keys(maladie)
expect(names).to.have.lengthOf(6)
expect(names).to.have.lengthOf(5)
expect(names).to.include("contrat salarié . maladie")
expect(names).to.include("contrat salarié . ATMP")
expect(names).to.include("contrat salarié . complémentaire santé")
expect(names).to.include("contrat salarié . cotisation pénibilité")
expect(names).to.include("contrat salarié . prévoyance obligatoire cadre")
expect(names).to.include("contrat salarié . médecine du travail")
});
@ -97,7 +96,7 @@ describe('results grid', function() {
let analysis = step2.analysis
expect(cell("retraite","salarié",analysis)).to.be.closeTo(257, 5)
expect(cell("autre","salarié",analysis)).to.be.closeTo(180, 5)
expect(cell("autre","salarié",analysis)).to.be.closeTo(220, 5)
});
it('should access cell values', function() {