Version 92

Parution : 19/12/2025

Version précédente Version 91    

Le version du gestionnaire de rubrique 92 ne sera disponible qu'à partir de la période de paye de janvier 2026. Il n'est pas possible de l'installer avant

Apprenti

Pour les apprentis embauchés après le 1er mars 2025, le seuil d’exonération est passé à 50% du SMIC. Jusqu'à présent le test s'effectuait sur la date d'embauche.

Cela ne fonctionne donc pas pour un salarié déjà embauché dans un autre régime, et qui passe apprenti.

Une rubrique de paye a été créé afin de forcer l'application des nouvelles dispositions : APPRENTI0325 : Forcer apprenti embauché après 03/2025.

D'autres rubriques ont été créées ou modifiées pour prendre en compte cette modification.

APPRENTI.APPRENTI0325

Si (([APPRENTI0325.BASE]=1)
ou ((CONSTANTE(CONTRAT.ANNEE_EMBAUCHE)*100+CONSTANTE(CONTRAT.MOIS_EMBAUCHE)>=202503))
    )
alors (1)
sinon (0)

V_CSG.CUM_AV_ABT

Avant

si ((CONSTANTE(CONTRAT.DSNINTITULE)=64) ou (CONSTANTE(CONTRAT.DSNINTITULE)=65))
alors (
      si    (CONSTANTE(CONTRAT.ANNEE_EMBAUCHE)*100+CONSTANTE(CONTRAT.MOIS_EMBAUCHE)>=202503)
      alors ([B_COT_CSG_ABT.MONTANT])
      sinon (0)
      )
sinon (
      minimum(
              (F_HISTOCLOT([B_COT_CSG_ABT.MONTANT])+[B_COT_CSG_ABT.MONTANT])
              ;
              (F_HISTOCLOT([PL_MENSA.MONTANT])+[PL_MENSA.MONTANT])*4
              )
      )

Après

si ((CONSTANTE(CONTRAT.DSNINTITULE)=64) ou (CONSTANTE(CONTRAT.DSNINTITULE)=65))
alors (
      si ([APPRENTI.APPRENTI0325]=1)
      alors ([B_COT_CSG_ABT.MONTANT])
      sinon (0)
      )
sinon (
      minimum(
              (F_HISTOCLOT([B_COT_CSG_ABT.MONTANT])+[B_COT_CSG_ABT.MONTANT])
              ;
              (F_HISTOCLOT([PL_MENSA.MONTANT])+[PL_MENSA.MONTANT])*4
              )
      )

 

V_CSG.CUM_N_ABT

Avant

si ((CONSTANTE(CONTRAT.DSNINTITULE)=64) ou (CONSTANTE(CONTRAT.DSNINTITULE)=65))
alors (
      si (
         (CONSTANTE(CONTRAT.ANNEE_EMBAUCHE)*100+CONSTANTE(CONTRAT.MOIS_EMBAUCHE)>=202503)
         et ([BC_BRUT_APP.MONTANT]>0)
         )
      alors (
            [B_COT_CSG_NABT.MONTANT]
            )
      sinon (0)
      )
sinon (
      (F_HISTOCLOT([B_COT_CSG_ABT.MONTANT])+[B_COT_CSG_ABT.MONTANT] - [V_CSG.CUM_AV_ABT])
      +
      (F_HISTOCLOT([B_COT_CSG_NABT.MONTANT])+[B_COT_CSG_NABT.MONTANT])
      )

Après

si ((CONSTANTE(CONTRAT.DSNINTITULE)=64) ou (CONSTANTE(CONTRAT.DSNINTITULE)=65))
alors (
      si (
      	 ([APPRENTI.APPRENTI0325]=1)
         et ([BC_BRUT_APP.MONTANT]>0)
         )
      alors (
            [B_COT_CSG_NABT.MONTANT]
            )
      sinon (0)
      )
sinon (
      (F_HISTOCLOT([B_COT_CSG_ABT.MONTANT])+[B_COT_CSG_ABT.MONTANT] - [V_CSG.CUM_AV_ABT])
      +
      (F_HISTOCLOT([B_COT_CSG_NABT.MONTANT])+[B_COT_CSG_NABT.MONTANT])
      )

CUM_ABT

Avant

si ((CONSTANTE(CONTRAT.DSNINTITULE)=64) ou (CONSTANTE(CONTRAT.DSNINTITULE)=65))
alors (
      si (
         (CONSTANTE(CONTRAT.ANNEE_EMBAUCHE)*100+CONSTANTE(CONTRAT.MOIS_EMBAUCHE)>=202503)
         )
      alors ([V_CSG.CUM_AV_ABT]*0.9825)
      sinon (0)
      )
sinon ([V_CSG.CUM_AV_ABT]*0.9825)

Après

si ((CONSTANTE(CONTRAT.DSNINTITULE)=64) ou (CONSTANTE(CONTRAT.DSNINTITULE)=65))
alors (
      si ([APPRENTI.APPRENTI0325]=1)        
      alors ([V_CSG.CUM_AV_ABT]*0.9825)
      sinon (0)
      )
sinon ([V_CSG.CUM_AV_ABT]*0.9825)

BC_TAXESAL

Avant

declarer (dotaxe)
affecter (dotaxe;
          si ((CONSTANTE(CONTRAT.DSNINTITULE)=64) ou (CONSTANTE(CONTRAT.DSNINTITULE)=65))
          alors (
                si ((CONSTANTE(CONTRAT.ANNEE_EMBAUCHE)*100+CONSTANTE(CONTRAT.MOIS_EMBAUCHE)>=202503)
                et ([BC_BRUT_APP.MONTANT]>0))
                alors (1)
                sinon (0)
                )
          sinon (1+0)
         )

si ((:dotaxe=0) ou (CONSTANTE(GENERAL.EXOTAXE)=1))
alors (0)
sinon (
      si ([BISTAXESAL.BASE]=1)
      alors ([BC_TAXESALBIS.MONTANT])
      sinon (
si (CONSTANTE(CONTRAT.NATURECONTRAT)=0008)
alors (
si ([FO.TOTAL]<>0)
alors ([FO.TOTAL])
sinon ([B_COT_TAXESAL.MONTANT])
)
sinon (
SI ([EXOTAXESAL.MONTANT]=0)
ALORS ([B_COT_TAXESAL.MONTANT])
SINON ( (100-[EXOTAXESAL.MONTANT])/100 * [B_COT_TAXESAL.MONTANT] )
)
)
      )

Après

declarer (dotaxe)
affecter (dotaxe;
          si ((CONSTANTE(CONTRAT.DSNINTITULE)=64) ou (CONSTANTE(CONTRAT.DSNINTITULE)=65))
          alors (
                si (
                   ([APPRENTI.APPRENTI0325]=1)
                   et ([BC_BRUT_APP.MONTANT]>0)
                   )
                alors (1)
                sinon (0)
                )
          sinon (1+0)
         )

si ((:dotaxe=0) ou (CONSTANTE(GENERAL.EXOTAXE)=1))
alors (0)
sinon (
      si ([BISTAXESAL.BASE]=1)
      alors ([BC_TAXESALBIS.MONTANT])
      sinon (
si (CONSTANTE(CONTRAT.NATURECONTRAT)=0008)
alors (
si ([FO.TOTAL]<>0)
alors ([FO.TOTAL])
sinon ([B_COT_TAXESAL.MONTANT])
)
sinon (
SI ([EXOTAXESAL.MONTANT]=0)
ALORS ([B_COT_TAXESAL.MONTANT])
SINON ( (100-[EXOTAXESAL.MONTANT])/100 * [B_COT_TAXESAL.MONTANT] )
)
)
      )

CONAIDE.SEUILAPPRENTI

Avant

CONSTANTE(CONTRAT.CIVJOURSTRAVAIL)/CONSTANTE(GENERAL.NBJMOISPAYE)
*
si (CONSTANTE(CONTRAT.ANNEE_EMBAUCHE)*100+CONSTANTE(CONTRAT.MOIS_EMBAUCHE)>=202503)
alors (0.50*CONSTANTE(GENERAL.SMICHOR)*CONSTANTE(CONTRAT.HORAIRECOLLECTIF))
sinon (0.79*CONSTANTE(GENERAL.SMICMENS))

Après

CONSTANTE(CONTRAT.CIVJOURSTRAVAIL)/CONSTANTE(GENERAL.NBJMOISPAYE)
*
si ([APPRENTI.APPRENTI0325]=1)
alors (0.50*CONSTANTE(GENERAL.SMICHOR)*CONSTANTE(CONTRAT.HORAIRECOLLECTIF))
sinon (0.79*CONSTANTE(GENERAL.SMICMENS))

Congés trimestriels

Afin de prendre en compte l'indemnité différentielle de congés trimestrielles, la rubrique CP_DIF_TRIM : Indemnité différentielle de congés trimestriel a été créée.

Plafonds antérieurs

La rubrique PLAFONDS_A  Plafonds de tranche A n'est plus utilisée mais est toujours calculée.

La case à cocher Toujours calculée est passé à non.

PLAFONDS_A.PLA_MOIS

Avant

SI ((CONSTANTE(General.PRORATAPLAFOND)=1)
     ou (CONSTANTE(GENERAL.ANNEE_PAYE)*100+CONSTANTE(GENERAL.MOIS_PAYE)>=201807)
   )
alors (maximum(0;MINIMUM(CONSTANTE(GENERAL.PLFSECUMOIS);[PLAFONDS_A.NEW_PLA_MOIS])))
sinon(maximum(0;MINIMUM(CONSTANTE(GENERAL.PLFSECUMOIS);[PLAFONDS_A.ANC_PLA_MOIS])))

Après

0

PLAFONDS_A.PLA_MOISANT

Avant

SI ((CONSTANTE(General.PRORATAPLAFOND)=1)
     ou (CONSTANTE(GENERAL.ANNEE_PAYE)*100+CONSTANTE(GENERAL.MOIS_PAYE)>=201807)
   )
alors (maximum(0;MINIMUM(CONSTANTE(GENERAL.PLFSECUMOIS);[PLAFONDS_A.NEW_PLA_MOISANT])))
sinon(maximum(0;MINIMUM(CONSTANTE(GENERAL.PLFSECUMOIS);[PLAFONDS_A.ANC_PLA_MOISANT])))

Après

0

ANC_PLA_MOISANT

Avant

si ((CONSTANTE(GENERAL.JRS_ANT)=1) et (CONSTANTE(CONTRAT.NEUTRAL_PLAF)>0))
alors (
      si ( Constante(General.Mois_paye)=2)
      alors ( si ([JRSPLAFOND.MONTANT]>=28)
              alors ([PLAFONDS_A.PLA_MOIS] / 30)
              sinon ([PLAFONDS_A.PLA_MOIS] / [JRSPLAFOND.MONTANT])
            )
      sinon ( [PLAFONDS_A.PLA_MOIS] / minimum([JRSPLAFOND.MONTANT];30))
      *
      [ANT_JOURS.BASE]
      +
      si ([ANT_HEURES.MONTANT]<>0)
      alors (
             minimum(CONSTANTE(GENERAL.PLFSECUMOIS);
             CONSTANTE(GENERAL.PLFSECUMOIS)*[ANT_HEURES.BASE]/CONSTANTE(CONTRAT.HORAIRECOLLECTIF))
             )
      sinon (0)
      )
sinon (0)

Après

0

NEW_PLA_MOISANT

Avant

si (CONSTANTE(GENERAL.JRS_ANT)=1)
alors (
      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 (
                              (CONSTANTE(CONTRAT.HORAIREMENSUEL)+[ANT_HEURES.MONTANT])
                              / CONSTANTE(CONTRAT.HORAIRECOLLECTIF)
                              )
                         )
                 )
              )
      *(
         minimum(maximum(0;[ANT_JOURS.BASE]);CONSTANTE(GENERAL.NBJMOISPAYE_1))
         /CONSTANTE(GENERAL.NBJMOISPAYE_1)
        )
      )
sinon (0)

Après

0

Calcul différentiel smic coefficient internat externat

Pour pouvoir calculer le différentiel smic à partir de la différence entre les coefficients majorés de l'ancienneté internat et externat

66_DIFINTEXT

CONSTANTE(CONTRAT.HORAIREMENSUEL)/CONSTANTE(CONTRAT.HORAIRECOLLECTIF)
*
si ([COEFEXT66.COEFEXT66]=0)
alors (0)
sinon (
maximum(
([COEFREF.COEFREF]-[COEFEXT66.COEFEXT66]) * [VP.VP]
* (1+CONSTANTE(GENERAL.TAUXSUJETION66)/100)
;0
)
)

VMRR Taux réduit

TRANSPVMRRMED.TXEMP

Avant

0

Après

Non modifiable

LISTEGEN(TX_TRANSPVMRR;CONSTANTE(CONTRAT.TAUX_TAXETRANSPORTVMRR))

Cotisation fictive code 146 pour les cotisations patronales de retraite

La rubrique itérative  COT146 a été créée simplement pour avoir la liste des rubriques de cotisation qui doivent entrer dans le code 145 en DSN. Elle n'est jamais et ne doit pas être calculée.

Réduction patronale

Modification de REDUCPAT.TXEMP

Avant

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))

Après

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

Modification de REDUCRTTPAT.TXEMP

Avant

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))

Après

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