Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
180 changes: 107 additions & 73 deletions content/applications/hr/time_off/allocations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ Allocations
===========

Allocations are amounts of time off given to employees, either granted immediately or earned as the
employee works, through an accrual plan.
employee works, through an :doc:`accrual plan <accrual_plans>`.

Once :doc:`time off type <../time_off/time_off_types>` and :doc:`accrual plan
Once :doc:`time off types <../time_off/time_off_types>` and :doc:`accrual plans
<../time_off/accrual_plans>` have been configured, the next step is to *allocate*, or give, time off
Comment thread
larm-odoo marked this conversation as resolved.
to employees.

Expand All @@ -20,22 +20,24 @@ Allocate time off
=================

To create a new allocation, navigate to :menuselection:`Time Off app --> Management -->
Allocations`.
Allocations`, and the *Allocations* dashboard loads.
Comment thread
larm-odoo marked this conversation as resolved.

This presents a list of all current allocations, including their respective statuses.
The dashboard displays a Kanban view of all allocations awaiting a second approval for the user's
Comment thread
larm-odoo marked this conversation as resolved.
team.

Click :guilabel:`New` to allocate time off, and a blank :guilabel:`Allocation` form appears.

After entering a name for the allocation on the first blank field of the form, enter the following
information:
Click :guilabel:`New` to allocate time off, and a blank :guilabel:`Allocations` form appears. Enter
Comment thread
larm-odoo marked this conversation as resolved.
the following information on the form:

- :guilabel:`Name`: Enter a name for the allocation, typically containing the type of time off, and
the period of time it is available (example: `Annual Vacation Time Off - 2025`).
- :guilabel:`Time Off Type`: Using the drop-down menu, select the type of time off that is being
allocated to the employees.
- :guilabel:`Allocation Type`: Select how the allocation is granted. Choose :guilabel:`Regular
Allocation` if the time off is given immediately, or :guilabel:`Accrual Allocation` if the time
off is earned through an :doc:`accrual plan <../time_off/accrual_plans>`.
- :guilabel:`Allocation Type`: Select how the allocation is granted. The two options are:

- :guilabel:`Regular Allocation`: The time off is given immediately, all at once.
- :guilabel:`Accrual Allocation`: The time off is earned through an :doc:`accrual plan
<../time_off/accrual_plans>`.

- :guilabel:`Accrual Plan`: If :guilabel:`Accrual Allocation` is selected for the
:guilabel:`Allocation Type`, the :guilabel:`Accrual Plan` field appears. Using the drop-down menu,
select the accrual plan associated with the allocation. An accrual plan is **required** when using
Expand Down Expand Up @@ -63,7 +65,7 @@ information:

.. image:: allocations/new-allocation.png
:alt: A new allocation form with all the fields filled out for the annual two week vacation
granted to all employees.
for a new employee.

Accrual start date behavior
---------------------------
Expand All @@ -78,33 +80,34 @@ end of that period based on the *Accrued Gain Time* entered on the :doc:`accrual
- *At the end of the accrual period*: A :guilabel:`Start Date` of `06/18/25` applies from
`07/01/25`

Automatic adjustments on the start date to either the begining or end of an accural period ensures
Automatic adjustments on the start date to either the beginning or end of an accrual period ensures
accruals align with the defined period boundaries, rather than the exact date entered.

Multiple requests
-----------------
Group allocations
=================

When allocating time off, it is common to allocate time to several employees at once. This is done
using the :guilabel:`Multiple Requests` feature.
When allocating time off, it is common to allocate time to multiple employees at once, instead of
creating individual allocations.

To allocate time to multiple employees in a single allocation, navigate to :menuselection:`Time Off
app --> Management --> Allocations`. Then, click the :icon:`fa-gear` :guilabel:`(Actions)` icon in
the upper-left corner, then click :icon:`fa-users` :guilabel:`Multiple Requests`. This reveals a
:guilabel:`Multiple Requests` pop-up window.
app --> Management --> Allocations`. Click the :guilabel:`New Group Allocation` button, and a *New
Group Allocation* pop-up window loads.

This form is identical to the :ref:`Allocation form <time_off/allocation-form>`, with an additional
:guilabel:`Mode` field. The :guilabel:`Mode` field determines how multiple employees are selected.
This form is identical to the individual :ref:`allocation form <time_off/allocation-form>`, with two
additional fields to determine how the employees are selected.

Using the drop-down menu, select a :guilabel:`Mode` from one of the following options:
Using the drop-down menu, select one of the following options for the :guilabel:`Grant` field:

- :guilabel:`By Employee`: This option allows for the selection of multiple individual employees
that are unrelated in terms of department, company, or tags. Selecting this reveals an
:guilabel:`Employees` field. Select the employees to receive the allocation in the
:guilabel:`Employees` field. There is no limit to the amount of employees that can be selected.
:guilabel:`Employees` field. Using the drop-down menu, select the employees to receive the
allocation in the :guilabel:`Employees` field. There is no limit to the amount of employees that
can be selected.
- :guilabel:`By Company`: This option allows for the selection of all employees within a specific
company. Selecting this reveals a :guilabel:`Company` field. Select the :guilabel:`Company` to
assign the allocation to. Only one company can be assigned in the :guilabel:`Company` field. When
a company is selected, *all* employees within the company receive the allocation.
company. Selecting this reveals a :guilabel:`Company` field. Using the drop-down menu, select the
:guilabel:`Company` to assign the allocation to. Only one company can be assigned in the
:guilabel:`Company` field. When a company is selected, *all* employees within the company receive
the allocation.
- :guilabel:`By Department`: This option allows for the selection of all employees within a specific
department. Selecting this reveals a :guilabel:`Department` field. Select the
:guilabel:`Department` to assign the allocation to. Only one department can be assigned in the
Expand All @@ -116,39 +119,40 @@ Using the drop-down menu, select a :guilabel:`Mode` from one of the following op
the :guilabel:`Employee Tag` field. When a tag is selected, *all* employees with that tag receive
the allocation.

Next, select the :guilabel:`Time Off Type` using the drop-down menu. Once a :guilabel:`Time Off
Type` is selected, the placeholder name, 'Allocation Request', changes to the name of the selected
:guilabel:`Time Off Type`, including the amount of days. Change the name of the allocation, if
desired.
Fill out the remainder of the :ref:`New Group Allocation form <time_off/allocation-form>`, then
Comment thread
larm-odoo marked this conversation as resolved.
click :guilabel:`Allocate Time Off` when done. The *Generated Allocations* dashboard loads,
displaying all the employees granted an allocation on the form.

Fill out the remainder of the :ref:`Multiple Requests form <time_off/allocation-form>`, then click
:guilabel:`Create Allocations` when done.
.. image:: allocations/group-granted.png
:alt: The Generated Allocations dashboard showing the accountants granted time off.

.. example::
A company hosts an annual picnic, including a raffle. There are five raffle prizes for a free
vacation day, which must be redeemed by the end of the year. The winners of this raffle all have
the tag `Raffle Winner - 2025 Employee Picnic Prize` added to their employee profiles.
A company wants to send their accounting department for two days of training. The training is
Comment thread
larm-odoo marked this conversation as resolved.
happening over one week, and the employees can decide which days they want to attend. Since it is
Comment thread
larm-odoo marked this conversation as resolved.
a work-related event, the company wants to grant time off to the accountants, and let them decide
Comment thread
larm-odoo marked this conversation as resolved.
which training days they will attend.

The time off officer creates multiple allocations, and configures the :ref:`Multiple Requests
The time off officer creates multiple allocations, and configures the :ref:`New Group Allocation
form <time_off/allocation-form>` as follows:

The name for the allocation is :guilabel:`Vacation Day - Raffle Prize - 2025 Picnic`. The
:guilabel:`Mode` is set to :guilabel:`By Employee Tag`, and the :guilabel:`Tag` identified is
:guilabel:`Raffle Winner - 2025 Employee Picnic Prize`.
The :guilabel:`Grant` field is set to :guilabel:`By Department`, and the :guilabel:`Department`
field is set to :guilabel:`Accounting`.

The :guilabel:`Time Off Type` is set to :guilabel:`Vacation Time Off`, with the
The :guilabel:`Time Off Type` is set to :guilabel:`Training Time Off`, with the
:guilabel:`Allocation Type` set to :guilabel:`Regular Allocaiton`, since the time off is given up
Comment thread
larm-odoo marked this conversation as resolved.
front, and is not *earned*.
front, and is not *earned* through an :doc:`accrual plan <accrual_plans>`.
Comment thread
larm-odoo marked this conversation as resolved.

The :guilabel:`Validity Period` is set to :guilabel:`07/18/2025` :icon:`oi-arrow-right`
:guilabel:`12/31/2025`, since the compnay picnic was that day, and the earned vacation day
expires at the end of the year.
The :guilabel:`Validity Period` is set to :guilabel:`June 22` :icon:`oi-arrow-right`
:guilabel:`June 30`, since the training event is happening that week, and the employees can pick
any two days they want to attend during that time.

The :guilabel:`Allocation` is set to :guilabel:`1.00 Days`, and `A bonus vacation day won at the
annual Company Picnic.` appears in the details at the bottom.
The :guilabel:`Allocation` is set to :guilabel:`2.00 Days`, and `Annual accounting training.`
appears in the details at the bottom, to provide information on why the time off is being
Comment thread
larm-odoo marked this conversation as resolved.
allocated.

.. image:: allocations/multiple-requests.png
:alt: An allocation request form filled out for a bonus vacation day for raffle winners.
.. image:: allocations/group.png
:alt: An allocation request form filled out for two days of training granted to the accounting
deparrtment.

.. _time_off/request-allocation:

Expand All @@ -157,40 +161,70 @@ Request allocation

If an employee has used all their time off, or will run out of time off, they can request an
allocation for additional time. Allocations can be requested in one of two ways, either from the
:ref:`Dashboard <time_off/dashboard>` or the :ref:`My Allocations <time_off/my-allocations>` view.

To create a new allocation request, click either the :guilabel:`New Allocation Request` button on
the main **Time Off** dashboard, or the :guilabel:`New` button in the :guilabel:`My Allocations`
list view. Both buttons open a new allocation request form.
main :ref:`Time Off dashboard <time_off/dashboard-allocation>` or the :ref:`My Allocations dashboard
<time_off/my-allocations>`.

.. note::
Both options open a new allocation request form, but when requested from the
:guilabel:`Dashboard`, the form appears in a pop-up window, and the *Validity Period* field does
**not** appear.
Both options open a new *Allocation Request* form, but when requested from the main
**Time Off** *Dashboard*, the form appears in a pop-up window, and the *Validity Period*
field does **not** appear.

When requested from the *My Allocations* dashboard, the screen navigates to a new allocation
request page, instead of presenting a pop-up window.
Comment thread
larm-odoo marked this conversation as resolved.

.. _time_off/dashboard-allocation:

When requested from the :guilabel:`My Allocations` list view, the screen navigates to a new
allocation request page, instead of presenting a pop-up window.
Time off dashboard
Comment thread
larm-odoo marked this conversation as resolved.
-------------------

Enter the following information on the new allocation request form:
To request an allocation from the **Time Off** dashboard, open the **Time Off** app, or navigate to
:menuselection:`Time Off app --> My Time --> Dashbaord`. On the *Dashboard*, click
Comment thread
larm-odoo marked this conversation as resolved.
:guilabel:`NEW ALLOCATION REQUEST` beneath :guilabel:`Pending Requests`, and a *New Allocation*
pop-up window loads.

Configure the following fields on the form:

- :guilabel:`Time Off Type`: Using the drop-down menu, select the type of time off being requested.
Comment thread
larm-odoo marked this conversation as resolved.
- :guilabel:`Ask for`: Enter the amount of time being requested, either in :guilabel:`Days` or
:guilabel:`Hours`. The unit of time is determined by the selected :guilabel:`Time Off Type`.
- :guilabel:`Add a reason...`: Enter a brief description why the time off is being requested.

.. image:: allocations/single-request.png
:alt: An individual request for more vacation time, requested form the Time Off dashboard.

.. _time_off/my-allocations:

My allocations dashboard
Comment thread
larm-odoo marked this conversation as resolved.
------------------------

To request an allocation from the *My Allocations* dashboard, navigate to :menuselection:`Tme Off
app --> My Time --> My Allocations`. Click the :guilabel:`New` button on the *My Allocations*
dashboard, and an *Allocation Request* form loads.

Enter the following information on the *Allocation Request* form:

- :guilabel:`Name`: The name for the allocation request is `Allocation Request` by default. As
Comment thread
larm-odoo marked this conversation as resolved.
selections are made, the name of the request is updated to reflect the request. The name
**cannot** be modified.
Comment thread
larm-odoo marked this conversation as resolved.
- :guilabel:`Time Off Type`: Using the drop-down menu, select the type of time off being requested
for the allocation. After a selection is made, the title updates with the time off type.
- :guilabel:`Validity Period`: By default, the current date populates this field, and it is **not**
able to be modified. This field **only** appears when requesting an allocation from the
:guilabel:`My Allocations` view (:menuselection:`Time Off --> My Time --> My Allocations`).
for the allocation. After a selection is made, the :guilabel:`Name` updates with the time off
type.
- :guilabel:`Validity Period`: By default, the current date populates the first field and the
second field displays :guilabel:`No Limit`. To change the time frame for the request, click on the
date, and a calendar popover appears. Click on the desired date to select it. If there is an
Comment thread
larm-odoo marked this conversation as resolved.
expiration date for the request, select the end date in the second field.
- :guilabel:`Allocation`: Enter the amount of time being requested in this field. The format is
presented in either :guilabel:`Days` or :guilabel:`Hours`, depending on how the :guilabel:`Time
Off Type` is configured. Once this field is populated, the name of the allocation request is
updated to include the amount of time being requested.
- :guilabel:`Add a reason...`: Enter a description for the allocation request in this field. This
should include any details that approvers may need to approve the request.

If the request was created from the :guilabel:`Dashboard`, click the :guilabel:`Save & Close` button
on the :guilabel:`New Allocation` pop-up window to save the information and submit the request.

If the form was completed from the :guilabel:`My Allocations` list view, the information is
automatically saved as it is entered.
The information is automatically saved as it is entered. To view the request, click the
:guilabel:`My Allocations` breadcrumb, or navigat to :menuselection:`Tme Off app --> My Time --> My
Comment thread
larm-odoo marked this conversation as resolved.
Allocations`. The allocation request appears along with any other allocation requests awaiting
approal.

.. image:: allocations/allocation-request.png
:alt: An allocation request form filled out for an employee requesting an additional week of
sick time.
.. image:: allocations/my-allocations-request.png
:alt: An allocation request form filled out for an employee requesting an additional week for
training.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified content/applications/hr/time_off/allocations/new-allocation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.