# Version 75

# Version 1

<span style="text-decoration: underline;">51\_COMPDIMCONV</span>

Correction sur la formule taux : Il y avait un E en trop dans B\_PXHEUREE

Avant

```
si (([NUMCONV.NUMCONV]=51) et (CONSTANTE(GENERAL.51MINCONV)>0))
alors (
      (maximum(
       si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=5)
       alors (
            exclure([B_PXHEUREE.MONTANT];[51_ANNULSALMIN.MONTANT];[51_MINCONV.MONTANT];[51_ANC.MONTANT];[51_DIFFSMIC.MONTANT];[ABT_APPRENTI.MONTANT];[ABT_VAPPRENTI.MONTANT];[51_P_PRIMEINT.MONTANT];[51_P_PCCP.MONTANT])
            / (CONSTANTE(CONTRAT.HEURE_FORFAIT)/12)
            )
       sinon (
            exclure([B_PXHEUREETP.MONTANT];[51_ANNULSALMIN.MONTANT];[51_MINCONV.MONTANT];[51_ANC.MONTANT];[51_DIFFSMIC.MONTANT];[ABT_APPRENTI.MONTANT];[ABT_VAPPRENTI.MONTANT];[51_P_PRIMEINT.MONTANT];[51_P_PCCP.MONTANT])
            /(CONSTANTE(CONTRAT.HORAIRECOLLECTIF))
            )
       ;CONSTANTE(GENERAL.SMICHOR))
       )
       +
       ((
         exclure([51_BASEANC.MONTANT];[51_DIFFSMIC.MONTANT])
         + maximum((CONSTANTE(GENERAL.SMICHOR)*CONSTANTE(CONTRAT.HORAIREMENSUEL))-exclure([51_SALMINSMIC.MONTANT];[51_COMPDIMCONV.MONTANT]);0)
         +
         si (CONSTANTE(GENERAL.51_AVT0212)=0)
         alors (0)
         sinon (
               si (CONSTANTE(GENERAL.ANNEE_PAYE)*100+CONSTANTE(GENERAL.MOIS_PAYE)>=201411)
               alors (
                  si (CONSTANTE(GENERAL.ANNEE_PAYE)*100+CONSTANTE(GENERAL.MOIS_PAYE)>=201511)
                  alors ([51_GRILLETEC14.RESULTAT]/100*[51_MAJSPEC.BASE])
                  sinon ([51_GRILLETEC14.RESULTAT]/100*[51_MAJSPEC.BASE]*0.5)
                  )
               sinon (0)
               )
         )*[51_ANC.TAUX]
       )
       /(si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=5)
            alors ((CONSTANTE(CONTRAT.HEURE_FORFAIT)/12))
            sinon (CONSTANTE(CONTRAT.HORAIRECOLLECTIF))
        )
      )
sinon(0)
```

Après

```
si (([NUMCONV.NUMCONV]=51) et (CONSTANTE(GENERAL.51MINCONV)>0))
alors (
      (maximum(
       si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=5)
       alors (
            exclure([B_PXHEURE.MONTANT];[51_ANNULSALMIN.MONTANT];[51_MINCONV.MONTANT];[51_ANC.MONTANT];[51_DIFFSMIC.MONTANT];[ABT_APPRENTI.MONTANT];[ABT_VAPPRENTI.MONTANT];[51_P_PRIMEINT.MONTANT];[51_P_PCCP.MONTANT])
            / (CONSTANTE(CONTRAT.HEURE_FORFAIT)/12)
            )
       sinon (
            exclure([B_PXHEUREETP.MONTANT];[51_ANNULSALMIN.MONTANT];[51_MINCONV.MONTANT];[51_ANC.MONTANT];[51_DIFFSMIC.MONTANT];[ABT_APPRENTI.MONTANT];[ABT_VAPPRENTI.MONTANT];[51_P_PRIMEINT.MONTANT];[51_P_PCCP.MONTANT])
            /(CONSTANTE(CONTRAT.HORAIRECOLLECTIF))
            )
       ;CONSTANTE(GENERAL.SMICHOR))
       )
       +
       ((
         exclure([51_BASEANC.MONTANT];[51_DIFFSMIC.MONTANT])
         + maximum((CONSTANTE(GENERAL.SMICHOR)*CONSTANTE(CONTRAT.HORAIREMENSUEL))-exclure([51_SALMINSMIC.MONTANT];[51_COMPDIMCONV.MONTANT]);0)
         +
         si (CONSTANTE(GENERAL.51_AVT0212)=0)
         alors (0)
         sinon (
               si (CONSTANTE(GENERAL.ANNEE_PAYE)*100+CONSTANTE(GENERAL.MOIS_PAYE)>=201411)
               alors (
                  si (CONSTANTE(GENERAL.ANNEE_PAYE)*100+CONSTANTE(GENERAL.MOIS_PAYE)>=201511)
                  alors ([51_GRILLETEC14.RESULTAT]/100*[51_MAJSPEC.BASE])
                  sinon ([51_GRILLETEC14.RESULTAT]/100*[51_MAJSPEC.BASE]*0.5)
                  )
               sinon (0)
               )
         )*[51_ANC.TAUX]
       )
       /(si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=5)
            alors ((CONSTANTE(CONTRAT.HEURE_FORFAIT)/12))
            sinon (CONSTANTE(CONTRAT.HORAIRECOLLECTIF))
        )
      )
sinon(0)
```

<span style="text-decoration: underline;">COTSALHORSECRE</span>

Pour éviter la fausse référence circulaire

Avant

```
exclure([COT_SAL.MONTANT];[COT_SALDED.MONTANT];[N_CRDSECRET.MTSALARIAL];[N_CSGECRETND.MTSALARIAL];[N_CSGECRTD.MTSALARIAL])
+exclure([COT_SALDED.MONTANT];[N_CRDSECRET.MTSALARIAL];[N_CSGECRETND.MTSALARIAL];[N_CSGECRTD.MTSALARIAL])
```

Après

```
exclure([COT_SAL.MONTANT];[COT_SALDED.MONTANT];[N_CRDSECRET.MTSALARIAL];[N_CSGECRETND.MTSALARIAL])
+
exclure([COT_SALDED.MONTANT];[N_CSGECRTD.MTSALARIAL])
```

<span style="text-decoration: underline;">FD\_CNRACL\_IND</span>

Création du salaire indiciaire CNRACL

<span style="text-decoration: underline;">BC\_FD\_CNRACL</span>

```
[FD_CNRACL_IND.BASE]
```

# Version 2

V\_NEWAGCP.REMUCOEF

```
[V_NEWAGCP.REMUCOEF]
+
si (
   ([PLAFONDSECU.NUMCAS]=1)
   et ((CONSTANTE(GENERAL.ANNEE_PAYE)>=2024) ou (CONSTANTE(GENERAL.AGCP_AD)=1))
   )
alors (
      F_AGCP([V_NEWAGCP.REMUCOEF];[AGCPDEBUT.MONTANT])
      )
sinon (
      si (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2024)
      alors (F_AGCP([V_AGCP.REMUCOEF];[AGCPDEBUT.MONTANT]))
      sinon (F_AGCP([V_NEWAGCP.REMUCOEF];[AGCPDEBUT.MONTANT]))
      )
```

Boulette dans la formule V\_NEWAGCP.CUMSMICPRO

Avant

```
si (CONSTANTE(GENERAL.SMICAGCP)=0)
alors (
      [V_NEWAGCP.SMICPRO]+
      si (
         ([PLAFONDSECU.NUMCAS]=1)
         et ((CONSTANTE(GENERAL.ANNEE_PAYE)>=2024) ou (CONSTANTE(GENERAL.AGCP_AD)=1))
         )
      alors (
            F_AGCP([V_NEWAGCP.SMICPRO];[AGCPDEBUT.MONTANT])
            )
      sinon (
            si (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2024)
            alors (F_AGCP([V_AGCP.SMICPRORATE];[AGCPDEBUT.MONTANT]))
            sinon (F_AGCP([V_NEWAGCP.SMICPRORATE];[AGCPDEBUT.MONTANT]))
            )
      )
sinon ([V_NEWAGCP.TOTSMICPRO])
```

Après

```
si (CONSTANTE(GENERAL.SMICAGCP)=0)
alors (
      [V_NEWAGCP.SMICPRO]+
      si (
         ([PLAFONDSECU.NUMCAS]=1)
         et ((CONSTANTE(GENERAL.ANNEE_PAYE)>=2024) ou (CONSTANTE(GENERAL.AGCP_AD)=1))
         )
      alors (
            F_AGCP([V_NEWAGCP.SMICPRO];[AGCPDEBUT.MONTANT])
            )
      sinon (
            si (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2024)
            alors (F_AGCP([V_AGCP.SMICPRORATE];[AGCPDEBUT.MONTANT]))
            sinon (F_AGCP([V_NEWAGCP.SMICPRO];[AGCPDEBUT.MONTANT]))
            )
      )
sinon ([V_NEWAGCP.TOTSMICPRO])

```

### Apprenti

##### CONAIDE.SEUILAPPRENTI

Pour les contrats conclus à compter du 01/03/2025, baisse des exonérations de charges salariales de 79% à 50%

Avant

```
CONSTANTE(CONTRAT.CIVJOURSTRAVAIL)/CONSTANTE(GENERAL.NBJMOISPAYE)
*CONSTANTE(GENERAL.SMICMENS)*0.79
```

<div id="bkmrk-apr%C3%A8s-0"><div><textarea readonly="readonly" spellcheck="false" style="position: absolute; bottom: -1em; padding: 0px; width: 1px; height: 1em; outline: none;" tabindex="0" wrap="off"></textarea>Après</div></div>

```
CONSTANTE(CONTRAT.CIVJOURSTRAVAIL)/CONSTANTE(GENERAL.NBJMOISPAYE)
*CONSTANTE(GENERAL.SMICMENS)*
si ((CONSTANTE(CONTRAT.ANNEE_EMBAUCHE)>=2025) et (CONSTANTE(CONTRAT.MOIS_EMBAUCHE)>=3))
alors (0.50)
sinon (0.79)
```

CSG non exonéré au dessus de 50% du smic

B\_COT\_CSG\_ABT

#### **Ajout de la la rubrique BC\_BRUT\_APP\_PL en moins dans l'itérative**

#### **Il faudra faire attention au calcul quand on passe d'apprenti au RG ou du RG à l'apprenti**

BC\_CSG : Pour la simplifier

Avant

```
si ((CONSTANTE(CONTRAT.PAS_RESIDENTETRANGER)=1) et (CONSTANTE(CONTRAT.PAS_ACTIF)=0))
alors (0)
sinon (
si ((CONSTANTE(GENERAL.NEWCSG)=1) ou (CONSTANTE(GENERAL.ANNEE_PAYE)>2024)
   ou ((CONSTANTE(GENERAL.ANNEE_PAYE)=2024) et ([PLAFONDSECU.NUMCAS]=1))
    )
alors (
      si ((CONSTANTE(CONTRAT.NATURECONTRAT)=0008) et ([FO.TOTAL]<>0))
      alors ([FO.TOTAL])
      sinon (
            si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2024))
            alors ([B_COT_CSG.MONTANT])
            sinon (
                  [V_CSG.CUM_ABT]
                  +[V_CSG.CUM_NABT]
                  -F_HISTOCLOT([BC_CSG.MONTANT])
                  )
            )
      )
sinon (
      si (CONSTANTE(CONTRAT.NATURECONTRAT)=0008)
      alors (
            si ([FO.TOTAL]<>0)
            alors ([FO.TOTAL])
            sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CSG.MONTANT]))
            )
      sinon (
            si (CONSTANTE(CONTRAT.DSNNATURE)=29)
            alors (F_TESTCSG([BC_BRUT_STA.MONTANT]*0.9825;[BC_CSG.MONTANT]))
            sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CSG.MONTANT]))
            )
      )
)
```

Après

```
si ((CONSTANTE(CONTRAT.PAS_RESIDENTETRANGER)=1) et (CONSTANTE(CONTRAT.PAS_ACTIF)=0))
alors (0)
sinon (
      si ((CONSTANTE(CONTRAT.NATURECONTRAT)=0008) et ([FO.TOTAL]<>0))
      alors ([FO.TOTAL])
      sinon (
            si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2024))
            alors ([B_COT_CSG.MONTANT])
            sinon (
                  [V_CSG.CUM_ABT]
                  +[V_CSG.CUM_NABT]
                  -F_HISTOCLOT([BC_CSG.MONTANT])
                  )
            )
      )
```

BC\_CRDS  : Sera égal à BC\_CSG

### Complément maladie

Le seuil passe de 2.5 à 2.25 SMIC

BC\_MALCOMP25

Avant

```
si (
               (([V_NEWAGCP.CUMREMUCOEF]) >  (2.5*[V_NEWAGCP.CUMSMICPRO3112]))
               et ([V_NEWAGCP.CUMREMUCOEF]>0)
               et ([V_NEWAGCP.CUMSMICPRO3112]>0)
               )
            alors (
                  f_histoclotsit([BC_BRUT_URSAFF.MONTANT])+ [BC_BRUT_URSAFF.MONTANT]
                  - f_histoclotsit([BC_MALCOMP25.MONTANT])
                  )
            sinon (
                  f_histoclotsit([BC_MALCOMP25.MONTANT])*(-1)
                  )
```

Après

```
declarer (TXSMIC)
affecter (TXSMIC;
         si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2025))
         alors (2.5)
         sinon (2.25)
         2.5
         )
si (
    (([V_NEWAGCP.CUMREMUCOEF]) >  (:TXSMIC*[V_NEWAGCP.CUMSMICPRO3112]))
    et ([V_NEWAGCP.CUMREMUCOEF]>0)
    et ([V_NEWAGCP.CUMSMICPRO3112]>0)
    )
alors (
       f_histoclotsit([BC_BRUT_URSAFF.MONTANT])+ [BC_BRUT_URSAFF.MONTANT]
       - f_histoclotsit([BC_MALCOMP25.MONTANT])
       )
sinon (
       f_histoclotsit([BC_MALCOMP25.MONTANT])*(-1)
      )
```

### Allocation familiale

Le seuil passe de 3.5 à 3.3 SMIC

ALLOCFAM.TXEMP

Avant

```
si (
    ([V_NEWAGCP.CUMREMUCOEF]>3.5*[V_NEWAGCP.CUMSMICPRO3112])
    et ([V_NEWAGCP.CUMREMUCOEF]>0)
    et ([V_NEWAGCP.CUMSMICPRO3112]>0)
    )
alors (LISTEGEN(TX_ALLOCF;0001))
sinon (0)
```

Après

```
declarer (TXSMIC)
affecter (TXSMIC;
         si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2025))
         alors (3.5)
         sinon (3.3)
         )
si (
    ([V_NEWAGCP.CUMREMUCOEF]>:TXSMIC*[V_NEWAGCP.CUMSMICPRO3112])
    et ([V_NEWAGCP.CUMREMUCOEF]>0)
    et ([V_NEWAGCP.CUMSMICPRO3112]>0)
    )
alors (LISTEGEN(TX_ALLOCF;0001))
sinon (0)
```

ALLOCFAMREDUIT.TXEMP

Avant

```
si (
         ([V_NEWAGCP.CUMREMUCOEF]>3.5*[V_NEWAGCP.CUMSMICPRO3112])
         et ([V_NEWAGCP.CUMREMUCOEF]>0)
         et ([V_NEWAGCP.CUMSMICPRO3112]>0)
         )
      alors (0)
      sinon (LISTEGEN(TX_ALLOCF;0002))
```

Après

```
declarer (TXSMIC)
affecter (TXSMIC;
         si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2025))
         alors (3.5)
         sinon (3.3)
         )
si (
         ([V_NEWAGCP.CUMREMUCOEF]>:TXSMIC*[V_NEWAGCP.CUMSMICPRO3112])
         et ([V_NEWAGCP.CUMREMUCOEF]>0)
         et ([V_NEWAGCP.CUMSMICPRO3112]>0)
         )
      alors (0)
      sinon (LISTEGEN(TX_ALLOCF;0002))
```

BC\_REG\_ALLOC

Avant

```
si (CONSTANTE(GENERAL.NEWAGCP)=1)
alors (
            si (
               ([V_NEWAGCP.CUMREMUCOEF]<=(3.5*[V_NEWAGCP.CUMSMICPRO3112]))
               ou ([V_NEWAGCP.CUMREMUCOEF]<=0)
               ou ([V_NEWAGCP.CUMSMICPRO]<=0)
            )
            alors (
                   histocumulsitu([V_ALLOC.BASEALLOC])*(-1)
                   -histocumulsitu([BC_REG_ALLOC.MONTANT])
                   )
            sinon (
                  histocumulsitu([V_ALLOC.BASEALLOCRED])
                  +histocumulsitu([BC_REG_ALLOCRE.MONTANT])
                  )
      )
sinon (
            si (
               ([V_AGCP.CUMREMUCOEF]<=(3.5*[V_AGCP.CUMSMICPRORATE]))
               ou ([V_AGCP.CUMREMUCOEF]<=0)
               ou ([V_AGCP.CUMSMICPRORATE]<=0)
            )
            alors (
                   histocumulsitu([V_ALLOC.BASEALLOC])*(-1)
                   -histocumulsitu([BC_REG_ALLOC.MONTANT])
                   )
            sinon (
                  histocumulsitu([V_ALLOC.BASEALLOCRED])
                  +histocumulsitu([BC_REG_ALLOCRE.MONTANT])
                  )
      )
```

Après

```
declarer (TXSMIC)
affecter (TXSMIC;
         si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2025))
         alors (3.5)
         sinon (3.3)
         )
si (
   ([V_NEWAGCP.CUMREMUCOEF]<=(:TXSMIC*[V_NEWAGCP.CUMSMICPRO3112]))
   ou ([V_NEWAGCP.CUMREMUCOEF]<=0)
   ou ([V_NEWAGCP.CUMSMICPRO]<=0)
)
alors (
       histocumulsitu([V_ALLOC.BASEALLOC])*(-1)
       -histocumulsitu([BC_REG_ALLOC.MONTANT])
       )
sinon (
      histocumulsitu([V_ALLOC.BASEALLOCRED])
      +histocumulsitu([BC_REG_ALLOCRE.MONTANT])
      )

```

# Version 3

### Apprenti

##### CONAIDE.SEUILAPPRENTI

Pour les contrats conclus à compter du 01/03/2025, baisse des exonérations de charges salariales de 79% à 50%

Avant

```
CONSTANTE(CONTRAT.CIVJOURSTRAVAIL)/CONSTANTE(GENERAL.NBJMOISPAYE)
*CONSTANTE(GENERAL.SMICMENS)*0.79
```

Après

```
CONSTANTE(CONTRAT.CIVJOURSTRAVAIL)/CONSTANTE(GENERAL.NBJMOISPAYE)
*CONSTANTE(GENERAL.SMICMENS)*
si ((CONSTANTE(CONTRAT.ANNEE_EMBAUCHE)>=2025) et (CONSTANTE(CONTRAT.MOIS_EMBAUCHE)>=3))
alors (0.50)
sinon (0.79)
```

#### AGCP AD

Faire comme pour l'agcp classique

<span style="text-decoration: underline;">BC\_ADAGCPURSS</span>

Avant

```
si (
   ([AGCPURSSAF_1.BASE]=0) et ([AGCPURSAFREG_1.BASE]=0) et ([AGCPRUAA_1.BASE]=0)
   et ([AGCPURS_AD_1.BASE]=0) et ([AGCPURFR_AD_1.BASE]=0) et ([AGCPRUAA_AD_1.BASE]=0)
   )
alors (
        si (CONSTANTE(GENERAL.NEWAGCP)= 1)
        alors ([V_AD_AGCP.ADAGCPURSSAF])
        sinon (0)
       )
sinon (0)
```

Après

```
si ( (
      ([AGCPURSSAF_1.BASE]=0) et ([AGCPURSAFREG_1.BASE]=0) et ([AGCPRUAA_1.BASE]=0)
      et ([AGCPURS_AD_1.BASE]=0) et ([AGCPURFR_AD_1.BASE]=0) et ([AGCPRUAA_AD_1.BASE]=0)
      )
      ou (CONSTANTE(CONTRAT.RAPPEL_FICHE)=0)
   )
alors (
      si ((CONSTANTE(CONTRAT.ANNEE_CLOTURE)=0)
          ou (CONSTANTE(CONTRAT.ANNEE_CLOTURE)>=2024))
        alors ([V_AD_AGCP.ADAGCPURSSAF])
        sinon (0)
       )
sinon (0)
```

<span style="text-decoration: underline;">BC\_ADAGCPRUAA</span>

Avant

```
si (
   ([AGCPURSSAF_1.BASE]=0) et ([AGCPURSAFREG_1.BASE]=0) et ([AGCPRUAA_1.BASE]=0)
   et ([AGCPURS_AD_1.BASE]=0) et ([AGCPURFR_AD_1.BASE]=0) et ([AGCPRUAA_AD_1.BASE]=0)
   )
alors (
       si (CONSTANTE(GENERAL.NEWAGCP)= 1)
       alors ([V_AD_AGCP.ADAGCPAA])
       sinon (0)
       )
sinon (0)
```

Après

```
si ((
    ([AGCPURSSAF_1.BASE]=0) et ([AGCPURSAFREG_1.BASE]=0) et ([AGCPRUAA_1.BASE]=0)
    et ([AGCPURS_AD_1.BASE]=0) et ([AGCPURFR_AD_1.BASE]=0) et ([AGCPRUAA_AD_1.BASE]=0)
    )
    ou (CONSTANTE(CONTRAT.RAPPEL_FICHE)=0)
   )
alors (
      si ((CONSTANTE(CONTRAT.ANNEE_CLOTURE)=0)
          ou (CONSTANTE(CONTRAT.ANNEE_CLOTURE)>=2024))
       alors ([V_AD_AGCP.ADAGCPAA])
       sinon (0)
       )
sinon (0)
```

# Version 4

La PPV dans la rémunération utilisée pour le calcul de l'agcp

<span style="text-decoration: underline;">AGCPREMU  : Plus utilisée</span>

Création d'une itérative à la place :

AGCPITREMU: Rémunération utilisée pour le calcul de l'AGCP

Y mettre(par programme)

- BC\_BRUT\_URSAFF
- P\_PPVEXO
- P\_PPVNONEXO

<span style="text-decoration: underline;">V\_NEWAGCP.REMUCOEF</span>

Avant

```
si (CONSTANTE(CONTRAT.TYPESALARIE)=5)
alors(
      [BC_BRUT_URSAFF.MONTANT]*[AD_HNEXO.BASE]/([AD_HEXO.BASE]+[AD_HNEXO.BASE])
      )
sinon(
      [AGCPREMU.MONTANT]
      )
```

Après

```
si (CONSTANTE(CONTRAT.TYPESALARIE)=5)
alors(
      [AGCPITREMU.MONTANT]*[AD_HNEXO.BASE]/([AD_HEXO.BASE]+[AD_HNEXO.BASE])
      )
sinon(
      [AGCPITREMU.MONTANT]
      )
```

<span style="text-decoration: underline;">V\_AD\_AGCP.ADREMUCOEF</span>

Avant

```
si ((CONSTANTE(CONTRAT.TYPESALARIE)=5) et ([AD_HEXO.BASE]>=0))
alors([BC_BRUT_URSAFF.MONTANT]*[AD_HEXO.BASE]/([AD_HEXO.BASE]+[AD_HNEXO.BASE]))
sinon(0)
```

Après

```
si ((CONSTANTE(CONTRAT.TYPESALARIE)=5) et ([AD_HEXO.BASE]>=0))
alors([AGCPITREMU.MONTANT]*[AD_HEXO.BASE]/([AD_HEXO.BASE]+[AD_HNEXO.BASE]))
sinon(0)
```

# Version 5

Pour le bulletin clarifié le TXEMP

<span style="text-decoration: underline;">ALLOCFAMCOMP</span>

Avant

```
si (CONSTANTE(GENERAL.NEWAGCP)=0)
alors (
      si (
         ([V_AGCP.CUMREMUCOEF]>3.5*[V_AGCP.CUMSMICPRORATE])
         et ([V_AGCP.CUMREMUCOEF]>0)
         et ([V_AGCP.CUMSMICPRORATE]>0)
         )
      alors (0) sinon (1.80)
      )
sinon (
      si (
         ([V_NEWAGCP.CUMREMUCOEF]>3.5*[V_NEWAGCP.CUMSMICPRO3112])
         et ([V_NEWAGCP.CUMREMUCOEF]>0)
         et ([V_NEWAGCP.CUMSMICPRO3112]>0)
         )
      alors (0) sinon (1.80)
      )
```

Après

```
declarer (TXSMIC)
affecter (TXSMIC;
         si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2025))
         alors (3.5)
         sinon (3.3)
         )
si (
    ([V_NEWAGCP.CUMREMUCOEF]>:TXSMIC*[V_NEWAGCP.CUMSMICPRO3112])
    et ([V_NEWAGCP.CUMREMUCOEF]>0)
    et ([V_NEWAGCP.CUMSMICPRO3112]>0)
    )
alors (0) sinon (1.80)

```

<span style="text-decoration: underline;">ALLOCFAMCOMPNEG</span>

Avant

```
si (CONSTANTE(GENERAL.NEWAGCP)=0)
alors (
      si (
         ([V_AGCP.CUMREMUCOEF]>3.5*[V_AGCP.CUMSMICPRORATE])
         et ([V_AGCP.CUMREMUCOEF]>0)
         et ([V_AGCP.CUMSMICPRORATE]>0)
         )
      alors (0) sinon (-1.80)
      )
sinon (
      si (
         ([V_NEWAGCP.CUMREMUCOEF]>3.5*[V_NEWAGCP.CUMSMICPRO3112])
         et ([V_NEWAGCP.CUMREMUCOEF]>0)
         et ([V_NEWAGCP.CUMSMICPRO3112]>0)
         )
      alors (0) sinon (-1.80)
      )
```

Après

```
declarer (TXSMIC)
affecter (TXSMIC;
         si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2025))
         alors (3.5)
         sinon (3.3)
         )
si (
   ([V_NEWAGCP.CUMREMUCOEF]>:TXSMIC*[V_NEWAGCP.CUMSMICPRO3112])
   et ([V_NEWAGCP.CUMREMUCOEF]>0)
   et ([V_NEWAGCP.CUMSMICPRO3112]>0)
   )
alors (0) sinon (-1.80)

```

# Version 6

#### Apprentis

V\_CSG.CUM\_ABT

Avant

```
[V_CSG.CUM_AV_ABT]*0.9825
```

Après

```
si ((CONSTANTE(CONTRAT.DSNINTITULE)='64') ou (CONSTANTE(CONTRAT.DSNINTITULE)='65'))
alors (
      si (
         (CONSTANTE(CONTRAT.ANNEE_EMBAUCHE)>=2025) et (CONSTANTE(CONTRAT.MOIS_EMBAUCHE)>=3)
         et ([BC_BRUT_APP.MONTANT]>0)
         )
      alors ([V_CSG.CUM_AV_ABT]*0.9825)
      sinon (0)
      )
sinon ([V_CSG.CUM_AV_ABT]*0.9825)

```

V\_CSG.CUM\_NABT

Avant

```
(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 (
         (CONSTANTE(CONTRAT.ANNEE_EMBAUCHE)>=2025) et (CONSTANTE(CONTRAT.MOIS_EMBAUCHE)>=3)
         et ([BC_BRUT_APP.MONTANT]>0)
         )
      alors (
            (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])
            )
      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])
      )
```

#### Complément maladie et allocation familiale

En attendant le décret, je modifie le seuil smic dans

- BC\_MALCOMP25 :  2.25 -&gt;2.5
- ALLOCFAM.TXEMP : 3.3 -&gt; 3.5
- ALLOCFAMREDUIT.TXEMP : 3.3 -&gt; 3.5
- ALLOCFAMCOMP .TXEMP :  3.3 -&gt; 3.5
- ALLOCFAMCOMPNEG .TXEMP :  3.3 -&gt; 3.5