Odoo 19.0 Community · Persistant

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 21 autres modules. Il expose 199 champs, dont 179 déclarés directement sur le modèle ; 71 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 19.

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_attendance, hr_expense, hr_fleet, hr_gamification, hr_holidays, hr_holidays_attendance, hr_homeworking, hr_holidays_homeworking, hr_homeworking_calendar, hr_hourly_cost, hr_maintenance, hr_org_chart, hr_presence, hr_recruitment, hr_skills, hr_skills_slides, hr_timesheet, hr_work_entry, pos_hr, project_timesheet_holidays, sale_timesheet
Tri par défaut (_order)
name
Hérite de (mixins)
mail.thread.main.attachmentmail.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

179 champs propres, 14 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.

199 champs affichés sur 199

Nom techniqueLibelléTypeDétails
activeActifboolean

related : resource_id.active

activity_date_deadlineActivity Date Deadlinedate
activity_exception_decorationIndicateur d’exception d’activitéselection

Valeurs calculées dynamiquement

activity_exception_iconActivity Exception Iconchar
activity_idsActivitéone2many
activity_stateStatut de l'activitéselection

Valeurs calculées dynamiquement

activity_summaryActivity Summarychar
activity_type_iconIcône de type d'activitéchar
activity_type_idType d'activitémany2one
activity_user_idActivity Usermany2one
allocation_countNombre total de jours alloués.float
calculé

ajouté par Congés (hr_holidays)

allocation_displayAfficher les allocationschar
calculé

ajouté par Congés (hr_holidays)

allocation_remaining_displayAffichage des allocations restanteschar
calculé

ajouté par Congés (hr_holidays)

allocations_countNombre total d'allocationsinteger
calculé

ajouté par Congés (hr_holidays)

applicant_idsCandidatsone2many

inverse : employee_id

ajouté par Recrutement (hr_recruitment)

attendance_idsPrésencesone2many

inverse : employee_id

ajouté par Présences (hr_attendance)

attendance_manager_idApprobateur 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

ajouté par Présences (hr_attendance)

attendance_stateStatut de présenceselection
calculé

Valeurs : checked_out (Parti), checked_in (Arrivé)

ajouté par Présences (hr_attendance)

badge_idsBadges 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 Ludification RH (hr_gamification)

bank_account_idsComptes bancaires

Comptes bancaires de l’employé pour le paiement des salaires

many2many
barcodeID du badge

ID utilisé pour l'identification de l'employé.

char
birthdayAnniversairedate
birthday_public_displayVisible pour tous les employésboolean
birthday_public_display_stringDate de naissance publiquechar
calculé
car_idsVéhicules (privés)one2many

inverse : driver_employee_id

ajouté par Historique du parc automobile (hr_fleet)

category_idsÉtiquettesmany2many
certificateNiveau du certificatselection

Valeurs calculées dynamiquement

certification_idsCertificationone2many
calculé

ajouté par Gestion des compétences (hr_skills)

child_all_countNombre de subordonnés indirectsinteger
calculé

ajouté par Organigramme RH (hr_org_chart)

child_countNombre de subordonnés directsinteger
calculé

ajouté par Organigramme RH (hr_org_chart)

child_idsSubordonnés directsone2many

inverse : parent_id

coach_idMentor

Select the "Employee" who is the coach of this employee. The "Coach" has no specific rights or responsibilities by default.

many2one
calculé, stocké
colorCouleurinteger
company_country_codeCode de pays de l'entreprisechar
lecture seule

related : company_country_id.code

company_country_idPays de la sociétémany2one
lecture seule

related : company_id.country_id

company_idSociétémany2one
requis
contract_date_endContract Date Enddate

related : version_id.contract_date_end

contract_date_startContract Date Startdate

related : version_id.contract_date_start

contract_type_idType de contratmany2one

related : version_id.contract_type_id

contract_wageSalaire contractuelmonetary

related : version_id.contract_wage

country_of_birthPays de naissancemany2one
courses_completion_textTexte de fin de courschar
calculé

ajouté par Compétences eLearning (hr_skills_slides)

currency_idDevisemany2one
lecture seule

related : company_id.currency_id

current_date_versionVersion à la date actuelledate

related : current_version_id.date_version

current_employee_skill_idsCompétence actuelle de l’employéone2many
calculé

ajouté par Gestion des compétences (hr_skills)

current_leave_idType de congé actuelmany2one
calculé

ajouté par Congés (hr_holidays)

current_leave_stateStatut actuel des congésselection
calculé

Valeurs : confirm (En attente de validation), refuse (Refusée), validate1 (En attente d'une deuxième validation), validate (Approuvé), cancel (Annulé)

ajouté par Congés (hr_holidays)

current_version_idVersion actuellemany2one
calculé, stocké
date_endDate de findate

related : version_id.date_end

date_startDate de débutdate

related : version_id.date_start

department_colorCouleur du départementinteger

related : department_id.color

ajouté par Organigramme RH (hr_org_chart)

direct_badge_idsBadge direct

Badges directement liés à l'employé

one2many

inverse : employee_id

ajouté par Ludification RH (hr_gamification)

display_attendancesDisplay Attendancesboolean
calculé

ajouté par Présences (hr_attendance)

display_certification_pageAfficher la page de certificationboolean
calculé

ajouté par Gestion des compétences (hr_skills)

display_extra_hoursAfficher les heures supplémentairesboolean

related : company_id.hr_attendance_display_overtime

ajouté par Présences (hr_attendance)

driving_licensePermis de conduirebinary
emailE-mailchar

related : user_id.email

email_sentE-mail envoyéboolean

ajouté par Contrôle des présences des employés (hr_presence)

emergency_contactContact d’urgencechar
emergency_phoneNuméro d’urgencechar
employee_cars_countVéhiculesinteger
calculé

ajouté par Historique du parc automobile (hr_fleet)

employee_propertiesPropriétésproperties
employee_skill_idsCompétencesone2many

inverse : employee_id

ajouté par Gestion des compétences (hr_skills)

equipment_countNombre d'équipementsinteger
calculé

ajouté par Maintenance - RH (hr_maintenance)

equipment_idsÉquipementone2many

inverse : employee_id

ajouté par Maintenance - RH (hr_maintenance)

exceptional_location_idActuel

Il s'agit de l'emplacement exceptionnel, non hebdomadaire, fixé pour aujourd'hui.

many2one
calculé

ajouté par Télétravail (hr_homeworking)

expense_manager_idApprobateur 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 (hr_expense)

filter_for_expenseFiltre pour les dépensesboolean

ajouté par Dépenses (hr_expense)

friday_location_idVendredimany2one

ajouté par Télétravail (hr_homeworking)

goal_idsObjectifs pour les employésone2many
calculé

ajouté par Ludification RH (hr_gamification)

has_badgesPossède des badgesboolean
calculé

ajouté par Ludification RH (hr_gamification)

has_messageA un messageboolean
has_multiple_bank_accountsPossède plusieurs comptes bancairesboolean
calculé
has_subscribed_coursesA souscrit à des coursboolean
calculé

ajouté par Compétences eLearning (hr_skills_slides)

has_timesheetA une feuille de tempsboolean
calculé

ajouté par Journaux des tâches (hr_timesheet)

has_work_entriesA des prestationsboolean
calculé

ajouté par Prestations (hr_work_entry)

has_work_permitPermis de travailbinary
hourly_costCoût horairemonetary

ajouté par Salaire horaire des employés (hr_hourly_cost)

hours_last_monthHeures du mois passéfloat
calculé

ajouté par Présences (hr_attendance)

hours_last_month_displayAffichage des heures du mois dernierchar
calculé

ajouté par Présences (hr_attendance)

hours_last_month_overtimeHeures supplémentaires du mois précédentfloat
calculé

ajouté par Présences (hr_attendance)

hours_previously_todayHeures précédentes aujourd'huifloat
calculé

ajouté par Présences (hr_attendance)

hours_todayHeures d'aujourd'huifloat
calculé

ajouté par Présences (hr_attendance)

hr_icon_displayVisibilité de l'icône RHselection
calculé

Valeurs : presence_present (Présent), presence_out_of_working_hour (En dehors des heures de travail), presence_absent (Absent), presence_archive (Archivé), presence_undetermined (Indéterminé)

hr_presence_stateStatut de présence RHselection
calculé

Valeurs : present (Présent), absent (Absent), archive (Archivé), out_of_working_hour (En dehors des heures de travail)

hr_presence_state_displayAffichage du statut de présences RHselection

Valeurs : out_of_working_hour (En dehors des heures de travail), present (Présent), absent (Absent)

ajouté par Contrôle des présences des employés (hr_presence)

id_cardCopie de la carte d'identitébinary
im_statusIm Statuschar

related : user_id.im_status

ip_connectedIP connectéboolean

ajouté par Contrôle des présences des employés (hr_presence)

is_absentAbsent aujourd'huiboolean
calculé

ajouté par Congés (hr_holidays)

is_currentEst actuelboolean

related : version_id.is_current

is_futureEst futurboolean

related : version_id.is_future

is_in_contractEst sous contratboolean

related : version_id.is_in_contract

is_pastEst passéboolean

related : version_id.is_past

is_subordinateEst subordonnéboolean
calculé

ajouté par Organigramme RH (hr_org_chart)

is_trusted_bank_accountEst un compte bancaire vérifiéboolean
calculé
is_user_activeUtilisateur actifboolean

related : user_id.active

langLangselection

Valeurs calculées dynamiquement

last_activityDernière activitédate
calculé
last_activity_timeHeure de la dernière activitéchar
calculé
last_attendance_idDernière présencemany2one
calculé, stocké

ajouté par Présences (hr_attendance)

last_attendance_worked_hoursHeures travaillées pendant la dernière présencefloat
calculé

ajouté par Présences (hr_attendance)

last_check_inLast Check Indatetime

related : last_attendance_id.check_in

ajouté par Présences (hr_attendance)

last_check_outLast Check Outdatetime

related : last_attendance_id.check_out

ajouté par Présences (hr_attendance)

leave_date_fromDate de débutdate
calculé

ajouté par Congés (hr_holidays)

leave_date_toDate de findate
calculé

ajouté par Congés (hr_holidays)

leave_manager_idApprobateur 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 (hr_holidays)

license_platePlaque d'immatriculationchar
calculé

ajouté par Historique du parc automobile (hr_fleet)

manually_set_presenceIndiquer manuellement les présencesboolean

ajouté par Contrôle des présences des employés (hr_presence)

manually_set_presentDéfinir manuellement si présentboolean

ajouté par Contrôle des présences des employés (hr_presence)

message_attachment_countMessage Attachment Countinteger
message_follower_idsMessage Followerone2many
message_has_errorMessage Has Errorboolean
message_has_error_counterMessage Has Error Counterinteger
message_idsMessageone2many
message_is_followerMessage Is Followerboolean
message_main_attachment_idMessage Main Attachmentmany2one
message_needactionMessage Needactionboolean
message_needaction_counterMessage Needaction Counterinteger
message_partner_idsMessage au partenairemany2many
mobile_phoneTéléphone portable professionnelchar
mobility_cardCarte mobilitéchar

ajouté par Historique du parc automobile (hr_fleet)

monday_location_idLundimany2one

ajouté par Télétravail (hr_homeworking)

my_activity_date_deadlineMy Activity Date Deadlinedate
nameNom de l'employéchar

related : resource_id.name

newly_hiredNouvelles recruesboolean
calculé
overtime_idsHeures supplémentairesone2many

inverse : employee_id

ajouté par Présences (hr_attendance)

parent_idManagermany2one
permit_noN° de permis de travailchar
phoneTéléphonechar

related : user_id.phone

pinPIN

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_birthLieu de naissancechar
primary_bank_account_idCompte bancaire principalmany2one
calculé
private_car_platePlaque de la voiture privée

Si vous avez plus d'une voiture, il suffit de séparer les plaques par un espace.

char
private_emailAdresse e-mail privéechar
private_phoneNuméro de téléphone privéchar
resource_calendar_idCalendrier de la ressourcemany2one

related : version_id.resource_calendar_id

resource_idRessourcemany2one
requis
resume_line_idsLignes de CVone2many

inverse : employee_id

ajouté par Gestion des compétences (hr_skills)

ruleset_idEnsemble de règlesmany2one

related : version_id.ruleset_id

ajouté par Présences (hr_attendance)

salary_distributionRépartition salarialejson
calculé, stocké
saturday_location_idSamedimany2one

ajouté par Télétravail (hr_homeworking)

sharePartagerboolean

related : user_id.share

show_hr_icon_displayAfficher l'icône RHboolean
calculé
show_leavesCapable de voir le temps de congé restantboolean
calculé

ajouté par Congés (hr_holidays)

skill_idsCompétencemany2many
calculé, stocké

ajouté par Gestion des compétences (hr_skills)

structure_type_idStructure Typemany2one

related : version_id.structure_type_id

study_fieldChamp d’étudechar
study_schoolÉtablissement scolairechar
subordinate_idsSubordonnés

Subordonnés directs et indirects

one2many
calculé

ajouté par Organigramme RH (hr_org_chart)

subscribed_coursesSubscribed Coursesmany2many

related : user_partner_id.slide_channel_ids

ajouté par Compétences eLearning (hr_skills_slides)

sunday_location_idDimanchemany2one

ajouté par Télétravail (hr_homeworking)

thursday_location_idJeudimany2one

ajouté par Télétravail (hr_homeworking)

today_location_nameNom du lieu d'aujourd'huichar

ajouté par Télétravail (hr_homeworking)

total_overtimeHeures supplémentaires totalesfloat
calculé

ajouté par Présences (hr_attendance)

trial_date_endTrial Date Enddate

related : version_id.trial_date_end

tuesday_location_idMardimany2one

ajouté par Télétravail (hr_homeworking)

tzFuseau horaireselection

Valeurs calculées dynamiquement

user_idUtilisateurmany2one

related : resource_id.user_id

user_partner_idPartenaire de l'utilisateurmany2one

related : user_id.partner_id

version_idVersionmany2one
requiscalculé
version_idsVersions de l’employéone2many
requis

inverse : employee_id

version_revisionVersion Revisionchar
calculé
versions_countNombre de versionsinteger
calculé
visa_expireDate d'expiration du visadate
visa_noN° de visachar
wednesday_location_idMercredimany2one

ajouté par Télétravail (hr_homeworking)

work_contact_idContact de travailmany2one
work_emailAdresse e-mail professionnellechar
calculé, stocké
work_entry_sourceSource de la prestationselection

related : version_id.work_entry_source

ajouté par Prestations (hr_work_entry)

work_entry_source_calendar_invalidSource de la prestation de travail calendrier invalideboolean

related : version_id.work_entry_source_calendar_invalid

ajouté par Prestations (hr_work_entry)

work_location_nameNom du lieu de travailchar
calculé
work_location_typeType de lieu de travailselection
calculé

Valeurs : home (Accueil), office (Bureau), other (Autre)

work_permit_expiration_dateDate d'expiration du permis de travaildate
work_permit_namework_permit_namechar
calculé
work_permit_scheduled_activityActivité planifiée du permis de travailboolean
work_phoneTéléphone professionnelchar
calculé, stocké
activity_calendar_event_idActivité suivante de l'événement du calendriermany2one
calculé

hérité de mail.activity.mixin

avatar_1024Avatar 1024image
calculé

hérité de avatar.mixin

avatar_128Avatar 128image
calculé

hérité de avatar.mixin

avatar_1920Avatarimage
calculé

hérité de avatar.mixin

avatar_256Avatar 256image
calculé

hérité de avatar.mixin

avatar_512Avatar 512image
calculé

hérité de avatar.mixin

image_1024Image 1024image

related : image_1920

hérité de image.mixin

image_128Image 128image

related : image_1920

hérité de image.mixin

image_1920Imageimage

hérité de image.mixin

image_256Image 256image

related : image_1920

hérité de image.mixin

image_512Image 512image

related : image_1920

hérité de image.mixin

message_has_sms_errorErreur d'envoi SMS

Si coché, certains messages ont une erreur de livraison.

boolean
calculé

hérité de mail.thread

rating_idsÉvaluationsone2many

inverse : res_id

hérité de mail.thread

website_message_idsMessages du site web

Historique de communication du site web

one2many

inverse : res_id

hérité de mail.thread

create_dateCréé ledatetime
lecture seuleautomatique
create_uidCréé parmany2one
lecture seuleautomatique
display_nameNom affichéchar
lecture seulecalculéautomatique
idIDinteger
lecture seuleautomatique
write_dateDernière mise à jour ledatetime
lecture seuleautomatique
write_uidDernière mise à jour parmany2one
lecture seuleautomatique

Relations

Modèles liés depuis ce modèle

Champs d'autres modèles qui pointent ici

Lire ce modèle par l'API

Exemple d'appel à l'API JSON-2 d'Odoo 19 : 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
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}'
Python (requests)
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 19.0)</a>

Sources

Données vérifiées le 23 septembre 2026 · Odoo 19.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.