Version 107
Version 1
Rubriques Inutilisées
SET RUBISNOTUSED = 1
WHERE (RUBBPID = 0)
AND RUBALIAS IN (
'BHRSFILLON',
'B_COT_CRDS',
'B_COT_CSG',
'COT_AUBFIFILL',
'ASSEDIC1M',
'ASSEDIC3MA',
'ASSEDIC3MU',
'COT_EXCEPINF',
'COT_EXCEP2018',
'FILLONNREG',
'PENIBILITEBASE',
'PENIBILITEPOLY',
'PENIBILITESPEC',
'TAXESAL4',
'BC_BRUT_ASS1M',
'BC_BRUT_ASS3MA',
'BC_GMP_MED30',
'BC_GMP_RET_C',
'BC_PEXCEPT2018',
'BC_REG042016',
'BC_REGTRI2016',
'BC_REGPRORATA',
'BC_TAXE_SAL4',
'PL_GMP',
'PL_MENSTAXE4',
'IJN_MALNIM_CSG',
'IJN_PREV_CSG',
'IJN_PREV_INC',
'IJN_PREV_BRUT',
Version 2
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.
Il faut calculer l'exonération cumulée plafonnée, puis la différence avec le cumul d'avant ce bulletin. Une régularisation ressort alors en négatif, sans reprendre plus que ce qui avait réellement été exonéré.
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
Le premier minimum est l'exonération due depuis le début d'année, bulletin inclus. Le second est la même chose sans le bulletin en cours. La différence est le montant du bulletin.
minimum(maximum(8037;CONSTANTE(GENERAL.EXOHSUP));
maximum(0;
(histocumul([BC_HRS.MONTANT])+histocumul([BC_RTT.MONTANT])
+[BC_HRS.MONTANT]+[BC_RTT.MONTANT])*(-1)))
-
minimum(maximum(8037;CONSTANTE(GENERAL.EXOHSUP));
maximum(0;
(histocumul([BC_HRS.MONTANT])+histocumul([BC_RTT.MONTANT]))*(-1)))
Version 3 : Références circulaires
ABTBRUT.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
- Votre chèque santé s'en trouvera directement diminué, car le montant de référence calculé en pourcentage sera plus bas.
- Le calcul se fait sur votre salaire brut complet, avant l'application de la DFS.
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 4
Créer la rubrique vieillesse tra Taux réduit (-30%)
Modifier les bases de cotisations des TH :
BC_SALDIR
Avant
[B_COT_SALDIR.MONTANT]
Après
si (CONSTANTE(CONTRAT.DSNNATURE)=70)
alors ([B_COT_SALDIR.MONTANT])
sinon (0)
BC_CPLDDTE
Avant
[B_COT_CPLDDTE.MONTANT]
Après
si (CONSTANTE(CONTRAT.DSNNATURE)=70)
alors ([B_COT_CPLDDTE.MONTANT])
sinon (0)
BC_EA_AIDPOSTE
Avant
[B_COT_EAPOSTE.MONTANT]
Après
si (CONSTANTE(CONTRAT.TYPESALARIE)=2)
alors ([B_COT_EAPOSTE.MONTANT])
sinon (0)
BC_EA_RESTE
Avant
[BC_BRUT_URSAFF.MONTANT]-[BC_EA_AIDPOSTE.MONTANT]
Après
si (CONSTANTE(CONTRAT.TYPESALARIE)=2)
alors ([BC_BRUT_URSAFF.MONTANT]-[BC_EA_AIDPOSTE.MONTANT])
sinon (0)
Créer les rubriques heures supplémentaires et rtt non exonérés
H_SUP10 |
1.10 x Taux horaire | 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
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)