version 107

Version 1

Rubrique libre DEDUCSAL

Le problème vient de la formule MTHRSNIMP

Elle est plafonnée à zéro donc quand il y a une régul négative, ca ne le prend pas en compte

Alors que MTHRSIMP n'est pas plafonnée.

Modification de MTHRSNIMP

Avant

maximum(0;
   ([BC_HRS.MONTANT]+[BC_RTT.MONTANT])*(-1)
   +
   minimum(0;
          (histocumul([BC_HRS.MONTANT])+[BC_HRS.MONTANT]
          +histocumul([BC_RTT.MONTANT])+[BC_RTT.MONTANT]
          +maximum(8037;CONSTANTE(GENERAL.EXOHSUP)))
          )
  )

Après

   ([BC_HRS.MONTANT]+[BC_RTT.MONTANT])*(-1)
   +
   minimum(0;
          (histocumul([BC_HRS.MONTANT])+[BC_HRS.MONTANT]
          +histocumul([BC_RTT.MONTANT])+[BC_RTT.MONTANT]
          +maximum(8037;CONSTANTE(GENERAL.EXOHSUP)))
          )

 

 

Version 2 : Références circulaires

ABT_BRUT.BASE

appelle le brut et donc CHEQUESANTE. Quand il y a un pourcentage de contribution au frais de santé (constante générale) c'est un pourcentage du brut.

La règle 
Si votre salaire brut fait l'objet d'un abattement professionnel (comme la Déduction Forfaitaire Spécifique (DFS) applicable dans le bâtiment, le transport ou le spectacle), cela dépend de la rédaction des accords de votre entreprise. [1]
Deux situations se présentent :
1. La règle de l'entreprise vise le « brut abattu »
Si l'accord collectif de votre entreprise précise que la cotisation de mutuelle se calcule sur l'assiette des cotisations de Sécurité sociale, c'est le salaire brut abattu (le brut après déduction) qui sert de base au calcul. [1]
2. La règle vise le « salaire brut de base »
Si l'accord de votre entreprise précise que la cotisation est indexée sur le « salaire de base ontractuel » ou le « salaire brut fixe » (hors frais professionnels), l'abattement n'a aucun impact. [1]
🛡️ Le garde-fou : Le montant plancher
Même si votre salaire brut est abattu et que le chèque santé baisse, l'employeur reste soumis au montant minimal légal au prorata de vos heures
On va considérer prendre la règle la plus favorable au salarié c'est à dire que l'on va déterminer le chèque santé sur le montant non abbatu
Avant
si (CONSTANTE(GENERAL.CS_POURCONTRI)=0)
alors (MAXIMUM(CONSTANTE(GENERAL.CS_MTREF);CONSTANTE(GENERAL.CS_FORFCONTRI))
      *CONSTANTE(CONTRAT.HORAIREMENSUEL)
      /151.67
      )
sinon (CONSTANTE(GENERAL.CS_POURCONTRI)*
      exclure([BRUT.MONTANT];[CHEQUESANTE.MONTANT])/100
      )

Après

si (CONSTANTE(GENERAL.CS_POURCONTRI)=0)
alors (MAXIMUM(CONSTANTE(GENERAL.CS_MTREF);CONSTANTE(GENERAL.CS_FORFCONTRI))
      *CONSTANTE(CONTRAT.HORAIREMENSUEL)
      /151.67
      )
sinon (CONSTANTE(GENERAL.CS_POURCONTRI)*
      exclure([BRUT.MONTANT];[ABTBRUT.MONTANT];[CHEQUESANTE.MONTANT])/100
      )

CSG

Enlever la participation des anciennes rubriques écrètement CSG

CSGECRETND et CSGECRTD

IJSS

Neutraliser NETSS, TRB

51_ANC.BASE

51_OUTILLAGE à neutraliser

51_B_PRIME13

modifier 51_COMPDIMCONV.TAUX

Avant

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)

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];[51_PRIME13.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];[51_PRIME13.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)

 

 

 

version 3

Créer la rubrique  vieillesse tra Taux réduit (-30%)

 

Modifier les bases de cotisations des TH : 

BC_SALDIR et BC_CPLDDTE  test sur contrat de soutien

BC_EA_AIDPOSTE et BC_EA_RESTE  : test sur type de salarié

Créer les rubriques heures supplémentaires et rtt non exonérés

H_SUP10NEXO
H_SUP25
1,25 × taux horaire
H_SUP25NEXO
H_SUP50
1,50 × taux horaire
H_SUP50NEXO
H_COMP10
1,10, dans la limite du dixième de l'horaire mensuel
H_COMP10NEXO
H_COMP25
1,25, au-delà de ce dixième
H_COMP25NEXO
H_COMPL
taux horaire du contrat, sans découpage 10/25
H_COMPLNEXO
RTTPAYEEXO
taux 1
RTTPAYENEXO

Modification de la base de cotisation formation CDD

on complète le test contrat : pas pour apprenti, contrat pro, cae, etc

BC_FORMCDD

Avant

SI   (CONSTANTE(CONTRAT.TYPECONTRAT)=1)
ALORS([B_COT_URSAFF.MONTANT])
SINON(0)

Après

SI (CONSTANTE(CONTRAT.DSNNATURE)=2)
ALORS (
  SI (
       (CONSTANTE(CONTRAT.DSNINTITULE)=41)
    ou (CONSTANTE(CONTRAT.DSNINTITULE)=42)
    ou (CONSTANTE(CONTRAT.DSNINTITULE)=61)
    ou (CONSTANTE(CONTRAT.DSNINTITULE)=64)
    ou (CONSTANTE(CONTRAT.DSNINTITULE)=65)
    ou (CONSTANTE(CONTRAT.MOTIFCDD)=3)
    ou (CONSTANTE(CONTRAT.MOTIFCDD)=10)
     )
  ALORS (0)
  SINON ([B_COT_URSAFF.MONTANT])
)
SINON (0)