Les groupes qui font tourner plusieurs sociétés dans une même base Odoo connaissent bien la scène. La filiale de distribution commande à la filiale de production, quelqu'un ressaisit la commande en face, le stock part d'un entrepôt qui n'appartient pas à la bonne entité, et la comptabilité découvre l'écart en fin de mois. Odoo 20, dont les notes de version datent de septembre 2026 1, consacre plusieurs entrées à ces flux intersociétés. Elles concernent le stock, la valorisation et l'encaissement, trois zones où les intégrateurs posaient jusqu'ici des modules spécifiques.
Le stock circule entre sociétés sans commande miroir
L'entrée « Intercompany flows » des notes de version annonce quatre améliorations. Une société peut désormais se réapprovisionner chez une autre via des routes. Une commande client peut être livrée depuis l'entrepôt d'une autre société, ou depuis ses points de retrait. Les coûts de valorisation des produits transférés passent correctement d'une société à l'autre. Enfin, les modifications de prix ou de quantité sur des commandes de vente et d'achat liées sont répercutées chez l'autre société 1.
La documentation 20.0 détaille le mécanisme dans une section intitulée « Inter-company stock transfers ». Elle précise que le stock peut circuler entre sociétés sans créer de commandes de vente ou d'achat intersociétés, selon trois méthodes 2 :
| Méthode | Déclencheur | Usage typique |
|---|---|---|
| Réapprovisionnement | Règle de réapprovisionnement ou MTO vers l'entrepôt d'une autre société | Filiale commerciale alimentée par une société de production |
| Commande client | Champ Entrepôt positionné sur l'entrepôt d'une autre société | Livraison directe depuis le stock du groupe |
| Commande fournisseur | Champ « Deliver To » pointant vers la réception d'une autre société | Centrale d'achat qui achète pour une filiale |
La même page signale une limite pratique. Seuls les entrepôts et types d'opération des sociétés cochées dans le sélecteur de société restent disponibles 2. Un magasinier qui travaille sur une seule société ne verra donc pas l'entrepôt voisin, ce qui relève autant de la formation que du paramétrage. En mode développeur, une option « Synchronize Transfers from SO/PO » relie la livraison d'une société à la réception correspondante dans l'autre 2.
Pour comparaison, la page équivalente de la documentation 19.0 décrit l'option « Synchronize Stock Moves » et le champ « Use Warehouse », mais elle ne contient ni la section sur les transferts de stock intersociétés ni celle sur la compensation 3. Nous en déduisons que ces deux chapitres sont documentés pour la première fois avec la v20. L'absence dans une page de documentation ne prouve pas l'absence de code, et un test sur base réelle reste nécessaire.
La compensation des encaissements entre entités
La seconde nouveauté touche la trésorerie. La documentation 20.0 décrit un mécanisme de « Inter-company clearing » pour le cas où une société encaisse le paiement d'une facture émise par une autre société de la même base 2. L'exemple officiel est simple. La société A émet une facture de 100 $, et le client la règle via le portail de la société B. Odoo solde alors la créance client dans les deux sociétés, reclasse la créance de A en créance sur B, et enregistre chez B une dette envers A.
Le paramétrage demande un module dédié, account_payment_interco, puis l'activation des transactions intersociétés dans chaque entité. Il faut ensuite renseigner, société par société, un journal de compensation ainsi qu'un compte fournisseur et un compte client dédiés 2. La documentation recommande des comptes distincts des comptes clients et fournisseurs généraux, avec l'option « Non Trade » activée. Elle pose aussi une condition qui piège souvent : le mode de paiement utilisé doit passer par un compte d'encaissements en attente, faute de quoi aucune écriture n'est générée 2.
Côté comptabilité fournisseurs, les notes de version mentionnent un rapprochement automatique. Quand les commandes et factures sont synchronisées entre sociétés, les factures fournisseurs synchronisées sont rapprochées des commandes d'achat synchronisées 1.
Ce que le projet doit anticiper
Ces fonctions réduisent la saisie, mais elles déplacent le travail vers la conception. Un groupe français qui veut s'en servir devra trancher plusieurs points avant la migration.
- Le prix de cession interne. Les notes de version promettent un transfert correct des coûts de valorisation 1. Elles ne disent pas comment se construit une marge intragroupe, et c'est pourtant le sujet que l'expert-comptable regardera en premier.
- Les positions fiscales. La documentation rappelle que les positions fiscales et les localisations doivent être correctement configurées pour que les transactions intersociétés fonctionnent 2. Entre deux SAS françaises, la TVA s'applique normalement. Entre une société française et une filiale belge, la logique d'autoliquidation intracommunautaire doit être juste dès le départ.
- Les entrepôts des nouvelles sociétés. Odoo ne crée pas automatiquement d'entrepôt pour une société ajoutée après l'installation initiale 2. Une filiale créée en cours de projet devra donc recevoir son entrepôt à la main.
- Les droits d'accès. Les domaines d'accès d'Odoo 20 peuvent s'appuyer sur
company_idetcompany_ids4. Si vos règles multi-sociétés ont été personnalisées, la refonte des droits que nous avons détaillée dans notre article sur la suppression des règles d'enregistrement s'ajoute à ce chantier.
Les modules tiers qui géraient jusqu'ici les transferts intersociétés méritent un inventaire. Certains deviendront redondants, d'autres continueront de couvrir un besoin propre à votre organisation, et seul un test comparatif permettra de faire le tri.
Notre lecture
Nous voyons dans ces entrées une réponse à un reproche ancien des ETI multi-entités. Odoo savait générer des commandes miroirs, mais le stock et la valorisation restaient la partie fragile, souvent confiée à du développement spécifique. Le fait que la documentation 20.0 décrive trois méthodes de transfert sans commande miroir nous paraît le signal le plus utile pour un DAF ou un responsable logistique.
Nous resterons prudents tant que nous n'aurons pas testé ces flux sur une base de groupe réelle, avec des marges internes et de la TVA intracommunautaire. Les notes de version décrivent des intentions, la documentation décrit un paramétrage, et aucune des deux ne garantit le comportement sur vos cas limites. Notre conseil est de cartographier dès maintenant chaque flux entre vos sociétés, puis de vérifier en recette lequel relève du standard v20 et lequel garde besoin d'un module.
Sources
- Odoo 20 Release Notes : https://www.odoo.com/odoo-20-release-notes
- Odoo 20.0 documentation, Multi-company : https://www.odoo.com/documentation/20.0/applications/general/companies/multi_company.html
- Odoo 19.0 documentation, Multi-company : https://www.odoo.com/documentation/19.0/applications/general/companies/multi_company.html
- Odoo 20.0 documentation, Security in Odoo : https://www.odoo.com/documentation/20.0/developer/reference/backend/security.html
Footnotes
-
Odoo, notes de version Odoo 20, entrées « Intercompany flows » (Inventaire) et « Intercompany purchase order matching » (Comptabilité). ↩ ↩2 ↩3 ↩4
-
Documentation Odoo 20.0, page Multi-company, sections « Inter-company transactions », « Inter-company stock transfers » et « Inter-company clearing ». ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8
-
Documentation Odoo 19.0, page Multi-company, consultée le 27 octobre 2026. ↩
-
Documentation développeur Odoo 20.0, « Security in Odoo », section Access Rights, champ
domaindeir.access. ↩