Correction et mise à jour du gestionnaire de rubrique

Il s'agit ici des modifications qui ont été apportées via la version 62 du gestionnaire de rubrique.

Divers

REDUCRTTPAT : Déduction forfaitaire sur rachat de jour de RTT

Modification du taux afin de prendre en compte la déduction forfaitaire de 0.50€ pour les entreprises avec au moins 20 salariés et moins de 250 salariés.

La formule taux employeur prend en compte la constante générale NBSALARIE0101

  • entreprise < 20 salariés => taux 1.50€
  • 20 salariés <= entreprise < 250 => taux 0.50 €

Si la constante NBSALARIE0101 est égale à zéro le taux sera égal à 1.50

Il est également possible de mettre directement le taux dans la constante générale MTREDUCHEURE.

Pensez à ajouter la cotisation REDUCRTTPAT au niveau de la codification de régime pour les entreprises concernées.

Avant :

si (CONSTANTE(GENERAL.MTREDUCHEURE)=0)
alors (
      si (CONSTANTE(GENERAL.NBSALARIE0101)<=19)
      alors (1.50)
      sinon (0)
      )
sinon (CONSTANTE(GENERAL.MTREDUCHEURE))

Après

si (CONSTANTE(GENERAL.MTREDUCHEURE)=0)
alors (
      si (CONSTANTE(GENERAL.NBSALARIE0101)<=19)
      alors (1.50)
      sinon (
            si (CONSTANTE(GENERAL.NBSALARIE0101)<=249)
               alors (0.50)
               sinon (0)
            )
      )
sinon (CONSTANTE(GENERAL.MTREDUCHEURE))

MALCOMP25 : Complément Maladie si salaire >2.5 SMIC

  • Ajout d'un contrôle d'un SMIC positif.
  • Prise en compte de la nouvelle moulure AGCP

Avant

si (
   (([V_AGCP.CUMREMUCOEF]) >  (2.5*[V_AGCP.CUMSMICPRORATE]))
   et ([V_AGCP.CUMREMUCOEF]>0)
   )
alors (
        histocumulsitu([BC_BRUT_URSAFF.MONTANT])+ [BC_BRUT_URSAFF.MONTANT]
        - histocumulsitu([BC_MALCOMP25.MONTANT])
      )
sinon (
        histocumulsitu([BC_MALCOMP25.MONTANT])*(-1)
      )

Après

si (CONSTANTE(GENERAL.NEWAGCP)= 0)
      alors (
            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)
                  )
            )
      sinon (
            si (
               (([V_NEWAGCP.CUMREMUCOEF]) >  (2.5*[V_NEWAGCP.CUMSMICPRO]))
               et ([V_NEWAGCP.CUMREMUCOEF]>0)
               et ([V_NEWAGCP.CUMSMICPRO]>0)
               )
            alors (
                  histocumulsitu([BC_BRUT_URSAFF.MONTANT])+ [BC_BRUT_URSAFF.MONTANT]
                  - histocumulsitu([BC_MALCOMP25.MONTANT])
                  )
            sinon (
                  histocumulsitu([BC_MALCOMP25.MONTANT])*(-1)
                  )
            )
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 (

Modification de I_ICP

La formule ne prenait pas en compte l'historique du contrat en changement de situation dans le mois de paye en cours

Avant

DECLARER(MEMB)
AFFECTER(MEMB;CONSTANTE(CONTRAT.MOIS_EMBAUCHE))
DECLARER(AEMB)
AFFECTER(AEMB;CONSTANTE(CONTRAT.ANNEE_EMBAUCHE))
DECLARER(MPAYE)
AFFECTER(MPAYE;CONSTANTE(GENERAL.MOIS_PAYE))
DECLARER(APAYE)
AFFECTER(APAYE;CONSTANTE(GENERAL.ANNEE_PAYE))
SI(
    CONSTANTE(CONTRAT.PAIEMENTCP)=
    (0))
  ALORS(0)
  SINON(
      SI(
        CONSTANTE(CONTRAT.PAIEMENTCP)=2)
      ALORS(
        HISTOCumulsitu([B_ICP.MONTANT];:MEMB;:AEMB;:MPAYE;:APAYE)+([B_ICP.MONTANT])-
        HISTOCumulsitu([I_ICP.BASE];:MEMB;:AEMB;:MPAYE;:APAYE))
      SINON(
          SI(
            CONSTANTE(CONTRAT.CLOTURE)=1)
          ALORS(
            HISTOCumulsitu([B_ICP.MONTANT];:MEMB;:AEMB;:MPAYE;:APAYE)+
            ([B_ICP.MONTANT])-
            HISTOCumulsitu([I_ICP.BASE];:MEMB;:AEMB;:MPAYE;:APAYE))
          SINON(0)))

Après (Faux) aller sur le code version 63 Version 63

SI(
    CONSTANTE(CONTRAT.PAIEMENTCP)=
    (0))
  ALORS(0)
  SINON(
      SI(
        CONSTANTE(CONTRAT.PAIEMENTCP)=2)
      ALORS(
        HISTOCumulsitu([B_ICP.MONTANT];1,1980)+([B_ICP.MONTANT])-
        HISTOCumulsitu([I_ICP.BASE];1,1980))
      SINON(
          SI(
            CONSTANTE(CONTRAT.CLOTURE)=1)
          ALORS(
            HISTOCumulsitu([B_ICP.MONTANT];1,1980)+
            ([B_ICP.MONTANT])-
            HISTOCumulsitu([I_ICP.BASE];1,1980))
          SINON(0)))

Formule incorrecte, on a des , au lieu de ;  dans les histocumulsitu => ISTOCumulsitu([I_ICP.BASE];1,1980))

Dans la version 63 du gestionnaire de rubrique, la formule a été corrigée 

Version 63

SI(
    CONSTANTE(CONTRAT.PAIEMENTCP)=
    (0))
  ALORS(0)
  SINON(
      SI(
        CONSTANTE(CONTRAT.PAIEMENTCP)=2)
      ALORS(
        HISTOCumulsitu([B_ICP.MONTANT];1;1980)+([B_ICP.MONTANT])-
        HISTOCumulsitu([I_ICP.BASE];1;1980))
      SINON(
          SI(
            CONSTANTE(CONTRAT.CLOTURE)=1)
          ALORS(
            HISTOCumulsitu([B_ICP.MONTANT];1;1980)+
            ([B_ICP.MONTANT])-
            HISTOCumulsitu([I_ICP.BASE];1;1980))
          SINON(0)))

 

Stagiaire

BC_BRUT_STA : Brut stagiaire

Contrôle de la constante contrat DSNNATURE et mettre à zéro si différent de 29 convention de stage

Avant

si ([BC_BRUT_URSAFF.MONTANT]>=0)
alors (MAXIMUM([BC_BRUT_URSAFF.MONTANT]-[CONAIDE.SEUILSTAGIAIRE];0))
sinon (MAXIMUM((0-[BC_BRUT_URSAFF.MONTANT])-[CONAIDE.SEUILSTAGIAIRE];0)
       *-1)

Après

si (CONSTANTE(CONTRAT.DSNNATURE)=29)
alors (
        si ([B_COT_URSAFF.MONTANT]>=0)
        alors (MAXIMUM([B_COT_URSAFF.MONTANT]-[CONAIDE.SEUILSTAGIAIRE];0))
        sinon (MAXIMUM((0-[B_COT_URSAFF.MONTANT])-[CONAIDE.SEUILSTAGIAIRE];0)
       *-1)
       )
sinon (0)

BC_BRUT_STA_PL

Idem que précédemment

Avant

si ([BC_BRUT_URSAFF.MONTANT]>=0)
alors (PLAFONNER([BC_BRUT_URSAFF.MONTANT];0;[CONAIDE.SEUILSTAGIAIRE]))
sinon (PLAFONNER((0-[BC_BRUT_URSAFF.MONTANT]);0;[CONAIDE.SEUILSTAGIAIRE])*-1)

Après

si (CONSTANTE(CONTRAT.DSNNATURE)=29)
alors (
      si ([B_COT_URSAFF.MONTANT]>=0)
      alors (PLAFONNER([B_COT_URSAFF.MONTANT];0;[CONAIDE.SEUILSTAGIAIRE]))
      sinon (PLAFONNER((0-[B_COT_URSAFF.MONTANT]);0;[CONAIDE.SEUILSTAGIAIRE])*-1)
      )
sinon (0)

BC_BRUT_URSAFF

Même chose que précédemment mais à l'inverse

Avant

si (CONSTANTE(CONTRAT.NATURECONTRAT)=0008)
alors (
        si ([FO.TOTAL]<>0)
        alors ([FO.TOTAL])
        sinon ([B_COT_URSAFF.MONTANT])
      )
sinon ([B_COT_URSAFF.MONTANT])

Après

si (CONSTANTE(CONTRAT.DSNNATURE)=29)
alors (0)
sinon (
      si (CONSTANTE(CONTRAT.NATURECONTRAT)=0008)
      alors (
            si ([FO.TOTAL]<>0)
            alors ([FO.TOTAL])
            sinon ([B_COT_URSAFF.MONTANT])
            )
      sinon ([B_COT_URSAFF.MONTANT])
      )

MALCOMP25 : Complément Maladie si salaire >2.5 SMIC

Correction de la formule taux employeur pour prendre en compte les stagiaires qui n'ont pas droit au taux réduit de cotisation maladie

Avant :

si (([BC_MALCOMP25.MONTANT]>0)ou([BC_BRUT_STA.MONTANT]>0) )   alors (6)   sinon (0)
Après
si (
    ([BC_MALCOMP25.MONTANT]>0)
    ou (([BC_BRUT_STA.MONTANT]>0) et (CONSTANTE(CONTRAT.DSNNATURE)=29))
   )
alors (6)
sinon (0)

CSG

Voici les rubriques créées ou modifiées pour prendre en compte le calcul du plafond CSG

Deux rubriques itératives pour calculer la base brute qui doit être abattue (avant application du plafond) et la base brute non abattue :

  • B_COT_CSG_ABT : Base CSG-CRDS abattue
  • B_COT_CSG_NABT : Base CSG-CRDS non abattue

Ces rubriques sont alimentées par la base CSG (B_COT_CSG) en suivant la règle suivante :

  • taux=98.25 -> B_COT_CSG_ABT  à 100%
  • si taux=1.75 -> B_COT_CSG_ABT à -100% et B_COT_CSG_NABT à 100%
  • si taux=-98.25% -> B_COT_CSG_ABT à -100%
  • si taux=100% ->B_COT_CSG_NABT à 100%
  • si taux=-100%  -> B_COT_CSG_ABT à -100%
  • si taux=-1.75% -> Il s'agit d'une erreur, les réintégrations fiscales n'entrent pas dans la base CSG-CRDS
  • Si le taux est négatif et différent de -98.25% ou -1.75%  :

il s'agit probablement de remboursement de prévoyance -> B_COT_CSG_ABT au taux indiqué

V_CSG : Rubrique libre pour les éléments de calcul CSG

CUM_AV_ABT : Cumul montant qui doit être abattu

minimum(
       (histocumulJOINT([B_COT_CSG_ABT.MONTANT])+[B_COT_CSG_ABT.MONTANT])
       ;
       (histocumulJOINT([PL_MENSA.MONTANT])+[PL_MENSA.MONTANT])*4
       )

CUM_ABT Cumul abattu :

[V_CSG.CUM_AV_ABT]*0.9825

CUM_NABT : Cumul non abattu

(histocumulJOINT([B_COT_CSG_ABT.MONTANT])+[B_COT_CSG_ABT.MONTANT] - [V_CSG.CUM_AV_ABT])
+
(histocumulJOINT([B_COT_CSG_NABT.MONTANT])+[B_COT_CSG_NABT.MONTANT])
Rubrique BC_CSG et BC_CRDS

Avant

si (CONSTANTE(CONTRAT.NATURECONTRAT)=0008)
alors (
        si ([FO.TOTAL]<>0)
        alors ([FO.TOTAL])
        sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CSG.MONTANT]))
      )
sinon (
      si (CONSTANTE(CONTRAT.DSNNATURE)=29)
      alors (F_TESTCSG([BC_BRUT_STA.MONTANT]*0.9825;[BC_CSG.MONTANT]))
      sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CSG.MONTANT]))
      )

Après

si ((CONSTANTE(GENERAL.NEWCSG)=1) ou (CONSTANTE(GENERAL.ANNEE_PAYE)>=2024))
alors (
      si ((CONSTANTE(CONTRAT.NATURECONTRAT)=0008) et ([FO.TOTAL]<>0))
      alors ([FO.TOTAL])
      sinon (
            [V_CSG.CUM_ABT]
            +[V_CSG.CUM_NABT]
            -histocumulJOINT([BC_CSG.MONTANT])
            )
      )
sinon (
      si (CONSTANTE(CONTRAT.NATURECONTRAT)=0008)
      alors (
            si ([FO.TOTAL]<>0)
            alors ([FO.TOTAL])
            sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CSG.MONTANT]))
            )
      sinon (
            si (CONSTANTE(CONTRAT.DSNNATURE)=29)
            alors (F_TESTCSG([BC_BRUT_STA.MONTANT]*0.9825;[BC_CSG.MONTANT]))
            sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CSG.MONTANT]))
            )
      )

AGCP nouveau calcul

Fonction F_AGCPSMICMENS : Recalcul du smic mensuel proraté d'un mois

Paramètres :

  • MDEBUT : Mois de début du cumul (dans le cas d'un apprenti)
  • MACALCULER : Mois à calculer
  • HREMU : Rubrique heures rémunérées
  • HORBASE : Rubrique horaire de base
    si ((CONSTANTE(GENERAL.MOIS_PAYE)>=MACALCULER) et (MDEBUT<=MACALCULER))
    alors (
            si (MACALCULER=CONSTANTE(GENERAL.MOIS_PAYE))
            alors (
                   (
                    HREMU
                    /
                   CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTE(GENERAL.SMICMENS)
                   )
                   *
                   HORBASE/1607
                   )
            sinon (
                   (
                     histocumulsitu(HREMU;MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE);MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE))
                     /
                     CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTEHIS(GENERAL.SMICMENS;MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE))
                   )
                   *
                   histocumulsitu(HORBASE;MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE);MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE))
                   /
                   (1607
                    *
                    si (OKREMUH=-1)
                    alors (1)
                    sinon (
                           histocumulsitu(OKREMUH;MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE);MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE))
                          )
                    )
                  )
           )
    sinon (0)
    

    Rubriques créées

    • V_NEWAGCP : Rubrique libre nouveau calcul AGCP
    • V_AD_AGCP : Rubrique libre nouveau calcul AGCP pour l'aide à domicile
    • AD_HEXO : Heures aide à domicile exonérées
    • AD_HNEXO : Heures non exonérées aide à domicile

    V_NEWAGCP : Rubrique libre nouveau calcul AGCP

    Liste des formules :

    • REMUCOEF : Rémunération
    • HREMU : Heure rémunérée
    • HORBASE : Horaire de base
    • SMICPRO : Smic proraté mensuel
    • CUMREMUCOEF : Cumul rémunération
    • CUMSMICPRO : Cumul Smic proraté mensuel total

    Si la constante SMICAGCP (recalcule smic chaque mois) est à oui, utilise TOTSMICPRO sinon comme avant

    • TOTSMICPRO : Total Smic proraté. Recalcule tous les smic proratés de l'année
    si (CONSTANTE(GENERAL.SMICAGCP)=0)
    alors (0)
    sinon (
          si ((CONSTANTE(GENERAL.ANNEE_PAYE)>=2024) ou (CONSTANTE(GENERAL.AGCP_AD)=1))
          alors (
                F_AGCPSMICMENS([AGCPDEBUT.BASE];1;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK])
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];2;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK])
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];3;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK])
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];4;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK])
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];5;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK])
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];6;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK])
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];7;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK])
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];8;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK])
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];9;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK])
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];10;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK])
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];11;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK])
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];12;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK])
                )
          sinon (
                F_AGCPSMICMENS([AGCPDEBUT.BASE];1;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1)
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];2;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1)
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];3;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1)
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];4;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1)
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];5;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1)
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];6;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1)
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];7;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1)
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];8;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1)
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];9;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1)
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];10;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1)
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];11;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1)
               +F_AGCPSMICMENS([AGCPDEBUT.BASE];12;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1)
                )
          )
    
    
    • MAXCOEF : Coefficient maximum AGCP
    • COEF : Coefficient Allègement général de cotisation
    • TOTALAGCP : Total AGCP
    • TOTAGCPURSSAF : Total AGCP part Urssaf
    • TOTAGCPAA : Total AGCP part AA
    • AGCPURSSAF : Montant AGCP Urssaf mensuel
    • AGCPAA : Montant AGCP AA mensuel
    • HREMUOK : Egal à 1 si le nombre d'heure rémunéré est différent de zéro. Par la suite , utilisé pour recalculer le smic proraté chaque mois

    Les quatre dernières formules permettent de recalculer le total AGCP pour chaque part en fonction du paramètre T actuel. Ainsi, s'il était incorrect en début d'année, le fait de le changer calculera les bons montant AGCP.

    V_AD_AGCP : AGCP aide à domicile

    Liste des formules :

    • ADREMU : Rémunération
    • ADSMICPRO : Smic proraté mensuel
    • ADCUMSMICPRO : Cumul Smic proraté mensuel total
    • ADTOTSMICPRO : Total Smic proraté Aide à domicile
    • ADCOEF : Coefficient aide à domicile
    • ADTOTALAGCP : Total AGCP Aide à domicile
    • ADTOTAGCPURSSAF : Total AGCP Urssaf aide à domicile
    • ADTOTAGCPAA : Total AGCP AA Aide à domicile
    • ADAGCPURSSAF : Montant AGCP Urssaf aide à domicile mensuel
    • ADAGCPAA : Montant AGCP AA aide à domicile mensuel
    • ADREMUCOEF : Rémunération utilisée 
    • ADCUMREMUCOEF : Cumul rémunération
    • ADHORBASE : Horaire de base
    • ADHREMUOK :Egal à 1 si le nombre d'heure rémunéré est différent de zéro. Par la suite , utilisé pour recalculer le smic proraté chaque mois

    AD_HNEXO : Heures non exonérées aide à domicile

    Rubrique de paye des heures aide à domicile non exonérées. A saisir en variable de paye.

    AD_HEXO : Heures aide à domicile exonérées

    Rubrique de paye des heures exonérées aide à domicile. Cette rubrique est calculée en fonction des heures non exonérées saisies par la différence entre les heures contractuelles et les heures non exonérées saisies.

    Les heures supplémentaires qui sont saisies sont réparties au prorata des heures exonérées et non exonérées.

    CUMUL.COMPTEUR

    Rubrique toujours égale à 1 pour comptabiliser le nombre de contrat.

    Mise en place de l'AGCP AD en cours d'année

    ATTENTION : Pour activer  SMICAGCP  il faut faire une modif d'historique de V_NEWAGCP.HREMUOK et l'initialiser à 1 si V_NEWAGCP.HREMU<>0 pour un calcul correct de TOTSMICPRO 

    • Modifier les salariés pour les mettre en type Travailleurs à domicile.
    update rhpersonne P set pertypesalarie=5
    where exists (select * from rhcontrat C where (ctrempart=1003) and (ctrperid=P.perid))

    Cette ordre ne peut être fait que par le service développement

    • Activer la constante NEWAGCP
    • Activer la constante AGCP_AD pour les aides à domicile
    • Activer la constante SMICAGCP  recalcul smic proraté
    • Passer le gestionnaire de rubrique 62
    • Dans gestion des structures, ajouter le module AGCP aide à domicile
    • Ajouter les cotisations AGCP aide à domicile : AGCPURSSAF_AD,AGCPURSSAFR_AD,AGCPRUAA_AD,AGCPRUAAREG_AD
    • Enlever les cotisations AGCP aide à domicile utilisateur
    • Ci dessous les modifications d'historique à mettre en place :

    A noter que les modifications d'historique doivent être faites pour TOUS les salariés pas uniquement les travailleurs à domicile

    AD_HEXO et AD_HNEXO

    à remplir par les rubriques utilisées précédemment.On parle ici de la formule BASE

    V_NEWAGCP.HREMU

    Reprendre AGCP.HREMU.

    V_NEWAGCP.REMUCOEF

    Reprendre AGCP.REMUCOEF.

    V_NEWAGCP.HORBASE

    si ([V_AGCP.HREMU]=0)
    alors (0)
    sinon ([V_AGCP.HORBASE])

    V_NEWAGCP.HREMUOK

    si ([V_AGCP.HREMU]=0)
    alors (0)
    sinon (1)

    V_AD_AGCP.ADHREMU

    Reprendre la rubrique utilisateur AD_AGCP.HREMU.

    V_AD_AGCP.ADREMUCOEF

    Reprendre la rubrique utilisateur AD_AGCP.REMUCOEF.

    V_AD_AGCP.ADHORBASE

    si ([_V_AD_AGCP.HREMU]=0)
    alors (0)
    sinon ([_V_AGCP_AD.HORBASE])

    V_AD_AGCP.ADHREMUOK

    si ([_V_AGCP_AD.HREMU]=0)
    alors (0)
    sinon (1)

    BC_ADAGCPRUAA

    Reprendre la base de cotisation AGCP aide à domicile utilisateur

    BC_ADAGCPURSS

    Reprendre la base de cotisation AGCP aide à domicile utilisateur

    Dans le gestionnaire de rubrique 63, deux nouvelles formules sont ajoutées dans les deux rubriques libres :

    HSUP et CUMHSUP.

    Elles ne sont utilisées que pour l'édition des réductions de cotisation dans l'édition des charges.

    On peut éventuellement faire une modification d'historique pour avoir un état correct mais il faut savoir qu'avant et ce pour toutes les bases, cette donnée était toujours à zéro dans l'édition.

    Il faut faire deux modifications d'historique, une avec les salariés travailleurs à domicile et l'autre avec les autres salariés :

    Salariés standard :

    V_NEWAGCP.HSUP

    [AGCP_HREMUPLUS.MONTANT]

    Travailleurs à domicile :

    V_NEWAGCP.HSUP

    si (([AD_HNEXO.BASE]+[AD_HEXO.BASE])=0)
    alors (0)
    sinon ([AGCP_HREMUPLUS.MONTANT]*[AD_HNEXO.BASE]/([AD_HNEXO.BASE]+[AD_HEXO.BASE]))

    V_AGCP_AD.HSUP

    si (([AD_HNEXO.BASE]+[AD_HEXO.BASE])=0)
    alors (0)
    sinon ([AGCP_HREMUPLUS.MONTANT]*[AD_HEXO.BASE]/([AD_HNEXO.BASE]+[AD_HEXO.BASE]))

    Assistants familiaux

    Les créations de rubriques:

    66_AFDISPO : Indemnité de disponibilité

    Rubrique de paie à saisir en paie.

    66_AFDISPO.TAUX 

    CONSTANTE(GENERAL.SMICHOR)*2.25

    Le montant alimente le brut (BRUT), la base indemnité fin de CDD (B_FINCDD) et le salaire convention CCCNT 66 (CCNT_66)

    66_AFNBJABSCP : Nombre de jour absence convenance personnelle

    Une rubrique de paie qui permet la saisie du nombre de jour d'absence pour convenance personnelle.

    A saisir en variable de paie ; pris en compte dans le calcul d'indemnité d'accueil non réalisé.

    Elle viendra minorer le nombre de jour d'absence afin de ne pas déclencher d'indemnité d'accueil non réalisé; car cela n'est pas au fait de l'employeur.

    66_AFNBJENF4 : Nombre de jour d'accueil enfant 4

    Dans le cas où l'assistant familial peut accueillir au moins 4 enfants. 

    La base est à saisir ou sera automatiquement calculée au nombre de jour calendaire du mois.

    si ([66_AFNBENF.MONTANT]>=4) alors (CONSTANTE(GENERAL.NBJMOISPAYE))  sinon (0)

    66_AFPART4 : Part de l'enfant 4 

    Part de salaire pour l'enfant 4 

    si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]>=4) )
    alors (
          si ([66_AF.PRENDRELEG4]=1)
          alors ([66_AF.REMLEG4])
          sinon ([66_AF.REMCONV4])
          )
    sinon (0)
    66_AFNBJENF5 : Nombre de jour d'accueil enfant 5
    si ([66_AFNBENF.MONTANT]>=5) alors (CONSTANTE(GENERAL.NBJMOISPAYE))  sinon (0)

    66_AFPART5 : Part de l'enfant 5 

    Part de salaire pour l'enfant 5 

    si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]>=4) )
    alors (
          si ([66_AF.PRENDRELEG5]=1)
          alors ([66_AF.REMLEG5])
          sinon ([66_AF.REMCONV5])
          )
    sinon (0)
    66_AFNBJABS1 Nombre de jour accueil non réalisé enfant 1

    La rubrique permet  la gestion de modification de nombre d'enfant au niveau du contrat et neutraliser ou diminuer l'indemnité d'accueil non réalisée.

    Par exemple pour les cas, d'arrivée ou de départ d'enfant et que le nombre de jour de présence de l'enfant ne correspond pas au moins sans pour autant déclencher une indemnité d'accueil non réalisée. 

    l'équivalence pour l'enfant 2 et 3 existe également : 66_AFNBJABS2 et 66_AFNBJABS3

    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

    Les modifications de rubrique

    66_AFBASE : Salaire de base

    Avant :

    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_AFPARTMIXTE.MONTANT]
           )
    sinon (0)

    Après 

    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)

    Prise en compte des nouvelles rubriques pour la part de salaire enfant 4 et enfant 5.

    66_AFNBJINT : Nombre de jours d'accueil permanent intermittent

    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)
          +
          si ([66_AFNBENF.MONTANT]>=4)
          alors (
                [66_AFNBJENF4.MONTANT]
                )
          sinon (0)
          +
          si ([66_AFNBENF.MONTANT]>=5)
          alors (
                [66_AFNBJENF5.MONTANT]
                )
          sinon (0)
    
          )
    sinon (0)

    Prise en compte du nombre de jours enfant 4 et 5.

    Correction de la petite coquille sur la prise en compte du nombre de jour de l'enfant 2.

    66_AFNBJRPER : Nombre de jours d'accueil permanent continu

    Avant 

    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)
          )
    sinon (0)

    Après 

    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)

    Prise en compte du nombre de jours enfant 4 et 5.

    Correction de la petite coquille sur la prise en compte du nombre de jour de l'enfant 2.

    Modification de quelques éléments de la rubrique libre : 66_AF (Données pour calcul salaire des AF (Avt 305))
    66_AF.REMLEG1

    Faire appel à la fonction de calcul F_66AF

    Même modification pour 66_AF.REMLEG2 , 66_AF.REMLEG3 ,66_AF.REMCONV1 , REMCONV2 et REMCONV3

    Avant

    si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) )
    alors (
          si ([66_AFACCINTER.MONTANT]=0)
          alors (
                [66_AFNBJENF1.MONTANT]
                /CONSTANTE(GENERAL.NBJMOISPAYE)
                *CONSTANTE(GENERAL.SMICMENS)
                )
          sinon (0)
          )
    sinon (0)

    Après

    si (CONSTANTE(GENERAL.OLDAF_61)=0)
    alors (
    F_66AF(1;0; [66_AFNBJENF1.MONTANT];[66_AFNBJABSCP.BASE]+[66_AFNBJABS1.BASE];[66_AF_1ENF.RESULTAT];[66_AF_BASE.RESULTAT] ;1)
          )
    sinon (
    si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) )
    alors (
          si ([66_AFACCINTER.MONTANT]=0)
          alors (
                [66_AFNBJENF1.MONTANT]
                /CONSTANTE(GENERAL.NBJMOISPAYE)
                *CONSTANTE(GENERAL.SMICMENS)
                )
          sinon (0)
          )
    sinon (0)
          )
    V_66AF.ABSLEG1

    Faire appel à la fonction de calcul F_66AF

    Même modification dans 66_AF.ABSLEG2 ,66_AF.ABSLEG3 , 66_AF.ABSCONV1 , 66_AF.ABSCONV2 et 66_AF.ABSCONV13

    Avant

    si ( [66_AFNBENF.MONTANT]>0)
    alors (
          maximum(0;(CONSTANTE(CONTRAT.CIVJOURSTRAVAIL_EMB)
           - [66_AFNBJENF1.MONTANT])
           )
           /CONSTANTE(GENERAL.NBJMOISPAYE)
           *0.8
           *CONSTANTE(GENERAL.SMICMENS)
           )
    sinon (0)

    Après 

    si (CONSTANTE(GENERAL.OLDAF_61)=0)
    alors (
    F_66AF(0;0; [66_AFNBJENF1.MONTANT];[66_AFNBJABSCP.BASE]-[66_AFNBJABS1.BASE];[66_AF_1ENF.RESULTAT];[66_AF_BASE.RESULTAT] ;1)
          )
    sinon (
    si ( [66_AFNBENF.MONTANT]>0)
    alors (
          maximum(0;(CONSTANTE(CONTRAT.CIVJOURSTRAVAIL_EMB)
           - [66_AFNBJENF1.MONTANT])
           )
           /CONSTANTE(GENERAL.NBJMOISPAYE)
           *0.8
           *CONSTANTE(GENERAL.SMICMENS)
           )
    sinon (0)
          )

    Création de 66_AF.REMLEG4 : Rémunération légale 4 

    F_66AF(1;0; [66_AFNBJENF4.MONTANT];0;[66_AF_3ENF.RESULTAT];[66_AF_2ENF.RESULTAT] ;4)

    Création de 66_AF.REMCONV4 : Rémunération conventionnelle 4 

    F_66AF(1;1; [66_AFNBJENF4.MONTANT];0;[66_AF_3ENF.RESULTAT];[66_AF_2ENF.RESULTAT] ;4)

    Idem pour la rémunération pour l'enfant 5 66_AF.REMLEG5 et 66_AF.REMCONV5

    Pas d'indemnité d'accueil non réalisé pour les enfants 4 et 5