Se rendre au contenu

Le modèle hr.employee : Comprendre l'architecture des employés d'Odoo

Un guide complet sur le modèle d'employé d'Odoo pour les RH, les développeurs et les consultants fonctionnels.
11 mars 2026 par
Le modèle hr.employee : Comprendre l'architecture des employés d'Odoo
Dasolo
| Aucun commentaire pour l'instant

Introduction


Dans Odoo, les modèles définissent comment les données sont structurées et stockées dans la base de données. Chaque élément de données commerciales avec lequel vous travaillez, des commandes de vente aux factures en passant par les employés, vit dans un modèle.


Comprendre les modèles Odoo est essentiel tant pour les développeurs que pour les consultants fonctionnels. Les modèles sont la base de l'architecture des données Odoo. Ils définissent les champs, les relations et la logique commerciale.


Cet article se concentre sur l'un des modèles principaux du module RH : hr.employee. Que vous construisiez des flux de travail RH personnalisés, intégriez des systèmes de paie ou configuriez la présence et les congés, vous travaillerez avec ce modèle.

Qu'est-ce que le modèle hr.employee


Le modèle hr.employee représente les employés dans Odoo. C'est l'endroit central où toutes les informations sur le personnel sont stockées.


Ce modèle Odoo fait partie de l'application RH (Ressources Humaines). Il est utilisé dans les domaines de la présence, des congés, des contrats, de la paie et des feuilles de temps.


Il est installé lorsque vous activez l'application Employés. D'autres modules l'étendent par le biais de l'héritage de modèle Odoo. hr_contract ajoute des champs de contrat. hr_attendance ajoute des enregistrements d'arrivée et de départ. hr_leave ajoute des congés. Chaque module ajoute ce dont il a besoin sans dupliquer la structure de base.


Odoo fournit également hr.employee.public, une vue restreinte des mêmes données pour les utilisateurs qui ont besoin d'une visibilité limitée sur les employés. C'est un exemple de la façon dont Odoo utilise des modèles abstraits et l'héritage de modèles pour contrôler l'accès.

Champs clés dans le modèle


Voici les champs Odoo les plus importants dans le modèle hr.employee. Comprendre ceux-ci vous aidera à travailler efficacement avec les dossiers des employés.


1. nom

Type : Char. Ce champ stocke le nom de l'employé. Il est généralement affiché dans de nombreuses vues Odoo et est l'identifiant principal du dossier de l'employé.


2. date de création

Type : Datetime. Stocke la date et l'heure de la création de l'enregistrement. Géré automatiquement par Odoo. Utile pour les rapports et les audits.


3. date de modification

Type : Datetime. Stocke la date et l'heure de la dernière modification. Également géré automatiquement. Aide à suivre quand les données ont été mises à jour pour la dernière fois.


4. actif

Type : Booléen. Indicateur de suppression douce. Lorsque Faux, l'enregistrement est archivé et caché des vues par défaut. Utilisez ceci lorsqu'un employé part. Les enregistrements ne sont pas physiquement supprimés.


5. company_id

Type : Many2one (res.company). Dans les configurations multi-entreprises, cela indique à quelle entreprise Odoo l'employé appartient. Requis pour la plupart des enregistrements d'employés.


6. user_id

Type : Many2one (res.users). Lien entre l'employé et un utilisateur Odoo. Lorsqu'il est défini, l'employé peut se connecter et utiliser Odoo. Utilisé pour l'accès au portail, les feuilles de temps et les approbations.


7. work_email

Type : Char. L'adresse e-mail professionnelle. Utilisée pour les communications internes et les notifications.


8. work_phone

Type : Char. Le numéro de téléphone professionnel. Affiché dans les formulaires des employés et utilisé pour les flux de contact.


9. mobile_phone

Type : Char. Numéro de mobile professionnel. Souvent utilisé pour les SMS ou les notifications urgentes.


10. department_id

Type: Many2one (hr.department). Le département auquel l'employé appartient. Utilisé pour les organigrammes, les rapports et les flux de validation.


11. job_id

Type: Many2one (hr.job). Le poste de travail. Lien vers le modèle hr.job qui définit les titres de poste et les postes ouverts.


12. job_title

Type: Char. Titre de poste en texte libre. Peut être utilisé lorsque job_id n'est pas défini ou pour des titres personnalisés.


13. parent_id

Type: Many2one (hr.employee). Le manager. Permet la hiérarchie des employés. Utilisé pour les chaînes d'approbation et la structure organisationnelle.


14. coach_id

Type: Many2one (hr.employee). Le coach de cet employé. Utilisé pour la performance et le développement. Le coach n'a pas de droits spécifiques par défaut.


15. resource_id

Type: Many2one (resource.resource). Lien vers le modèle de ressource. Utilisé pour la planification, la planification des capacités et l'intégration de calendrier.


16. work_contact_id

Type: Many2one (res.partner). Le contact professionnel. Lien vers le dossier du partenaire utilisé pour les communications et documents liés au travail.


17. address_id

Type: Many2one (res.partner). Adresse de travail. Lien vers un dossier res.partner pour le bureau ou le lieu de travail.


18. address_home_id

Type: Many2one (res.partner). Adresse privée. L'adresse personnelle de l'employé, pas celle du bureau. Utilisée pour la paie et les contacts d'urgence.


19. resource_calendar_id

Type: Many2one (resource.calendar). Horaire de travail. Définit les heures et jours de travail. Utilisé pour la présence, les congés et la planification.


20. employee_type

Type: Sélection. Type d'employé : Employé, Freelance ou Stagiaire. Requis. Affecte l'historique des contrats : seul le type Employé est censé être sous contrat.


21. barcode

Type: Char. ID de badge. Utilisé pour l'identification des employés dans le kiosque de présence et pour d'autres scans de codes-barres.


22. pin

Type: Char. PIN utilisé pour s'enregistrer et se désenregistrer en mode Kiosk de l'application de présence. Utilisé également pour changer de caissier dans le Point de Vente.


23. anniversaire

Type: Date. Date de naissance. Utilisé pour les dossiers RH et les rappels d'anniversaire optionnels.


24. identification_id

Type: Char. Numéro d'identification national. Utilisé pour la conformité RH et de paie.


25. passport_id

Type: Char. Numéro de passeport. Utilisé pour le suivi des voyages et des permis de travail.


26. bank_account_id

Type: Many2one (res.partner.bank). Compte bancaire de l'employé pour les paiements de salaire.


27. private_email

Type: Char. L'email personnel de l'employé. Utilisé lorsque l'email professionnel n'est pas disponible.


28. téléphone

Type: Char. Numéro de téléphone privé. Différent des coordonnées professionnelles.


29. contract_id

Type: Many2one (hr.contract). Contrat actuel. Référence au contrat actif.


30. contract_ids

Type: One2many (hr.contract). Tous les contrats liés à cet employé. Historique des contrats.


31. image_1920

Type: Binaire. Photo ou avatar de l'employé. Odoo stocke plusieurs tailles. Utilisé dans les formulaires, rapports et annuaires.


32. related_partner_id

Type: Many2one (res.partner). Le contact lié à cet employé. Connecte les données de l'employé au modèle partenaire pour le CRM et d'autres modules.


33. leave_manager_id

Type: Many2one (res.users). Utilisateur responsable de l'approbation des congés. Si vide, l'approbation va à un Administrateur ou un Approveur.


34. expense_manager_id

Type : Many2one (res.users). Utilisateur responsable de l'approbation des dépenses. Si vide, l'approbation va à un Administrateur ou à un Approveur.


35. timesheet_manager_id

Type : Many2one (res.users). Utilisateur responsable de l'approbation des feuilles de temps. Si vide, l'approbation va à un Administrateur ou Utilisateur des Feuilles de Temps.

Comment ce modèle est utilisé dans les flux de travail commerciaux


1. Annuaire des employés et Intégration

Lorsque les RH créent un nouvel employé, ils remplissent l'enregistrement hr.employee. Nom, département, poste, manager et coordonnées. Le lien user_id est défini lorsque l'employé obtient un accès Odoo.


2. Présence et Suivi du Temps

Les employés se pointent et se dépointent via l'application Présence. Les heures de pointage sont stockées dans hr.attendance, liées à hr.employee. Les champs code-barres et pin permettent le mode kiosque.


3. Congés et Absences

Les demandes de congé font référence à l'employé. Le leave_manager_id et le resource_calendar_id déterminent qui approuve et combien de jours sont alloués.


4. Paie et Contrats

La paie utilise hr.employee pour la structure salariale, le compte bancaire et les données de contrat. Le contract_id est lié au contrat actuel. Les contract_ids contiennent l'historique complet.


5. Feuilles de Temps et Allocation de Projet

Lorsque les employés enregistrent du temps sur des projets, la feuille de temps est liée à hr.employee. L'identifiant du gestionnaire de la feuille de temps contrôle l'approbation. L'identifiant de la ressource est lié aux outils de planification et de programmation.

Comment les développeurs étendent ce modèle


Les développeurs étendent hr.employee en utilisant plusieurs modèles. L'héritage de modèle Odoo est le principal mécanisme.


Héritage de Modèle

Utilisez _inherit = 'hr.employee' pour étendre le modèle. Ajoutez de nouveaux champs, remplacez des méthodes ou ajoutez des contraintes. Le modèle hérité dans Odoo conserve vos modifications dans un module séparé pour des mises à jour faciles.


Ajout de Champs

Définissez de nouveaux champs Odoo dans votre modèle hérité. Utilisez le bon type de champ : Char, Many2one, Boolean, Integer, Text, Sélection. Considérez les champs dépendants de l'entreprise pour le multi-entreprise.


Extensions Python

Remplacez create, write ou unlink pour ajouter de la logique. Utilisez super() pour appeler l'original. Faites attention aux champs calculés et à leurs dépendances.


Odoo Studio

Odoo Studio vous permet d'ajouter des champs sans code. Bon pour des personnalisations rapides. Pour une logique complexe ou des mises à jour, les modules personnalisés sont plus faciles à maintenir.

Meilleures pratiques


  • Définissez user_id uniquement lorsque l'employé a besoin d'accès à Odoo. Tous les employés n'ont pas besoin d'un compte utilisateur.
  • Utilisez correctement la hiérarchie parent_id. Construisez la structure organisationnelle de haut en bas.
  • Définir resource_calendar_id pour des heures de travail et des calculs de congés cohérents.
  • Lors de la création d'intégrations API, utilisez l'API XML-RPC ou JSON-RPC. Le modèle hr.employee dans Odoo est entièrement exposé en tant que modèle API. Mappez les ID externes avec soin.
  • Pour les champs personnalisés, utilisez le préfixe x_ ou un préfixe de module pour éviter les conflits avec les futures versions d'Odoo.
  • Les champs restreints à hr.group_hr_user ne doivent pas être préchargés pour les utilisateurs sans accès RH. Utilisez des groupes sur les définitions de champs.

Erreurs courantes


  • Créer des enregistrements d'employés en double au lieu de rechercher ceux existants. Utilisez work_email ou identification_id pour la déduplication.
  • Confondre user_id et related_partner_id. user_id est pour la connexion Odoo. related_partner_id est l'enregistrement de contact.
  • Oublier de définir employee_type. C'est requis et cela affecte le comportement du contrat.
  • Surcharger des méthodes de base sans appeler super(). Cela peut casser d'autres modules ou des mises à jour futures.
  • Ajouter des champs personnalisés requis sans valeurs par défaut. Les enregistrements existants échoueront à la validation lors de la mise à niveau.
  • Exposer des champs RH sensibles à des utilisateurs sans hr.group_hr_user. Utilisez des groupes sur les champs contenant des données privées.

Conclusion


Le modèle hr.employee est central pour Odoo RH. Il stocke les données des employés, les liens vers les contrats, la présence et les congés. Comprendre ses champs et comment les modules l'étendent vous aidera à configurer, personnaliser et intégrer Odoo efficacement.


Que vous soyez un consultant fonctionnel cartographiant les processus RH ou un développeur créant des modules personnalisés, une bonne compréhension de hr.employee vous fera gagner du temps et évitera des erreurs.

Besoin d'aide avec votre implémentation Odoo ?


Dasolo aide les entreprises à mettre en œuvre, personnaliser et optimiser Odoo. Nous sommes spécialisés dans les intégrations API et le développement Odoo. Notre équipe a une grande expérience de l'architecture des données Odoo et des modèles comme hr.employee.


Si vous avez besoin d'aide pour votre mise en œuvre Odoo, des modules RH personnalisés ou des intégrations, nous sommes là pour vous aider. Réservez une démo pour discuter de votre projet.

Le modèle hr.employee : Comprendre l'architecture des employés d'Odoo
Dasolo 11 mars 2026
Partager cet article
Se connecter pour laisser un commentaire.