Correction et mise à jour du gestionnaire de rubrique Il s'agit ici des modifications qui ont été apportées via la version 62 du gestionnaire de rubrique. Divers REDUCRTTPAT : Déduction forfaitaire sur rachat de jour de RTT Modification du taux afin de prendre en compte la déduction forfaitaire de 0.50€ pour les entreprises avec au moins 20 salariés et moins de 250 salariés. La formule taux employeur prend en compte la constante générale NBSALARIE0101 entreprise < 20 salariés => taux 1.50€ 20 salariés <= entreprise < 250 => taux 0.50 € Si la constante NBSALARIE0101 est égale à zéro le taux sera égal à 1.50 Il est également possible de mettre directement le taux dans la constante générale MTREDUCHEURE. Pensez à ajouter la cotisation REDUCRTTPAT au niveau de la codification de régime pour les entreprises concernées. Avant : si (CONSTANTE(GENERAL.MTREDUCHEURE)=0) alors ( si (CONSTANTE(GENERAL.NBSALARIE0101)<=19) alors (1.50) sinon (0) ) sinon (CONSTANTE(GENERAL.MTREDUCHEURE)) Après si (CONSTANTE(GENERAL.MTREDUCHEURE)=0) alors ( si (CONSTANTE(GENERAL.NBSALARIE0101)<=19) alors (1.50) sinon ( si (CONSTANTE(GENERAL.NBSALARIE0101)<=249) alors (0.50) sinon (0) ) ) sinon (CONSTANTE(GENERAL.MTREDUCHEURE)) MALCOMP25 : Complément Maladie si salaire >2.5 SMIC Ajout d'un contrôle d'un SMIC positif. Prise en compte de la nouvelle moulure AGCP Avant si ( (([V_AGCP.CUMREMUCOEF]) > (2.5*[V_AGCP.CUMSMICPRORATE])) et ([V_AGCP.CUMREMUCOEF]>0) ) alors ( histocumulsitu([BC_BRUT_URSAFF.MONTANT])+ [BC_BRUT_URSAFF.MONTANT] - histocumulsitu([BC_MALCOMP25.MONTANT]) ) sinon ( histocumulsitu([BC_MALCOMP25.MONTANT])*(-1) ) Après si (CONSTANTE(GENERAL.NEWAGCP)= 0) alors ( si ( (([V_AGCP.CUMREMUCOEF]) > (2.5*[V_AGCP.CUMSMICPRORATE])) et ([V_AGCP.CUMREMUCOEF]>0) et ([V_AGCP.CUMSMICPRORATE]>0) ) alors ( histocumulsitu([BC_BRUT_URSAFF.MONTANT])+ [BC_BRUT_URSAFF.MONTANT] - histocumulsitu([BC_MALCOMP25.MONTANT]) ) sinon ( histocumulsitu([BC_MALCOMP25.MONTANT])*(-1) ) ) sinon ( si ( (([V_NEWAGCP.CUMREMUCOEF]) > (2.5*[V_NEWAGCP.CUMSMICPRO])) et ([V_NEWAGCP.CUMREMUCOEF]>0) et ([V_NEWAGCP.CUMSMICPRO]>0) ) alors ( histocumulsitu([BC_BRUT_URSAFF.MONTANT])+ [BC_BRUT_URSAFF.MONTANT] - histocumulsitu([BC_MALCOMP25.MONTANT]) ) sinon ( histocumulsitu([BC_MALCOMP25.MONTANT])*(-1) ) ) PL_HRSDUREE : Durée en heures pour les temps partiels Correctif pour prendre en compte les forfaits jours Avant CONSTANTE(CONTRAT.HORAIREMENSREEL)+[NBHRSCOMPL.MONTANT]-[TPT_NONPAYE.DUREE] Après si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=4) alors ( CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTE(CONTRAT.JOUR_FORFAIT) / CONSTANTE(CONTRAT.FORFAITJOURCOLLECTIF) ) SINON( CONSTANTE(CONTRAT.HORAIREMENSREEL)+[NBHRSCOMPL.MONTANT]-[TPT_NONPAYE.DUREE] ) V_AGCP.HREMU Correctif pour l'horaire collectif des forfaits jours Remplacement de 218 par CONSTANTE(CONTRAT.FORFAITJOURCOLLECTIF) Avant {Forfait Annuel en jours} si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=4) alors (CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTE(CONTRAT.JOUR_FORFAIT)/218 * 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 ( Après {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 ( Modification de I_ICP La formule ne prenait pas en compte l'historique du contrat en changement de situation dans le mois de paye en cours Avant DECLARER(MEMB) AFFECTER(MEMB;CONSTANTE(CONTRAT.MOIS_EMBAUCHE)) DECLARER(AEMB) AFFECTER(AEMB;CONSTANTE(CONTRAT.ANNEE_EMBAUCHE)) DECLARER(MPAYE) AFFECTER(MPAYE;CONSTANTE(GENERAL.MOIS_PAYE)) DECLARER(APAYE) AFFECTER(APAYE;CONSTANTE(GENERAL.ANNEE_PAYE)) SI( CONSTANTE(CONTRAT.PAIEMENTCP)= (0)) ALORS(0) SINON( SI( CONSTANTE(CONTRAT.PAIEMENTCP)=2) ALORS( HISTOCumulsitu([B_ICP.MONTANT];:MEMB;:AEMB;:MPAYE;:APAYE)+([B_ICP.MONTANT])- HISTOCumulsitu([I_ICP.BASE];:MEMB;:AEMB;:MPAYE;:APAYE)) SINON( SI( CONSTANTE(CONTRAT.CLOTURE)=1) ALORS( HISTOCumulsitu([B_ICP.MONTANT];:MEMB;:AEMB;:MPAYE;:APAYE)+ ([B_ICP.MONTANT])- HISTOCumulsitu([I_ICP.BASE];:MEMB;:AEMB;:MPAYE;:APAYE)) SINON(0))) Après (Faux) aller sur le code version 63 Version 63 SI( CONSTANTE(CONTRAT.PAIEMENTCP)= (0)) ALORS(0) SINON( SI( CONSTANTE(CONTRAT.PAIEMENTCP)=2) ALORS( HISTOCumulsitu([B_ICP.MONTANT];1,1980)+([B_ICP.MONTANT])- HISTOCumulsitu([I_ICP.BASE];1,1980)) SINON( SI( CONSTANTE(CONTRAT.CLOTURE)=1) ALORS( HISTOCumulsitu([B_ICP.MONTANT];1,1980)+ ([B_ICP.MONTANT])- HISTOCumulsitu([I_ICP.BASE];1,1980)) SINON(0))) Formule incorrecte, on a des , au lieu de ;  dans les histocumulsitu => ISTOCumulsitu([I_ICP.BASE];1,1980)) Dans la version 63 du gestionnaire de rubrique, la formule a été corrigée Version 63 SI( CONSTANTE(CONTRAT.PAIEMENTCP)= (0)) ALORS(0) SINON( SI( CONSTANTE(CONTRAT.PAIEMENTCP)=2) ALORS( HISTOCumulsitu([B_ICP.MONTANT];1;1980)+([B_ICP.MONTANT])- HISTOCumulsitu([I_ICP.BASE];1;1980)) SINON( SI( CONSTANTE(CONTRAT.CLOTURE)=1) ALORS( HISTOCumulsitu([B_ICP.MONTANT];1;1980)+ ([B_ICP.MONTANT])- HISTOCumulsitu([I_ICP.BASE];1;1980)) SINON(0))) Stagiaire BC_BRUT_STA : Brut stagiaire Contrôle de la constante contrat DSNNATURE et mettre à zéro si différent de 29 convention de stage Avant si ([BC_BRUT_URSAFF.MONTANT]>=0) alors (MAXIMUM([BC_BRUT_URSAFF.MONTANT]-[CONAIDE.SEUILSTAGIAIRE];0)) sinon (MAXIMUM((0-[BC_BRUT_URSAFF.MONTANT])-[CONAIDE.SEUILSTAGIAIRE];0) *-1) Après si (CONSTANTE(CONTRAT.DSNNATURE)=29) alors ( si ([B_COT_URSAFF.MONTANT]>=0) alors (MAXIMUM([B_COT_URSAFF.MONTANT]-[CONAIDE.SEUILSTAGIAIRE];0)) sinon (MAXIMUM((0-[B_COT_URSAFF.MONTANT])-[CONAIDE.SEUILSTAGIAIRE];0) *-1) ) sinon (0) BC_BRUT_STA_PL Idem que précédemment Avant si ([BC_BRUT_URSAFF.MONTANT]>=0) alors (PLAFONNER([BC_BRUT_URSAFF.MONTANT];0;[CONAIDE.SEUILSTAGIAIRE])) sinon (PLAFONNER((0-[BC_BRUT_URSAFF.MONTANT]);0;[CONAIDE.SEUILSTAGIAIRE])*-1) Après si (CONSTANTE(CONTRAT.DSNNATURE)=29) alors ( si ([B_COT_URSAFF.MONTANT]>=0) alors (PLAFONNER([B_COT_URSAFF.MONTANT];0;[CONAIDE.SEUILSTAGIAIRE])) sinon (PLAFONNER((0-[B_COT_URSAFF.MONTANT]);0;[CONAIDE.SEUILSTAGIAIRE])*-1) ) sinon (0) BC_BRUT_URSAFF Même chose que précédemment mais à l'inverse Avant si (CONSTANTE(CONTRAT.NATURECONTRAT)=0008) alors ( si ([FO.TOTAL]<>0) alors ([FO.TOTAL]) sinon ([B_COT_URSAFF.MONTANT]) ) sinon ([B_COT_URSAFF.MONTANT]) Après si (CONSTANTE(CONTRAT.DSNNATURE)=29) alors (0) sinon ( si (CONSTANTE(CONTRAT.NATURECONTRAT)=0008) alors ( si ([FO.TOTAL]<>0) alors ([FO.TOTAL]) sinon ([B_COT_URSAFF.MONTANT]) ) sinon ([B_COT_URSAFF.MONTANT]) ) MALCOMP25 : Complément Maladie si salaire >2.5 SMIC Correction de la formule taux employeur pour prendre en compte les stagiaires qui n'ont pas droit au taux réduit de cotisation maladie Avant : si (([BC_MALCOMP25.MONTANT]>0)ou([BC_BRUT_STA.MONTANT]>0) )   alors (6) sinon (0) Après si ( ([BC_MALCOMP25.MONTANT]>0) ou (([BC_BRUT_STA.MONTANT]>0) et (CONSTANTE(CONTRAT.DSNNATURE)=29)) ) alors (6) sinon (0) CSG Voici les rubriques créées ou modifiées pour prendre en compte le calcul du plafond CSG Deux rubriques itératives pour calculer la base brute qui doit être abattue (avant application du plafond) et la base brute non abattue : B_COT_CSG_ABT : Base CSG-CRDS abattue B_COT_CSG_NABT : Base CSG-CRDS non abattue Ces rubriques sont alimentées par la base CSG (B_COT_CSG) en suivant la règle suivante : taux=98.25 -> B_COT_CSG_ABT  à 100% si taux=1.75 -> B_COT_CSG_ABT à -100% et B_COT_CSG_NABT à 100% si taux=-98.25% -> B_COT_CSG_ABT à -100% si taux=100% ->B_COT_CSG_NABT à 100% si taux=-100%  -> B_COT_CSG_ABT à -100% si taux=-1.75% -> Il s'agit d'une erreur, les réintégrations fiscales n'entrent pas dans la base CSG-CRDS Si le taux est négatif et différent de -98.25% ou -1.75%  : il s'agit probablement de remboursement de prévoyance -> B_COT_CSG_ABT au taux indiqué V_CSG : Rubrique libre pour les éléments de calcul CSG CUM_AV_ABT : Cumul montant qui doit être abattu minimum( (histocumulJOINT([B_COT_CSG_ABT.MONTANT])+[B_COT_CSG_ABT.MONTANT]) ; (histocumulJOINT([PL_MENSA.MONTANT])+[PL_MENSA.MONTANT])*4 ) CUM_ABT Cumul abattu : [V_CSG.CUM_AV_ABT]*0.9825 CUM_NABT : Cumul non abattu (histocumulJOINT([B_COT_CSG_ABT.MONTANT])+[B_COT_CSG_ABT.MONTANT] - [V_CSG.CUM_AV_ABT]) + (histocumulJOINT([B_COT_CSG_NABT.MONTANT])+[B_COT_CSG_NABT.MONTANT]) Rubrique BC_CSG et BC_CRDS Avant 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(GENERAL.NEWCSG)=1) ou (CONSTANTE(GENERAL.ANNEE_PAYE)>=2024)) alors ( si ((CONSTANTE(CONTRAT.NATURECONTRAT)=0008) et ([FO.TOTAL]<>0)) alors ([FO.TOTAL]) sinon ( [V_CSG.CUM_ABT] +[V_CSG.CUM_NABT] -histocumulJOINT([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])) ) ) AGCP nouveau calcul Fonction F_AGCPSMICMENS : Recalcul du smic mensuel proraté d'un mois Paramètres : MDEBUT : Mois de début du cumul (dans le cas d'un apprenti) MACALCULER : Mois à calculer HREMU : Rubrique heures rémunérées HORBASE : Rubrique horaire de base si ((CONSTANTE(GENERAL.MOIS_PAYE)>=MACALCULER) et (MDEBUT<=MACALCULER)) alors ( si (MACALCULER=CONSTANTE(GENERAL.MOIS_PAYE)) alors ( ( HREMU / CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTE(GENERAL.SMICMENS) ) * HORBASE/1607 ) sinon ( ( histocumulsitu(HREMU;MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE);MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE)) / CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTEHIS(GENERAL.SMICMENS;MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE)) ) * histocumulsitu(HORBASE;MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE);MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE)) / (1607 * si (OKREMUH=-1) alors (1) sinon ( histocumulsitu(OKREMUH;MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE);MACALCULER;CONSTANTE(GENERAL.ANNEE_PAYE)) ) ) ) ) sinon (0) Rubriques créées V_NEWAGCP : Rubrique libre nouveau calcul AGCP V_AD_AGCP : Rubrique libre nouveau calcul AGCP pour l'aide à domicile AD_HEXO : Heures aide à domicile exonérées AD_HNEXO : Heures non exonérées aide à domicile V_NEWAGCP : Rubrique libre nouveau calcul AGCP Liste des formules : REMUCOEF : Rémunération HREMU : Heure rémunérée HORBASE : Horaire de base SMICPRO : Smic proraté mensuel CUMREMUCOEF : Cumul rémunération CUMSMICPRO : Cumul Smic proraté mensuel total Si la constante SMICAGCP (recalcule smic chaque mois) est à oui, utilise TOTSMICPRO sinon comme avant TOTSMICPRO : Total Smic proraté. Recalcule tous les smic proratés de l'année si (CONSTANTE(GENERAL.SMICAGCP)=0) alors (0) sinon ( si ((CONSTANTE(GENERAL.ANNEE_PAYE)>=2024) ou (CONSTANTE(GENERAL.AGCP_AD)=1)) alors ( F_AGCPSMICMENS([AGCPDEBUT.BASE];1;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK]) +F_AGCPSMICMENS([AGCPDEBUT.BASE];2;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK]) +F_AGCPSMICMENS([AGCPDEBUT.BASE];3;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK]) +F_AGCPSMICMENS([AGCPDEBUT.BASE];4;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK]) +F_AGCPSMICMENS([AGCPDEBUT.BASE];5;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK]) +F_AGCPSMICMENS([AGCPDEBUT.BASE];6;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK]) +F_AGCPSMICMENS([AGCPDEBUT.BASE];7;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK]) +F_AGCPSMICMENS([AGCPDEBUT.BASE];8;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK]) +F_AGCPSMICMENS([AGCPDEBUT.BASE];9;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK]) +F_AGCPSMICMENS([AGCPDEBUT.BASE];10;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK]) +F_AGCPSMICMENS([AGCPDEBUT.BASE];11;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK]) +F_AGCPSMICMENS([AGCPDEBUT.BASE];12;[V_NEWAGCP.HREMU];[V_NEWAGCP.HORBASE];[V_NEWAGCP.HREMUOK]) ) sinon ( F_AGCPSMICMENS([AGCPDEBUT.BASE];1;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1) +F_AGCPSMICMENS([AGCPDEBUT.BASE];2;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1) +F_AGCPSMICMENS([AGCPDEBUT.BASE];3;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1) +F_AGCPSMICMENS([AGCPDEBUT.BASE];4;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1) +F_AGCPSMICMENS([AGCPDEBUT.BASE];5;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1) +F_AGCPSMICMENS([AGCPDEBUT.BASE];6;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1) +F_AGCPSMICMENS([AGCPDEBUT.BASE];7;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1) +F_AGCPSMICMENS([AGCPDEBUT.BASE];8;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1) +F_AGCPSMICMENS([AGCPDEBUT.BASE];9;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1) +F_AGCPSMICMENS([AGCPDEBUT.BASE];10;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1) +F_AGCPSMICMENS([AGCPDEBUT.BASE];11;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1) +F_AGCPSMICMENS([AGCPDEBUT.BASE];12;[V_AGCP.HREMU];[V_AGCP.HORBASE];-1) ) ) MAXCOEF : Coefficient maximum AGCP COEF : Coefficient Allègement général de cotisation TOTALAGCP : Total AGCP TOTAGCPURSSAF : Total AGCP part Urssaf TOTAGCPAA : Total AGCP part AA AGCPURSSAF : Montant AGCP Urssaf mensuel AGCPAA : Montant AGCP AA mensuel HREMUOK : Egal à 1 si le nombre d'heure rémunéré est différent de zéro. Par la suite , utilisé pour recalculer le smic proraté chaque mois Les quatre dernières formules permettent de recalculer le total AGCP pour chaque part en fonction du paramètre T actuel. Ainsi, s'il était incorrect en début d'année, le fait de le changer calculera les bons montant AGCP. V_AD_AGCP : AGCP aide à domicile Liste des formules : ADREMU : Rémunération ADSMICPRO : Smic proraté mensuel ADCUMSMICPRO : Cumul Smic proraté mensuel total ADTOTSMICPRO : Total Smic proraté Aide à domicile ADCOEF : Coefficient aide à domicile ADTOTALAGCP : Total AGCP Aide à domicile ADTOTAGCPURSSAF : Total AGCP Urssaf aide à domicile ADTOTAGCPAA : Total AGCP AA Aide à domicile ADAGCPURSSAF : Montant AGCP Urssaf aide à domicile mensuel ADAGCPAA : Montant AGCP AA aide à domicile mensuel ADREMUCOEF : Rémunération utilisée ADCUMREMUCOEF : Cumul rémunération ADHORBASE : Horaire de base ADHREMUOK :Egal à 1 si le nombre d'heure rémunéré est différent de zéro. Par la suite , utilisé pour recalculer le smic proraté chaque mois AD_HNEXO : Heures non exonérées aide à domicile Rubrique de paye des heures aide à domicile non exonérées. A saisir en variable de paye. AD_HEXO : Heures aide à domicile exonérées Rubrique de paye des heures exonérées aide à domicile. Cette rubrique est calculée en fonction des heures non exonérées saisies par la différence entre les heures contractuelles et les heures non exonérées saisies. Les heures supplémentaires qui sont saisies sont réparties au prorata des heures exonérées et non exonérées. CUMUL.COMPTEUR Rubrique toujours égale à 1 pour comptabiliser le nombre de contrat. Mise en place de l'AGCP AD en cours d'année ATTENTION : Pour activer  SMICAGCP  il faut faire une modif d'historique de V_NEWAGCP.HREMUOK et l'initialiser à 1 si V_NEWAGCP.HREMU<>0 pour un calcul correct de TOTSMICPRO Modifier les salariés pour les mettre en type Travailleurs à domicile. update rhpersonne P set pertypesalarie=5 where exists (select * from rhcontrat C where (ctrempart=1003) and (ctrperid=P.perid)) Cette ordre ne peut être fait que par le service développement Activer la constante NEWAGCP Activer la constante AGCP_AD pour les aides à domicile Activer la constante SMICAGCP  recalcul smic proraté Passer le gestionnaire de rubrique 62 Dans gestion des structures, ajouter le module AGCP aide à domicile Ajouter les cotisations AGCP aide à domicile : AGCPURSSAF_AD,AGCPURSSAFR_AD,AGCPRUAA_AD,AGCPRUAAREG_AD Enlever les cotisations AGCP aide à domicile utilisateur Ci dessous les modifications d'historique à mettre en place : A noter que les modifications d'historique doivent être faites pour TOUS les salariés pas uniquement les travailleurs à domicile AD_HEXO et AD_HNEXO à remplir par les rubriques utilisées précédemment.On parle ici de la formule BASE V_NEWAGCP.HREMU Reprendre AGCP.HREMU. V_NEWAGCP.REMUCOEF Reprendre AGCP.REMUCOEF. V_NEWAGCP.HORBASE si ([V_AGCP.HREMU]=0) alors (0) sinon ([V_AGCP.HORBASE]) V_NEWAGCP.HREMUOK si ([V_AGCP.HREMU]=0) alors (0) sinon (1) V_AD_AGCP.ADHREMU Reprendre la rubrique utilisateur AD_AGCP.HREMU. V_AD_AGCP.ADREMUCOEF Reprendre la rubrique utilisateur AD_AGCP.REMUCOEF. V_AD_AGCP.ADHORBASE si ([_V_AD_AGCP.HREMU]=0) alors (0) sinon ([_V_AGCP_AD.HORBASE]) V_AD_AGCP.ADHREMUOK si ([_V_AGCP_AD.HREMU]=0) alors (0) sinon (1) BC_ADAGCPRUAA Reprendre la base de cotisation AGCP aide à domicile utilisateur BC_ADAGCPURSS Reprendre la base de cotisation AGCP aide à domicile utilisateur Dans le gestionnaire de rubrique 63, deux nouvelles formules sont ajoutées dans les deux rubriques libres : HSUP et CUMHSUP. Elles ne sont utilisées que pour l'édition des réductions de cotisation dans l'édition des charges. On peut éventuellement faire une modification d'historique pour avoir un état correct mais il faut savoir qu'avant et ce pour toutes les bases, cette donnée était toujours à zéro dans l'édition. Il faut faire deux modifications d'historique, une avec les salariés travailleurs à domicile et l'autre avec les autres salariés : Salariés standard : V_NEWAGCP.HSUP [AGCP_HREMUPLUS.MONTANT] Travailleurs à domicile : V_NEWAGCP.HSUP si (([AD_HNEXO.BASE]+[AD_HEXO.BASE])=0) alors (0) sinon ([AGCP_HREMUPLUS.MONTANT]*[AD_HNEXO.BASE]/([AD_HNEXO.BASE]+[AD_HEXO.BASE])) V_AGCP_AD.HSUP si (([AD_HNEXO.BASE]+[AD_HEXO.BASE])=0) alors (0) sinon ([AGCP_HREMUPLUS.MONTANT]*[AD_HEXO.BASE]/([AD_HNEXO.BASE]+[AD_HEXO.BASE])) Assistants familiaux Les créations de rubriques: 66_AFDISPO : Indemnité de disponibilité Rubrique de paie à saisir en paie. 66_AFDISPO.TAUX CONSTANTE(GENERAL.SMICHOR)*2.25 Le montant alimente le brut (BRUT), la base indemnité fin de CDD (B_FINCDD) et le salaire convention CCCNT 66 (CCNT_66) 66_AFNBJABSCP : Nombre de jour absence convenance personnelle Une rubrique de paie qui permet la saisie du nombre de jour d'absence pour convenance personnelle. A saisir en variable de paie ; pris en compte dans le calcul d'indemnité d'accueil non réalisé. Elle viendra minorer le nombre de jour d'absence afin de ne pas déclencher d'indemnité d'accueil non réalisé; car cela n'est pas au fait de l'employeur. 66_AFNBJENF4 : Nombre de jour d'accueil enfant 4 Dans le cas où l'assistant familial peut accueillir au moins 4 enfants. La base est à saisir ou sera automatiquement calculée au nombre de jour calendaire du mois. si ([66_AFNBENF.MONTANT]>=4) alors (CONSTANTE(GENERAL.NBJMOISPAYE)) sinon (0) 66_AFPART4 : Part de l'enfant 4 Part de salaire pour l'enfant 4 si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]>=4) ) alors ( si ([66_AF.PRENDRELEG4]=1) alors ([66_AF.REMLEG4]) sinon ([66_AF.REMCONV4]) ) sinon (0) 66_AFNBJENF5 : Nombre de jour d'accueil enfant 5 si ([66_AFNBENF.MONTANT]>=5) alors (CONSTANTE(GENERAL.NBJMOISPAYE)) sinon (0) 66_AFPART5 : Part de l'enfant 5 Part de salaire pour l'enfant 5 si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]>=4) ) alors ( si ([66_AF.PRENDRELEG5]=1) alors ([66_AF.REMLEG5]) sinon ([66_AF.REMCONV5]) ) sinon (0) 66_AFNBJABS1 Nombre de jour accueil non réalisé enfant 1 La rubrique permet  la gestion de modification de nombre d'enfant au niveau du contrat et neutraliser ou diminuer l'indemnité d'accueil non réalisée. Par exemple pour les cas, d'arrivée ou de départ d'enfant et que le nombre de jour de présence de l'enfant ne correspond pas au moins sans pour autant déclencher une indemnité d'accueil non réalisée. l'équivalence pour l'enfant 2 et 3 existe également : 66_AFNBJABS2 et 66_AFNBJABS3 Comment faire lorsque le nombre d'enfant contractuel change en cours de mois ? Toujours laisser le nombre d'enfant contractuel le plus haut. Saisir le nombre de jour de chaque enfant Neutraliser l'indemnité d'accueil non réalisé par la saisie de la rubrique 66_AFNBJABS+Numéro de l'enfant Exemple 1 : Du 1er au 10 -> 2 enfants et du 11 au 30 -> 1 enfant Laisser 2 enfants au contrats Saisir le nombre de jour de l'enfant 1 : 30j jours (si pas de saisie il prend automatiquement 30 jours) Saisir le nombre de jour de l'enfant 2 : 10 jours. Saisir la rubrique nombre de jour d'absence enfant 2 pour neutraliser l'indemnité d'accueil : 20 jours Exemple 2 : Du 1er au 10 -> 1 enfant et du 11 au 30 -> 2 enfant Laisser 2 enfants au contrats Saisir le nombre de jour de l'enfant 1 : 30j jours (si pas de saisie il prend automatiquement 30 jours) Saisir le nombre de jour de l'enfant 2 : 20 jours. Saisir la rubrique nombre de jour d'absence enfant 2 pour neutraliser l'indemnité d'accueil : 10 jours Les modifications de rubrique 66_AFBASE : Salaire de base Avant : si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) ) alors ( [66_AFPART1.MONTANT] +[66_AFPART2.MONTANT] +[66_AFPART3.MONTANT] +[66_AFPARTMIXTE.MONTANT] ) sinon (0) Après si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) ) alors ( [66_AFPART1.MONTANT] +[66_AFPART2.MONTANT] +[66_AFPART3.MONTANT] +[66_AFPART4.MONTANT] +[66_AFPART5.MONTANT] +[66_AFPARTMIXTE.MONTANT] ) sinon (0) Prise en compte des nouvelles rubriques pour la part de salaire enfant 4 et enfant 5. 66_AFNBJINT : Nombre de jours d'accueil permanent intermittent Avant si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) et ([66_AFACCINTER.MONTANT]=1)) alors ( [66_AFNBJENF1.MONTANT] + si ([66_AFNBENF.MONTANT]>=2) alors ( [66_AFNBJENF2.MONTANT]=0 ) sinon (0) + si ([66_AFNBENF.MONTANT]>=3) alors ( [66_AFNBJENF3.MONTANT] ) sinon (0) ) sinon (0) Après si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) et ([66_AFACCINTER.MONTANT]=1)) alors ( [66_AFNBJENF1.MONTANT] + si ([66_AFNBENF.MONTANT]>=2) alors ( [66_AFNBJENF2.MONTANT] ) sinon (0) + si ([66_AFNBENF.MONTANT]>=3) alors ( [66_AFNBJENF3.MONTANT] ) sinon (0) + si ([66_AFNBENF.MONTANT]>=4) alors ( [66_AFNBJENF4.MONTANT] ) sinon (0) + si ([66_AFNBENF.MONTANT]>=5) alors ( [66_AFNBJENF5.MONTANT] ) sinon (0) ) sinon (0) Prise en compte du nombre de jours enfant 4 et 5. Correction de la petite coquille sur la prise en compte du nombre de jour de l'enfant 2. 66_AFNBJRPER : Nombre de jours d'accueil permanent continu Avant si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) et ([66_AFACCINTER.MONTANT]=0)) alors ( [66_AFNBJENF1.MONTANT] + si ([66_AFNBENF.MONTANT]>=2) alors ( [66_AFNBJENF2.MONTANT] ) sinon (0) + si ([66_AFNBENF.MONTANT]>=3) alors ( [66_AFNBJENF3.MONTANT] ) sinon (0) ) sinon (0) Après si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) et ([66_AFACCINTER.MONTANT]=0)) alors ( [66_AFNBJENF1.MONTANT] + si ([66_AFNBENF.MONTANT]>=2) alors ( [66_AFNBJENF2.MONTANT] ) sinon (0) + si ([66_AFNBENF.MONTANT]>=3) alors ( [66_AFNBJENF3.MONTANT] ) sinon (0) + si ([66_AFNBENF.MONTANT]>=4) alors ( [66_AFNBJENF4.MONTANT] ) sinon (0) + si ([66_AFNBENF.MONTANT]>=5) alors ( [66_AFNBJENF5.MONTANT] ) sinon (0) ) sinon (0) Prise en compte du nombre de jours enfant 4 et 5. Correction de la petite coquille sur la prise en compte du nombre de jour de l'enfant 2. Modification de quelques éléments de la rubrique libre : 66_AF (Données pour calcul salaire des AF (Avt 305)) 66_AF.REMLEG1 Faire appel à la fonction de calcul F_66AF Même modification pour 66_AF.REMLEG2 , 66_AF.REMLEG3 ,66_AF.REMCONV1 , REMCONV2 et REMCONV3 Avant si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) ) alors ( si ([66_AFACCINTER.MONTANT]=0) alors ( [66_AFNBJENF1.MONTANT] /CONSTANTE(GENERAL.NBJMOISPAYE) *CONSTANTE(GENERAL.SMICMENS) ) sinon (0) ) sinon (0) Après si (CONSTANTE(GENERAL.OLDAF_61)=0) alors ( F_66AF(1;0; [66_AFNBJENF1.MONTANT];[66_AFNBJABSCP.BASE]+[66_AFNBJABS1.BASE];[66_AF_1ENF.RESULTAT];[66_AF_BASE.RESULTAT] ;1) ) sinon ( si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) ) alors ( si ([66_AFACCINTER.MONTANT]=0) alors ( [66_AFNBJENF1.MONTANT] /CONSTANTE(GENERAL.NBJMOISPAYE) *CONSTANTE(GENERAL.SMICMENS) ) sinon (0) ) sinon (0) ) V_66AF.ABSLEG1 Faire appel à la fonction de calcul F_66AF Même modification dans 66_AF.ABSLEG2 ,66_AF.ABSLEG3 , 66_AF.ABSCONV1 , 66_AF.ABSCONV2 et 66_AF.ABSCONV13 Avant si ( [66_AFNBENF.MONTANT]>0) alors ( maximum(0;(CONSTANTE(CONTRAT.CIVJOURSTRAVAIL_EMB) - [66_AFNBJENF1.MONTANT]) ) /CONSTANTE(GENERAL.NBJMOISPAYE) *0.8 *CONSTANTE(GENERAL.SMICMENS) ) sinon (0) Après si (CONSTANTE(GENERAL.OLDAF_61)=0) alors ( F_66AF(0;0; [66_AFNBJENF1.MONTANT];[66_AFNBJABSCP.BASE]-[66_AFNBJABS1.BASE];[66_AF_1ENF.RESULTAT];[66_AF_BASE.RESULTAT] ;1) ) sinon ( si ( [66_AFNBENF.MONTANT]>0) alors ( maximum(0;(CONSTANTE(CONTRAT.CIVJOURSTRAVAIL_EMB) - [66_AFNBJENF1.MONTANT]) ) /CONSTANTE(GENERAL.NBJMOISPAYE) *0.8 *CONSTANTE(GENERAL.SMICMENS) ) sinon (0) ) Création de 66_AF.REMLEG4 : Rémunération légale 4 F_66AF(1;0; [66_AFNBJENF4.MONTANT];0;[66_AF_3ENF.RESULTAT];[66_AF_2ENF.RESULTAT] ;4) Création de 66_AF.REMCONV4 : Rémunération conventionnelle 4 F_66AF(1;1; [66_AFNBJENF4.MONTANT];0;[66_AF_3ENF.RESULTAT];[66_AF_2ENF.RESULTAT] ;4) Idem pour la rémunération pour l'enfant 5 66_AF.REMLEG5 et 66_AF.REMCONV5 Pas d'indemnité d'accueil non réalisé pour les enfants 4 et 5