le 19/01/2026 par Rémi

Les contacts dans Odoo

La base de contacts est au coeur d’Odoo (comme des autres logiciels de gestion / CRM / ERP) et la plupart des autres fonctionnalités de l’outil ont besoin d’un lien avec cette base de contacts.

C’est pour cela que lors de nos accompagnements / intégrations, les contacts sont souvent l’objet des premiers ateliers.

Nous allons décrire l’organisation des contacts dans une première partie de l’article, puis insister sur certaines particularités qui ne sont pas toujours bien comprises par les utilisateurs.

Description des contacts

Modèle de données

En base de données les contacts sont tous rassemblés dans une table principale res_partner, ce qui implique que tous les contacts ont la même structure, même si certains champs ne sont pertinents qu’en fonction du type de contact.

On pourra ainsi retrouver dans la base de contacts, des clients, des fournisseurs, des salariés, des partenaires, des membres, des prospects, etc.

Champs d’une fiche contact

Le premier champ présenté aux utilisateurs permet de déterminer si le contact est une société (il faut ici comprendre personne morale au sens large) ou une personne. En fonction de ce qui est choisi, les autres champs peuvent varier.

Les autres champs sont assez classiques : nom, adresse, e-mail et télephone, numéro de TVA, langue, site web, étiquettes, contacts / adresses associées, vendeur (= utilisateur responsable du contact), identifiant / référence interne, notes internes.

Pour une personne, il y aura en plus sa société parente et son poste.

En fonction des applications installées, d’autres champs seront ajoutés :

  • des boutons en haut de la fiche contact permettant d’accéder aux objets liés à ce contact (opportunités, ventes, factures, tâches, achats, etc.)
  • des champs liés aux ventes / achats / facturation (conditions de paiement, mode de paiement, liste de prix, compte bancaire, mode et format d’envoi de factures)
  • des champs liés à la comptabilité (comptes de tiers)
  • des champs liés au stock (mode de livraison, emplacements de stock)
  • etc.

Gestion des adresses

Nous avons vu plus haut que l’on pouvait créer des contacts / adresses associées à un contact.

Odoo nous propose de choisir le type d’adresse à créer :

  • Contact
  • Adresse de livraison
  • Adresse de facturation
  • Autre adresse
  • Adresse privée (uniquement dans d’anciennes version d’Odoo permettait de gérer avec des droits d’accès particuliers ces adresses privées d’un employé par exemple).

Techniquement, Odoo stocke ces adresses / contacts comme des personnes avec une société parente correspondant au contact parent et un champ Type d’adresse dans lequel est renseigné un des types listés ci-dessus.

Utilisation de la base de contacts

Recherche

La base de contacts doit être vue comme un annuaire, la plupart du temps nous n’allons pas la parcourir dans son intégralité mais utiliser la barre de recherche pour retrouver un ou plusieurs contacts en particulier. Comme pour la plupart des autres objets dans Odoo il est possible de faire des recherches, de filtrer et de regrouper les contacts sur la plupart des champs disponibles.

Import / Export

Il est aussi bien sûr possible d’exporter les contacts de la base (ou une partie après avoir utilisé les fonctions de recherche) et d’en importer. À noter que si l’on souhaite mettre à jour des fiches contact existantes dans Odoo par export/import, il faudra utiliser le champ Identifiant externe (/id) pour qu’Odoo identifie de manière unique le contact à mettre à jour (sans quoi, ou s’il ne le trouve pas, il créera un nouveau contact, potentiellement en doublon).

Discussions / Activités

Il est aussi possible depuis chaque fiche contact d’échanger par e-mail directement avec ce contact, d’enregistrer des notes internes ou d’assigner une activité en lien avec cette fiche à un utilisateur d’Odoo. L’envoi d’e-mail est aussi possible pour plusieurs contacts en parallèle en les sélectionnant dans la vue Liste puis en cliquant sur le menu Actions correspondant.

À noter que l’échange d’e-mails nécessitent la configuration de serveurs de messagerie sur Odoo.

Fusionner des doublons

Pour limiter les doublons il est possible de sélectionner plusieurs contacts en vue Liste, puis de les fusionner en utilisant le menu Actions correspondant.

La fenêtre qui s’affiche propose après la fusion de rechercher d’autres doublons.

Spécificités

Lier un contact à une société

Bien souvent, en plus d’une société cliente par exemple, on souhaite enregistrer certains de ses employés avec qui l’on interagit. Le champ Société parente sur les contacts permet d’établir ce lien (rempli automatiquement lorsque l’on ajoute des contacts ou adresses depuis l’onglet du même nom dans la fiche d’une société).

Un contact ne peut être lié qu’à une seule société, ce qui est souvent source d’incompréhensions et qui mérite donc d’être expliqué ici.

Il faut comprendre les liens entre une société et ses contacts :

  • le contact hérite d’informations de sa société (adresse, numéro de TVA, comptes bancaires, comptes de tiers, etc.)
  • toutes les transactions réalisées avec un contact sont agrégées sur son parent (ce qui permet par exemple de pouvoir accéder au Chiffre d’Affaires réalisé avec la Société quel que soit l’employé / le service à qui on a facturé)
  • un contact porte les champs poste, e-mail, téléphone et mobile qui sont bien souvent spécifiques à leur fonction dans une structure et différents s’ils ont aussi un rôle dans une autre structure.

Dès lors, dans le cas où une personne aurait plusieurs structures, il est préférable de créer des contacts différents pour chaque rôle et de les rattacher chacun à une structure.

De même, quand un contact change de structure, il est préférable de l’archiver et d’en créer un nouveau lié à sa nouvelle structure.

Il existe aussi un module OCA qui permet de lister de multiples relations entre les contacts et qui peut répondre à certains cas d’usage spécifiques.

Nommage des contacts

Les contacts sont nommés en fonction de leur société parente. Si le contact n’a pas de parent, seul son champ “Nom” est utilisé, sinon on le retrouvera nommé “Nom du parent, Nom du contact

Suppression / Archivage

Dans de nombreux cas où le contact a été utilisé dans un autre objet (devis, facture, etc.), Odoo n’autorisera pas sa suppression pour ne pas rendre les données des objets liés incohérents (une facture sans client par exemple). Il est conseillé d’archiver le contact à la place.

Les contacts archivés ne remontent plus dans les listes déroulantes ni dans les résultats de recherche (sauf si on utilise le filtre Archivé qui permet de les retrouver).

Préconisations

Étiquettes

L’utilisation des étiquettes est très utile pour catégoriser ses contacts et pouvoir faire des recherches / extractions. Il faut néanmoins savoir que tout le monde peut créer des étiquettes et que si on ne s’astreint pas à une certaine rigueur pour éviter les doublons (parce que faute de frappe ou différence d’accent par exemple), cela peut vite devenir le bazar et limiter grandement la pertinence de ces étiquettes. Il est parfois plus utile d’ajouter un nouveau champ spécifique avec une liste pré-définie (et/ou modifiable uniquement par certains utilisateurs).

Ajout de champs

En fonction des besoins de chaque structure, plusieurs autres champs peuvent être ajoutés aux fiches contacts. Les propriétés (ajoutées sur les dernières versions d’Odoo) permettent d’ajouter facilement des champs depuis l’interface Web mais restent limitées si on veut ajouter des règles / contraintes sur ces champs. L’OCA propose un certain nombre de modules permettant d’ajouter des champs sur les fiches contacts (la plupart étant regroupés dans partner-contact https://github.com/oca/partner-contact), c’est notamment le cas du module partner_firstname qui permet de découper le champ nom en prénom et nom pour les contacts de type Personne.

Il convient néanmoins de se poser la question de l’utilité de chaque champ à rajouter et de l’effort que cela représentera de le renseigner et de le tenir à jour en comparaison de son utilité pour les recherches / analyses.

Nous observons souvent lors de démarrage de projets que nos clients souhaitent conserver tous les champs qu’ils pouvaient avoir dans un autre outil, alors que c’est souvent le meilleur moment pour re-questionner la pertinence de chaque champ avant de migrer !

Actualisation

Une base de contacts n’est utile que si elle reste à jour, sans quoi on ne peut plus avoir pleine confiance dans les données qu’elle contient.

Il est dès lors utile de prévoir dans son organisation des mises à jour régulières de l’ensemble des contacts. Pour cela il est souvent préférable de nommer un ou plusieurs responsable(s) en charge de tenir à jour ces fiches (le champ Vendeur peut souvent être utilisé pour répartir les responsabilités par fiche contact).

Licence

CC-BY-SA

Étiquettes

Open Source Odoo Contacts

Catégories

Odoo

Commentaires

Afficher les commentaires
Écrire un commentaire