Version 6
Calcul de plafond
PL_HRSDUREE : Durée en heures pour les temps partiels
Correctif pour prendre en compte les forfaits jours
Avant
CONSTANTE(CONTRAT.HORAIREMENSREEL)+[NBHRSCOMPL.MONTANT]-[TPT_NONPAYE.DUREE]
Après
si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=4)
alors (
CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTE(CONTRAT.JOUR_FORFAIT)
/
CONSTANTE(CONTRAT.FORFAITJOURCOLLECTIF)
)
SINON(
CONSTANTE(CONTRAT.HORAIREMENSREEL)+[NBHRSCOMPL.MONTANT]-[TPT_NONPAYE.DUREE]
)
V_AGCP.HREMU
Correctif pour l'horaire collectif des forfaits jours
Remplacement de 218 par CONSTANTE(CONTRAT.FORFAITJOURCOLLECTIF)
Avant
{Forfait Annuel en jours}
si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=4)
alors (CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTE(CONTRAT.JOUR_FORFAIT)/218
*
si (([IJBRUT.MONTANT]<>0) ou ([ABSTOTALV.MONTANT]-[ABSTOTALM.MONTANT]<>0))
alors ([BC_BRUT_URSAFF.MONTANT]
/
([BC_BRUT_URSAFF.MONTANT]+[IJBRUT.MONTANT] +[ABSTOTALV.MONTANT]-[ABSTOTALM.MONTANT])
)
sinon (1)
)
sinon (
Après
{Forfait Annuel en jours}
si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=4)
alors (CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTE(CONTRAT.JOUR_FORFAIT)/CONSTANTE(CONTRAT.FORFAITJOURCOLLECTIF)
*
si (([IJBRUT.MONTANT]<>0) ou ([ABSTOTALV.MONTANT]-[ABSTOTALM.MONTANT]<>0))
alors ([BC_BRUT_URSAFF.MONTANT]
/
([BC_BRUT_URSAFF.MONTANT]+[IJBRUT.MONTANT] +[ABSTOTALV.MONTANT]-[ABSTOTALM.MONTANT])
)
sinon (1)
)
sinon (
Calcul AGCP et SMICPRORATE
Remplacement de histocumulsitu par histo cumuljoint car le calcul annuel se fait désormais tout contrat confondu
BC_MALCOMP25 : Assiette complément maladie si salaire>2.5 SMIC
Avant
si (
(([V_AGCP.CUMREMUCOEF]) > (2.5*[V_AGCP.CUMSMICPRORATE]))
et ([V_AGCP.CUMREMUCOEF]>0)
et ([V_AGCP.CUMSMICPRORATE]>0)
)
alors (
histocumulsitu([BC_BRUT_URSAFF.MONTANT])+ [BC_BRUT_URSAFF.MONTANT]
- histocumulsitu([BC_MALCOMP25.MONTANT])
)
sinon (
histocumulsitu([BC_MALCOMP25.MONTANT])*(-1)
)
Après
si (
(([V_AGCP.CUMREMUCOEF]) > (2.5*[V_AGCP.CUMSMICPRORATE]))
et ([V_AGCP.CUMREMUCOEF]>0)
et ([V_AGCP.CUMSMICPRORATE]>0)
)
alors (
histocumuljoint([BC_BRUT_URSAFF.MONTANT])+ [BC_BRUT_URSAFF.MONTANT]
- histocumuljoint([BC_MALCOMP25.MONTANT])
)
sinon (
histocumuljoint([BC_MALCOMP25.MONTANT])*(-1)
)
BC_REG_ALLOC Base régularisation alloc
Avant
si (
([V_AGCP.CUMREMUCOEF]<=(3.5*[V_AGCP.CUMSMICPRORATE]))
ou ([V_AGCP.CUMREMUCOEF]<=0)
ou ([V_AGCP.CUMSMICPRORATE]<=0)
)
alors (
histocumulsitu([V_ALLOC.BASEALLOC])*(-1)
-histocumulsitu([BC_REG_ALLOC.MONTANT])
)
sinon (
histocumulsitu([V_ALLOC.BASEALLOCRED])
+histocumulsitu([BC_REG_ALLOCRE.MONTANT])
)
Après
si (
([V_AGCP.CUMREMUCOEF]<=(3.5*[V_AGCP.CUMSMICPRORATE]))
ou ([V_AGCP.CUMREMUCOEF]<=0)
ou ([V_AGCP.CUMSMICPRORATE]<=0)
)
alors (
histocumuljoint([V_ALLOC.BASEALLOC])*(-1)
-histocumuljoint([BC_REG_ALLOC.MONTANT])
)
sinon (
histocumuljoint([V_ALLOC.BASEALLOCRED])
+histocumuljoint([BC_REG_ALLOCRE.MONTANT])
)
Correctif sur fonction F_AGCP
Avant
si ((si (moisfin=0) alors (12) sinon (moisfin))<[AGCPDEBUT.MONTANT])
alors (0)
sinon (
si ((moisdebut=0) ou (moisfin=0))
alors (histocumulsitu(RUBACUMULER))
sinon (
histocumulsitu(RUBACUMULER;
maximum(1;(si (moisdebut=0) alors (1) sinon (moisdebut));[AGCPDEBUT.MONTANT]);
CONSTANTE(GENERAL.ANNEE_PAYE);
(si (moisfin=0) alors (12) sinon (moisfin));
CONSTANTE(GENERAL.ANNEE_PAYE)
)
)
)
Après
si ((si (moisfin=0) alors (12) sinon (moisfin))<[AGCPDEBUT.MONTANT])
alors (0)
sinon (
si ((moisdebut=0) ou (moisfin=0))
alors (histocumuljoint(RUBACUMULER))
sinon (
histocumuljoint(RUBACUMULER;
maximum(1;(si (moisdebut=0) alors (1) sinon (moisdebut));[AGCPDEBUT.MONTANT]);
CONSTANTE(GENERAL.ANNEE_PAYE);
(si (moisfin=0) alors (12) sinon (moisfin));
CONSTANTE(GENERAL.ANNEE_PAYE)
)
)
)
Assistantes familiales
66_AFDISPO : Indemnité de disponibilité
A saisir en variable de paye
Indemnité de disponibilité qui « ne peut être inférieure
à 2.25 fois le montant du salaire minimum de croissance, sans pouvoir être
inférieure à 90% de la rémunération prévue par le contrat de travail ».
Pour chaque journée de disponibilité, une comparaison doit être effectuée entre le salaire
légal (2.25 x Smic horaire) et contractuel (90% de la rémunération contractuelle).
66_AFPARTMIXTE : Part accueil mixte
Correctif pour que la rubrique fonctionne même si pas d'enfant au contrat.
Et comparatif entre le légal et le conventionnel
Avant :
si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) )
alors (
[66_AFJRSINTER.MONTANT]/26
*([66_AF_1ENF.RESULTAT])
*[VP.VP]*(1+CONSTANTE(GENERAL.TAUXSUJETION66)/100)
)
sinon (0)
Après
si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) )
alors (
maximum(
[66_AFJRSINTER.BASE]*5.06*CONSTANTE(GENERAL.SMICHOR)
;
[66_AFJRSINTER.MONTANT]/26
*([66_AF_1ENF.RESULTAT])
*[VP.VP]*(1+CONSTANTE(GENERAL.TAUXSUJETION66)/100)
)
)
sinon (0)
66_AFNBJINT : Nombre de jours d'accueil permanent intermittent
Erreur sur la formule sur le nombre de jour d'accueil enfant 2
Avant
si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0)
et ([66_AFACCINTER.MONTANT]=1))
alors (
[66_AFNBJENF1.MONTANT]
+
si ([66_AFNBENF.MONTANT]>=2)
alors (
[66_AFNBJENF2.MONTANT]=0
)
sinon (0)
+
si ([66_AFNBENF.MONTANT]>=3)
alors (
[66_AFNBJENF3.MONTANT]
)
sinon (0)
)
sinon (0)
Après
si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0)
et ([66_AFACCINTER.MONTANT]=1))
alors (
[66_AFNBJENF1.MONTANT]
+
si ([66_AFNBENF.MONTANT]>=2)
alors (
[66_AFNBJENF2.MONTANT]
)
sinon (0)
+
si ([66_AFNBENF.MONTANT]>=3)
alors (
[66_AFNBJENF3.MONTANT]
)
sinon (0)
)
sinon (0)
66_AFNBJABSCP : Nombre de jour absence convenance personnelle
Création de la rubrique pour minorer l'accueil non réalisé
66_AFNBJABS1
Création de la rubrique pour minorer l'accueil non réalisé par enfant
Comment faire lorsque le nombre d'enfant contractuel change en cours de mois ?
- Toujours laisser le nombre d'enfant contractuel le plus haut.
- Saisir le nombre de jour de chaque enfant
- Neutraliser l'indemnité d'accueil non réalisé par la saisie de la rubrique 66_AFNBJABS+Numéro de l'enfant
Exemple 1 : Du 1er au 10 -> 2 enfants et du 11 au 30 -> 1 enfant
- Laisser 2 enfants au contrats
- Saisir le nombre de jour de l'enfant 1 : 30j jours (si pas de saisie il prend automatiquement 30 jours)
- Saisir le nombre de jour de l'enfant 2 : 10 jours.
- Saisir la rubrique nombre de jour d'absence enfant 2 pour neutraliser l'indemnité d'accueil : 20 jours
Exemple 2 : Du 1er au 10 -> 1 enfant et du 11 au 30 -> 2 enfant
- Laisser 2 enfants au contrats
- Saisir le nombre de jour de l'enfant 1 : 30j jours (si pas de saisie il prend automatiquement 30 jours)
- Saisir le nombre de jour de l'enfant 2 : 20 jours.
- Saisir la rubrique nombre de jour d'absence enfant 2 pour neutraliser l'indemnité d'accueil : 10 jours
Augmenter le nombre d'enfant
Afin de simplifier la rubrique 66_AF, on va créer des fonctions qui donneront le résultat.
Création d'une fonction :
66AF (REMU , CONV , NBJACCUEIL,NBJABSCP , PROG , PRECPROG,NUMERO)
- REMU : 1 si calcul de la rémunération 0 si calcul de l'absence
- CONV : 1 si calcul conventionnel, 0 si calcul légal
- NBJACCUEIL : Rubrique contenant le nombre de jour d'accueil de l'enfant
- NBJABSCP : Nombre de jour d'absence à déduire de l'accueil non réalisé
- PROG : Rubrique de progression de l'enfant pour le calcul de la rémunération conventionnelle
- PRECPROG : Rubrique de progression de l'enfant précédent pour le calcul de la rémunération conventionnelle
- NUMERO : Numéro de l'enfant (pour le test avec 66_AFNBENF nombre d'enfant contractuel)
Passage à 5 enfants :
Création des rubriques suivantes sur le même modèle que les autres :
- 66_AF_4ENF,66_AF_5ENF
- 66_AFPART4,66_AFPART5
Il n'y a pas d'indemnité pour accueil non réalisé pour les enfants 4 et 5
66_AFIACCNE : Indemnité compensatrice pour accueil non réalisé
si ([66_AF.PRENDRELEG1]=1)
alors ([66_AF.ABSLEG1])
sinon ([66_AF.ABSCONV1])
+
si ( [66_AFNBENF.MONTANT]>1
)
alors (
si ([66_AF.PRENDRELEG2]=1)
alors ([66_AF.ABSLEG2])
sinon ([66_AF.ABSCONV2])
)
sinon (0)
+
si ( [66_AFNBENF.MONTANT]>2
)
alors (
si ([66_AF.PRENDRELEG3]=1)
alors ([66_AF.ABSLEG3])
sinon ([66_AF.ABSCONV3])
)
sinon (0)
66_AFBASE : Salaire de base
si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) )
alors (
[66_AFPART1.MONTANT]
+[66_AFPART2.MONTANT]
+[66_AFPART3.MONTANT]
+[66_AFPART4.MONTANT]
+[66_AFPART5.MONTANT]
+[66_AFPARTMIXTE.MONTANT]
)
sinon (0)
66_AFNBJRPER : Nombre de jours d'accueil Permanent continu
si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0)
et ([66_AFACCINTER.MONTANT]=0))
alors (
[66_AFNBJENF1.MONTANT]
+
si ([66_AFNBENF.MONTANT]>=2)
alors (
[66_AFNBJENF2.MONTANT]
)
sinon (0)
+
si ([66_AFNBENF.MONTANT]>=3)
alors (
[66_AFNBJENF3.MONTANT]
)
sinon (0)
+
si ([66_AFNBENF.MONTANT]>=4)
alors (
[66_AFNBJENF4.MONTANT]
)
sinon (0)
+
si ([66_AFNBENF.MONTANT]>=5)
alors (
[66_AFNBJENF5.MONTANT]
)
sinon (0)
)
sinon (0)
66_AFNBJINT : Nombre de jours d'accueil permanent intermittent
si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0)
et ([66_AFACCINTER.MONTANT]=1))
alors (
[66_AFNBJENF1.MONTANT]
+
si ([66_AFNBENF.MONTANT]>=2)
alors (
[66_AFNBJENF2.MONTANT]
)
sinon (0)
+
si ([66_AFNBENF.MONTANT]>=3)
alors (
[66_AFNBJENF3.MONTANT]
)
sinon (0)
+
si ([66_AFNBENF.MONTANT]>=4)
alors (
[66_AFNBJENF4.MONTANT]
)
sinon (0)
+
si ([66_AFNBENF.MONTANT]>=5)
alors (
[66_AFNBJENF5.MONTANT]
)
sinon (0)
)
sinon (0)