Documentation10 min de lecture

La fiche employé étendue : identité, langues, visites médicales, EPI

Le module OCA `hr_employee_bank_restrict` (dépôt `hr`, version 18.0.1.0.0, licence LGPL-3) **masque la section des comptes bancaires** de la fiche contact liée à un employé, sauf pour les utilisateurs disposant de droits comptables étendus — une donnée que le standard laisse visible de tout utilisateur ayant accès aux contacts. Quatorze autres modules traitent l'identifiant, les langues, les visites médicales et les équipements personnels.

Équipe en réunion dans un bureau clair

La fiche employé d'Odoo Community couvre l'essentiel administratif et s'arrête là. Les langues pratiquées, l'ancienneté calculée, les visites médicales obligatoires, les équipements de protection remis : rien de tout cela n'y figure.

Quinze modules communautaires l'étendent — et l'un d'eux corrige un défaut de confidentialité du standard.

Résumé

Six modules traitent l'identité : un identifiant unique par employé, généré aléatoirement ou par séquence ; un second nom de famille ; l'âge calculé depuis la date de naissance ; le numéro de sécurité sociale exposé — il existe dans le modèle mais n'est pas affiché ; un poste téléphonique et un numéro court ; et un marqueur d'employé externe rattaché au tiers qui l'administre.

Quatre modules traitent le dossier : les langues pratiquées avec un niveau sur quatre compétences, les proches déclarés, un espace documentaire exposant les pièces jointes de l'employé, et les dates clés de la relation de travail avec l'ancienneté calculée.

Trois modules traitent la santé et la sécurité : les visites médicales avec leur circuit d'états et un assistant de génération en masse par département, et deux modules d'équipements de protection individuelle — marquage des produits, règles de dotation, demandes et sortie de stock.

Deux modules enfin traitent le temps et la confidentialité : des horaires multiples applicables par plage de dates pour un même employé, et le masquage des coordonnées bancaires aux utilisateurs sans droits comptables.

L'essentiel

  • Un identifiant unique par employé, aléatoire ou par séquence.
  • Les langues pratiquées et le niveau sur quatre compétences.
  • Les visites médicales avec circuit d'états et génération en masse.
  • L'ancienneté calculée depuis les dates clés de la relation de travail.
  • Plusieurs horaires de travail par employé, par plage de dates.
  • Les équipements de protection individuelle : dotation, demande, sortie de stock.
  • Les coordonnées bancaires masquées aux utilisateurs sans droits comptables.
  • Le numéro de sécurité sociale exposé — à encadrer avant de l'activer.

Ce que ces modules ajoutent à l'instance

FamilleModulesNombre
Identitéhr_employee_id, hr_employee_second_lastname, hr_employee_age, hr_employee_ssn, hr_employee_phone_extension, hr_employee_partner_external6
Dossierhr_employee_language, hr_employee_relative, hr_employee_document, hr_employee_service4
Santé et sécuritéhr_employee_medical_examination, hr_employee_ppe, hr_personal_equipment_request3
Temps et confidentialitéhr_employee_calendar_planning, hr_employee_bank_restrict2

Les menus : Employés ▸ Languages, Employés ▸ Examens médicaux avec ses deux sous-menus — générer les examens, voir les examens.

Un défaut de confidentialité du standard

Dans Odoo, un employé est doublé d'une fiche contact. Les coordonnées bancaires saisies pour le virement de salaire vivent donc sur un contact — visible de tout utilisateur ayant accès aux contacts, c'est-à-dire de presque tout le monde.

hr_employee_bank_restrict (LGPL-3) masque la section des comptes bancaires quand le contact est lié à un employé, sauf pour les utilisateurs ayant des droits comptables étendus.

C'est le premier module à installer sur une instance qui gère de la paie ou des virements de salaire. Le défaut n'est pas théorique : il suffit d'ouvrir l'application Contacts et de chercher un collègue.

Deux autres données à encadrer

hr_employee_ssn expose sur la fiche employé le champ de numéro de sécurité sociale, qui existe dans le modèle de base mais n'est pas affiché dans la vue standard d'Odoo.

hr_employee_relative stocke la liste des proches déclarés par l'employé — liens familiaux, pour les ayants droit ou les personnes à prévenir.

Ces deux modules ajoutent des données personnelles sensibles au sens du règlement européen. Les activer suppose une base légale, une durée de conservation définie, et des droits d'accès restreints au service qui en a besoin — pas « au service RH » en général.

Les règles d'accès et les groupes sont traités dans droits utilisateurs et sécurité d'accès.

L'identité et le dossier

  • hr_employee_id ajoute un identifiant unique au niveau de la société, généré à la création — tirage aléatoire de chiffres, ou numérotation par séquence. C'est le matricule, que le standard ne fournit pas.
  • hr_employee_second_lastname ajoute un second nom de famille, selon la convention hispanique ou pour une personne portant un double nom. Il étend le module de séparation prénom/nom.
  • hr_employee_age calcule l'âge depuis la date de naissance — utile pour les obligations liées aux tranches d'âge, pas pour la curiosité.
  • hr_employee_phone_extension ajoute un poste interne et un numéro court, pour les organisations dotées d'un standard téléphonique.
  • hr_employee_partner_external marque un employé comme externe et le rattache au tiers qui l'administre, tout en le laissant apparaître dans les effectifs. Le cas de l'intérimaire, du prestataire en régie, du salarié d'un groupement d'employeurs.

Les langues et l'ancienneté

hr_employee_language enregistre les langues pratiquées et le niveau de maîtrise sur quatre compétences : lecture, écriture, expression orale, compréhension orale. Référentiel sous Employés ▸ Languages.

La granularité en quatre compétences n'est pas excessive : un collaborateur qui lit l'anglais technique sans le parler n'est pas affectable au même poste qu'un autre qui le parle sans l'écrire.

hr_employee_service suit les dates clés de la relation de travail — embauche, début effectif, fin — et calcule la durée de service. C'est l'ancienneté, qui sert au calcul de droits.

hr_employee_document expose un bouton Documents donnant accès à toutes les pièces jointes de l'employé, accessible aux RH, aux responsables et à l'employé lui-même.

La santé et la sécurité au travail

hr_employee_medical_examination crée un modèle de visite médicale avec son circuit d'états, sa conversation, et un assistant de génération en masse par département ou par sélection. Deux menus sous Employés ▸ Examens médicaux.

La visite médicale périodique est une obligation dont l'oubli se découvre lors d'un contrôle ou d'un accident. La génération en masse par département est exactement le geste attendu : une campagne annuelle, pas cent rappels individuels.

Deux modules traitent les équipements personnels :

  • hr_personal_equipment_request gère les demandes d'équipement personnel des employés.
  • hr_employee_ppe le spécialise pour les équipements de protection individuelle : marquer un produit comme EPI, définir des règles de dotation, et suivre les remises.
  • hr_personal_equipment_stock relie ces demandes au stock, pour que la remise d'un équipement soit une sortie.

Le suivi des EPI est à la fois une obligation de l'employeur et un poste de coût réel : les chaussures de sécurité, les gants et les casques se remplacent, et sans suivi on ne sait ni qui a reçu quoi, ni quand.

Plusieurs horaires pour un même employé

hr_employee_calendar_planning permet de planifier plusieurs horaires de travail pour un même employé, chacun applicable sur une plage de dates.

C'est le besoin de toute entreprise où les horaires changent : passage d'un temps plein à un temps partiel, alternance de semaines, horaires d'été, aménagement temporaire après un arrêt.

Sans ce module, changer l'horaire d'un employé écrase l'horaire précédent — et tous les calculs passés, congés et temps de travail compris, se recalculent sur le nouvel horaire. L'historique devient faux rétroactivement.

Le dernier point est le plus important : ce n'est pas un module de confort, c'est une correction de l'intégrité des données historiques.

Limites connues

  • hr_employee_ssn et hr_employee_relative manipulent des données personnelles sensibles : base légale, durée de conservation et droits d'accès restreints sont des prérequis, pas des options.
  • hr_employee_bank_restrict masque l'affichage, il ne chiffre rien : un utilisateur capable d'exporter les contacts ou d'interroger la base y accède toujours.
  • Le masquage repose sur les droits comptables étendus : vérifier qui les possède réellement dans votre instance.
  • hr_employee_second_lastname dépend de hr_employee_firstname, le module de séparation prénom/nom.
  • hr_employee_ppe dépend de hr_personal_equipment_request, et le lien stock d'un module supplémentaire : trois briques pour un suivi d'EPI complet.
  • Les visites médicales ne stockent pas d'avis médical et ne doivent pas en stocker : seule l'existence et la date de la visite relèvent de l'employeur.
  • hr_employee_calendar_planning est en version 2.0.3 : la plus avancée du lot, et la plus structurante — à tester sur une base de recette avant une instance en paie.

Identité technique

Les quinze modules viennent du dépôt OCA hr, branche 18.0 — 31 modules au total. Quatorze sont en AGPL-3, hr_employee_bank_restrict est en LGPL-3. Les dépendances : hr pour la plupart, account pour le masquage bancaire, mail pour les anniversaires, hr_employee_firstname pour le second nom, hr_personal_equipment_request pour les EPI.

Voir aussi contrats de travail, départements et formation pour le reste du dépôt.

Questions fréquentes

Les coordonnées bancaires des salariés sont-elles visibles dans Odoo ?

Oui, par défaut : un employé est doublé d'une fiche contact, et les coordonnées bancaires y sont visibles de tout utilisateur ayant accès aux contacts. hr_employee_bank_restrict les masque sauf pour les utilisateurs à droits comptables étendus. C'est le premier module à installer sur une instance qui gère des virements de salaire.

Peut-on suivre les visites médicales obligatoires dans Odoo ?

Oui, avec hr_employee_medical_examination : un modèle dédié avec circuit d'états et un assistant de génération en masse par département. C'est le geste attendu — une campagne annuelle, pas cent rappels individuels. Le module ne doit pas stocker d'avis médical, qui ne relève pas de l'employeur.

Peut-on gérer plusieurs horaires de travail pour un même salarié ?

Oui : hr_employee_calendar_planning permet plusieurs horaires, chacun applicable sur une plage de dates. Ce n'est pas un confort : sans lui, changer un horaire écrase le précédent et tous les calculs passés — congés, temps de travail — se recalculent sur le nouvel horaire. L'historique devient faux rétroactivement.

Odoo gère-t-il un matricule employé ?

Pas en standard. hr_employee_id ajoute un identifiant unique au niveau de la société, généré à la création par tirage aléatoire de chiffres ou par séquence.

Peut-on enregistrer le numéro de sécurité sociale d'un salarié ?

Le champ existe dans le modèle de base mais n'est pas affiché ; hr_employee_ssn l'expose. C'est une donnée personnelle sensible : l'activer suppose une base légale, une durée de conservation définie et des droits d'accès restreints au service qui en a besoin — pas « au service RH » en général.

Se faire accompagner

La fiche employé est le seul endroit d'un ERP où l'extension fonctionnelle et la protection des données tirent en sens inverse : chaque champ utile au service RH est une donnée personnelle de plus à encadrer. Et le standard laisse déjà voir les coordonnées bancaires à tout le monde.

Nous commençons donc par le masquage bancaire et la revue des droits, puis nous ajoutons les champs un par un, avec leur justification et leur durée de conservation. Une fiche employé minimale et étanche vaut mieux qu'une fiche complète et ouverte. Voir les prestations d'Atalios Consulting ou demander un rappel.

Pour aller plus loin

En résumé

La fiche employé d'Odoo Community s'arrête à l'essentiel administratif — et laisse voir les coordonnées bancaires des salariés à tout utilisateur ayant accès aux contacts. Quinze modules l'étendent, dont un qui corrige ce défaut, et deux dont l'activation demande un encadrement. Parlons de votre dossier RH.

Documentation OCARessources humainesOdoo Community

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