Documentation

Préambule

Le mode de calcul du plafond de sécurité sociale et de la base plafonnée ont été revus entièrement.

En effet, le calcul actuel présente deux inconvénients :

Clôture année antérieure

Dans le cas d'un bulletin de régularisation d'un salarié clôturé dans une année antérieure, ou dans le cas d'un contrat antérieur débutant l'année précédente, le cumul de la base plafonnée utilisé pour le calcul des tranches est celui de l'année de paye.

Exemple 1
  • Un contrat est clos en novembre 2023. Le cumul du plafond est de 12000€ et le cumul brut de 11500€.
  • Un bulletin de régularisation est réalisé en février 2024 pour payer des congés payés pour 2000€.
  • Aujourd'hui, ce sont les cumuls de 2024 qui sont utilisés, la conséquence est qu'il n'y a pas de plafond et donc pas de cotisation tranche A.
  • Avec le nouveau mode de calcul, le gestionnaire de rubrique utilise les cumuls de 2023, la conséquence et qu'il y aura une tranche A de 11500€+2000€ - 12000€ = 1500€. Les 500€ restant seront en tranche B.
  • Le calcul de l'AGCP est également effectué en prenant en compte les éléments de 2023 et pas ceux de 2024 : cumul des heures effectuées, du Smic proraté et de la rémunération (en ajoutant celle saisie dans le bulletin de régularisation).
Exemple 2
  • Un contrat débute en décembre 2023 mais est créé en janvier 2024. Le salarié a déjà eu d'autres contrats en 2023 pour un cumul plafond de 12000€ et un cumul brut de 11500€ donc une tranche A de 11500€.
  • Son salaire de décembre est de 2200€ pour un plafond de 1500€
  • Aujourd'hui, ce sont les cumuls de 2024 qui sont utilisés, la conséquence est que la tranche A sera égale à 1500€.
  • Avec le nouveau mode de calcul, le cumul plafond est égal à 12000€+1500€=13500€ et le cumul brut égal à 11500€+2200€=13700€. La conséquence est que la tranche A sera égale à 13500€-11500€=2000€.
  • Comme c'est le cas actuellement, le plafond maximum de sécurité sociale est celui de l'année 2023.
  • L'AGCP est calculé contrat par contrat. Il n'y a donc pas de cumul avec les autres contrats de 2023.

Plafond de sécurité sociale à appliquer

  • Le plafond de sécurité sociale est proratisé en fonction du nombre de jour de la période d'emploi (soit le nombre de jour du mois de présence du salarié) et du nombre de jours d'absence non rémunérés. Si c'est un temps partiel, le plafond est également proratisé en fonction du nombre d'heure du contrat.
  • Si le salarié est absent tout le mois pour cause d'absence non rémunérées, son salaire est nul et donc le plafond également.
  • S'il perçoit des éléments de rémunération ne visant pas directement au maintien de salaire un plafond mensuel entier s’applique, éventuellement proratisé si le salarié est habituellement à temps partiel.
  • Avec le nouveau mode de calcul, il sera possible de décider de l'application ou non du plafond entier sans tenir compte des absences non rémunérées.

Utilisation dans la GRH

L'utilisation ne change pas puisque le programme détecte automatiquement si le bulletin a été clôturé dans une année antérieure et va calculer le plafond en utilisant les bon cumuls.

Exemples

Exemple 1 Matricule 55

Un bulletin de régularisation est réalisé pour un montant brut de 1000€ en février 2024 pour un salarié clos en septembre 2023.

Les cumuls sécu en septembre 2023 sont les suivants :

image-1697125641972.png

Et voici les cumuls du bulletin de régularisation :

image-1697125950398.png

On constate qu'aujourd'hui, les cumuls sont ceux de 2023 auquel on a ajouté le bulletin de régularisation.

Exemple 2

Un deuxième bulletin de régularisation est réalisé pour un montant brut de 1500€ en mars 2024

Exemple 3 (Matricule 56)

Un salarié a eu deux contrats :

  • Contrat N°1 clos en juin 2022 avec un bulletin de régularisation en juillet 2022 puis un autre en septembre 2023.
  • Contrat N°2 débutant en octobre 2022 et clos en juin 2022

Les cumuls sont les suivants :

  • 2022 Cumul brut : 5559.67
  • 2022 Tranche A : 4596.65
  • 2022 Tranche B : 963.02
  • 2023 Cumul brut : 4934.50
  • 2023 Tranche A : 4483.69
  • 2023 Tranche B : 450.81

On réalise un bulletin de régularisation en février 2024 sur le contrat N°2 pour un montant de 500€.

Auparavant, les cumuls sécu ne prenaient en compte que le montant de ce dernier bulletin.

Voici les cumuls aujourd'hui :

image-1697207369738.png

Exemple 4 (Matricule 56)

On reprend les mêmes données que précédemment mais on réalise un bulletin de régularisation en février 2024 sur le contrat N°1 pour un montant de 500€

image-1697210961817.png

Exemple 5

Un bulletin de régularisation a été réalisé pour un montant brut de 33.51€ en février 2023 pour un salarié clos en juillet 2022.

Un autre bulletin de régularisation est réalisé pour un montant brut de 1000€ en février 2024.

Les cumuls sécu en juillet 2022 sont les suivants :

image-1697127895062.png

Et voici les cumuls du bulletin de régularisation de février 2024 :

image-1697128104746.png

Aujourd'hui, les cumuls sont ceux de 2022 auquel on a ajouté les bulletins de régularisation de 2023 et de 2024

Exemple 6

Dans tous les exemples précédents, les bulletins de régularisation portent sur des montants bruts. Il n'y a pas de plafond mensuel (PL_MENSA) car pas de jour d'emploi. Avec les exemples suivants il y a un calcul de plafond car il y a des jours d'emploi.

En janvier 2024, on crée un contrat débutant le 1er décembre et se terminant le 10 décembre pour un montant de 500€.

Le salarié a déjà eu des contrats en 2023, les cumuls sont les suivants :

Exemple 7

On reprend l'exemple précédent en ajoutant un autre contrat débutant le 15 décembre et se terminant le 15 janvier. Dans ce cas, il est nécessaire de clôturer le contrat au 31 décembre en changement de situation puis de créer un contrat à la suite.

 

Modification du gestionnaire de rubrique

Voici le détail des modifications effectuées dans le gestionnaire de rubrique version 65, et qui entre en application dès la paye de janvier 2024.

Création de la rubrique PLAFONDSECU

Cette rubrique libre contient désormais les formules permettant de calculer le plafond de sécurité sociale.

Elle remplace la rubrique PLAFONDS_A. Voici les différentes formules qui la compose.

NUMCAS

Il s'agit de déterminer si le contrat est un contrat clôturé sur une année précédente donc un bulletin de régularisation ou un contrat antérieur : NUMCAS = 2

Sinon NUMCAS = 1

si (CONSTANTE(CONTRAT.CLOTURE)=0)
alors (1)
sinon (
      si (
          (CONSTANTE(CONTRAT.ANNEE_CLOTURE)=CONSTANTE(GENERAL.ANNEE_PAYE))
          et (CONSTANTE(CONTRAT.MOIS_CLOTURE)=CONSTANTE(GENERAL.MOIS_PAYE))
         )
      alors (1)
      sinon (2)
      )
NBJMOISPAYE

Cette formule permet de calculer le nombre de jour du mois de paye en fonction du cas (Cf NUMCAS). Cette rubrique est utilisée dans les formules suivantes

  • NUMCAS = 1 -> nombre de jour du mois de paye  en cours
  • NUMCAS =2 -> nombre de jour du mois de clôture
si ([PLAFONDSECU.NUMCAS]=1)
alors (CONSTANTE(GENERAL.NBJMOISPAYE))
sinon (CONSTANTEHIS(GENERAL.NBJMOISPAYE;CONSTANTE(CONTRAT.MOIS_CLOTURE);CONSTANTE(CONTRAT.ANNEE_CLOTURE)))
JRS_TOTAL

Il s'agit du nombre de jour à comptabiliser pour le prorata de plafond. Égal au nombre de jour de la période d'emploi moins le nombre de jour d'absence non rémunérées. Le nombre de jour d'absence non rémunérées est neutralisée si la rubrique PL_PLAFPLEIN appliquer un plafond plein est égal à 1.

maximum(0;
        [PL_JRSEMPLOI.MONTANT]-
              si ([PL_PLAFPLEIN.MONTANT]=0)
              alors ([PL_JRSABSNOREM.MONTANT])
              sinon (0*[PL_JRSABSNOREM.MONTANT])
        )
JRS_TOTAL_OC

Même chose que précédemment mais en utilisant le nombre de jour d'absence non rémunéré des Organismes Complémentaires.

maximum(0;
        [PL_JRSEMPLOI.MONTANT]-
              si ([PL_PLAFPLEIN.MONTANT]=0)
              alors ([PL_JRSABSNOREMOC.MONTANT])
              sinon (0*[PL_JRSABSNOREMOC.MONTANT])
        )
PLAFOND

Détermination du plafond de sécurité sociale proratisé d'une part par la formule précédente, et d'autre par par la durée en heures dans le cas d'un temps partiel.

minimum(CONSTANTE(GENERAL.PLFSECUMOIS);
        CONSTANTE(GENERAL.PLFSECUMOIS)
        *
          ( si ([PL_PROTPSPAR.MONTANT]=0)
            alors (1)
            sinon (
                  si (CONSTANTE(CONTRAT.TYPEPLAFOND)=4)
                  alors (
                        CONSTANTE(CONTRAT.TAUXPLAFOND)/100
                       )
                  sinon (
                          ([PL_HRSDUREE.MONTANT])
                           / CONSTANTE(CONTRAT.HORAIRECOLLECTIF)
                         )
                  )
           )
        )
*(
   minimum(maximum(0;[PLAFONDSECU.JRS_TOTAL])
           ;[PLAFONDSECU.NBJMOISPAYE]
          )
   /[PLAFONDSECU.NBJMOISPAYE]
  )
PLAFOND_OC

Plafond pour les organismes complémentaires. Comme auparavant ce plafond est calculé à partir des absences non rémunérées OC

minimum(CONSTANTE(GENERAL.PLFSECUMOIS);
minimum(CONSTANTE(GENERAL.PLFSECUMOIS);
        CONSTANTE(GENERAL.PLFSECUMOIS)
        *
          ( si ([PL_PROTPSPAR.MONTANT]=0)
            alors (1)
            sinon (
                  si (CONSTANTE(CONTRAT.TYPEPLAFOND)=4)
                  alors (
                        CONSTANTE(CONTRAT.TAUXPLAFOND)/100
                       )
                  sinon (
                          ([PL_HRSDUREE.MONTANT])
                           / CONSTANTE(CONTRAT.HORAIRECOLLECTIF)
                         )
                  )
           )
        )
*(
   minimum(maximum(0;[PLAFONDSECU.JRS_TOTAL_OC]);[PLAFONDSECU.NBJMOISPAYE])
   /[PLAFONDSECU.NBJMOISPAYE]
  )
 )
+[PL_OC.MONTANT]

Création de la rubrique PL_PLAFPLEIN : Appliquer un plafond plein.

Cette rubrique permet d'appliquer un plafond plein lorsque le salarié est absent tout le mois mais que l'on a une rémunération ne visant pas au maintien de salaire.

Dans ce cas, en fonction du type de cette rémunération, il faut appliquer un plafond plein, c'est-à dire sans tenir compte des absences non rémunérées.

Article du BOSS paragraphe 960

Il suffit d'ajouter cette rubrique en élément variable.

Création de la rubrique PL_ABSNOREMOC : Nombre de jour d'absence non rémunérée OC

CONSTANTE(CONTRAT.JRSABSNONREMOC)

PL_PLAFONDMENS

Le plafond mensuel parfois affiché sur le bulletin utilise à partir de 2024 la rubrique PLAFONDSECU

si ((CONSTANTE(GENERAL.ANNEE_PAYE)>=2024) ou (CONSTANTE(GENERAL.PL_2024)=1))
alors ([PLAFONDSECU.PLAFOND])
sinon ([PLAFONDS_A.PLA_MOIS])

PL_MENSA

Le plafond mensuel utilisé dans les calculsutilise à partir de 2024 la rubrique PLAFONDSECU

si ((CONSTANTE(GENERAL.ANNEE_PAYE)>=2024) ou (CONSTANTE(GENERAL.PL_2024)=1))
alors ([PLAFONDSECU.PLAFOND])
sinon ([PLAFONDS_A.PLA_TOTAL])

 

Création et modification de fonctions

F_HISTOCLOT (ALIAS)

Histo cumul joint de l'année de clôture si on est dans le cas 2.

Le paramètre alias contient l'alias de la rubrique\formule

si (CONSTANTE(GENERAL.BUDGET)=1)
alors (histocumuljoint(alias))
sinon (
        si ([PLAFONDSECU.NUMCAS]=1)
        alors (histocumuljointbyanclot(alias))
        sinon (
              histocumuljointbyanclot(alias;1;CONSTANTE(CONTRAT.ANNEE_CLOTURE);12;CONSTANTE(GENERAL.ANNEE_PAYE))

              )
        )

Pour les fonctions suivantes :

  • F_TRANCHEA
  • F_TRANCHEB
  • F_TRANCHEC
  • F_TRANCHEBI
  • F_TRANCHEANEW
  • F_TRANCHEBPREV
  • F_TRANCHECPREV

Et pour les formules suivantes :

  • CUMUL.CUMBRUTSECU
  • CUMUL.CUMPLAFA
  • CUMUL.CUMTRARG
  • CUMUL.CUMTRBRG
  • BC_BRUT_APEC
  • BC_BRUT_ASS
  • BC_CRDS
  • BC_CSG
  • BC_FNGS
  • BC_GMP_RET_C
  • PBR_CET1_RET
  • PBR_CET2_RET
  • PB_BRUT_APEC
  • PB_BRUT_CET
  • IJSS_MAT.TRA
  • IJSS_MAT.TRB
  • V_CSG.CUM_AV_ABT
  • V_CSG.CUM_NABT

Remplacement de HISTOCUMULJOINT par la fonction F_HISTOCLOT

F_HISTOCLOTSIT(ALIAS)

Histocumulsitu de l'année de clôture si on est dans le cas 2. Fonction utilisée pour le calcul de l'AGCP

Le paramètre alias contient l'alias de la rubrique\formule.

si (CONSTANTE(GENERAL.BUDGET)=1)
alors (histocumulsitu(alias))
sinon (
        si ([PLAFONDSECU.NUMCAS]=1)
        alors (histocumulsitu(alias))
        sinon (
              histocumulsitu(alias;1;CONSTANTE(CONTRAT.ANNEE_CLOTURE);12;CONSTANTE(GENERAL.ANNEE_PAYE))

              )
      )

F_AGCP

Cette fonction est modifiée afin de remplacer le mot clé histocumulsitu par F_HISTOCLOTSIT

si ((si (moisfin=0) alors (12) sinon (moisfin))<[AGCPDEBUT.MONTANT])
alors (0)
sinon (
       si ((moisdebut=0) ou (moisfin=0) ou ([PLAFONDSECU.NUMCAS]=2))
       alors (
              F_HISTOCLOTSIT(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)
                             )

             )
       )

Si on est sur un bulletin de régularisation, on considère qu'il n'y a pas eu de mois de début ou de fin

BC_AGCPURSSAF

Même chose que précédemment mais en principe, la constante générale newagcp sera forcément égale à 1 en 2024

si (CONSTANTE(GENERAL.NEWAGCP)= 0)
alors (
      [V_AGCP.TOTAGCP]
      *CONSTANTE(GENERAL.COEFAGCPURSSAF)
      /(CONSTANTE(GENERAL.COEFAGCPURSSAF)+CONSTANTE(GENERAL.COEFAGRETRAITE))
      +[V_AGCP.TOTAGCPCHOM]
      -F_HISTOCLOTSIT([BC_AGCPURSSAF.MONTANT])
      )
sinon ([V_NEWAGCP.AGCPURSSAF])

V_NEWAGCP.AGCPURSSAF

[V_NEWAGCP.TOTAGCPURSSAF]
-
F_HISTOCLOTSIT([BC_AGCPURSSAF.MONTANT])

V_NEWAGCP.AGCPAA

[V_NEWAGCP.TOTAGCPAA]
-
F_HISTOCLOTSIT([BC_AGCPRUAA.MONTANT])

 

 

 

La rubrique plafonds_A n'est en principe plus utilisée. Toutefois

PLAFONDS_A.NEW_PLA_MOIS

minimum(CONSTANTE(GENERAL.PLFSECUMOIS);
        CONSTANTE(GENERAL.PLFSECUMOIS)
        *
          ( si ([PL_PROTPSPAR.MONTANT]=0)
            alors (1)
            sinon (
                  si (CONSTANTE(CONTRAT.TYPEPLAFOND)=4)
                  alors (
                        CONSTANTE(CONTRAT.TAUXPLAFOND)/100
                       )
                  sinon (
                          ([PL_HRSDUREE.MONTANT])
                           / CONSTANTE(CONTRAT.HORAIRECOLLECTIF)
                         )
                  )
           )
        )
*(
   minimum(maximum(0;[PLAFONDS_A.JRS_TOTAL]-CONSTANTE(CONTRAT.JOURSANTCIV));[PLAFONDSECU.NBJMOISPAYE])
   /[PLAFONDSECU.NBJMOISPAYE]
  )

 

 

 

 

PLAFONDS_A.JRSTOTAL

maximum(0;[PL_JRSEMPLOI.MONTANT]-
        si ([PL_PLAFPLEIN.MONTANT]=0)
        alors ([PL_JRSABSNOREM.MONTANT])
        sinon (0)
        )

PLAFONDS_A.PLA_OC

minimum(CONSTANTE(GENERAL.PLFSECUMOIS);
minimum(CONSTANTE(GENERAL.PLFSECUMOIS);
        CONSTANTE(GENERAL.PLFSECUMOIS)
        *
          ( si ([PL_PROTPSPAR.MONTANT]=0)
            alors (1)
            sinon (
                  si (CONSTANTE(CONTRAT.TYPEPLAFOND)=4)
                  alors (
                        CONSTANTE(CONTRAT.TAUXPLAFOND)/100
                       )
                  sinon (
                          ([PL_HRSDUREE.MONTANT])
                           / CONSTANTE(CONTRAT.HORAIRECOLLECTIF)
                         )
                  )
           )
        )
*(
   minimum(maximum(0;[PL_JRSEMPLOI.MONTANT]-[PL_ABSNOREMOC.MONTANT]);CONSTANTE(GENERAL.NBJMOISPAYE))
   /CONSTANTE(GENERAL.NBJMOISPAYE)
  )
 +[PLAFONDS_A.PLA_MOISANT]
 )
+[PL_OC.MONTANT]