NXL Forge.Pendant que le marché rédige — nous livrons
Article de fond··6 min de lecture

Odoo 20 supprime les groupes de comptes : votre plan comptable bouge

Odoo 20 remplace les groupes de comptes par des comptes parents et rend les codes de compte facultatifs. Pour une PME française, ce changement touche les rapports sur mesure, les intégrations et la conformité du FEC. Voici les points à contrôler avant la migration.

Odoo 20ComptabilitéPlan comptableMigration OdooFEC

Odoo 20 est sorti fin septembre, et la plupart des comptes rendus parlent d'abord d'agents IA. Pour une PME française qui tient sa comptabilité dans Odoo, le changement le plus structurant se trouve ailleurs, dans une ligne discrète des notes de version : « Account groups have been replaced by parent accounts as the method of structuring charts of accounts »1. Le plan comptable change de squelette. Avant de planifier une migration, il vaut la peine de comprendre ce que cela implique pour vos rapports, vos intégrations et votre expert-comptable.

Des groupes de comptes aux comptes parents

Jusqu'à Odoo 19, la hiérarchie du plan comptable reposait sur un objet séparé, account.group. Un groupe portait un préfixe de code, et Odoo y rattachait automatiquement les comptes dont le numéro commençait par ce préfixe. La documentation officielle le résume ainsi : par défaut, les groupes sont gérés automatiquement à partir du code2. Ce mécanisme convenait bien au PCG, où la classe 6 contient la 60, qui contient la 601, et ainsi de suite.

Dans le code source de la branche 20.0, ce modèle a disparu du fichier account_account.py. Le compte porte désormais lui-même un champ parent_id (« Parent Account ») qui pointe vers un autre compte, et le modèle active _parent_store, la mécanique d'arborescence classique de l'ORM d'Odoo3. Deux nouveaux champs calculés, code_path et name_path, reconstituent le chemin complet d'un compte (par exemple « 6 / 60 / 601000 ») et servent à trier et à rechercher. Dans la branche 19.0, on trouve encore la classe AccountGroup et un champ group_id sur chaque compte4.

La différence de fond tient à la nature du lien. Un groupe était déduit du numéro : changer le code d'un compte le faisait changer de groupe. Un parent est une relation explicite, que quelqu'un choisit et maintient. Cette souplesse sert les groupes internationaux qui consolident des plans hétérogènes. Pour une PME qui suit le PCG à la lettre, elle introduit surtout une nouvelle source d'erreur possible : un compte rangé sous le mauvais parent ne déclenchera aucune alerte comptable, mais il faussera les sous-totaux de la balance.

Les codes de compte deviennent facultatifs

Les mêmes notes de version précisent : « Account codes are now optional »1. Le code source confirme un autre assouplissement : la contrainte de format accepte désormais les tirets en plus des caractères alphanumériques et des points, alors qu'Odoo 19 n'admettait que les points3, 4.

Pour un utilisateur français, cette option ne doit pas devenir une habitude. Le fichier des écritures comptables (FEC), que toute entreprise tenant une comptabilité informatisée doit pouvoir remettre en cas de contrôle, comporte 18 champs ordonnés, dont CompteNum, le numéro de compte5. Un compte sans code produira donc un FEC incomplet. Le plan comptable français livré par Odoo 20 attribue toujours un code à six chiffres à chaque compte (106100 pour la réserve légale, par exemple)6. Le risque vient des comptes créés à la main après l'installation, par un utilisateur pressé ou par un import mal préparé.

Ce que la localisation française gagne

La version 20 apporte aussi des ajouts propres à la France. Les notes de version mentionnent des modèles de plaquettes annuelles « compliant with official PCG standards », ainsi que la détection automatique, dans l'annuaire de la facturation électronique, des points de réception qui correspondent au SIREN saisi1. Le dépôt contient un module l10n_fr_pdp, intitulé « France - E-Invoicing (Approved Platform) », qui s'installe automatiquement avec la localisation française et sert à émettre et recevoir des factures via la plateforme agréée d'Odoo7.

Autre nouveauté utile pour les structures de négoce léger ou de services : il devient possible de gérer le stock disponible et sa valorisation comptable sans installer l'application Inventaire1. Pour une entreprise qui revend quelques références sans logistique complexe, cela évite de déployer et de paramétrer tout un module d'entrepôt.

Enfin, un point budgétaire mérite d'être signalé au service financier. Selon les notes de version, toutes les fonctionnalités d'IA consomment désormais des crédits achetés via IAP, le système de services payants à l'usage d'Odoo1. Les assistants comptables présentés lors du lancement ne sont donc pas compris dans l'abonnement de base. Nous avons détaillé le périmètre de l'agent comptable dans un article précédent.

ÉlémentOdoo 19Odoo 20
Hiérarchie du planGroupes (account.group) déduits du préfixe de codeComptes parents (parent_id) choisis explicitement
Code de compteLettres, chiffres, pointsFacultatif ; tirets acceptés
Valorisation du stockRequiert l'application InventairePossible sans Inventaire
Plaquettes PCGNon mentionnéesModèles préconfigurés
Fonctions IASelon les modulesCrédits IAP pour toutes

Ce qu'il faut vérifier avant de migrer

Le service de mise à niveau d'Odoo convertit les modules standard, mais vos développements spécifiques restent à votre charge. Trois familles de dépendances au modèle account.group méritent une vérification, et chacune demande une méthode différente.

La première concerne les rapports personnalisés. Une balance ou un compte de résultat construit sur mesure qui regroupe les lignes par group_id cessera de fonctionner, puisque le champ n'existe plus. Il faudra réécrire la logique autour de parent_id ou de code_path, puis comparer les totaux à ceux de l'ancienne version sur au moins un exercice clôturé.

La deuxième touche les intégrations. Un connecteur vers un outil de consolidation, un entrepôt de données ou un tableau de bord qui interroge account.group par API recevra une erreur après la migration. Il suffit souvent de rechercher la chaîne « account.group » dans le code des connecteurs et dans les requêtes enregistrées des outils de BI pour mesurer l'ampleur du chantier.

La troisième relève des modules tiers. Plusieurs modules de l'Apps Store ajoutaient déjà une hiérarchie de comptes parents dans les versions précédentes. Ils font désormais doublon avec le standard, et leur désinstallation doit être prévue avant la mise à niveau, sous peine de conflits de champs.

Côté métier, nous recommandons d'exporter la balance hiérarchique d'Odoo 19 juste avant la bascule, puis de la comparer, ligne par ligne, avec celle de la base de test migrée. Si les sous-totaux par classe et par compte à trois chiffres concordent, la conversion des groupes en parents s'est bien passée. S'ils divergent, mieux vaut le découvrir sur la base de test qu'au moment de la clôture.

Notre lecture

Ce changement va dans le bon sens. Le modèle des groupes datait d'une époque où Odoo visait d'abord des plans comptables à numérotation stricte. Les comptes parents alignent la hiérarchie sur ce que font la plupart des logiciels de consolidation, et la suppression d'un objet intermédiaire simplifie le modèle de données.

Il demande toutefois une discipline nouvelle. Avec des groupes déduits du code, le PCG se rangeait tout seul. Avec des parents explicites et des codes facultatifs, la cohérence du plan dépend de la rigueur de ceux qui créent les comptes. Nous conseillons de restreindre la création de comptes à un profil comptable identifié et d'ajouter un contrôle simple, par exemple une action planifiée qui signale tout compte actif sans code ou sans parent.

Sur le calendrier, rien ne presse pour une PME stable en version 19, qui reste supportée. La bonne fenêtre se situe plutôt après une clôture annuelle, avec une base de test migrée et la balance comparée, et non à la veille d'un arrêté. Les plaquettes PCG et la valorisation sans Inventaire constituent de vrais gains, mais ils ne justifient pas à eux seuls de précipiter la bascule.

Sources

Footnotes

  1. Odoo S.A., notes de version d'Odoo 20 (septembre 2026), sections Accounting, Localization France et AI. ↩ ↩2 ↩3 ↩4 ↩5

  2. Documentation Odoo, page « Chart of accounts », section consacrée aux groupes de comptes. ↩

  3. Code source Odoo, branche 20.0, fichier addons/account/models/account_account.py (champs parent_id, parent_path, code_path, contrainte _check_account_code). ↩ ↩2

  4. Code source Odoo, branche 19.0, fichier addons/account/models/account_account.py (classe AccountGroup, champ group_id). ↩ ↩2

  5. La Fabrique du Net, « Fichier des écritures comptables : 18 champs, et 5 000 € si l'un manque ». Le détail du format figure à l'article A47 A-1 du livre des procédures fiscales. ↩

  6. Code source Odoo, branche 20.0, plan comptable français addons/l10n_fr_account/data/template/account.account-fr.csv. ↩

  7. Code source Odoo, branche 20.0, manifeste du module addons/l10n_fr_pdp/__manifest__.py. ↩

Sur le même thème

Votre idée mérite un vrai logiciel

Une question, un projet Odoo ?

Modules préconfigurés, intégration, sur-mesure — parlons-en sans engagement.