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
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 :
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]
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
