Les doublons Odoo apparaissent rarement d’un coup. Ils s’installent quand un site, une marketplace, un CRM ou un import peut créer des clients, commandes ou factures sans règle de rapprochement partagée.
Au départ, l’écart paraît anodin. Puis le support ne retrouve plus la bonne fiche, la finance voit deux factures proches, le stock part sur la mauvaise commande et les reportings deviennent discutables.
Une intégration Odoo API doit donc traiter la qualité de données comme une partie du flux, pas comme un nettoyage ponctuel après incident.
Le symptôme à surveiller
Quand deux systèmes peuvent créer le même client ou la même facture sans clé externe commune, le doublon n’est qu’une question de temps.
Comprendre l’origine des doublons
Un doublon vient souvent d’un événement normal : client qui change d’email, commande marketplace sans compte connu, retry après timeout, import historique, fusion manuelle ou correction support.
Le problème n’est pas l’événement. Le problème est l’absence de règle pour reconnaître qu’il concerne un objet déjà existant.
Stabiliser l’identité client
L’identité client ne peut pas dépendre uniquement de l’email. En B2B, il faut souvent combiner société, TVA, compte externe, adresse de facturation et historique de commande.
Le flux doit accepter les cas ambigus. Quand le rapprochement est incertain, mieux vaut demander une validation que créer une fiche silencieuse.
Protéger la création de commande
Une commande doit porter une référence externe unique : canal, numéro, version, statut et horodatage. Cette clé sert à reconnaître un événement déjà traité.
Après un retry, le connecteur doit renvoyer la commande existante ou un statut cohérent, pas créer une nouvelle écriture dans Odoo.
Empêcher les factures en double
La facture est l’objet le plus sensible. Un doublon facture touche la comptabilité, le client, le rapprochement paiement et parfois les déclarations internes.
Le flux doit distinguer création, consultation, correction et avoir. Une facture déjà émise ne doit pas être remplacée par une nouvelle facture sans processus clair.
Choisir les clés externes
Les clés externes doivent survivre aux changements de libellé, d’adresse ou de statut. Elles doivent être stockées dans Odoo et dans le système source.
Une bonne clé raconte d’où vient l’objet, ce qu’il représente et quel événement l’a créé. Sans cela, la reprise repose sur des heuristiques fragiles.
Définir le responsable de chaque objet
Odoo peut être propriétaire des factures, un CRM peut être propriétaire des comptes, le site peut être propriétaire du panier et la marketplace de certains statuts.
Cette distribution doit être écrite. Sinon, chaque outil corrige sa partie et les doublons deviennent des conflits de gouvernance.
Encadrer fusion et correction
La fusion de clients ou la correction de commandes doit laisser une trace lisible : ancien identifiant, nouvel identifiant, raison, opérateur et systèmes notifiés.
Sans notification, les systèmes externes continuent d’envoyer des événements vers l’ancienne référence et recréent l’écart.
Rejouer sans recréer
Un rejeu doit commencer par une recherche sur les clés externes et les objets déjà créés. C’est seulement après cette vérification qu’une nouvelle écriture peut être envisagée.
Cette discipline protège les flux lors des incidents réseau, des timeouts et des interventions manuelles.
Contrôler les écarts dans le temps
La qualité de données doit être suivie comme un indicateur de production. Clients fusionnés, commandes rejetées, factures corrigées et rapprochements ambigus doivent être visibles.
- Compter les créations client automatiques.
- Suivre les commandes déjà vues au moment du retry.
- Mesurer les factures bloquées par incohérence.
- Auditer les fusions récentes.
- Corriger les causes récurrentes à la source.
Conclusion : la qualité de données est un flux
Éviter les doublons Odoo n’est pas un nettoyage. C’est une architecture de flux : clés externes, règles de responsabilité, reprise idempotente et contrôle métier.
Pour compléter cet angle, relisez Odoo API : e-commerce, marketplaces et stock multi-canaux et le guide API ERP Odoo.