Skip to main content

Correction et mise à jour du gestionnaire de rubrique

Nouvelles rubriques

MALADIE_AM : Cotisation majoration maladie Alsace Moselle.
  • Base de cotisation BC_BRUT_URSSAF
  • Elle concerne les salariés exerçant une activité dans les départements du Bas-Rhin, du Haut-Rhin et de la Moselle
  • Le taux est de taux 1.30% et est déclarée à l'aide du CTP 381 et du code cotisation 115

https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-cotisation-maladie---maternit/cas-particuliers.html

PREV_TH : Prévoyance travailleurs handicapé
  • Base de cotisation BC_SALDIR
FORMATION_TH : Formation professionnelle continue travailleurs handicapé
  • Base de cotisation BC_SALDIR
Travailleurs frontaliers domiciliés hors de France

Pour l'assurance maladie, la cotisation suivante a été créée.

MALADIE_NRA : Cotisation maladie non résidents actif 

  • Base de cotisation BC_BRUT_NRA : Est égal à zéro si le salarié n'est pas résident à l'étranger (fonction de son code pays de résidence)
si (CONSTANTE(CONTRAT.PAS_RESIDENTETRANGER)=1)
alors ([BC_BRUT_URSAFF.MONTANT])
sinon (0)
  • Elle concerne les personnes non domiciliées fiscalement en France et relevant à titre obligatoire d’un régime français d’assurance maladie.
    Depuis le 1er mars 2018, le taux de la cotisation salariale d’assurance maladie pour les non-résidents fiscaux français est de 5,50 %.
  • Elle est déclarée à l'aide du CTP 206 « salariés non-résidents actifs » et le code cotisation 075.

Cette cotisation peut être ajoutée dans tous les régimes car la base de cotisation s'appuie sur le pays de résidence du salarié pour déterminer si la cotisation est due ou pas

Pour la retenue à la source, un ensemble d'élément ont été créés.

Une liste de constante : RET_SOURCE : Permet de renseigner les valeurs du barème MENSUEL pour le taux d'imposition

  • 1 : Fraction à 0%  : 1402€
  • 2 : Fraction à 12% : 4066€

Pour rappel , le barème est le suivant en 2024 :

image-1716370668823.png

RET_SOURCE : Retenue cotisation retenue à la source à ajouter dans le gestionnaire de régime

BC_RET_SOURCE : Base de cotisation de la retenue à la source

declarer (BASE)
affecter (base;[NETIMP.MONTANT]*0.90)
(
 0.12
 *
 si (:BASE>LISTEGEN(RETSOURCE;2))
 alors (LISTEGEN(RETSOURCE;2)-LISTEGEN(RETSOURCE;1))
 sinon (
        si (:BASE>LISTEGEN(RETSOURCE;1))
        alors (:BASE-LISTEGEN(RETSOURCE;1))
        sinon (0)
        )
)
+
(
 0.20
 *
 si (:BASE>LISTEGEN(RETSOURCE;2))
 alors (:BASE-LISTEGEN(RETSOURCE;2))
 sinon (0)
)

 

Correctifs

 

V_NEWAGCP.HREMU

  • Prendre en compte l'entrée sortie en cas de forfait jour
  • Faire le ménage des situations horaires

Avant

si (([NB_HEUREREMU.BASE]=0) ou (CONSTANTE(CONTRAT.TYPESALARIE)=5))
 alors (
  {Assistante Maternelle}
       si (CONSTANTE(CONTRAT.NATURECONTRAT)=0003)
       alors (( CONSTANTE(CONTRAT.HORAIRECOLLECTIF)
               )
               *
               (
                       si ([IJBRUT.MONTANT]<>0)
                       alors ([BC_BRUT_URSAFF.MONTANT]/([BC_BRUT_URSAFF.MONTANT]+[IJBRUT.MONTANT]) )
                       sinon (1)
                )
              )
       sinon (
 {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 (
 {Forfait Annuel en heures}
                      si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=5)
                      alors (CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTE(CONTRAT.HEURE_FORFAIT)/1596
                             *
                             si ([IJBRUT.MONTANT]<>0)
                             alors ([BC_BRUT_URSAFF.MONTANT]/([BC_BRUT_URSAFF.MONTANT]+[IJBRUT.MONTANT]) )
                             sinon (1)
                            )
 {Horaire fixe / Horaire variable}
                      sinon (
                            si (CONSTANTE(CONTRAT.TYPESALARIE)=5)
                            alors ([AD_HNEXO.BASE])
                            sinon ([NB_HEURESCON.MONTANT])
                            *
                            (
                               ([AGCP_NUMHREMU.MONTANT]
                               /
                               [B_PXHEURE.MONTANT]
                               )
                             )
                             +
                             si (CONSTANTE(CONTRAT.TYPESALARIE)=5)
                             alors([AGCP_HREMUPLUS.MONTANT]*[AD_HNEXO.BASE]/([AD_HNEXO.BASE]+[AD_HEXO.BASE]))
                             sinon ([AGCP_HREMUPLUS.MONTANT])
                            )
                     )
              )
       )
sinon ( [NB_HEUREREMU.BASE])
+[NB_HREMUREGUL.BASE]
Après
si (([NB_HEUREREMU.BASE]=0) ou (CONSTANTE(CONTRAT.TYPESALARIE)=5))
alors (
{Assistante Maternelle}
si (CONSTANTE(CONTRAT.NATURECONTRAT)=0003)
alors (( CONSTANTE(CONTRAT.HORAIRECOLLECTIF)
)
*
(
si ([IJBRUT.MONTANT]<>0)
alors ([BC_BRUT_URSAFF.MONTANT]/([BC_BRUT_URSAFF.MONTANT]+[IJBRUT.MONTANT]) )
sinon (1)
)
)
sinon (
{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 (
{Forfait Annuel en heures}
si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=5)
alors (CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTE(CONTRAT.HEURE_FORFAIT)/1596
*
si ([IJBRUT.MONTANT]<>0)
alors ([BC_BRUT_URSAFF.MONTANT]/([BC_BRUT_URSAFF.MONTANT]+[IJBRUT.MONTANT]) )
sinon (1)
)
{Horaire fixe / Horaire variable}
sinon (
si (CONSTANTE(CONTRAT.TYPESALARIE)=5)
alors ([AD_HNEXO.BASE])
sinon ([NB_HEURESCON.MONTANT])
*
(
([AGCP_NUMHREMU.MONTANT]
/
[B_PXHEURE.MONTANT]
)
)
+
si (CONSTANTE(CONTRAT.TYPESALARIE)=5)
alors([AGCP_HREMUPLUS.MONTANT]*[AD_HNEXO.BASE]/([AD_HNEXO.BASE]+[AD_HEXO.BASE]))
sinon ([AGCP_HREMUPLUS.MONTANT])
)
)
)
)
sinon ( [NB_HEUREREMU.BASE])
+[NB_HREMUREGUL.BASE]

V_PLAFPREV

Vérifier que le nombre est bien dans la formule !!!

Nombre de plafond prévoyance à appliquer

  • NB_TRB_C -> 3
  • NB_TRC_C -> 4
  • NB_TRB_NC -> 2
  • NB_TRC_NC -> 4

Modification des rubriques base de cotisation prévoyance :

  • BC_TR_B_PREV_C
  • BC_TR_C_PREV_C
  • BC_TR_B_PREV_NC
  • BC_TR_C_PREV_NC

 

 

APPRENTI.ABTBRANCHE

Modification pour prendre en compte les nouveaux pourcentages dans l'accord de branche :

  • Pas d'ancienneté avant 18 ans : on passe de 30 à 35%
  • Ancienneté>1 avant 18 ans : on passe de 0 à 55%
  • Après 25 ans : Toujours 100%

Avant

selon (
         cas ([APPRENTI.AGES] = 1)
             alors (
                   selon (
                      cas ([APPRENTI.ANC] = 1) alors (30)
                      cas ([APPRENTI.ANC] = 2) alors (45)
                      cas ([APPRENTI.ANC] = 3) alors (0)
                          )
                   )
         cas ([APPRENTI.AGES] = 2)
             alors (
                   selon (
                      cas ([APPRENTI.ANC] = 1) alors (50)
                      cas ([APPRENTI.ANC] = 2) alors (60)
                      cas ([APPRENTI.ANC] = 3) alors (70)
                          )
                   )

         cas ([APPRENTI.AGES] >= 3)
             alors (
                 selon (
                      cas ([APPRENTI.ANC] = 1) alors (65)
                      cas ([APPRENTI.ANC] = 2) alors (75)
                      cas ([APPRENTI.ANC] = 3) alors (85)
                          )
                   )

         )

Après

selon (
         cas ([APPRENTI.AGES] = 1)
             alors (
                   selon (
                      cas ([APPRENTI.ANC] = 1) alors (35)
                      cas ([APPRENTI.ANC] = 2) alors (45)
                      cas ([APPRENTI.ANC] = 3) alors (55)
                          )
                   )
         cas ([APPRENTI.AGES] = 2)
             alors (
                   selon (
                      cas ([APPRENTI.ANC] = 1) alors (50)
                      cas ([APPRENTI.ANC] = 2) alors (60)
                      cas ([APPRENTI.ANC] = 3) alors (70)
                          )
                   )

         cas ([APPRENTI.AGES] = 3)
             alors (
                 selon (
                      cas ([APPRENTI.ANC] = 1) alors (65)
                      cas ([APPRENTI.ANC] = 2) alors (75)
                      cas ([APPRENTI.ANC] = 3) alors (85)
                          )
                   )
         cas ([APPRENTI.AGES] = 4)
             alors (100
                   )
         )

JRSNONTRAV

Lors d'un changement de situation en cours de mois, permet d'avoir le nombre de jour correct au total

Avant :

si([H_N0NTRAV.BASE]=0)
alors(
       (
        si (constante(general.mois_paye)=2)
        alors (
            si (CONSTANTE(CONTRAT.CIVJOURSTRAVAIL)=CONSTANTE(GENERAL.NBJMOISPAYE))
            alors (0)
            sinon (30-CONSTANTE(CONTRAT.CIVJOURSTRAVAIL))
              )
        sinon (30-minimum(constante(contrat.CIVJOURSTRAVAIL);30))
        )
      *
      CONSTANTE(CONTRAT.USEJOURSNONTRAVAIL))
sinon (0)

Après

si([H_N0NTRAV.BASE]=0)
alors(
      si (CONSTANTE(CONTRAT.USEJOURSNONTRAVAIL)=0)
      alors (0)
      sinon (
                si (constante(general.mois_paye)=2)
                alors (
                    si (CONSTANTE(CONTRAT.CIVJOURSTRAVAIL)=CONSTANTE(GENERAL.NBJMOISPAYE))
                    alors (0)
                    sinon (30-CONSTANTE(CONTRAT.CIVJOURSTRAVAIL)
                          -
                          si ((CONSTANTE(CONTRAT.CIVJOURSTRAVAIL)<>CONSTANTE(CONTRAT.CIVJOURSTRAVAIL_EMB))
                              et (CONSTANTE(CONTRAT.CIVJOURSTRAVAIL_EMB)>=28))
                          alors (2)
                          sinon (0)
                          )
                      )
                sinon (30-minimum(constante(contrat.CIVJOURSTRAVAIL);30))
             +
             si ((CONSTANTE(CONTRAT.CIVJOURSTRAVAIL)<>CONSTANTE(CONTRAT.CIVJOURSTRAVAIL_EMB)) et (CONSTANTE(CONTRAT.CIVJOURSTRAVAIL_EMB)=31))
             alors (1)
             sinon (0)
            )
      )
sinon (0)

 

Retenue à la source

Une liste de constante : RET_SOURCE :

  • 1 : Fraction à 0%  : 1402€
  • 2 : Fraction à 12% : 4066€

Une cotisation retenue à la source : RET_SOURCE avec une base de cotisation BC_RET_SOURCE

BC_RET_SOURCE

declarer (BASE)
affecter (base;[NETIMP.MONTANT]*0.90)
(
 0.12
 *
 si (:BASE>LISTEGEN(RETSOURCE;2))
 alors (LISTEGEN(RETSOURCE;2)-LISTEGEN(RETSOURCE;1))
 sinon (
        si (:BASE>LISTEGEN(RETSOURCE;1))
        alors (:BASE-LISTEGEN(RETSOURCE;1))
        sinon (0)
        )
)
+
(
 0.20
 *
 si (:BASE>LISTEGEN(RETSOURCE;2))
 alors (:BASE-LISTEGEN(RETSOURCE;2))
 sinon (0)
)

 

Ajout de accident_TH  : Pour y mettre le CTP 122 en CTP2