Documentation9 min de lecture

Identité des personnes : noms, civilités, rôles et données personnelles

Dix-sept modules OCA du dépôt `partner-contact` décrivent les personnes dans Odoo 18 Community : `partner_contact_personal_information_page` crée un **onglet « Informations personnelles »** volontairement vide, que six autres modules viennent remplir — date de naissance, genre, nationalité, lieu de naissance, tranche d'âge. Les onze autres, du second nom de famille aux rôles d'un contact dans son entreprise.

Entretien entre deux collaboratrices dans une salle de réunion

Odoo décrit une personne par un nom, une fonction et une adresse. C'est suffisant pour facturer, insuffisant pour un cabinet, une association, une école ou toute organisation dont les contacts sont des individus avant d'être des clients.

Dix-sept modules communautaires complètent cette description — et l'un d'eux mérite d'être lu avant les autres, parce qu'il organise tous les suivants.

Résumé

partner_contact_personal_information_page ajoute un onglet vide sur la fiche contact, conçu comme conteneur. Six modules le remplissent : date de naissance avec âge calculé, genre, nationalité, lieu de naissance, et une tranche d'âge calculée depuis un référentiel configurable.

Trois complètent le nom : un deuxième prénom, un second nom de famille — indispensable pour les noms hispaniques et portugais —, et la propagation de la langue entre une société et ses contacts. Deux outillent les civilités : leur archivage et leur ordre d'affichage.

Quatre structurent la place dans l'organisation : un référentiel de postes, un référentiel de départements, des rôles multiples par contact, et une valeur « utilisateur final » ajoutée au type d'adresse. Deux derniers adaptent le vocabulaire : un module de renommage pour le secteur associatif, et une application complète de gestion d'animaux — pour les vétérinaires, refuges et élevages.

L'essentiel

  • Un onglet dédié aux informations personnelles, rempli par des modules indépendants.
  • Date de naissance, âge calculé et tranche d'âge depuis un référentiel configurable.
  • Genre, nationalité et lieu de naissance sur la fiche contact.
  • Un deuxième prénom et un second nom de famille — les noms hispaniques enfin corrects.
  • La langue propagée d'une société vers ses contacts.
  • Des référentiels de postes, de départements et de rôles plutôt que du texte libre.
  • Les civilités archivables et ordonnées — « M. » avant « Docteur honoris causa ».
  • Un vocabulaire associatif pour les organisations sans clients.

Ce que ces modules ajoutent à l'instance

FamilleModulesNombre
Informations personnellespartner_contact_personal_information_page, partner_contact_birthdate, partner_contact_gender, partner_contact_nationality, partner_contact_birthplace, partner_contact_age_range6
Noms et civilitéspartner_middlename, partner_second_lastname, partner_contact_lang, partner_title_active, partner_title_order5
Place dans l'organisationpartner_contact_job_position, partner_contact_department, partner_contact_role, partner_contact_type_end_user4
Vocabulaire et métierspartner_noncommercial, animal2

Les menus ajoutés : Contacts ▸ Configuration ▸ Emplois, Départements, Partner Roles, Intervalles d'âge, et l'application Animaux avec sa configuration.

Un onglet, et ce qu'on y met

partner_contact_personal_information_page n'ajoute aucune donnée : il crée un onglet vide. C'est un choix d'architecture typique de l'OCA — un conteneur partagé, que chaque module remplit sans se marcher dessus. Installé seul, il ne sert à rien ; installé avec ses compagnons, il évite une fiche contact où dix modules se disputent la même place.

ModuleDonnée ajoutée
partner_contact_birthdateLa date de naissance et l'âge calculé en années complètes
partner_contact_genderLe genre : homme, femme, autre
partner_contact_nationalityLa nationalité, indépendante du pays de l'adresse
partner_contact_birthplaceLe lieu de naissance : ville, code postal, région, pays
partner_contact_age_rangeUne tranche d'âge calculée depuis un référentiel configurable

Ces données servent des métiers précis : une mutuelle, une association sportive, une école, un cabinet médical. Elles ne servent à rien dans un négoce — et c'est important, parce que collecter une donnée personnelle sans finalité est précisément ce que le RGPD interdit.

La nationalité distincte du pays d'adresse mérite une mention : les deux sont régulièrement confondues dans les bases de données, et la confusion a des conséquences réglementaires dès qu'un dispositif dépend de l'une ou de l'autre.

Le traitement des données personnelles et la conformité sont abordés côté éditorial dans le RGPD et la sous-traitance.

Les noms : trois champs ne suffisent pas toujours

La séparation prénom / nom est fournie par un module déjà traité ailleurs. Deux modules l'étendent :

  • partner_middlename ajoute un deuxième prénom, courant dans les pays anglo-saxons et dans les documents d'identité.
  • partner_second_lastname ajoute un second nom de famille — indispensable pour les noms hispaniques et portugais, où chaque personne porte le nom de son père et celui de sa mère.

Tronquer un nom hispanique à un seul patronyme n'est pas un détail d'affichage : c'est une erreur d'identification, qui fait échouer les rapprochements bancaires et les contrôles d'identité.

partner_contact_lang complète par un sujet pratique : la langue se propage automatiquement d'une société vers ses contacts, et devient visible et modifiable directement sur la fiche. Sans lui, un contact créé sous une société anglophone reçoit ses documents en français parce que personne n'a pensé au champ.

Deux modules enfin outillent les civilités : partner_title_active permet d'archiver une civilité obsolète, et partner_title_order de contrôler leur ordre d'affichage — pour que « M. » et « Mme » apparaissent avant les titres rares.

La place d'une personne dans son organisation

ModuleCe qu'il structure
partner_contact_job_positionUn référentiel de postes géré centralement, en complément du champ texte libre
partner_contact_departmentUn référentiel de départements auquel rattacher un contact dans sa société
partner_contact_roleDes rôles multiples par contact, en plus de sa fonction
partner_contact_type_end_userUne valeur « utilisateur final » ajoutée au type d'adresse

La différence entre poste, département et rôle structure la relation commerciale : le poste dit ce qu'une personne fait, le département où elle le fait, et le rôle ce qu'elle est pour vous — interlocuteur de facturation, responsable technique, signataire.

C'est le rôle qui compte le plus en pratique : il permet d'adresser un document à la bonne personne — la facture au service comptable, le bon de livraison au magasin — sans dépendre de la mémoire du commercial.

Le quatrième module traite un cas de distribution : distinguer, parmi les adresses d'un client, celle de l'utilisateur final du produit — important lorsque le facturé, le livré et l'utilisateur sont trois entités différentes.

Deux modules pour des contextes particuliers

  • partner_noncommercial ne change aucune logique : il renomme les libellés, les textes d'aide et les filtres des Contacts pour un contexte associatif ou non commercial. Une association n'a pas de « clients » ni de « fournisseurs » : elle a des adhérents, des bénévoles, des partenaires.
  • animal ajoute une application complète de gestion d'animaux : identité, espèce, race, couleur, poids, sexe, date de naissance, photo. Elle s'adresse aux vétérinaires, refuges, élevages et pensions.

Le premier illustre un principe sous-estimé : le vocabulaire d'un logiciel décide de son adoption. Une association dont le logiciel parle de « clients » passe son temps à traduire mentalement — et finit par ne pas s'y reconnaître.

Le second est un exemple de ce que le catalogue OCA contient : des applications verticales complètes, que personne ne cherche jusqu'au jour où le besoin se présente.

Limites connues

  • L'onglet d'informations personnelles est vide sans ses compagnons : il ne sert à rien installé seul.
  • Collecter une donnée personnelle demande une finalité : date de naissance, genre et nationalité relèvent du RGPD et ne s'installent pas « au cas où ».
  • Les référentiels de postes et de départements doivent être tenus : sinon ils deviennent une liste de valeurs créées à la volée, sans valeur analytique.
  • Les rôles n'ont d'effet que si les documents s'en servent : leur intérêt dépend des modules qui les exploitent.
  • partner_noncommercial ne change que des libellés : les objets et la logique restent ceux d'Odoo.
  • L'application Animaux est autonome : elle ne se relie pas d'elle-même aux ventes ou aux interventions.

Identité technique

Les dix-sept modules viennent du dépôt OCA partner-contact, branche 18.0, tous en licence AGPL-3. Six dépendent de l'onglet d'informations personnelles, deux de la séparation prénom / nom, et animal de la messagerie d'Odoo.

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

Questions fréquentes

Pourquoi un module qui ajoute un onglet vide ?

partner_contact_personal_information_page sert de conteneur partagé : les modules de date de naissance, genre, nationalité ou lieu de naissance y placent leurs champs sans se disputer la place sur la fiche. C'est un choix d'architecture de l'OCA — inutile seul, structurant avec ses compagnons.

Odoo gère-t-il les noms hispaniques ?

Pas en standard. partner_second_lastname ajoute un second nom de famille, indispensable dans les pays hispaniques et au Portugal où chaque personne porte le nom de son père et celui de sa mère. Tronquer à un seul patronyme fait échouer les rapprochements bancaires et les contrôles d'identité.

Quelle différence entre poste, département et rôle ?

Le poste dit ce qu'une personne fait, le département où elle le fait, et le rôle ce qu'elle est pour vous : interlocuteur de facturation, responsable technique, signataire. C'est le rôle qui permet d'adresser chaque document à la bonne personne sans dépendre de la mémoire du commercial.

Faut-il installer les champs de données personnelles « au cas où » ?

Non. Date de naissance, genre, nationalité et lieu de naissance sont des données personnelles : les collecter suppose une finalité déclarée. Ces modules servent des métiers précis — mutuelle, association sportive, école, cabinet médical — et n'ont pas leur place dans un négoce.

Peut-on adapter le vocabulaire d'Odoo à une association ?

partner_noncommercial renomme les libellés, textes d'aide et filtres des Contacts pour un contexte associatif : une association a des adhérents et des bénévoles, pas des clients. Le module ne change aucune logique — mais le vocabulaire décide souvent de l'adoption d'un outil.

Se faire accompagner

Décrire des personnes dans un ERP pose une question avant toute autre : pourquoi. Chaque champ personnel ajouté est une donnée à protéger, à justifier et, le jour venu, à supprimer sur demande.

Nous partons donc des usages — à qui envoyez-vous quoi, et qui décide chez votre client — pour n'installer que les champs qui servent. Les rôles et les référentiels de postes passent presque toujours cette épreuve ; les données de naissance, rarement. Voir les prestations d'Atalios Consulting ou demander un rappel.

Pour aller plus loin

En résumé

Un onglet conteneur et six modules qui le remplissent, trois champs de nom au lieu de deux, des référentiels de postes, départements et rôles plutôt que du texte libre — et deux modules de contexte, dont un vocabulaire associatif. À installer en partant de l'usage, car chaque donnée personnelle se justifie. Parlons de votre fichier contacts.

Documentation OCAContactsRGPD

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