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
Exemple 2

Plafond de sécurité sociale à appliquer

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 :

Les cumuls sont les suivants :

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

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 :

Et pour les formules suivantes :

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]

 

 

 


Revision #34
Created 5 October 2023 08:58:12 by Valéry HUMEZ
Updated 6 February 2025 16:46:03 by Valéry HUMEZ