mirror of
https://github.com/betagouv/mon-entreprise
synced 2025-02-13 21:15:01 +00:00
feat(lodeom): déplace le calcul du SMIC mois incomplet dans modele-social
This commit is contained in:
parent
f1a1eb5ad2
commit
e57199bde2
5 changed files with 230 additions and 21 deletions
|
@ -470,6 +470,7 @@ salarié . contrat . salaire brut:
|
|||
SMIC: temps de travail . SMIC
|
||||
inversion numérique:
|
||||
- coût total employeur
|
||||
# - rémunération . brut
|
||||
- rémunération . net . à payer avant impôt
|
||||
- rémunération . net . payé après impôt
|
||||
- équivalent temps plein
|
||||
|
|
99
modele-social/règles/salarié/mois-incomplet.publicodes
Normal file
99
modele-social/règles/salarié/mois-incomplet.publicodes
Normal file
|
@ -0,0 +1,99 @@
|
|||
salarié . mois incomplet:
|
||||
experimental: oui
|
||||
description: |
|
||||
Gestion des mois incomplets (absence, embauche, départ, etc), notamment pour le
|
||||
calcul de la réduction générale des cotisations ou de l’exonération Lodeom.
|
||||
références:
|
||||
Bulletin Officiel de la Sécurité Sociale: https://boss.gouv.fr/portail/accueil/exonerations/allegements-generaux.html#titre-chapitre-1--la-reduction-general-section-2---determination-du-mon-ii-calcul-du-montant-de-la-reduc-d-determination-de-la-valeur-du-4-determination-de-la-valeur-du
|
||||
|
||||
salarié . mois incomplet . rémunération non impactée par l'absence:
|
||||
somme:
|
||||
- rémunération . primes
|
||||
- rémunération . indemnités CDD
|
||||
unité: €/mois
|
||||
|
||||
salarié . mois incomplet . rémunération de base mois incomplet:
|
||||
# TODO: décommenter la formule lorsque "rémunération . brut" n'incluera plus
|
||||
# les frais professionnels.
|
||||
# Décommenter aussi la ligne "rémunération . brut" dans "salarié . contrat . salaire brut"
|
||||
|
||||
# valeur: rémunération . brut
|
||||
# abattement:
|
||||
# somme:
|
||||
# - rémunération . heures supplémentaires
|
||||
# - rémunération . heures complémentaires
|
||||
# - rémunération non impactée par l'absence
|
||||
unité: €/mois
|
||||
description: |
|
||||
Exclure de cette rémunération :
|
||||
- le paiement des heures supplémentaires et complémentaires,
|
||||
- les primes, indemnités de CDD et autres éléments de rémunération non impactés par l'absence.
|
||||
|
||||
salarié . mois incomplet . rémunération équivalente mois complet:
|
||||
# par défaut: contrat . salaire brut
|
||||
unité: €/mois
|
||||
question: Quelle rémunération brute aurait été versée pour un mois complet ?
|
||||
note: |
|
||||
Exclure de cette rémunération :
|
||||
- le paiement des heures supplémentaires et complémentaires,
|
||||
- les primes, indemnités de CDD et autres éléments de rémunération non impactés par l'absence.
|
||||
|
||||
salarié . mois incomplet . prorata:
|
||||
produit:
|
||||
- rémunération de base mois incomplet
|
||||
- 1 / rémunération équivalente mois complet
|
||||
unité: '%'
|
||||
description: |
|
||||
Le prorata correspond au rapport entre la rémunération du mois incomplet et
|
||||
la rémunération qui aurait été versée pour un mois complet.
|
||||
|
||||
Plus précisément, ce prorata est le rapport entre :
|
||||
- la rémunération brute versée pour le mois incomplet, sans les primes (et
|
||||
autres éléments non impactés par l’absence) ni le paiements des heures
|
||||
supplémentaires
|
||||
- et la rémunération équivalente "mois complet" sans les primes et autres
|
||||
éléments non impactés par l’absence.
|
||||
références:
|
||||
Bulletin Officiel de la Sécurité Sociale: https://boss.gouv.fr/portail/accueil/exonerations/allegements-generaux.html#titre-chapitre-1--la-reduction-general-section-2---determination-du-mon-ii-calcul-du-montant-de-la-reduc-d-determination-de-la-valeur-du-4-determination-de-la-valeur-du
|
||||
|
||||
salarié . mois incomplet . SMIC équivalent:
|
||||
somme:
|
||||
- SMIC mensuel proratisé
|
||||
- SMIC heures supplémentaires
|
||||
- SMIC heures complémentaires
|
||||
unité: €/mois
|
||||
références:
|
||||
Bulletin Officiel de la Sécurité Sociale: https://boss.gouv.fr/portail/accueil/exonerations/allegements-generaux.html#titre-chapitre-1--la-reduction-general-section-2---determination-du-mon-ii-calcul-du-montant-de-la-reduc-d-determination-de-la-valeur-du
|
||||
|
||||
avec:
|
||||
SMIC mensuel proratisé:
|
||||
produit:
|
||||
- SMIC
|
||||
- prorata
|
||||
unité: €/mois
|
||||
description: |
|
||||
Ce montant correspond au SMIC équivalent au mois incomplet, c’est-à-dire en
|
||||
tenant compte du prorata du temps de travail et les heures supplémentaires et
|
||||
complémentaires.
|
||||
|
||||
Ce prorata du temps de travail est en réalité calculé comme un prorata des
|
||||
rémunérations, entre celle du mois incomplet et celle qui aurait été versée
|
||||
pour un mois complet.
|
||||
références:
|
||||
Bulletin Officiel de la Sécurité Sociale: https://boss.gouv.fr/portail/accueil/exonerations/allegements-generaux.html#titre-chapitre-1--la-reduction-general-section-2---determination-du-mon-ii-calcul-du-montant-de-la-reduc-d-determination-de-la-valeur-du-4-determination-de-la-valeur-du
|
||||
|
||||
SMIC heures supplémentaires:
|
||||
produit:
|
||||
- temps de travail . heures supplémentaires
|
||||
- SMIC . horaire
|
||||
unité: €/mois
|
||||
références:
|
||||
Bulletin Officiel de la Sécurité Sociale: https://boss.gouv.fr/portail/accueil/exonerations/allegements-generaux.html#titre-chapitre-1--la-reduction-general-section-2---determination-du-mon-ii-calcul-du-montant-de-la-reduc-e-prise-en-compte-des-heures-com-1-heures-supplementaires
|
||||
|
||||
SMIC heures complémentaires:
|
||||
produit:
|
||||
- temps de travail . heures complémentaires
|
||||
- SMIC . horaire
|
||||
unité: €/mois
|
||||
références:
|
||||
Bulletin Officiel de la Sécurité Sociale: https://boss.gouv.fr/portail/accueil/exonerations/allegements-generaux.html#titre-chapitre-1--la-reduction-general-section-2---determination-du-mon-ii-calcul-du-montant-de-la-reduc-e-prise-en-compte-des-heures-com-2-heures-complementaires
|
|
@ -323,7 +323,6 @@ salarié . rémunération . indemnités CDD:
|
|||
- primes . ancienneté
|
||||
- primes . activité
|
||||
- indemnités CDD . fin de contrat
|
||||
références:
|
||||
|
||||
congés payés . Méthode du dixième:
|
||||
produit:
|
||||
|
|
|
@ -10984,6 +10984,115 @@ salarié . coût total employeur . aides . emploi franc . éligible:
|
|||
question.fr: Cette embauche est-elle éligible à l'aide emploi-franc ?
|
||||
titre.en: '[automatic] eligible'
|
||||
titre.fr: éligible
|
||||
salarié . mois incomplet:
|
||||
description.en: >
|
||||
[automatic] Management of incomplete months (absence, hiring, departure,
|
||||
etc.), in particular for calculating
|
||||
|
||||
calculating the general reduction in contributions or the Lodeom exemption.
|
||||
description.fr: >
|
||||
Gestion des mois incomplets (absence, embauche, départ, etc), notamment pour
|
||||
le
|
||||
|
||||
calcul de la réduction générale des cotisations ou de l’exonération Lodeom.
|
||||
titre.en: '[automatic] incomplete month'
|
||||
titre.fr: mois incomplet
|
||||
salarié . mois incomplet . SMIC équivalent:
|
||||
avec:
|
||||
SMIC heures complémentaires:
|
||||
titre.en: '[automatic] SMIC overtime'
|
||||
titre.fr: SMIC heures complémentaires
|
||||
SMIC heures supplémentaires:
|
||||
titre.en: '[automatic] SMIC overtime'
|
||||
titre.fr: SMIC heures supplémentaires
|
||||
SMIC mensuel proratisé:
|
||||
description.en: >
|
||||
[automatic] This amount corresponds to the SMIC equivalent for an
|
||||
incomplete month, i.e. taking
|
||||
|
||||
taking into account the pro rata of working time and overtime and
|
||||
|
||||
and overtime.
|
||||
|
||||
|
||||
This prorata of working time is in fact calculated as a prorata of remuneration, between that of the incomplete month and that which would have been paid for the full month.
|
||||
|
||||
between the remuneration for the incomplete month and that which would have been paid for a full month.
|
||||
|
||||
for a full month.
|
||||
description.fr: >
|
||||
Ce montant correspond au SMIC équivalent au mois incomplet, c’est-à-dire
|
||||
en
|
||||
|
||||
tenant compte du prorata du temps de travail et les heures supplémentaires et
|
||||
|
||||
complémentaires.
|
||||
|
||||
|
||||
Ce prorata du temps de travail est en réalité calculé comme un prorata des
|
||||
|
||||
rémunérations, entre celle du mois incomplet et celle qui aurait été versée
|
||||
|
||||
pour un mois complet.
|
||||
titre.en: '[automatic] Adjusted monthly minimum wage'
|
||||
titre.fr: SMIC mensuel proratisé
|
||||
titre.en: '[automatic] SMIC equivalent'
|
||||
titre.fr: SMIC équivalent
|
||||
salarié . mois incomplet . prorata:
|
||||
description.en: >
|
||||
[automatic] The prorata corresponds to the ratio between the remuneration
|
||||
for the incomplete month and the remuneration that would have been paid for
|
||||
a full month.
|
||||
|
||||
the remuneration that would have been paid for a full month.
|
||||
|
||||
|
||||
More precisely, the prorata is the ratio between :
|
||||
- the gross remuneration paid for the incomplete month, excluding bonuses (and other
|
||||
other items not affected by the absence) and overtime payments.
|
||||
|
||||
overtime
|
||||
- and the equivalent "full month" remuneration without bonuses and other
|
||||
not affected by the absence.
|
||||
description.fr: |
|
||||
Le prorata correspond au rapport entre la rémunération du mois incomplet et
|
||||
la rémunération qui aurait été versée pour un mois complet.
|
||||
|
||||
Plus précisément, ce prorata est le rapport entre :
|
||||
- la rémunération brute versée pour le mois incomplet, sans les primes (et
|
||||
autres éléments non impactés par l’absence) ni le paiements des heures
|
||||
supplémentaires
|
||||
- et la rémunération équivalente "mois complet" sans les primes et autres
|
||||
éléments non impactés par l’absence.
|
||||
titre.en: '[automatic] prorata'
|
||||
titre.fr: prorata
|
||||
salarié . mois incomplet . rémunération de base mois incomplet:
|
||||
description.en: >
|
||||
[automatic] Exclude from this remuneration :
|
||||
- payment for overtime and complementary hours,
|
||||
- bonuses, fixed-term contract allowances and other remuneration not affected by the absence.
|
||||
description.fr: >
|
||||
Exclure de cette rémunération :
|
||||
- le paiement des heures supplémentaires et complémentaires,
|
||||
- les primes, indemnités de CDD et autres éléments de rémunération non impactés par l'absence.
|
||||
titre.en: '[automatic] basic remuneration incomplete month'
|
||||
titre.fr: rémunération de base mois incomplet
|
||||
salarié . mois incomplet . rémunération non impactée par l'absence:
|
||||
titre.en: '[automatic] compensation not affected by absence'
|
||||
titre.fr: rémunération non impactée par l'absence
|
||||
salarié . mois incomplet . rémunération équivalente mois complet:
|
||||
note.en: >
|
||||
[automatic] Exclude from this remuneration :
|
||||
- payment for overtime and complementary hours,
|
||||
- bonuses, fixed-term contract allowances and other remuneration not affected by the absence.
|
||||
note.fr: >
|
||||
Exclure de cette rémunération :
|
||||
- le paiement des heures supplémentaires et complémentaires,
|
||||
- les primes, indemnités de CDD et autres éléments de rémunération non impactés par l'absence.
|
||||
question.en: '[automatic] What gross salary would have been paid for a full month?'
|
||||
question.fr: Quelle rémunération brute aurait été versée pour un mois complet ?
|
||||
titre.en: '[automatic] equivalent remuneration for a full month'
|
||||
titre.fr: rémunération équivalente mois complet
|
||||
salarié . régimes spécifiques:
|
||||
titre.en: '[automatic] specific regimes'
|
||||
titre.fr: régimes spécifiques
|
||||
|
|
|
@ -596,13 +596,11 @@ const getSMICMensuelAvecOptions = (
|
|||
): number => {
|
||||
const contexte = {
|
||||
date,
|
||||
[rémunérationBruteDottedName]: rémunérationBrute,
|
||||
[heuresSupplémentairesDottedName]: options.heuresSupplémentaires,
|
||||
[heuresComplémentairesDottedName]: options.heuresComplémentaires,
|
||||
} as Situation
|
||||
|
||||
if (!options.rémunérationETP) {
|
||||
contexte[heuresSupplémentairesDottedName] = options.heuresSupplémentaires
|
||||
contexte[heuresComplémentairesDottedName] = options.heuresComplémentaires
|
||||
}
|
||||
|
||||
const SMICMensuel = engine.evaluate({
|
||||
valeur: 'salarié . temps de travail . SMIC',
|
||||
unité: '€/mois',
|
||||
|
@ -613,24 +611,27 @@ const getSMICMensuelAvecOptions = (
|
|||
return SMICMensuel
|
||||
}
|
||||
|
||||
const SMICHoraire = engine.evaluate({
|
||||
valeur: 'SMIC . horaire',
|
||||
// TODO: enlever 'salarié . mois incomplet . rémunération de base mois incomplet'
|
||||
// du contexte une fois que la formule de cette règle sera décommentée
|
||||
// (cf TODO dans `mois-incomplet.publicodes`)
|
||||
// On pourra donc enlever le champ "rémunération des heures sup" du formulaire !
|
||||
contexte['salarié . mois incomplet . rémunération de base mois incomplet'] =
|
||||
rémunérationBrute -
|
||||
options.rémunérationPrimes -
|
||||
options.rémunérationHeuresSup
|
||||
contexte['salarié . mois incomplet . rémunération équivalente mois complet'] =
|
||||
options.rémunérationETP
|
||||
if (options.rémunérationPrimes) {
|
||||
contexte[
|
||||
"salarié . mois incomplet . rémunération non impactée par l'absence"
|
||||
] = options.rémunérationPrimes
|
||||
}
|
||||
const SMIC = engine.evaluate({
|
||||
valeur: 'salarié . mois incomplet . SMIC équivalent',
|
||||
contexte,
|
||||
}).nodeValue as number
|
||||
// On retranche les primes et le paiements des heures supplémentaires à la rémunération versée
|
||||
// et on la compare à la rémunération équivalente "mois complet" sans les primes
|
||||
const prorata =
|
||||
(rémunérationBrute -
|
||||
options.rémunérationPrimes -
|
||||
options.rémunérationHeuresSup) /
|
||||
options.rémunérationETP
|
||||
|
||||
// On applique ce prorata au SMIC mensuel et on y ajoute les heures supplémentaires et complémentaires
|
||||
return (
|
||||
SMICMensuel * prorata +
|
||||
SMICHoraire *
|
||||
(options.heuresSupplémentaires + options.heuresComplémentaires)
|
||||
)
|
||||
return SMIC
|
||||
}
|
||||
|
||||
const getSMICCumulés = (
|
||||
|
|
Loading…
Add table
Reference in a new issue