GuideSérie Odoo 20, partie 11 sur 2521 septembre 2026Par Olivia, Architecte Odoo Senior

La Paie d'Odoo 20 :
des règles salariales qui servent d'entrées, une boucle de révision avant la paie et de nouveaux pays

La paie, repensée : capture d'écran d'Odoo 20 derrière le titre de l'article
INTRODUCTION

Moins d'endroits pour configurer la même chose, moins de surprises le jour de la paie

La Paie est l'une des applications les plus remaniées d'Odoo 20, et l'essentiel du changement se trouve dans les fondations. La liste distincte des types d'entrée de fiche de paie disparaît : une règle salariale peut désormais être elle-même une entrée. Le contrat s'appelle la fiche employé (Employee Record) et porte un état de révision qui peut bloquer une fiche de paie jusqu'à ce que quelqu'un la regarde. Les avertissements du tableau de bord sont des enregistrements configurables. Si vous gérez la paie, cela change la façon de configurer les allocations et de vérifier un cycle de paie avant de le valider.

Cet article couvre deux sections de notre série Odoo 20 : la refonte de la paie et les nouveaux packages par pays. Nous avons parcouru la refonte sur une société américaine et les déclarations belges sur une société belge, sur la version préliminaire. Les packages du Golfe et le connecteur GOSI saoudien sont décrits à partir du guide et du code source 20.0.

Observé sur la version préliminaire d'Odoo 20.0 Enterprise du 23 septembre 2026. Les noms, menus et disponibilités peuvent changer avant la version finale ; nous mettrons cette page à jour le cas échéant.

Une seule liste de règles, et une règle peut être sa propre entrée

Dans Odoo 19, un gestionnaire de paie tenait deux listes : les types d'entrée, et les règles salariales qui les lisent. Une entrée pouvait exister sans qu'aucune règle ne la consomme, et personne ne s'en rendait compte avant qu'une fiche de paie ne sorte trop basse. Odoo 20 fusionne les deux sous Paie > Configuration > Salaire > Règles, une page intitulée Salary Rules qui regroupe toutes les règles de toutes les structures de paie.

Liste des règles salariales avec nom, code, structures de paie et catégories
Paie > Configuration > Salaire > Règles : une seule liste pour les règles et les entrées

Pour faire d'une règle une entrée, réglez Amount Type sur Input Value (avec Based on : Input Value dans le bloc de condition) et cochez Inputtable on Employee, Payslip ou les deux. Employee stocke la valeur une fois sur la fiche employé, pour une allocation récurrente. Payslip signifie que vous la saisissez sur chaque fiche de paie, pour une prime ou une déduction ponctuelle. À l'écran, « marquer une règle comme entrée » se résume à ces deux cases.

Formulaire de la règle Remote Work Allowance avec les cases Employee et Payslip cochées
Une règle salariale qui est elle-même une entrée : « Inputtable on Employee / Payslip »

Un onglet Input Options contient la section de la fiche de paie, un interrupteur Selected by Default, une valeur par défaut et un suffixe tel que « USD / month ». Les sections se gèrent sous Configuration > Salaire > Salary Input Sections, un menu qui ouvre une page intitulée Salary Rule Sections. Sur la démo, nous avons ajouté de cette façon une Remote Work Allowance et une Mobile Phone Allowance à la structure United States: Regular Pay.

Onglet Input Options montrant la section Inputs, Selected by Default, une valeur par défaut de 75 et le suffixe USD / month
Onglet Input Options : section, Selected by Default, valeur par défaut, suffixe

Le contrat devient la fiche employé, avec des propriétés de paie

Ce qu'Odoo 19 avait introduit comme « Version » du contrat s'appelle Employee Record partout dans la Paie d'Odoo 20. Chaque fiche porte le salaire, le salaire horaire (désormais à quatre décimales), le type de structure, le type d'employé, les informations de départ et un bloc de propriétés de paie. Les fiches peuvent être archivées avec leurs fiches de paie.

Bloc Inputs avec Remote Work Allowance à 75 et Mobile Phone Allowance à 30 USD / month
Propriétés de paie remplies sur la fiche employé

Une correction au guide. Il décrit des propriétés Many2one et de sélection avec un modèle dédié pour les valeurs. Sur la version préliminaire, le bloc de propriétés est généré à partir des règles cochées Inputtable on Employee, et chaque propriété est un nombre avec un suffixe : nos deux allocations apparaissent à 75 et 30 USD / month. Rien à l'écran ne permet de définir une commission paritaire ou une catégorie de voiture comme liste déroulante. Considérez cette partie du guide comme une feuille de route.

Seconde correction : le guide place Employees, Employee Records et Payslip Adjustments sous Paie > Employés. En mode normal, seul Employees s'y trouve ; les deux autres exigent le mode développeur. Les gestionnaires de paie travaillent depuis l'onglet Payroll de la fiche employé.

Fiche de l'employée Jessica Johnson avec le badge To Review
Fiche employé portant l'état « To Review »

États de révision, avertissements configurables et fiches de paie bloquées

C'est la partie qu'un gestionnaire de paie ressent en premier. Chaque employé a un état de révision, Reviewed, To Review ou Anomaly, affiché en badge sur la fiche. Le guide affirme que toute modification suivie le fait passer à To Review. Sur cette version, cela n'arrive que si la personne qui modifie n'est pas Payroll Officer ; une modification par l'équipe de paie laisse l'état inchangé. Quand les RH changent un salaire, la paie reçoit un signal.

Liste des avertissements de paie avec classe de couleur et interrupteurs actifs
Configuration > Dashboard > Warnings : des cartes d'avertissement configurables

Les avertissements du tableau de bord sont des enregistrements sous Paie > Configuration > Dashboard > Warnings : 39 sur la démo, chacun avec une description, une classe de couleur (Primary, Info, Warning, Danger) et un interrupteur actif. Employees To Review, Employees With Anomalies et Payslips With Zero or Negative Net y figurent tous.

Chronologie du tableau de bord avec des cartes comme 2 Employees To Review et 1 Employees With Anomalies
Tableau de bord Paie avec cartes d'avertissement et compteurs

Le guide décrit une bannière Review Employees sur le cycle de paie. Nous ne l'avons pas trouvée. À la place, la fiche de paie d'un employé en To Review affiche le statut Blocked avec l'avertissement « Review employee to validate payslip » et un lien Review. Un bouton Review Employees existe bel et bien, dans la boîte de dialogue d'avertissement affichée au démarrage d'un cycle de paie, et sur la carte du tableau de bord sous le nom Review Records. Les états du cycle de paie sont Draft, Ready, Done et Paid, plus Cancelled.

Cycle de paie Sep 2026 (US), fiche de paie de Jessica Johnson en statut Blocked avec l'avertissement « Review employee to validate payslip -> Review »
Fiches de paie d'un cycle : un employé à réviser bloque la validation

Conseil de pro

Avant votre premier cycle de paie Odoo 20, convenez de qui marque les employés Reviewed. Si le même gestionnaire modifie les fiches et valide les fiches de paie, l'état bascule rarement : le filet de sécurité ne fonctionne que si les RH et la paie sont des groupes distincts.

First Payrun Date et les avantages dans la Paie

Sous Paie > Configuration > Paramètres, une First Payrun Date indique à Odoo de ne rien générer pour les périodes antérieures à la mise en production, ce qui supprime les avertissements « missing payrun » pour les mois payés dans l'ancien système. Nous l'avons fixée au 1er janvier 2025 sur la société de San Francisco.

Paramètres de Paie avec First Payrun Date réglée au 1er janvier 2025
Paramètres : First Payrun Date

La configuration des avantages quitte le configurateur salarial pour Paie > Configuration > Salaire > Benefits, groupée par type d'avantage, afin que les RH et la paie partagent une seule définition. Le guide indique aussi qu'une offre peut désormais être un avenant au contrat d'un employé existant, avec un modèle PDF Signature choisi depuis le formulaire d'offre ; ce module n'était pas installé sur notre démo, nous avons donc vu le menu Benefits mais pas le formulaire d'offre.

Liste des avantages groupée par type d'avantage (société belge active)
Configuration > Salaire > Benefits vit désormais dans Paie

Irak, Koweït, Oman et Philippines, plus un connecteur GOSI saoudien

Selon le guide et le code source 20.0, quatre packages de paie sont nouveaux : l'Irak (assurance sociale, fin de service, heures supplémentaires), le Koweït (une structure « Kuwait: Monthly Pay » avec sécurité sociale, indemnité de fin de service et congés de maladie par paliers), Oman (structure mensuelle, assurance sociale, deux jeux de règles d'heures supplémentaires) et les Philippines. Chacun livre un pont comptable pour que les fiches de paie génèrent des écritures. Pour être clair : ni le Canada ni les États-Unis ne font partie des nouveaux packages. Le package américain est toujours là, et nos cycles de paie de démonstration ont utilisé sa structure United States: Regular Pay ; le guide ne mentionne pas le package canadien.

Fiche de paie de Jessica Johnson pour septembre 2026 avec salaire de base, allocations saisies, brut et taxes
Fiche de paie calculée, onglet Salary Computation (package générique/États-Unis)

L'Arabie saoudite s'approfondit. Un module GOSI se connecte à l'API de la General Organization for Social Insurance, récupère les données de cotisation et journalise chaque mise à jour comme un enregistrement de mise à jour de salaire ; il se configure avec une clé de certificat dans les paramètres de paie. Un module compagnon collecte les heures de retard depuis Présences et les fait passer par To Approve, Approve et Refuse. Les configurateurs de package salarial sont localisés pour les Émirats arabes unis, l'Inde, l'Arabie saoudite et l'Égypte. Rien de tout cela n'était installé sur notre démo, ce paragraphe vient donc du code source, pas de l'écran.

Belgique : des déclarations produites depuis Odoo, des connecteurs retirés

La Belgique reste la localisation la plus active. Sous Configuration > Salaire > Structures, le groupe Belgium Pay liste Monthly Pay (BE) avec 256 règles, Double Holidays, Termination Fees, 13th Month et d'autres. À savoir avant l'installation : le package belge archive ses structures, règles et catégories juste après l'installation ; elles reviennent une fois qu'une société belge est configurée. Une liste vide sur une base neuve est attendue.

Groupe Belgium Pay avec Monthly Pay (BE) et ses 256 règles, Double Holidays, Termination Fees, 13th Month...
Structures de paie groupées par type : le package belge

Le menu Rapports d'une société belge liste Meal Vouchers, Eco-Vouchers, DMFA, DIMONA, DRS et les feuilles 273.XX, 274.XX et 281.XX, entre autres. Le guide parle d'une « déclaration 281.30 » ; aucun menu ne porte ce nom. L'entrée est Rapports > Belgium > 281.XX Sheets, le formulaire s'intitule Create 281.XX Form, et il ne demande qu'une année (Year) et un type d'envoi (Sending Type, Original ou Corrections) avant Compute.

Menu Reporting listant 273.XX, 274.XX, 281.XX Sheets, DMFA, DIMONA, DRS...
Paie > Rapports > déclarations belges
Étape 1: Trois étapes : le menu Rapports de Paie sur une société belge, la liste vide Create 281.XX Form avec le bouton New en surbrillance, puis le nouveau formulaire avec l'année 2025, le type d'envoi Original et le bouton ComputeÉtape 2: Trois étapes : le menu Rapports de Paie sur une société belge, la liste vide Create 281.XX Form avec le bouton New en surbrillance, puis le nouveau formulaire avec l'année 2025, le type d'envoi Original et le bouton ComputeÉtape 3: Trois étapes : le menu Rapports de Paie sur une société belge, la liste vide Create 281.XX Form avec le bouton New en surbrillance, puis le nouveau formulaire avec l'année 2025, le type d'envoi Original et le bouton Compute
Tutoriel : Paie > Rapports > Belgium > 281.XX Sheets, puis New, choisir l'année et le type d'envoi, puis Compute

Le guide liste aussi un flux de correction pour la déclaration 273S, un treizième mois pour la commission paritaire 302 et un module de budget mobilité reliant la paie et les dépenses. Et un retrait qui compte : les connecteurs vers SD Worx, Partena, Group S, UCM, Acerta et Prisma n'existent plus comme modules, selon le diff du code source 20.0. Dimona a été intégré au module belge principal.

Comment l'essayer sur une base de démonstration

  1. Installez Paie avec les données de démonstration sur une société dont le pays livre des règles salariales (le package américain a fonctionné pour nous).
  2. Ouvrez Paie > Configuration > Salaire > Règles, créez une règle, réglez Amount Type sur Input Value, cochez Inputtable on Employee et remplissez l'onglet Input Options.
  3. Ouvrez Paie > Employés, choisissez un employé et remplissez la nouvelle propriété dans l'onglet Payroll.
  4. En tant qu'utilisateur RH qui n'est pas Payroll Officer, modifiez le salaire de cet employé ; le badge passe à To Review.
  5. Ouvrez Paie > Fiches de paie > Cycles de paie, cliquez sur Nouveau, choisissez la structure et la période, puis Continue. La fiche de paie affiche Blocked avec un lien Review.
  6. Suivez le lien, marquez la fiche Reviewed et validez le cycle de paie.
  7. Pour la Belgique, changez de société, ouvrez Rapports > Belgium > 281.XX Sheets, cliquez sur Nouveau, réglez Year et Sending Type, puis Compute.
Étape 1: Trois étapes : le tableau de bord Paie avec ses cartes d'avertissement, la fenêtre New Pay Run avec la structure United States: Regular Pay et la période de septembre, puis la fiche de l'employée Jessica Johnson portant le badge To ReviewÉtape 2: Trois étapes : le tableau de bord Paie avec ses cartes d'avertissement, la fenêtre New Pay Run avec la structure United States: Regular Pay et la période de septembre, puis la fiche de l'employée Jessica Johnson portant le badge To ReviewÉtape 3: Trois étapes : le tableau de bord Paie avec ses cartes d'avertissement, la fenêtre New Pay Run avec la structure United States: Regular Pay et la période de septembre, puis la fiche de l'employée Jessica Johnson portant le badge To Review
Tutoriel : lancer un cycle de paie depuis Paie > Fiches de paie > Cycles de paie, puis suivre le lien de révision jusqu'à la fiche employé

Ce que nous n'avons pas pu vérifier sur la version préliminaire

Nous n'avons pas vu les structures et fiches de paie du Koweït, d'Oman, de l'Irak ou des Philippines, les paramètres GOSI saoudiens, le journal de mise à jour des salaires et les approbations de retards (modules non installés, et GOSI exige une vraie clé de certificat), les pages du configurateur de package salarial et le formulaire d'offre d'avenant (non installés), ni un PDF 281.XX calculé et une fiche de paie belge (la société belge de démonstration n'avait ni employés ni fiches de paie). Les propriétés de paie Many2one et de sélection n'existaient pas dans cette version, l'action Review Time exigeait des congés en attente, et la bannière de budget mobilité exige un employé belge avec un budget et une dépense. Tout le reste de cette page a été parcouru sur la version 20.0 Enterprise du 23 septembre 2026.

Ce que cela change pour une mise à niveau

Si vous gérez la paie sur Odoo 17, 18 ou 19, attendez-vous à trois types de travaux. D'abord, chaque type d'entrée de fiche de paie devient une règle salariale avec Inputtable on coché, et les règles personnalisées qui lisent des entrées par code doivent être vérifiées, puisque les ponts hr_work_entry_* et hr_payroll_holidays ont été fusionnés dans la paie. Ensuite, vérifiez votre pays : selon le diff du code source 20.0, les packages France, US ADP, Italie SD Worx et Hong Kong eMPF sont absents de la branche enterprise 20.0, sans commit de retrait pour l'expliquer. Enfin, décidez qui est responsable de l'état Reviewed et fixez la First Payrun Date au mois de votre mise en production. Nous déroulons cette liste dans notre service de migration ; si un script extrait des données de paie par XML-RPC ou JSON-RPC, ajoutez l'audit de migration RPC, car Odoo a programmé pour Odoo 20 la suppression de ces points de terminaison. L'article central de la série liste les autres changements de la même mise à niveau.

FAQ

Questions fréquentes

Les types d'entrée de fiche de paie disparaissent-ils dans Odoo 20 ?

Oui. La liste distincte des types d'entrée est remplacée par des règles salariales qui sont elles-mêmes des entrées : réglez Amount Type sur Input Value et cochez Inputtable on Employee ou Payslip. Sections, valeurs par défaut et suffixes se trouvent dans l'onglet Input Options de la règle, sous Paie > Configuration > Salaire > Règles.

Odoo 20 ajoute-t-il la paie pour le Canada ou les États-Unis ?

Non. Les nouveaux packages nommés dans le guide sont l'Irak, le Koweït, Oman et les Philippines, avec une couverture approfondie pour l'Arabie saoudite, les Émirats, l'Égypte et la Belgique. Le package américain est toujours présent ; nos cycles de démonstration ont utilisé sa structure Regular Pay. Le guide ne mentionne aucun changement au package canadien, vérifiez-le donc sur votre propre configuration avant de migrer.

Pourquoi une fiche de paie est-elle Blocked dans mon cycle de paie Odoo 20 ?

Parce que l'employé est dans l'état To Review. Une modification suivie faite par quelqu'un qui n'est pas Payroll Officer fait passer la fiche à To Review, et la fiche de paie reste Blocked avec un lien Review jusqu'à ce qu'un gestionnaire de paie ouvre la fiche et la marque Reviewed. Le cycle peut alors être validé.

Qu'est-il arrivé au package de paie français dans Odoo 20 ?

Selon le diff du code source 20.0, l10n_fr_hr_payroll est absent de la branche enterprise 20.0, comme US ADP, Italie SD Worx et Hong Kong eMPF. Aucun commit de retrait ne l'explique, les packages ont donc peut-être été déplacés ailleurs. Confirmez auprès d'Odoo avant de planifier une migration de paie française.

Où se trouve la déclaration belge 281.30 dans Odoo 20 ?

Sous Paie > Rapports > Belgium > 281.XX Sheets sur une société belge. Cliquez sur Nouveau, choisissez l'année (Year) et le type d'envoi (Original ou Corrections), puis Compute. Il n'y a pas de menu 281.30 distinct ; le même formulaire couvre la famille 281. Les règles belges doivent être actives, ce qui se produit une fois qu'une société belge est configurée.

Où est passée la configuration des avantages dans Odoo 20 ?

Elle a quitté le configurateur salarial pour Paie > Configuration > Salaire > Benefits, groupée par type d'avantage. L'objectif est une seule définition partagée par les offres RH et le calcul de paie, au lieu de deux listes qui divergent. Le formulaire d'offre du configurateur continue de référencer ces avantages quand il compose un package.

Envie de faire cartographier vos entrées et vos règles avant le premier cycle de paie Odoo 20 ?

Nous pouvons prendre vos types d'entrée actuels, vos règles personnalisées et votre package pays, les transposer en règles salariales Odoo 20 sur une copie de votre base, et lancer un cycle de paie parallèle pour que vous voyiez chaque fiche Blocked avant le jour de la paie, pas après.

Réserver une consultation gratuite