Documentation9 min de lecture

Groupes, relations et segmentation des contacts

Dix-huit modules OCA du dépôt `partner-contact` structurent les relations entre tiers dans Odoo 18 Community : `base_partner_company_group` rattache les sociétés à un **groupe d'entreprises**, propagé ensuite aux **factures**, aux **ventes** et aux **opportunités** par trois modules distincts. Les quatorze autres, des relations libres entre partenaires aux rangs client et fournisseur.

Façades d'immeubles de bureaux vues en contre-plongée

Un client est rarement une entité isolée : c'est une filiale d'un groupe, le partenaire d'un autre client, l'ancien employeur d'un prospect. Odoo ne connaît qu'une hiérarchie parent-enfant, qui sert déjà aux adresses.

Dix-huit modules communautaires ajoutent les groupes de sociétés, les relations libres, et les classifications dont se servent les équipes commerciales.

Résumé

Cinq modules traitent les groupes d'entreprises : un champ de rattachement sur les sociétés, sa propagation aux pièces comptables, aux ventes et aux opportunités CRM, et un module agrégateur historique. partner_affiliate propose une autre lecture : distinguer les affiliés — filiales, holdings, entités liées — de la hiérarchie des adresses.

Trois modélisent les relations libres : un type de relation configurable entre deux partenaires — « est assistant de », « est filiale de » —, une fonction précisant la relation, et la propagation de l'archivage aux relations.

Le reste segmente : un cycle de vie par étapes de contact, une priorité configurable, des groupes d'intérêt multi-valeurs, l'impression d'étiquettes d'adresse, et cinq modules autour des rangs client et fournisseur — marquage manuel, exclusivité, calcul sur l'entité commerciale, et incrémentation dès le devis ou la commande d'achat.

L'essentiel

  • Un groupe d'entreprises sur les sociétés, propagé aux factures, aux ventes et au CRM.
  • Des relations libres entre partenaires, typées et configurables.
  • Des étapes de contact : un cycle de vie, comme sur les opportunités.
  • Une priorité et des groupes d'intérêt pour segmenter.
  • Le marquage manuel client / fournisseur, indépendant des compteurs internes.
  • L'exclusivité client ou fournisseur, quand le métier l'exige.
  • Le rang incrémenté dès le devis, et non à la facture.
  • L'impression d'étiquettes d'adresse au format configurable.

Ce que ces modules ajoutent à l'instance

FamilleModulesNombre
Groupes de sociétésbase_partner_company_group, account_partner_company_group, sale_partner_company_group, crm_partner_company_group, partner_company_group, partner_affiliate6
Relationspartner_multi_relation, partner_multi_relation_function, partner_multi_relation_archive_propagate3
Segmentationpartner_stage, partner_priority, partner_interest_group, partner_label4
Rangs client et fournisseurpartner_manual_rank, partner_rank_single, partner_rank_commercial_entity, sale_customer_rank, purchase_supplier_rank5

Les menus ajoutés : Contacts ▸ Relations et ses types, Contacts ▸ Configuration ▸ Contact Stages, Contact Priorities et Groupe d'intérêt.

Le groupe d'entreprises, et jusqu'où il voyage

Vendre à cinq filiales d'un même groupe pose une question simple et mal traitée : quel est le chiffre d'affaires du groupe ? Odoo répond par filiale, parce qu'il n'a pas la notion de groupe — seulement celle de société mère, déjà utilisée pour les adresses.

  1. base_partner_company_group ajoute un champ de rattachement à un groupe d'entreprises sur les contacts sociétés.
  2. account_partner_company_group propage ce groupe sur les factures et pièces comptables : les analyses financières deviennent possibles par groupe.
  3. sale_partner_company_group le rend exploitable dans le processus de vente.
  4. crm_partner_company_group le propage jusqu'aux pistes et opportunités.

Cette architecture en quatre modules est caractéristique : la donnée est posée une fois, puis chaque application la reprend. On installe ce dont on a besoin — un cabinet qui ne fait pas de CRM n'installe pas le quatrième.

partner_affiliate propose une approche différente : distinguer explicitement les affiliés — filiales, holdings, entités liées — de la hiérarchie des adresses. Les deux approches ne se cumulent pas : on choisit selon que le besoin est analytique (groupe) ou structurel (affiliation).

Ce groupe est aussi exploité par l'impression de tarifs décrite dans les listes de prix.

Les relations libres entre partenaires

partner_multi_relation permet de modéliser des relations typées entre deux partenaires : « est assistant de », « est filiale de », « est prescripteur de », « a travaillé chez ». Les types de relation se configurent, et les relations se consultent depuis un menu dédié.

  • partner_multi_relation_function ajoute une fonction en texte libre à la relation — « directeur financier de », « membre du conseil de ».
  • partner_multi_relation_archive_propagate fait le lien avec l'archivage hiérarchique : archiver une société traite aussi ses relations.

Le cas d'usage le plus rentable est le prescripteur : l'architecte qui recommande vos produits, le cabinet comptable qui vous apporte des clients, l'ancien salarié passé chez un concurrent. Ces liens font le chiffre d'affaires et vivent exclusivement dans la mémoire des commerciaux.

C'est aussi le module des organisations à structure complexe — associations, fédérations, groupements d'achat — où la relation entre deux entités n'est ni une hiérarchie ni une adresse.

Segmenter : étapes, priorités, groupes d'intérêt

ModuleCe qu'il ajoute
partner_stageUn cycle de vie par étapes sur les contacts, comme sur les opportunités ou les tâches
partner_priorityUne priorité configurable : importance stratégique, niveau de sensibilité
partner_interest_groupDes groupes d'intérêt multi-valeurs, configurables
partner_labelL'impression d'étiquettes d'adresse, au format configurable par société

Les étapes de contact servent deux usages distincts : le parcours de référencement d'un nouveau client — prospect, en cours de qualification, référencé, actif — et le cycle de vie d'un fournisseur — candidat, évalué, agréé. C'est aussi la base sur laquelle s'appuie l'approbation par paliers des contacts.

Les groupes d'intérêt visent la communication : segmenter un fichier pour n'envoyer une information qu'à ceux qu'elle concerne. C'est une alternative légère aux listes de diffusion, et elle vit sur la fiche plutôt que dans un outil séparé.

L'impression d'étiquettes, enfin, répond à un besoin de publipostage physique que beaucoup d'organisations ont encore — associations, cabinets, mutuelles.

Les rangs : client, fournisseur, ou les deux

Odoo ne marque pas un contact comme « client » ou « fournisseur » : il compte. Deux compteurs internes — rang client et rang fournisseur — s'incrémentent au fil des documents, et c'est ce comptage qui décide de l'apparition d'un contact dans les listes de sélection.

Cette mécanique implicite produit des surprises, que cinq modules corrigent :

ModuleCe qu'il change
partner_manual_rankUn marquage manuel client et/ou fournisseur, indépendant des compteurs
partner_rank_singleL'exclusivité : un contact ne peut pas être client et fournisseur
partner_rank_commercial_entityLe calcul des rangs sur l'entité commerciale plutôt que sur chaque contact
sale_customer_rankLe rang client incrémenté dès le devis, et non à la facture
purchase_supplier_rankLe rang fournisseur incrémenté dès la commande d'achat

Le premier est celui qu'on installe en premier : pouvoir dire explicitement « ce contact est un fournisseur » évite d'attendre la première facture pour qu'il apparaisse dans les listes.

Les deux derniers corrigent un décalage gênant : un prospect à qui l'on a envoyé trois devis n'est pas encore « client » au sens d'Odoo, donc il n'apparaît pas où on le cherche.

L'exclusivité, elle, ne convient pas à tout le monde — beaucoup d'entreprises achètent à leurs clients — mais elle est précieuse quand les deux rôles doivent rester séparés pour des raisons comptables ou organisationnelles.

Limites connues

  • Groupe d'entreprises et affiliation sont deux approches concurrentes : choisir selon le besoin, analytique ou structurel.
  • La propagation du groupe demande un module par application : factures, ventes, CRM.
  • partner_company_group est un agrégateur historique : peu documenté côté version, son rôle est aujourd'hui tenu par les modules spécialisés.
  • Les relations libres n'ont de valeur que tenues : un type de relation créé et jamais renseigné n'apprend rien.
  • L'exclusivité client / fournisseur ne convient pas aux entreprises qui achètent à leurs clients.
  • Changer le calcul des rangs modifie les listes de sélection : à éprouver avant une mise en production.

Identité technique

Les dix-huit modules viennent du dépôt OCA partner-contact, branche 18.0, tous en licence AGPL-3. Les propagations de groupe dépendent de account, sale ou crm ; les modules de rang dépendent de account, sale_management ou purchase selon le document concerné.

Les familles voisines : doublons et qualité des contacts, identité des personnes et adresses et localisation.

Questions fréquentes

Comment analyser le chiffre d'affaires d'un groupe de sociétés ?

En rattachant les filiales à un groupe d'entreprises avec base_partner_company_group, puis en propageant ce groupe aux pièces comptables (account_partner_company_group), aux ventes et aux opportunités. Odoo ne connaît nativement que la société mère, notion déjà utilisée pour les adresses.

Peut-on relier deux contacts sans hiérarchie parent-enfant ?

Oui : partner_multi_relation modélise des relations typées — « est assistant de », « est prescripteur de », « a travaillé chez » — configurables et consultables depuis un menu dédié. Le cas le plus rentable est le prescripteur, lien qui fait du chiffre d'affaires et vit d'ordinaire dans la mémoire des commerciaux.

Pourquoi un contact n'apparaît-il pas dans la liste des fournisseurs ?

Parce qu'Odoo ne marque pas : il compte. Deux compteurs internes s'incrémentent au fil des documents, et c'est ce comptage qui décide de l'apparition dans les listes. partner_manual_rank permet de marquer explicitement un contact comme client ou fournisseur, sans attendre la première facture.

Peut-on empêcher qu'un contact soit à la fois client et fournisseur ?

partner_rank_single impose l'exclusivité. Attention : beaucoup d'entreprises achètent à leurs clients, et ce module ne leur convient pas. Il est utile quand les deux rôles doivent rester séparés pour des raisons comptables ou organisationnelles.

À quoi servent les étapes de contact ?

À suivre un cycle de vie : prospect, en qualification, référencé, actif pour un client ; candidat, évalué, agréé pour un fournisseur. partner_stage les ajoute sur le même principe que les étapes d'opportunités, et sert de base à l'approbation par paliers des contacts.

Se faire accompagner

La segmentation d'un fichier contacts se décide avec ceux qui l'utilisent, pas avec ceux qui le paramètrent. Un champ de priorité créé par la direction et rempli par personne n'apprend rien ; un groupe d'entreprises demandé par le contrôle de gestion sert dès le premier mois.

Nous partons donc des questions auxquelles l'entreprise n'arrive pas à répondre — quel chiffre par groupe, qui nous a apporté ce client, où en est le référencement de ce fournisseur — et nous installons ce qui y répond. Voir les prestations d'Atalios Consulting, notre méthode ou demander un rappel.

Pour aller plus loin

En résumé

Le groupe de sociétés qui voyage jusqu'aux factures et aux opportunités, les relations libres qui sortent les prescripteurs de la mémoire des commerciaux, et les rangs client et fournisseur enfin explicites plutôt que déduits d'un comptage de documents. Parlons de votre segmentation.

Documentation OCAContactsCRM

Partager

Fiches connexes

Équipe au travail sur des ordinateurs portables autour d'une table
Le module OCA `account_invoice_en16931` (dépôt `fr-einvoicing`, version 18.0.1.0.0, licence AGPL-3) est le socle qui fabrique le fichier de facture électronique conforme à la norme européenne **EN 16931** : Factur-X (PDF/A-3 avec XML CII embarqué), XML UBL, XML CII ou PDF accompagné d'un UBL — et il ajoute des **contrôles bloquants à la validation** d'une facture client. Les quatre modules qui s'y greffent pour la France, et ce que le socle ne fait pas.
Lire la suite
Documentation OCA, Facturation électronique
Réunion d'approbation autour d'un document de travail
Relevé sur une instance Odoo 18 Community, le module OCA `base_tier_validation` (dépôt `server-ux`, version 18.0.3.5.1, licence AGPL-3) ajoute 1 modèle, 101 champs et 3 menus, mais ne s'active sur aucun document métier par lui-même : il lui faut un module d'implémentation. C'est le point qui surprend le plus — voici ce qu'il fait réellement, et comment le mettre en service.
Lire la suite
Documentation OCA, Odoo