Version 67

Version 1

V_NEWAGCP.HREMU

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)
                       *
                        si ([JRSNONTRAV.BASE]<>0)
                        alors(maximum(1;(30 - [JRSNONTRAV.BASE])) / 30)
                        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

Modification des rubriques base de cotisation prévoyance :

MALADIE_AM

Cotisation majoration maladie Alsace Moselle taux 1.30%

PREV_TH

Prévoyance TH, base de cotisation BC_BRUT_PREV_NC

FORMATION_TH

Formation professionnelle continue travailleurs handicapé

 

Version 2

APPRENTI.ABTBRANCHE

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

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

 

 

Version 3 abondement PERECO

Forfait social 16%

B_COT_FORSOC16 : Itérative forfait social 16%

Inclut PCOA_ABOND : Montant brut abondement

BC_FORFAITS16 : Base forfait social 16%

[B_COT_FORSOC16.MONTANT]

FORFAITSOC16 : Cotisation forfait social 16%

Abondement

PCOA_ABOND : Rubrique de paye du montant brut de l’abondement

BC_PCOA_ABOND : Base de cotisation abondement

[PCOA_ABOND.MONTANT]

N_PCOA_CSGDED : C.S.G. déductible sur l'abondement PERECO - > COT_SALDED avec un taux à zéro et PCOA_COTSAL

N_PCOA_CSGND : C.S.G. non déductible sur l'abondement PERECO - > COT_SAL avec un taux à zéro et PCOA_COTSAL

N_PCOA_CRDS : C.R.D.S. sur abondement PERECO - > COT_SAL avec un taux à zéro et PCOA_COTSAL

PCOA_COTSAL : Itérative cotisation salariale abondement PERECO

Version 4 : PERECO

CHEQUESANTE.TAUX

Avant :

si (CONSTANTE(CONTRAT.TYPECONTRAT)=1)
alors (125)
sinon (105)

Après :

si (CONSTANTE(CONTRAT.DSNNATURE)=01)
alors (105)
sinon (125)

 

PPVNONEXO

sur les apprentis quand on met une ppvnonexo, le seuil doit être comparé au brut sans la ppv

Rubrique BC_BRUT_APP

Avant :

MAXIMUM([BRUT.MONTANT]-[CONAIDE.SEUILAPPRENTI];0)
+[BCOTASSREEL.MONTANT]*0

Après :

MAXIMUM(exclure([BRUT.MONTANT];[P_PPVNONEXO.MONTANT])-[CONAIDE.SEUILAPPRENTI];0)
+[BCOTASSREEL.MONTANT]*0

rubrique BC_BRUT_APP_PL

Avant :

si ([BRUT.MONTANT]>0)
alors (PLAFONNER([BRUT.MONTANT];0;[CONAIDE.SEUILAPPRENTI]))
sinon (PLAFONNER([BRUT.MONTANT]*(-1);0;[CONAIDE.SEUILAPPRENTI]) *(-1))
+[BCOTASSREEL.MONTANT]*0

Après :

si ([BRUT.MONTANT]>0)
alors (PLAFONNER(exclure([BRUT.MONTANT];[P_PPVNONEXO.MONTANT]);0;[CONAIDE.SEUILAPPRENTI]))
sinon (PLAFONNER(exclure([BRUT.MONTANT];[P_PPVNONEXO.MONTANT])*(-1);0;[CONAIDE.SEUILAPPRENTI]) *(-1))
+[BCOTASSREEL.MONTANT]*0

Version 5

MALADIE_NRA

Cotisation maladie non résidents actif taux 5.5% CTP 206

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 code type de personnel 206 « salariés non-résidents actifs ».

Version 6

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)

 

Version 7

A faire :

 

_PREV_TH avec BC_SALDIR comme base  pkoi BC_SALDIR ??? il n'y a pas de raison

_FORMAT_TH avec un taux patr de 2.3% et BC_SALDIR comme base pkoi BC_SALDIR ??? il n'y a pas de raison

 

MALADIE_AM : Majoration maladie alsace moselle

Base = BC_BRUT_URSSAF / Taux salarié = 1.30% CTP 381 cotisation 115

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

Retenue à la source

Une liste de constante : RET_SOURCE :

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

Service civique

- Une rubrique Allocations Familiales au taux de 5.25%

- Une rubrique Vieillesse déplafonnée au taux patronal de 2.42%

- Une base de cotisation pour la Vieillesse déplafonnée au taux de 2.42% 

- Une rubrique Vieillesse plafonnée au taux patronal de 15.45%

- Une base de cotisation pour la Vieillesse déplafonnée au taux de 15.45%

Version 8

Correctif et ajout de PCO_VERSEMENT dans les itératives B_COT_PREV et B_COT_RET

 

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