[{"data":1,"prerenderedAt":276},["ShallowReactive",2],{"\u002Fnext\u002Fdodock\u002Fdeveloppeurs\u002Fhook-regional-cotisations-employeur":3,"section:\u002Fnext\u002Fdodock\u002Fdeveloppeurs\u002Fhook-regional-cotisations-employeur":275},{"id":4,"title":5,"body":6,"description":262,"extension":263,"meta":264,"navigation":265,"path":271,"seo":272,"stem":273,"__hash__":274},"docs\u002F2.next\u002F3.dodock\u002F10.developpeurs\u002Fhook-regional-cotisations-employeur.md","Hook régional pour les cotisations employeur",{"type":7,"value":8,"toc":257},"minimark",[9,13,26,37,42,49,87,90,94,101,148,151,158,217,220,224,242,253],[10,11,5],"h1",{"id":12},"hook-régional-pour-les-cotisations-employeur",[14,15,16,17,21,22,25],"p",{},"Le bulletin de paie appelle la méthode ",[18,19,20],"code",{},"apply_regional_employer_contributions"," après le calcul des cotisations employeur de la structure salariale. Par défaut, cette méthode ne fait rien. Une application régionale la remplace pour ajouter ses propres lignes au tableau ",[18,23,24],{},"employer_contributions",".",[14,27,28,29,32,33,36],{},"La méthode porte le décorateur ",[18,30,31],{},"@hrms.allow_regional",". Ce décorateur cherche une fonction de remplacement dans le hook ",[18,34,35],{},"regional_overrides",", pour le pays courant.",[38,39,41],"h2",{"id":40},"ordre-dexécution","Ordre d'exécution",[14,43,44,45,48],{},"Dans ",[18,46,47],{},"calculate_net_pay",", le bulletin exécute ces étapes :",[50,51,52,56,63,70,74,81],"ol",{},[53,54,55],"li",{},"Il calcule les gains et les déductions de la structure salariale.",[53,57,58,59,62],{},"Il appelle ",[18,60,61],{},"apply_regional_deductions"," (déductions régionales).",[53,64,65,66,69],{},"Il calcule les cotisations employeur de la structure (",[18,67,68],{},"calculate_component_amounts(\"employer_contributions\")","), si le bulletin a une structure salariale.",[53,71,58,72,25],{},[18,73,20],{},[53,75,76,77,80],{},"Il arrondit les montants (",[18,78,79],{},"set_precision_for_component_amounts",").",[53,82,83,84,80],{},"Il calcule le net à payer (",[18,85,86],{},"set_net_pay",[14,88,89],{},"Les cotisations employeur s'affichent sur le bulletin. Elles n'entrent pas dans le brut, le total des déductions ou le net à payer.",[38,91,93],{"id":92},"déclarer-le-remplacement","Déclarer le remplacement",[14,95,96,97,100],{},"Dans le fichier ",[18,98,99],{},"hooks.py"," de votre application, associez le chemin de la méthode d'origine à votre fonction, sous le nom du pays :",[102,103,108],"pre",{"className":104,"code":105,"language":106,"meta":107,"style":107},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# mon_app\u002Fhooks.py\nregional_overrides = {\n    \"France\": {\n        \"hrms.payroll.doctype.salary_slip.salary_slip.apply_regional_employer_contributions\": \"mon_app.paie.ajouter_cotisations_employeur\",\n    },\n}\n","python","",[18,109,110,118,124,130,136,142],{"__ignoreMap":107},[111,112,115],"span",{"class":113,"line":114},"line",1,[111,116,117],{},"# mon_app\u002Fhooks.py\n",[111,119,121],{"class":113,"line":120},2,[111,122,123],{},"regional_overrides = {\n",[111,125,127],{"class":113,"line":126},3,[111,128,129],{},"    \"France\": {\n",[111,131,133],{"class":113,"line":132},4,[111,134,135],{},"        \"hrms.payroll.doctype.salary_slip.salary_slip.apply_regional_employer_contributions\": \"mon_app.paie.ajouter_cotisations_employeur\",\n",[111,137,139],{"class":113,"line":138},5,[111,140,141],{},"    },\n",[111,143,145],{"class":113,"line":144},6,[111,146,147],{},"}\n",[14,149,150],{},"La clé est le module de la méthode suivi de son nom, sans le nom de la classe. Si plusieurs applications déclarent la même clé, la dernière application installée l'emporte.",[14,152,153,154,157],{},"Votre fonction reçoit le bulletin de paie (",[18,155,156],{},"self",") comme seul argument :",[102,159,161],{"className":104,"code":160,"language":106,"meta":107,"style":107},"# mon_app\u002Fpaie.py\ndef ajouter_cotisations_employeur(salary_slip):\n    # Exemple fictif : composant de salaire « Prévoyance employeur » à 1,5 % du brut\n    salary_slip.append(\n        \"employer_contributions\",\n        {\n            \"salary_component\": \"Prévoyance employeur\",\n            \"amount\": salary_slip.gross_pay * 0.015,\n        },\n    )\n",[18,162,163,168,173,178,183,188,193,199,205,211],{"__ignoreMap":107},[111,164,165],{"class":113,"line":114},[111,166,167],{},"# mon_app\u002Fpaie.py\n",[111,169,170],{"class":113,"line":120},[111,171,172],{},"def ajouter_cotisations_employeur(salary_slip):\n",[111,174,175],{"class":113,"line":126},[111,176,177],{},"    # Exemple fictif : composant de salaire « Prévoyance employeur » à 1,5 % du brut\n",[111,179,180],{"class":113,"line":132},[111,181,182],{},"    salary_slip.append(\n",[111,184,185],{"class":113,"line":138},[111,186,187],{},"        \"employer_contributions\",\n",[111,189,190],{"class":113,"line":144},[111,191,192],{},"        {\n",[111,194,196],{"class":113,"line":195},7,[111,197,198],{},"            \"salary_component\": \"Prévoyance employeur\",\n",[111,200,202],{"class":113,"line":201},8,[111,203,204],{},"            \"amount\": salary_slip.gross_pay * 0.015,\n",[111,206,208],{"class":113,"line":207},9,[111,209,210],{},"        },\n",[111,212,214],{"class":113,"line":213},10,[111,215,216],{},"    )\n",[14,218,219],{},"Le composant de salaire doit exister avant l'appel.",[38,221,223],{"id":222},"pays-utilisé","Pays utilisé",[14,225,226,229,230,233,234,237,238,25],{},[18,227,228],{},"hrms.get_region()"," détermine le pays. Il prend le pays de la société de ",[18,231,232],{},"frappe.local.flags.company"," si ce drapeau est défini. Sinon, il prend ",[18,235,236],{},"frappe.flags.country",", puis le pays des ",[239,240,241],"strong",{},"Paramètres système",[243,244,247],"callout",{"color":245,"icon":246},"warning","i-lucide-triangle-alert",[14,248,249,250,252],{},"Le pays ne vient pas de la société du bulletin. Sur un site multi-pays, vérifiez la valeur de ",[18,251,232],{}," ou testez le pays dans votre fonction.",[254,255,256],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":107,"searchDepth":114,"depth":120,"links":258},[259,260,261],{"id":40,"depth":120,"text":41},{"id":92,"depth":120,"text":93},{"id":222,"depth":120,"text":223},"Le point d'extension apply_regional_employer_contributions permet à une application d'ajouter des cotisations employeur au bulletin de paie selon le pays.","md",{"reviewed":265,"last_verified":266,"sources":267},true,"2026-11-04",[268,269,270],"hrms@develop:hrms\u002F__init__.py","hrms@develop:hrms\u002Fhooks.py","hrms@develop:hrms\u002Fpayroll\u002Fdoctype\u002Fsalary_slip\u002Fsalary_slip.py","\u002Fnext\u002Fdodock\u002Fdeveloppeurs\u002Fhook-regional-cotisations-employeur",{"title":5,"description":262},"2.next\u002F3.dodock\u002F10.developpeurs\u002Fhook-regional-cotisations-employeur","X_hf-UXvS9Ik5Ov7a8qzP291CqkZCUBFIGosVUSfgQM",{},1793871744379]