Il reste, dans le dépôt des contacts, une poignée de modules qui ne forment pas une famille : des droits sur les étiquettes, deux améliorations du portail, et un module de confidentialité qu'il faut connaître.
Ils ont en commun de traiter ce qui se voit — qui lit quelle étiquette, ce qu'un client saisit en s'inscrivant, et ce qui part vers l'extérieur sans qu'on l'ait demandé.
Résumé
Trois modules outillent les étiquettes de contact : une description expliquant le sens d'une étiquette, un type permettant de les catégoriser, et surtout des droits d'accès déterminant qui peut consulter, appliquer ou modifier chaque étiquette.
Quatre améliorent le portail et l'inscription : la question particulier ou entreprise posée à l'inscription, la prise en compte de la séparation prénom / nom dans le formulaire d'inscription et dans la page « Mes informations » du portail, et un lien d'accès direct à un sous-contact depuis la fiche d'une entreprise.
Le reste corrige des détails : les étiquettes visibles dans la fenêtre réduite de saisie d'un contact, la recherche sur la liste de prix d'un partenaire rendue possible, le suivi des changements de liste de prix dans le fil de discussion, un champ responsable achats sur la fiche, et la désactivation de Gravatar.
L'essentiel
- Des droits par étiquette de contact : qui peut la voir, l'appliquer, la modifier.
- Une description expliquant le sens d'une étiquette — et ses critères d'attribution.
- La question particulier / entreprise posée dès l'inscription au portail.
- Le prénom et le nom séparés pris en compte dans le portail et l'inscription.
- Les étiquettes visibles dans la fenêtre réduite de saisie d'un contact.
- La recherche sur la liste de prix d'un partenaire, impossible nativement.
- Le suivi des changements de liste de prix dans le fil de discussion.
- Gravatar désactivé : plus d'adresse e-mail transmise à un service externe.
Ce que ces modules ajoutent à l'instance
| Famille | Modules | Nombre |
|---|---|---|
| Étiquettes | partner_category_security, partner_category_description, partner_category_type, partner_contact_tags_in_popup | 4 |
| Portail et inscription | partner_is_company_auth_signup, partner_firstname_auth_signup, partner_firstname_portal, partner_contact_access_link | 4 |
| Listes de prix et suivi | partner_pricelist_search, partner_pricelist_tracking, partner_purchase_manager | 3 |
| Confidentialité | partner_disable_gravatar | 1 |
Un menu ajouté : Contacts ▸ Contact Tags, qui donne accès aux étiquettes sous contrôle de leurs droits.
Les étiquettes : qui les voit, qui les pose
Les étiquettes de contact servent souvent à porter une information sensible : « mauvais payeur », « litige en cours », « client stratégique ». Dans Odoo standard, elles sont visibles et modifiables par tout utilisateur ayant accès aux contacts.
partner_category_security ajoute des droits d'accès par étiquette : qui peut la consulter, qui peut l'appliquer à un contact, qui peut la modifier. C'est la réponse à un problème réel — une étiquette interne lue par un intérimaire, ou retirée par un commercial qu'elle gêne.
partner_category_descriptionajoute une description à l'étiquette : son sens et ses critères d'attribution. Sans cela, « A », « B » et « VIP » signifient trois choses différentes selon la personne interrogée.partner_category_typeajoute un type permettant de catégoriser les étiquettes elles-mêmes — le module fournit une valeur générique, d'autres modules en ajoutent.partner_contact_tags_in_popupfait apparaître les étiquettes dans la fenêtre réduite de création d'un contact, où elles sont absentes — donc jamais renseignées à la création.
Le dernier est typique de ces corrections d'interface qui changent les usages : un champ absent du formulaire de création n'est pas rempli plus tard, il n'est jamais rempli.
Le portail et l'inscription
| Module | Ce qu'il change |
|---|---|
partner_is_company_auth_signup | Le formulaire public d'inscription demande si l'on s'inscrit en tant que particulier ou entreprise |
partner_firstname_auth_signup | L'inscription tient compte de la séparation prénom / nom |
partner_firstname_portal | La page « Mes informations » du portail tient compte de cette même séparation |
partner_contact_access_link | Un raccourci vers le formulaire complet d'un sous-contact depuis la fiche entreprise |
Les trois premiers forment un ensemble cohérent : si l'on sépare prénom et nom dans la base, il faut le faire partout — y compris là où le client saisit lui-même ses informations. Sinon, les inscriptions au portail créent des fiches dont le nom complet est dans le champ prénom.
La question « particulier ou entreprise » posée à l'inscription évite une correction manuelle systématique : un formulaire qui ne la pose pas crée toujours des personnes physiques, y compris pour des sociétés — et la facturation s'en ressent.
La séparation prénom / nom et ses modules sont traités dans identité des personnes et, côté employés, dans la fiche RH.
Listes de prix, responsable achats, et un détail de confidentialité
partner_pricelist_searchcorrige une limitation : la liste de prix d'un partenaire est un champ de type propriété, difficile à filtrer nativement. Le module rend la recherche possible — c'est-à-dire qu'on peut enfin lister tous les clients d'un tarif donné.partner_pricelist_trackingtrace les changements de liste de prix dans le fil de discussion du contact : Odoo modifie parfois cette liste automatiquement, et personne ne sait pourquoi un client a changé de tarif.partner_purchase_managerajoute un champ responsable achats sur la fiche : l'utilisateur interne en charge de la relation fournisseur.
Gravatar
À la saisie d'une adresse e-mail sur une fiche contact, Odoo interroge un service externe pour récupérer un avatar. L'adresse e-mail — donnée personnelle — sort donc de votre instance vers un tiers, sans que l'utilisateur en soit informé.
partner_disable_gravatarsupprime cet appel.
Ce module tient en quelques lignes et devrait figurer dans toute installation soucieuse de ses données : la transmission est discrète, régulière, et difficile à justifier dans un registre de traitements.
Le sujet rejoint les considérations d'hébergement et de souveraineté traitées côté éditorial dans RGPD et hébergement des données.
Limites connues
- Les droits par étiquette supposent une matrice : qui voit quoi, décidée avant le paramétrage.
partner_category_typene fournit qu'une valeur générique : il n'a d'intérêt qu'avec les modules qui en ajoutent.- Les trois modules de portail vont ensemble : séparer prénom et nom sans adapter l'inscription produit des fiches incohérentes.
- Le suivi des listes de prix alourdit le fil de discussion sur les bases à forte volumétrie.
- Désactiver Gravatar supprime les avatars automatiques : c'est le but, et certains le regretteront.
partner_purchase_managerest un champ simple : son exploitation dépend de ce qu'on en fait.
Identité technique
Les douze modules viennent du dépôt OCA partner-contact, branche 18.0, en licence AGPL-3 sauf partner_category_description et partner_purchase_manager (LGPL-3). Trois dépendent du portail ou de l'inscription d'Odoo, deux du module produit pour les listes de prix.
Le dépôt partner-contact est désormais entièrement couvert : 100 modules en cinq fiches — doublons et qualité, identité des personnes, adresses et localisation, groupes et relations, données d'entreprise et celle-ci.
Questions fréquentes
Peut-on restreindre qui voit une étiquette de contact ?
Oui, avec partner_category_security, qui ajoute des droits par étiquette : consultation, application, modification. C'est nécessaire dès que les étiquettes portent une information sensible — « mauvais payeur », « litige en cours » — visible en standard par tout utilisateur ayant accès aux contacts.
Pourquoi documenter une étiquette ?
Parce que son sens se perd. partner_category_description ajoute une description avec les critères d'attribution : sans elle, « A », « B » ou « VIP » signifient trois choses différentes selon la personne interrogée, et la segmentation devient ininterprétable.
Comment éviter que les inscriptions au portail créent de mauvaises fiches ?
Trois modules vont ensemble : partner_is_company_auth_signup demande si l'on s'inscrit en particulier ou en entreprise, partner_firstname_auth_signup et partner_firstname_portal font respecter la séparation prénom / nom dans l'inscription et dans la page « Mes informations ». Sans eux, les fiches créées sont systématiquement à corriger.
Peut-on lister tous les clients d'une liste de prix ?
Pas nativement : la liste de prix d'un partenaire est un champ de type propriété, difficile à filtrer. partner_pricelist_search rend cette recherche possible. Et partner_pricelist_tracking trace les changements dans le fil de discussion — Odoo modifiant parfois cette liste automatiquement.
Odoo transmet-il des données à des services externes ?
Oui, dans un cas discret : à la saisie d'une adresse e-mail sur un contact, il interroge un service d'avatars externe. L'adresse — donnée personnelle — sort donc de l'instance. partner_disable_gravatar supprime cet appel ; c'est un module de quelques lignes qui mérite de figurer dans toute installation soucieuse de ses données.
Se faire accompagner
Ces douze modules traitent ce qui se voit : une étiquette lue par quelqu'un qui ne devrait pas la voir, un formulaire d'inscription qui crée des fiches fausses, une adresse e-mail qui part vers un tiers. Rien de spectaculaire, et chacun se remarque au mauvais moment.
Nous les traitons lors de l'audit d'ouverture du portail et du registre des traitements : ce sont les deux moments où ces questions se posent naturellement, et où les réponses sont attendues. Voir les prestations d'Atalios Consulting ou demander un rappel.
Pour aller plus loin
- Données d'entreprise : identifiants, capital, secteurs
- Identité des personnes : noms, civilités et rôles
- Doublons de contacts : détecter, fusionner, interdire
En résumé
Des droits par étiquette quand elles portent une information sensible, un portail qui crée des fiches justes dès l'inscription, et un module de quelques lignes qui empêche votre instance d'envoyer les adresses e-mail de vos contacts à un service externe. Parlons de votre portail client.