14 KiB
show-content |
---|
true |
Planning
Odoo Planning allows you to plan your team's schedule and manage shifts and resources.
Handling your team's planning comes with specific requirements that may vary widely depending on your business needs. The following concepts were introduced in Odoo Planning to meet those needs:
Shifts are dispatched to resources, which can be either {ref}human <planning/employees>
(employees) or {ref}material <planning/materials>
(e.g., equipment). The resources are assigned
{ref}roles <planning/roles>
, which allows for organization of work within the team.
Once the initial configuration is done, {ref}planning shifts <planning/shifts>
can be done
manually or automated by using the {ref}Auto Plan <planning/open-shifts>
feature.
An integration between the Planning and Sales apps allows the linking of sold services to roles and
shifts in Planning. Additionally, integration with {doc}Project <project>
allows dedicating
shifts, and thus time and resources, to specific projects.
:::{seealso} Odoo tutorials: Planning :::
(planning-configuration)=
Configuration
(planning-roles)=
Roles
To define the roles your resources perform (e.g., chef, bartender, waiter), go to
{menuselection}Planning --> Configuration --> Roles
, then click {guilabel}New
, and fill in the
{guilabel}Name
(e.g., assistant, receptionist, manager). Then, choose the {guilabel}Resources
that will perform this role. Resources can be either {ref}Employees <planning/employees>
or
{ref}Materials <planning/materials>
.
:::{note}
- If the Sales app is installed in your database, the {guilabel}
Services
field appears, allowing you to specify which roles are needed to perform services so that the shifts are dispatched to the right person. - Roles are taken into account when using the {ref}
Auto Plan feature <planning/open-shifts>
. :::
Property fields and roles
Property fields allow you to add custom fields to forms across several Odoo applications. Planning includes the possibility of adding property fields linked to roles to shifts.
To create a property field, switch to the list view from any schedule. From there, click
{guilabel}View
on the shift that you wish to edit. If the {guilabel}Role
field is empty, fill it
in with the desired role, then click the cog icon and select {guilabel}Add Properties
.
{doc}Configure <../productivity/knowledge/properties>
the new field according to your needs.
:alt: Creating a new property field in Planning.
The property field is linked to the role and is included in the shift form of all shifts performed by this role.
.. example::
Some of the use cases of role property fields include:
- **Accreditation**: for roles that require a specific permit (e.g., driving license)
- **Location**: in companies that operate in multiple locations (e.g., shops or restaurants)
- **Language**: in a multi-lingual environment (e.g., consulting company)
(planning-employees)=
Employees
All employees can be included in the planning and assigned shifts.
To adapt the employee's planning settings, go to {menuselection}Planning --> Configuration --> Employees
, and choose the employee for whom you want to edit the settings. Then, go to the
{guilabel}Work Information
tab.
:alt: Employee profile and the work information tab.
:::{tip} You can do the same from the Employees app, which is installed by default along with Planning. :::
Two sections of the employee's {guilabel}Work Information
tab have an impact on Planning:
{guilabel}Schedule
(namely, the {guilabel}Working Hours
field) and {guilabel}Planning
.
Working hours
The {guilabel}Working Hours
are taken into account when the {guilabel}Allocated Time
and its
percentage is calculated for {ref}shifts <planning/templates>
. If the {guilabel}Working Hours
field is left blank, the employee is considered to be working flexible hours.
To create individual {guilabel}Working Hours
, for example, for employees working part-time, click
{guilabel}Search more...
, then {guilabel}New
.
:::{note}
The {guilabel}Working Hours
and the {guilabel}Allocated Time
in Planning can impact
Payroll, if the employee's contract is configured to generate work entries based on shifts.
:::
:::{seealso}
{ref}Payroll documentation on working schedules <payroll/working-times>
:::
Planning roles
Once an employee has one or more {guilabel}Roles
:
- When creating a shift for this employee, only the shift templates from the roles chosen in this field are displayed.
- When a schedule is published, the employee is only notified of open shifts for the roles that are assigned to them.
- When auto-assigning open shifts or planning sales orders, the employee is only assigned shifts for the roles assigned to them.
Additionally, when a {guilabel}Default role
is defined:
- When creating a shift for the employee, the default role is automatically selected.
- This role also has precedence over the other roles of the employee when auto-assigning open shifts or planning sales orders.
:::{note} If the Planning roles fields are left empty, there are no restrictions in the shift templates and open shifts shared with the employee. However, it’s not possible to use the Auto Plan feature for employee with no roles. :::
(planning-materials)=
Materials
Materials are resources that can be assigned shifts and working hours but are not employees. For example, a construction company could use materials to create shifts for shared machines (e.g., cranes, forklifts).
Similarly to employees, materials can be assigned roles and working time.
(planning-templates)=
Shift templates
To create a shift template, click {guilabel}New
on any schedule, then fill in the
{ref}details of the shift <planning/create-shift>
. In order for the shift to be saved as a
template, tick {guilabel}Save as Template
.
:alt: Shift form with the option `save template` ticked.
Alternatively, you can go to {menuselection}Planning --> Configuration --> Shift Templates
, then
click {guilabel}New
. Fill in the {guilabel}Start Hour
and {guilabel}Shift Duration
. The
shift’s {guilabel}End Time
is then calculated based on the {guilabel}Working Hours
, taking into
account working time as well as breaks.
.. example::
The employee's working hours are Monday to Friday, 8 am to 5 pm, with a break between 12 and 1
pm.
- Creating a shift template with a start hour of 9 am and a duration of 8 hours will result in
the end hour being 5 pm, based on the working hours and the 1-hour break.
- Creating a shift template with a start hour of 10 am and a duration of 10 hours will result in
the end hour of 10 am the following day, as the company is closed at 5 pm according to the
working hours.
Additionally, for each shift template, you can also configure:
- {guilabel}
Role
: to link the shift to this specific role. - {guilabel}
Project
: to keep track of shifts that are dedicated to work on a project.
(planning-shifts)=
Planning shifts
On opening the Planning app, the users see their own schedule. Users with admin roles can also see
{guilabel}Schedule by Resource
, {guilabel}Role
, {guilabel}Project
, or {guilabel}Sales Order
,
as well as reporting and configuration menus.
:::{note} The schedule is displayed in the Gantt view, which allows you to edit (with a drag and drop), resize, split, and duplicate shifts without having to open them. :::
:alt: A schedule displaying various visual elements.
The following visual elements are used on the shifts in the schedules:
- Full color: shifts that are planned and published.
- Diagonal stripes: shifts that are planned but have yet to be published.
- Grayed-out background: employees that are on time off.
- Progress bar: currently ongoing shifts with timesheets linked to them.
- Grayed-out shift: when copying shifts, the copied shifts are shown in full color, whereas previously existing shifts are temporarily greyed out. The color changes back to full color or diagonal stripes on the next refresh of the page or by removing the filter.
(planning-create-shift)=
Create a shift
To create a shift, go to any schedule, then click {guilabel}New
. In the pop-up window that opens,
fill in the following details:
-
Templates: If there is one or more templates existing in your database, they are displayed in the upper section of the pop-up window. Once selected, a template prefills the shift form accordingly.
-
{guilabel}
Resource
: Resources can be both employees or materials. If this field is left empty, the shift is considered an {ref}open shift <planning/open-shifts>
. -
{guilabel}
Role
: Select the role that the resource assigned will be performing. This field is used when {ref}auto-planning <planning/open-shifts>
shifts. Once you select a role, the shift templates associated with it are displayed in the upper section of the pop-up window. -
{guilabel}
Project
: If the Project app is installed in your database, this field allows you to link the project to the shift is available, allowing you to plan and track shifts dedicated to work on the selected project. -
{guilabel}
Sales Order Item
: If the Sales app is installed in your database, this field allows you to link a sales order to the shift. -
{guilabel}
Repeat
: Tick the checkbox and configure the {guilabel}Repeat Every
field according to your needs. The following rules apply to recurring shifts:- All fields (e.g., {guilabel}
Resource
, {guilabel}Role
, {guilabel}Project
) are copied from the original shift except for the date, which is adjusted according to the {guilabel}Repeat Every
field. - Recurrences are planned but not published.
- By default, planned shifts are created six months in advance, after which they are created
gradually. To change the time frame, {ref}
activate the Developer mode <developer-mode>
, then go to {menuselection}Planning --> Configuration --> Settings
and edit the {guilabel}Recurring Shifts
.
- All fields (e.g., {guilabel}
-
{guilabel}
Save as Template
: When this option is ticked, a shift template is created with the same {guilabel}Start and End hours
, {guilabel}Allocated time
, {guilabel}Role
, and {guilabel}Project
. -
{guilabel}
Additional note sent to the employee
: Click on the field to add a note. -
{guilabel}
Date
: Choose the date and time of your shift. This is the only mandatory field when creating a shift. -
{guilabel}
Allocated time
: Is calculated based on the date and the employee’s {guilabel}Working Schedule
. See more in {ref}Shift Templates <planning/templates>
.
Click {guilabel}Publish & Save
to confirm the shift and send the assigned employee their schedule
by email.
:::{note} The draft is visible on the admin planning view and can be identified by diagonal lines. The employee is only notified of the shift once it's published.
Two kinds of notifications are sent to the employees depending on their account configuration:
- Employees without user accounts are redirected to a dedicated Planning portal.
- Employees with a user account are redirected to the {guilabel}
My Planning
view in the backend view of Odoo. :::
(planning-open-shifts)=
Open shifts and auto planning
The {guilabel}Auto Plan
button allows you to assign Open shifts (shifts with no resource
assigned) and create and assign shifts linked to sales orders or project.
The following features have an impact on auto planning:
- Roles: Open shifts are only assigned to resources (employees or materials) that have the
corresponding role assigned. It is not possible to use the {guilabel}
Auto Plan
feature for employee with no roles. - Default roles: The default role assigned to a resource is given priority over the other roles they have assigned to them.
- Conflicts: Employees or materials cannot be assigned multiple shifts at the same time.
- Time off: The employees’ time off is taken into account, as well as public holidays.
- Company working hours: Are taken into account when assigning shifts to employees or materials.
- Contracts: Employees without an active contract cannot be assigned shifts.
Click {guilabel}Publish
to confirm the schedule and notify the employees of their planning.
(planning-switching-unassignment)=
Switching shifts and unassignment
Two features are available to allow employees to make changes to their schedule: switching shifts and unassignment.
:::{note} These features are mutually exclusive. Switching shifts is possible by default and cannot be disabled. However, once the Allow unassignment feature is enabled, it replaces the option to switch shifts. :::
Switching shifts
Once shifts are planned and published, employees receive an email notification. If an employee
wishes to switch a shift, they can click the unwanted shift and click {guilabel}Ask to switch
.
The shift remains assigned to the original employee, but in the schedule, a notification informing that the assigned employee would like to switch shifts is visible on the shift.
The shift is then displayed to other employees who share the same role, and if they wish to assign
it to themselves, they can click the {guilabel}I take it
button.
:::{note} The following rules apply:
- Only the shifts matching the employee's roles are displayed as available to them.
- Switching shifts is only available for shifts that are in the future. :::
Unassignment
To allow employees to unassign themselves from shifts, go to
{menuselection}Planning --> Configuration --> Settings
, then tick the checkbox
{guilabel}Allow Unassignment
. Then, specify the maximum number of days that the employees can
unassign themselves before the shift.
Once shifts are planned and published, employees receive an email notification. If shift
unassignment is allowed, the employees can click the {guilabel}I am unavailable
button, and the
shift reverts to an open shift.
:::{note} The following rules apply:
- Only the shifts matching the employee's roles are displayed in their schedule.
- Switching shifts is only available for shifts that are in the future. :::