Version 3
Retenue à la source pour tenir compte des 8 euros
BC_RET_SOURCE
Avant
declarer (BASE)
affecter (base;arrondir([NETIMP.MONTANT]*(100-LISTEGEN(RETSOURCE;5))/100))
declarer (PLAF1)
affecter (PLAF1;si ([RET_JRSTRAV.BASE]=0)
alors (LISTEGEN(RETSOURCE;1)) sinon (LISTEGEN(RETSOURCE;3)*[RET_JRSTRAV.BASE])
)
declarer (PLAF2)
affecter (PLAF2;si ([RET_JRSTRAV.BASE]=0)
alors (LISTEGEN(RETSOURCE;2)) sinon (LISTEGEN(RETSOURCE;4)*[RET_JRSTRAV.BASE])
)
si ((CONSTANTE(CONTRAT.PAS_RESIDENTETRANGER)=1) et (CONSTANTE(CONTRAT.PAS_ACTIF)=0))
alors (
arrondir(
0.12
*
si (:BASE>:PLAF2)
alors (:PLAF2-:PLAF1)
sinon (
si (:BASE>:PLAF1)
alors (:BASE-:PLAF1)
sinon (0)
)
)
+
arrondir(
0.20
*
si (:BASE>:PLAF2)
alors (:BASE-:PLAF2)
sinon (0)
)
)
sinon (0)
Après
declarer (BASE)
affecter (base;arrondir([NETIMP.MONTANT]*(100-LISTEGEN(RETSOURCE;5))/100))
declarer (PLAF1)
affecter (PLAF1;si ([RET_JRSTRAV.BASE]=0)
alors (LISTEGEN(RETSOURCE;1)) sinon (LISTEGEN(RETSOURCE;3)*[RET_JRSTRAV.BASE])
)
declarer (PLAF2)
affecter (PLAF2;si ([RET_JRSTRAV.BASE]=0)
alors (LISTEGEN(RETSOURCE;2)) sinon (LISTEGEN(RETSOURCE;4)*[RET_JRSTRAV.BASE])
)
declarer (MTRAS)
affecter (MTRAS;
si ((CONSTANTE(CONTRAT.PAS_RESIDENTETRANGER)=1) et (CONSTANTE(CONTRAT.PAS_ACTIF)=0))
alors (
arrondir(
0.12
*
si (:BASE>:PLAF2)
alors (:PLAF2-:PLAF1)
sinon (
si (:BASE>:PLAF1)
alors (:BASE-:PLAF1)
sinon (0)
)
)
+
arrondir(
0.20
*
si (:BASE>:PLAF2)
alors (:BASE-:PLAF2)
sinon (0)
)
)
sinon (0)
)
si(:MTRAS<8)
alors(0)
sinon(:MTRAS)
CONAIDE.SEUILAPPRENTI
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(GENERAL.ANNEE_PAYE)>=2025)
alors (0.5)
sinon (0.79)
Pour la CSG, comment répartir la base abattue et la non abattue ?
peut être faire comme pour les stagiaires, enlever le brut limité au seuil dans la rubrique B_COT_CSG_ABT
