hr.employee : champs, relations et API
Le modèle hr.employee (« Employé ») est un modèle persistant déclaré par le module Employés, puis enrichi par 18 autres modules. Il expose 226 champs, dont 205 déclarés directement sur le modèle ; 76 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 20.
Fiche d'identité
- Nom technique
hr.employee- Libellé
- Employé
- Type
- Persistant (models.Model)
- Table SQL
hr_employee- Module d'origine
- Employés (
hr) - Étendu par
- hr_address_extended, hr_work_entry, hr_attendance, hr_calendar, hr_expense, hr_fleet, hr_gamification, hr_holidays, hr_holidays_attendance, hr_maintenance, hr_presence, hr_recruitment, hr_skills, hr_skills_slides, hr_timesheet, pos_hr, project_timesheet_holidays, sale_timesheet
- Tri par défaut (_order)
name, id- Hérite de (mixins)
- mail.thread.main.attachmentmail.thread.phonemail.activity.mixinresource.mixinavatar.mixinpos.load.mixin
- Délégation (_inherits)
- hr.version : les champs de ce modèle sont aussi accessibles, via
version_id
Champs du modèle
205 champs propres, 15 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
226 champs affichés sur 226
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| active | Actif | boolean | related : |
| activity_date_deadline | Activity Date Deadline | date | |
| activity_exception_decoration | Indicateur d’exception d’activité | selection | Valeurs calculées dynamiquement |
| activity_exception_icon | Activity Exception Icon | char | |
| activity_ids | Activité | one2many | |
| activity_plans_ids | Plans d'activité | many2many | |
| activity_state | Statut de l'activité | selection | Valeurs calculées dynamiquement |
| activity_summary | Activity Summary | char | |
| activity_type_icon | Icône de type d'activité | char | |
| activity_type_id | Type d'activité | many2one | |
| activity_user_id | Activity User | many2one | |
| additional_note | Note additionnelle | text | |
| age | Âge | integer | calculé |
| allocation_count | Nombre total de jours alloués. | float | calculé ajouté par Congés ( |
| allocation_display | Afficher les allocations | char | calculé ajouté par Congés ( |
| allocation_remaining_display | Affichage des allocations restantes | char | calculé ajouté par Congés ( |
| allocations_count | Nombre total d'allocations | integer | calculé ajouté par Congés ( |
| applicant_ids | Candidats | one2many | inverse : ajouté par Recrutement ( |
| applicant_name | Applicant Name | char | calculé ajouté par Recrutement ( |
| attendance_based | Attendance Based | boolean | related : ajouté par Présences ( |
| attendance_ids | Présences | one2many | inverse : ajouté par Présences ( |
| attendance_manager_id | Approbateur présences L'utilisateur défini dans Présences accède aux présences de l'employé via l'application dédiée et pourra les modifier. | many2one | calculé, stocké ajouté par Présences ( |
| attendance_state | Statut de présence | selection | calculé Valeurs : ajouté par Présences ( |
| badge_ids | Badges d'employés Tous les badges de l'employé, qu'ils lui soient affectés directement ou via son utilisateur Odoo | one2many | calculé ajouté par HR Gamification ( |
| bank_account_ids | Comptes bancaires Comptes bancaires de l’employé pour le paiement des salaires | many2many | |
| barcode | ID du badge ID utilisé pour l'identification de l'employé. | char | |
| birthday | Anniversaire | date | |
| birthday_month | Mois de naissance | selection | calculé, stocké Valeurs : |
| birthday_public_display | Afficher la date de naissance aux employés | boolean | |
| birthday_public_display_string | Date de naissance publique | char | calculé |
| car_ids | Véhicules (privés) | one2many | inverse : ajouté par Fleet History ( |
| category_ids | Étiquettes | many2many | |
| certificate | Niveau du certificat | selection | Valeurs calculées dynamiquement |
| certification_ids | Certification | one2many | calculé ajouté par Gestion des compétences ( |
| child_all_count | Nombre de subordonnés indirects | integer | calculé |
| child_count | Nombre de subordonnés directs | integer | calculé |
| child_ids | Subordonnés directs | one2many | inverse : |
| coach_id | Mentor Select the "Employee" who is the coach of this employee. The "Coach" has no specific rights or responsibilities by default. | many2one | calculé, stocké |
| color | Couleur | integer | |
| company_country_code | Code de pays de l'entreprise | char | lecture seule related : |
| company_country_id | Pays de la société | many2one | lecture seule related : |
| company_id | Société | many2one | requis |
| contract_date_end | Contract Date End | date | related : |
| contract_date_start | Contract Date Start | date | related : |
| contract_template_id | Modèle de contrat | many2one | |
| country_of_birth | Pays de naissance | many2one | |
| courses_completion_text | Texte de fin de cours | char | calculé ajouté par Skills e-learning ( |
| currency_id | Devise | many2one | lecture seule related : |
| current_date_version | Fiche employé à la date actuelle | date | related : |
| current_employee_skill_ids | Compétence actuelle de l’employé | one2many | calculé ajouté par Gestion des compétences ( |
| current_leave_state | Statut actuel des congés | selection | calculé Valeurs : ajouté par Congés ( |
| current_version_id | Fiche employé en cours | many2one | calculé, stocké |
| current_work_entry_type_id | Type d’entrée actuel | many2one | calculé ajouté par Congés ( |
| date_end | Date de fin | date | related : |
| date_start | Date de début | date | related : |
| department_color | Couleur du département | integer | related : |
| departure_action_date | Departure Action Date | date | related : |
| departure_apply_date | Departure Apply Date | date | related : |
| departure_apply_immediately | Departure Apply Immediately | boolean | related : |
| departure_date | Date de départ | date | related : |
| departure_description | Departure Description | html | related : |
| departure_id | Départ | many2one | related : |
| departure_reason_id | Raison du départ | many2one | related : |
| direct_badge_ids | Badge direct Badges directement liés à l'employé | one2many | inverse : ajouté par HR Gamification ( |
| dismissal_date | Date de licenciement | date | related : |
| display_attendances | Display Attendances | boolean | calculé ajouté par Présences ( |
| display_certification_page | Afficher la page de certification | boolean | calculé ajouté par Gestion des compétences ( |
| driving_license | Permis de conduire | binary | |
| driving_license_name | Nom du permis de conduire | char | |
char | related : | ||
| email_sent | E-mail envoyé | boolean | ajouté par Employee Presence Control ( |
| emergency_contact | Contact d’urgence | char | |
| emergency_phone | Numéro d’urgence | char | |
| emergency_phone_formatted | Emergency Phone Formatted | char | calculé |
| emergency_phone_sanitized | Emergency Phone Sanitized | char | calculé |
| employee_cars_count | Véhicules | integer | calculé ajouté par Fleet History ( |
| employee_properties | Propriétés | properties | |
| employee_skill_ids | Compétences | one2many | inverse : ajouté par Gestion des compétences ( |
| employee_type_id | Type d'employé | many2one | related : |
| equipment_count | Nombre d'équipements | integer | calculé ajouté par Maintenance - HR ( |
| equipment_ids | Équipement | one2many | inverse : ajouté par Maintenance - HR ( |
| exceptional_location_id | Actuel Il s'agit du lieu exceptionnel, non hebdomadaire, défini pour aujourd'hui. | many2one | calculé |
| expense_manager_id | Approbateur des dépenses Select the user responsible for approving "Expenses" of this employee. If empty, the approval is done by an Administrator or Approver (determined in settings/users). | many2one | calculé, stocké ajouté par Dépenses ( |
| external_code | Code externe Utilisez ce code pour exporter vos données à un externe | char | ajouté par Work Entries ( |
| filter_for_expense | Filtre pour les dépenses | boolean | ajouté par Dépenses ( |
| first_contract_date | Première date de contrat La date du premier contrat de l'employé dans l'entreprise. | date | calculé, stocké |
| fixed_term | Durée déterminée | boolean | related : |
| friday_location_id | Vendredi | many2one | |
| goal_ids | Objectifs pour les employés | one2many | calculé ajouté par HR Gamification ( |
| has_badges | Possède des badges | boolean | calculé ajouté par HR Gamification ( |
| has_message | A un message | boolean | |
| has_multiple_bank_accounts | Possède plusieurs comptes bancaires | boolean | calculé |
| has_subscribed_courses | A souscrit à des cours | boolean | calculé ajouté par Skills e-learning ( |
| has_timesheet | A une feuille de temps | boolean | calculé ajouté par Journaux des tâches ( |
| has_work_permit | Permis de travail | binary | |
| hourly_cost | Coût horaire | monetary | |
| hours_last_month | Heures du mois passé | float | calculé ajouté par Présences ( |
| hours_last_month_display | Affichage des heures du mois dernier | char | calculé ajouté par Présences ( |
| hours_last_month_overtime | Heures supplémentaires du mois précédent | float | calculé ajouté par Présences ( |
| hours_previously_today | Heures précédentes aujourd'hui | float | calculé ajouté par Présences ( |
| hours_today | Heures d'aujourd'hui | float | calculé ajouté par Présences ( |
| hr_icon_display | Visibilité de l'icône RH | selection | calculé Valeurs : |
| hr_presence_state | Statut de présence RH | selection | calculé Valeurs : |
| hr_responsible_id | Hr Responsible | many2one | related : |
| id_card | Copie de la carte d'identité | binary | |
| id_card_name | Nom de la carte d'identité | char | |
| ip_connected | IP connecté | boolean | ajouté par Employee Presence Control ( |
| is_absent | Absent aujourd'hui | boolean | calculé ajouté par Congés ( |
| is_current | Est actuel | boolean | related : |
| is_future | Est futur | boolean | related : |
| is_in_contract | Est sous contrat | boolean | related : |
| is_past | Est passé | boolean | related : |
| is_subordinate | Est subordonné | boolean | calculé |
| is_trusted_bank_account | Est un compte bancaire vérifié | boolean | calculé |
| lang | Lang | selection | Valeurs calculées dynamiquement |
| last_activity | Dernière activité | date | calculé |
| last_activity_time | Heure de la dernière activité | char | calculé |
| last_attendance_id | Dernière présence | many2one | calculé, stocké ajouté par Présences ( |
| last_attendance_worked_hours | Heures travaillées pendant la dernière présence | float | calculé ajouté par Présences ( |
| last_check_in | Last Check In | datetime | related : ajouté par Présences ( |
| last_check_out | Last Check Out | datetime | related : ajouté par Présences ( |
| leave_date_from | Date de début | date | calculé ajouté par Congés ( |
| leave_date_to | Date de fin | date | calculé ajouté par Congés ( |
| leave_ids | Quitter | one2many→ hr.leave | inverse : ajouté par Congés ( |
| leave_manager_id | Approbateur de congés Select the user responsible for approving "Time Off" of this employee. If empty, the approval is done by an Administrator or Approver (determined in settings/users). | many2one | calculé, stocké ajouté par Congés ( |
| legal_name | Nom légal Le nom officiel de l'employé tel qu'indiqué sur les documents officiels ou légaux. | char | calculé, stocké |
| license_plate | Plaque d'immatriculation | char | calculé ajouté par Fleet History ( |
| manually_set_presence | Indiquer manuellement les présences | boolean | ajouté par Employee Presence Control ( |
| manually_set_present | Définir manuellement si présent | boolean | ajouté par Employee Presence Control ( |
| member_of_department | Membre du département | boolean | calculé ajouté par Congés ( |
| message_attachment_count | Message Attachment Count | integer | |
| message_follower_ids | Message Follower | one2many | |
| message_has_error | Message Has Error | boolean | |
| message_has_error_counter | Message Has Error Counter | integer | |
| message_ids | Message | one2many | |
| message_is_follower | Message Is Follower | boolean | |
| message_main_attachment_id | Message Main Attachment | many2one | |
| message_needaction | Message Needaction | boolean | |
| message_needaction_counter | Message Needaction Counter | integer | |
| message_partner_ids | Message au partenaire | many2many | |
| mobile_phone | Téléphone portable professionnel | char | |
| mobile_phone_formatted | Mobile Phone Formatted | char | calculé |
| mobile_phone_sanitized | Mobile Phone Sanitized | char | calculé |
| monday_location_id | Lundi | many2one | |
| my_activity_date_deadline | My Activity Date Deadline | date | |
| name | Nom de l'employé | char | related : |
| nationality_country_code | Nationalité | char | related : |
| newly_hired | Nouvelles recrues | boolean | calculé |
| parent_company_id | Société parente | many2one | lecture seule related : |
| parent_id | Manager | many2one | |
| permit_no | N° de permis de travail | char | |
| phone | Téléphone | char | related : |
| phone_blacklisted | Téléphone sur liste noire | boolean | |
| phone_mobile_search | Phone Mobile Search | char | |
| phone_sanitized_blacklisted | Phone Sanitized Blacklisted | boolean | |
| pin | PIN Le code PIN est utilisé pour le pointage à l'entrée/à la sortie du mode kiosque de l'application Présences (si activé dans la configuration) et pour changer de caissier dans l'application Point de vente. | char | |
| place_of_birth | Lieu de naissance | char | |
| primary_bank_account_id | Compte bancaire principal | many2one | calculé |
| private_email | Adresse e-mail privée | char | |
| private_phone | Numéro de téléphone privé | char | |
| private_phone_formatted | Private Phone Formatted | char | calculé |
| private_phone_sanitized | Private Phone Sanitized | char | calculé |
| related_partners_count | Nombre de partenaires associés | integer | calculé |
| resource_calendar_id | Calendrier de la ressource | many2one | related : |
| resource_id | Ressource | many2one | requis |
| resume_line_ids | Lignes de CV | one2many | inverse : ajouté par Gestion des compétences ( |
| salary_distribution | Répartition salariale | json | calculé, stocké |
| saturday_location_id | Samedi | many2one | |
| share | Partager | boolean | related : |
| show_hr_icon_display | Afficher l'icône RH | boolean | calculé |
| show_leaves | Capable de voir le temps de congé restant | boolean | calculé ajouté par Congés ( |
| skill_ids | Compétence | many2many→ hr.skill | calculé, stocké ajouté par Gestion des compétences ( |
| split_legal_name | Split Legal Name Indicates whether the legal name is split into first and last name fields based on the employee's country. | boolean | calculé |
| structure_type_id | Structure Type | many2one | related : |
| study_field | Champ d’étude | char | |
| subordinate_ids | Subordonnés Subordonnés directs et indirects | one2many | calculé |
| subscribed_courses | Subscribed Courses | many2many | related : ajouté par Skills e-learning ( |
| sunday_location_id | Dimanche | many2one | |
| thursday_location_id | Jeudi | many2one | |
| today_attendance_ids | Pointage aujourd’hui | many2many | calculé ajouté par Présences ( |
| today_location_name | Nom du lieu de travail aujourd'hui | char | |
| total_overtime | Heures supplémentaires totales | float | calculé ajouté par Présences ( |
| trial_date_end | Trial Date End | date | related : |
| tuesday_location_id | Mardi | many2one | |
| tz | Fuseau horaire | selection | related : |
| user_id | Utilisateur | many2one | related : |
| user_partner_id | Partenaire de l'utilisateur | many2one | related : |
| user_state | User Status | selection | related : |
| version_id | Fiche employé | many2one | requiscalculé |
| version_ids | Dossiers des employés | one2many | requis inverse : |
| version_revision | Version Revision | char | calculé |
| versions_count | Nombre de fiches employé | integer | calculé |
| visa_expire | Date d'expiration du visa | date | |
| visa_no | N° de visa | char | |
| wednesday_location_id | Mercredi | many2one | |
| work_contact_id | Contact de travail | many2one | |
| work_email | Adresse e-mail professionnelle | char | calculé, stocké |
| work_location_name | Nom du lieu de travail | char | calculé |
| work_location_type | Type de lieu de travail | selection | calculé Valeurs : |
| work_permit_expiration_date | Date d'expiration du permis de travail | date | |
| work_permit_name | work_permit_name | char | calculé |
| work_permit_scheduled_activity | Activité planifiée du permis de travail | boolean | |
| work_phone | Téléphone professionnel | char | calculé, stocké |
| work_phone_formatted | Work Phone Formatted | char | calculé |
| work_phone_sanitized | Work Phone Sanitized | char | calculé |
| activity_calendar_event_id | Activité suivante de l'événement du calendrier | many2one | calculé hérité de mail.activity.mixin |
| avatar_1024 | Avatar 1024 | image | calculé hérité de avatar.mixin |
| avatar_128 | Avatar 128 | image | calculé hérité de avatar.mixin |
| avatar_1920 | Avatar | image | calculé hérité de avatar.mixin |
| avatar_256 | Avatar 256 | image | calculé hérité de avatar.mixin |
| avatar_512 | Avatar 512 | image | calculé hérité de avatar.mixin |
| image_1024 | Image 1024 | image | related : hérité de image.mixin |
| image_128 | Image 128 | image | related : hérité de image.mixin |
| image_1920 | Image | image | hérité de image.mixin |
| image_256 | Image 256 | image | related : hérité de image.mixin |
| image_512 | Image 512 | image | related : hérité de image.mixin |
| message_has_sms_error | Erreur d'envoi SMS Si coché, certains messages ont une erreur de livraison. | boolean | calculé hérité de mail.thread |
| phone_formatted | Formatted Number | char | calculé hérité de mail.thread.phone |
| phone_sanitized | Numéro nettoyé Champ utilisé pour stocker le numéro de téléphone nettoyé. Aide à accélérer les recherches et comparaisons. | char | calculé, stocké hérité de mail.thread.phone |
| rating_ids | Évaluations | one2many | inverse : hérité de mail.thread |
| create_date | Créé le | datetime | lecture seuleautomatique |
| create_uid | Créé par | many2one | lecture seuleautomatique |
| display_name | Nom affiché | char | lecture seulecalculéautomatique |
| id | ID | integer | lecture seuleautomatique |
| write_date | Dernière mise à jour le | datetime | lecture seuleautomatique |
| write_uid | Dernière mise à jour par | many2one | lecture seuleautomatique |
Relations
Modèles liés depuis ce modèle
- fleet.vehicle : car_ids
- gamification.badge.user : badge_ids, direct_badge_ids
- gamification.goal : goal_ids
- hr.applicant : applicant_ids
- hr.attendance : attendance_ids, last_attendance_id, today_attendance_ids
- hr.departure.reason : departure_reason_id
- hr.employee : child_ids, coach_id, parent_id, subordinate_ids
- hr.employee.category : category_ids
- hr.employee.departure : departure_id
- hr.employee.skill : certification_ids, current_employee_skill_ids, employee_skill_ids
- hr.employee.type : employee_type_id
- hr.leave : leave_ids
- hr.payroll.structure.type : structure_type_id
- hr.resume.line : resume_line_ids
- hr.skill : skill_ids
- hr.version : contract_template_id, current_version_id, version_id, version_ids
- hr.work.entry.type : current_work_entry_type_id
- hr.work.location : exceptional_location_id, friday_location_id, monday_location_id, saturday_location_id, sunday_location_id, thursday_location_id, tuesday_location_id, wednesday_location_id
- ir.attachment : message_main_attachment_id
- mail.activity : activity_ids
- mail.activity.plan : activity_plans_ids
- mail.activity.type : activity_type_id
- mail.followers : message_follower_ids
- mail.message : message_ids
- maintenance.equipment : equipment_ids
- res.company : company_id, parent_company_id
- res.country : company_country_id, country_of_birth
- res.currency : currency_id
- res.partner : message_partner_ids, user_partner_id, work_contact_id
- res.partner.bank : bank_account_ids, primary_bank_account_id
- res.users : activity_user_id, attendance_manager_id, expense_manager_id, hr_responsible_id, leave_manager_id, user_id
- resource.calendar : resource_calendar_id
- resource.resource : resource_id
- slide.channel : subscribed_courses
Champs d'autres modèles qui pointent ici
- account.analytic.line : employee_id, manager_id
- account.analytic.line.calendar.employee : employee_id
- account.bank.statement.line : employee_id
- fleet.vehicle : driver_employee_id, future_driver_employee_id
- fleet.vehicle.assignation.log : driver_employee_id
- fleet.vehicle.log.contract : purchaser_employee_id
- fleet.vehicle.log.services : purchaser_employee_id
- fleet.vehicle.odometer : driver_employee_id
- gamification.badge.user : employee_id
- gamification.badge.user.wizard : employee_id
- homework.location.wizard : employee_id
- hr.applicant : employee_id, recruiter_id
- hr.attendance : employee_id, manager_id
- hr.bank.account.allocation.wizard : employee_id
- hr.department : manager_id
- hr.employee : coach_id, parent_id
- hr.employee.category : employee_ids
- hr.employee.cv.wizard : employee_ids
- hr.employee.delete.wizard : employee_ids
- hr.employee.departure : employee_id
- hr.employee.location : employee_id
- hr.employee.public : employee_id
- hr.employee.skill : employee_id
- hr.expense : employee_id
- hr.expense.split : employee_id
- hr.export.work.entries.employee : employee_id
- hr.holidays.summary.employee : emp
- hr.job : favorite_recruiter_ids, manager_id, recruiter_id
- hr.leave : employee_id, first_approver_id, second_approver_id
- hr.leave.allocation : approver_id, employee_id, manager_id, second_approver_id
- hr.leave.allocation.generate.multi.wizard : employee_ids
- hr.leave.attendance.report : employee_id
- hr.leave.employee.report : employee_id
- hr.leave.employee.type.report : employee_id
- hr.leave.generate.multi.wizard : employee_ids
- hr.leave.report.calendar : employee_id
- hr.manager.department.report : employee_id
- hr.resume.line : employee_id
- hr.timesheet.attendance.report : employee_id
- hr.user.work.entry.employee : employee_id
- et 14 autres
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 20 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.
curl -X POST "https://votre-instance.odoo.com/json/2/hr.employee/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","company_id","resource_id","activity_type_id","activity_user_id"],"limit":5}'import requests
BASE_URL = "https://votre-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "votre-base"}
res = requests.post(
f"{BASE_URL}/hr.employee/search_read",
headers=headers,
json={"domain": [], "fields": ["name","company_id","resource_id","activity_type_id","activity_user_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- L'accès à l'API externe est réservé à la formule Custom d'Odoo.
- XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
- Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.
Citer cet outil
Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.
<a href="https://aidoo.ai/fr/outils/explorateur-modeles-odoo/hr-employee">hr.employee (Odoo 20.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 20 : ORM API
- Documentation Odoo 20 : API externe JSON-2
Données vérifiées le 25 septembre 2026 · Odoo 20.0 Community
Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons
Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.