Skip to main content
iVentureTeam

Odoo 20 Employees Release Notes

All 4 Employees changes from the official Odoo 20 release notes, explained in plain words with a screenshot from a live Odoo 20 database, plus where to find each one and what it means for your upgrade.

Planning the move? See our Odoo upgrade services, the Odoo 20 upgrade guide or get a number from the migration cost calculator.

New feature 1Enhancement 2Refactoring 1In Community 3Enterprise only 1
Type
Edition

Change 1 of 4

Employee directory

EnhancementCommunity

In a multi-company database, all users can now see the employees of all companies in the database.

Official Odoo 20 release note

In plain words

The Directory (public employee profiles) is no longer limited to the companies a user can access. A user who only works in one company still sees colleagues from every company, with a Company filter on the left to browse them.

Employees > Directory (user restricted to one company)A plain internal user allowed only in My Company (San Francisco) still sees My US Company in the Company panel, with its 2 employees shown.

Where to find it

  1. Create an internal user who is only allowed in My Company (San Francisco).
  2. Log in as that user and open Employees > Directory.
  3. In the Company panel on the left, click My US Company: its employees are listed.

For users

Employees > Directory lists everyone in the database, whatever company the user is allowed in. Private HR data (hr.employee) stays restricted to allowed companies.

For developers

The Odoo 19 record rule hr_employee_public_comp_rule on hr.employee.public (company_id in company_ids) is gone; the only access line is a read permission for internal users with no domain. Code that relied on the public model being filtered by company must add its own company domain.

Upgrading from Odoo 19

No data migration. Review custom views or reports built on hr.employee.public if they assumed company filtering.

Change 2 of 4

Salary simulation

EnhancementEnterprise only

Simulate an employee's salary through their profile, with all necessary information pre-filled.

Official Odoo 20 release note

In plain words

The employee form has a Simulation button in its header. It opens the salary simulator for that employee, already filled with the employee, pay category, salary structure, working schedule and yearly employer cost.

Employees > employee formThe new Simulation button in the employee header opens the salary simulator pre-filled with this employee's data.

Where to find it

  1. Employees, open Keith Byrd.
  2. Click Simulation in the form header.

For users

Payroll users see a Simulation button on every employee; no need to start from Payroll > Salary Simulator and retype the data.

For developers

The button calls action_hr_salary_simulator with default_employee_id, default_structure_type_id, default_final_yearly_costs, default_structure_id, default_resource_calendar_id and from_employee in the context. The old simulation_employee_id field was removed.

Upgrading from Odoo 19

Custom code using simulation_employee_id on offers must switch to employee_id.

Change 3 of 4

Remote Work

RefactoringCommunity

The Remote Work module has been merged into the Employee app.

Official Odoo 20 release note

In plain words

The separate Remote Work module (hr_homeworking) no longer exists. Its day-by-day work locations are part of Employees itself: the Work tab shows the usual work location plus one location per weekday (office, home, other).

Employees > employee > Work tabThe Location group now holds the former Remote Work fields: a usual work location and a location for each day of the week.

Where to find it

  1. Employees, open an employee.
  2. Open the Work tab and look at the Location group.

For users

No module to install: every database with Employees can set Monday to Sunday locations on the Work tab.

For developers

Fields monday_location_id to sunday_location_id and the model hr.employee.location moved from hr_homeworking into hr. Modules depending on hr_homeworking or hr_homeworking_calendar must depend on hr / hr_calendar instead.

Upgrading from Odoo 19

Update custom manifests that list hr_homeworking or hr_homeworking_calendar; the data is kept by the standard upgrade.

  • The calendar part of the old hr_homeworking_calendar module now lives in hr_calendar.

Change 4 of 4

Variable working schedule

New featureCommunity + Enterprise

Working schedules can be defined from the calendar mode to precisely encode periods of variable work time.

Official Odoo 20 release note

In plain words

A working schedule now has a Calendar Type: Fixed, Variable or Undefined. With Variable, the attendance lines are not a repeating week but dated slots, drawn and edited directly in a calendar on the schedule form. This suits rotations and irregular hours.

Employees > Configuration > Working SchedulesA schedule of type Variable: the work periods are encoded on specific dates in a week calendar, with different hours each day.

Where to find it

  1. Employees > Configuration > Working Schedules, click New.
  2. Set Calendar Type to Variable.
  3. Click in the calendar to add work periods on given days.

For users

Employees > Configuration > Working Schedules: pick Variable and click in the week calendar to add work periods on specific dates.

For developers

resource.calendar gets calendar_type (fixed, variable, undefined), replacing the Odoo 19 schedule_type / flexible_hours fields; resource.calendar.attendance gets date and recurrence fields. Code that checked flexible_hours should use calendar_type or _is_flexible().

Upgrading from Odoo 19

In code, _is_flexible() now means calendar_type 'undefined'. Custom code reading attendance_ids must handle dated lines.

See all 585 Odoo 20 changes across 52 apps

Odoo 20 Employees: common questions

What is new in Odoo 20 Employees?

The official Odoo 20 release notes list 4 Employees changes (1 new feature, 2 enhancements, 1 refactoring). They include Employee directory, Salary simulation, Remote Work, Variable working schedule.

Are the Odoo 20 Employees changes available in Community edition?

3 of the 4 changes are in Odoo 20 Community (and Enterprise). 1 is Enterprise only. Each change on this page is labeled with its edition.

Do Odoo 20 Employees changes affect my customizations when upgrading from Odoo 19?

4 of the 4 changes have something to check when upgrading from Odoo 19, for example Employee directory, Salary simulation, Remote Work. Each change on this page has an "Upgrading from Odoo 19" note. Test custom modules on a copy of your database before moving production.

How do I upgrade Employees to Odoo 20?

Restore a copy of your database, run the Odoo 20 upgrade on the copy, fix any custom modules that extend Employees, then test your main Employees flows with real users before switching production. iVentureTeam runs Odoo upgrades end to end, including custom module migration and user testing.

Odoo services for this

More Odoo 20 release notes

Planning your Odoo 20 move

Want these Employees changes in your database?

We upgrade Odoo databases with their customizations and data intact, and test every custom module against the new version before go-live.