Skip to Content
Odoo model

hr.employee.base

Basic Employee. Defined in module hr; exists in Odoo 16, 17, 18. Across the upgrade steps we tracked: 23 fields added, 4 removed, 0 renamed.

  1. Odoo 16 hr
  2. Odoo 17 hr
  3. Odoo 18 hr
  4. Odoo 19 not present
  5. Odoo 20 not present

Odoo 16 to 17

Community only All changes in this step

Fields removed (3)

FieldTypeModuleNotes
employee_typeselectionhr
related_contact_idsmany2manyhr
related_contacts_countintegerhr

Fields added (14)

FieldTypeModule
child_countintegerhr_org_chart
department_colorintegerhr_org_chart
exceptional_location_idmany2onehr_homeworking
filter_for_expensebooleanhr_expense
friday_location_idmany2onehr_homeworking
monday_location_idmany2onehr_homeworking
name_work_location_displaycharhr_homeworking
newly_hiredbooleanhr
saturday_location_idmany2onehr_homeworking
sunday_location_idmany2onehr_homeworking
thursday_location_idmany2onehr_homeworking
today_location_namecharhr_homeworking
tuesday_location_idmany2onehr_homeworking
wednesday_location_idmany2onehr_homeworking

Odoo 17 to 18

Community only All changes in this step

Fields removed (1)

FieldTypeModuleNotes
name_work_location_displaycharhr_homeworking

Fields added (9)

FieldTypeModule
emailcharhr
im_statuscharhr
is_flexiblebooleanhr
is_fully_flexiblebooleanhr
manually_set_presencebooleanhr_presence
phonecharhr
sharebooleanhr
work_location_namecharhr
work_location_typeselectionhr

Odoo 18 to 19

Community + Enterprise All changes in this step

Removed in Odoo 19.

All fields declared on hr.employee.base (76)

Fields this model declares itself in any version, with the versions they exist in. Inherited fields (mail.thread and other mixins) are on the parent model's page.

present not present not covered (Enterprise, Odoo 16 and 17)

Show all 76 fields
FieldTypeLabelModule1617181920
activebooleanActivehr
address_idmany2one res.partnerWork Addresshr
allocation_countfloatTotal number of days allocated.hr_holidays
allocation_displaycharhr_holidays
allocation_remaining_displaycharhr_holidays
allocations_countintegerTotal number of allocationshr_holidays
badge_idsone2many gamification.badge.userEmployee Badgeshr_gamification
child_all_countintegerIndirect Subordinates Counthr_org_chart
child_countintegerDirect Subordinates Counthr_org_chart
coach_idmany2one hr.employeeCoachhr
colorintegerColor Indexhr
company_idmany2one res.companyCompanyhr
current_leave_stateselectionCurrent Time Off Statushr_holidays
department_colorintegerDepartment Colorhr_org_chart
department_idmany2one hr.departmentDepartmenthr
direct_badge_idsone2many gamification.badge.userhr_gamification
emailcharhr
email_sentbooleanhr_presence
employee_typeselectionEmployee Typehr
exceptional_location_idmany2one hr.work.locationCurrenthr_homeworking
filter_for_expensebooleanhr_expense
friday_location_idmany2one hr.work.locationFridayhr_homeworking
goal_idsone2many gamification.goalEmployee HR Goalshr_gamification
has_badgesbooleanhr_gamification
has_slotsbooleanplanningE
hr_icon_displayselectionhr
hr_presence_stateselectionhr
hr_presence_state_displayselectionhr_presence
im_statuscharhr
ip_connectedbooleanhr_presence
is_absentbooleanAbsent Todayhr_holidays
is_flexiblebooleanhr
is_fully_flexiblebooleanhr
job_idmany2one hr.jobJob Positionhr
job_titlecharJob Titlehr
last_activitydatehr
last_activity_timecharhr
last_appraisal_idmany2one hr.appraisalhr_appraisalE
last_appraisal_stateselectionhr_appraisalE
leave_date_fromdateFrom Datehr_holidays
leave_date_todateTo Datehr_holidays
leave_manager_idmany2one res.usersTime Offhr_holidays
leaves_countfloatNumber of Time Offhr_holidays
manually_set_presencebooleanhr_presence
manually_set_presentbooleanhr_presence
member_of_departmentbooleanMember of departmenthr
mobile_phonecharWork Mobilehr
monday_location_idmany2one hr.work.locationMondayhr_homeworking
namecharhr
name_work_location_displaycharhr_homeworking
newly_hiredbooleanNewly Hiredhr
parent_idmany2one hr.employeeManagerhr
parent_user_idmany2oneParent Userhr_appraisalE
phonecharhr
remaining_leavesfloatAvailable Time Off Dayshr_holidays
resource_calendar_idmany2one resource.calendarhr
resource_idmany2one resource.resourcehr
saturday_location_idmany2one hr.work.locationSaturdayhr_homeworking
sharebooleanhr
show_hr_icon_displaybooleanhr
show_leavesbooleanAble to see Remaining Time Offhr_holidays
sunday_location_idmany2one hr.work.locationSundayhr_homeworking
thursday_location_idmany2one hr.work.locationThursdayhr_homeworking
today_location_namecharhr_homeworking
tuesday_location_idmany2one hr.work.locationTuesdayhr_homeworking
tzselectionTimezonehr
user_idmany2one res.usershr
wednesday_location_idmany2one hr.work.locationWednesdayhr_homeworking
work_contact_idmany2one res.partnerWork Contacthr
work_emailcharWork Emailhr
work_location_idmany2one hr.work.locationWork Locationhr
work_location_namecharWork Location Namehr
work_location_typeselectionhr
work_phonecharWork Phonehr
Coverage. Odoo 16 to 17 and 17 to 18 compare Community modules only (the Enterprise 16 and 17 sources are not available to us). Odoo 18 to 19 and 19 to 20 include Community and Enterprise modules. Everything here comes from a static read of the Odoo source code: a field counts as removed only when no parent model, mixin or delegated model still provides it. Fields created dynamically at run time can be missed, and entries we could not confirm are marked as low confidence.