Se rendre au contenu

Pièges du multi-société dans le code Odoo sur mesure

11 août 2026 par
Pièges du multi-société dans le code Odoo sur mesure
Majorbird

Pièges du multi-société dans le code Odoo sur mesure

自定义Odoo代码中的多公司陷阱

La trampa multiempresa en el código personalizado de Odoo

Pièges du multi-société dans le code Odoo sur mesure

فخ تعدد الشركات في أكواد Odoo المخصصة

Cạm bẫy đa công ty trong mã tùy chỉnh Odoo

Une entreprise en croissance crée une seconde entité juridique dans Odoo, filiale, coentreprise ou simple immatriculation pour un nouveau marché, et en quelques jours, un dysfonctionnement apparaît sans qu’aucun utilisateur n’y ait touché. Un collaborateur met à jour les coordonnées bancaires d’un fournisseur, et cette modification se retrouve mystérieusement sur une facture émise par une autre société du groupe. Une commande passée sous une entité atterrit dans la file d’approbation d’une autre. Rien n’a été mal configuré. Le code personnalisé n’a simplement jamais été conçu pour gérer le cas où « société » pouvait désigner autre chose qu’une seule entité.

Pourquoi le code mono-société craque en premier

La plupart des modules Odoo sur mesure naissent dans un contexte mono-société, parce que c’est la seule réalité que connaît le client au départ. Les développeurs ajoutent des champs, surchargent les méthodes create et write, et construisent des logiques de récupération de données sans appliquer de filtre sur company_id, après tout, il n’y a qu’une seule société, et tout semble fonctionner. Les applications standard d’Odoo (ventes, achats, comptabilité) intègrent bien des règles de gestion multi-sociétés, mais les modules personnalisés ne les héritent pas automatiquement. Dès qu’une seconde société est créée dans la base, chaque lecture ou écriture non filtrée devient une fuite silencieuse entre entités : coordonnées bancaires partagées à tort, budgets ou commandes qui s’affichent sous la mauvaise société, fiches partenaires ou produits qui héritent de valeurs destinées à une autre entité du groupe.

La solution : corriger, pas tout réécrire

Bonne nouvelle : il est rarement nécessaire de tout reprendre de zéro. La correction consiste à ajouter les filtres company_id et les règles de gestion là où ils manquent : les champs hérités doivent être associés à des domaines explicitement liés à une société, les requêtes de recherche doivent intégrer un filtre société au lieu de s’appuyer sur le contexte par défaut, et chaque modèle personnalisé doit disposer de ses propres règles multi-sociétés, au-delà des règles standard. La difficulté réside dans l’identification exhaustive des lacunes, car le bug ne se manifeste qu’une fois que des données multi-sociétés réelles existent, et à ce stade, le client exploite déjà deux entités sur la même instance.

Notre position

Ce scénario est si fréquent qu’il mérite d’être anticipé dès la conception : tout développement Odoo sur mesure devrait partir du principe qu’une seconde société finira par arriver, même si le client est convaincu du contraire. Un audit rapide des logiques personnalisées avant le lancement d’une nouvelle entité coûte bien moins cher que le nettoyage de données déjà mélangées entre sociétés. Si votre équipe s’apprête à ajouter une entité juridique à une instance Odoo existante, c’est précisément ce type de problème à aborder avec Majorbird avant qu’il ne se manifeste de lui-même.

in News
Préparer une analyse des écarts sans avoir un processus parfait, c'est possible