diff --git a/content/applications/hr/payroll.rst b/content/applications/hr/payroll.rst index 5b78870b6..599096d63 100644 --- a/content/applications/hr/payroll.rst +++ b/content/applications/hr/payroll.rst @@ -106,8 +106,8 @@ The contract template forms the basis of an offer, and can be modified for speci employees, when necessary. If a contract template is created or modified in the *Payroll* application, the changes are also reflected in the *Recruitment* application. -To view all the current contract templates in the database, navigate to :menuselection:`Payroll -app --> Configuration --> Contracts: Templates`. +To view all the current contract templates in the database, navigate to :menuselection:`Payroll app +--> Configuration --> Contracts: Templates`. On the :guilabel:`Contract Templates` page, all current contract templates appear in a list view. To view the details of a contract template, click anywhere on the line to open the contract form. The @@ -219,6 +219,8 @@ list. :align: center :alt: The employment types in the database by default, in a list view. +.. _payroll/work-entries: + Work entries ============ diff --git a/content/applications/hr/time_off.rst b/content/applications/hr/time_off.rst index f43c40607..4763e6906 100644 --- a/content/applications/hr/time_off.rst +++ b/content/applications/hr/time_off.rst @@ -2,15 +2,16 @@ Time Off ======== -Odoo's *Time Off* application is a centralized place, where all time off information is housed. The -*Time Off* app manages everything related to requests, balances, allocations, approvals, and -reports. +Odoo's *Time Off* application serves as a centralized hub for all time-off-related information. This +application manages requests, balances, allocations, approvals, and reports. -Users can :ref:`request time off `, managers can :ref:`approve time off -requests `, :ref:`allocate time off ` to individuals, -teams, or the whole company, :ref:`reports ` can be run to see how much time off -(and what kinds of time off) are being used, :ref:`accrual plans ` can be -created, and :ref:`public holidays ` can be set. +Users can :ref:`request time off `, and see an overview of their requests +and time off balances. Managers can :ref:`allocate time off ` to individuals, +teams, or the whole company, and :ref:`approve time off requests `. + +Detailed :ref:`reports ` can be run to see how much time off (and what kinds of +time off) are being used, :ref:`accrual plans ` can be created, and +:ref:`public holidays ` can be set. .. note:: Be advised, only users with specific access rights can see all aspects of the *Time Off* @@ -20,8 +21,8 @@ created, and :ref:`public holidays ` can be set. Off* application. All other sections require specific access rights. To better understand how access rights affect the *Time Off* application, refer to the - :doc:`/applications/hr/employees/new_employee` document, specifically the section about - configuring the work information tab. + :doc:`employees/new_employee` document, specifically the section about configuring the work + information tab. Configuration ============= @@ -35,31 +36,38 @@ required). Time off types -------------- -To view the currently configured time off types, navigate to :menuselection:`Time Off application ---> Configuration --> Time Off Types`. The time off types are presented in a list view. The *Time -Off* application comes with four types of time off pre-configured: :guilabel:`Paid Time Off`, -:guilabel:`Sick Time Off`, :guilabel:`Unpaid`, and :guilabel:`Compensatory Days`. Any of these may -be modified to suit the needs of the businesses, or can be used as-is. +To view the currently configured time off types, navigate to :menuselection:`Time Off app --> +Configuration --> Time Off Types`. The time off types are presented in a list view. + +The *Time Off* application comes with four pre-configured time off types: :guilabel:`Paid Time Off`, +:guilabel:`Sick Time Off`, :guilabel:`Unpaid`, and :guilabel:`Compensatory Days`. These can be +modified to suit business needs or used as-is. Create time off type ~~~~~~~~~~~~~~~~~~~~ To create a new time off type, navigate to :menuselection:`Time Off app --> Configuration --> Time -Off Types`. From here, click the :guilabel:`Create` button to reveal a blank time off type form. +Off Types`. From here, click the :guilabel:`New` button to reveal a blank time off type form. Enter the name for the particular type of time off in the blank line at the top of the form, such as -`Sick Time` or `Vacation`. Then, enter the following information on the form: +`Sick Time` or `Vacation`. Then, enter the following information on the form. -Time off requests section +.. note:: + The only **required** fields on the time off type form are the name of the :guilabel:`Time Off + Type`, the :guilabel:`Take Time Off In`, and the :guilabel:`Kind of Time Off`. In addition, the + :guilabel:`Time Off Requests` and :guilabel:`Allocation Requests` sections **must** be + configured. + +Time Off Requests section ************************* - :guilabel:`Approval`: select what specific kind of approval is required for the time off type. The options are: - :guilabel:`No Validation`: no approvals are required when requesting this type of time off. The - time off request is automatically approved when requested. + time off request is automatically approved. - :guilabel:`By Time Off Officer`: only the specified :ref:`Time Off Officer - `, set on this form in the :guilabel:`Responsible Time Off Officer` + `, set on this form in the :guilabel:`Notified Time Off Officer` field, is required to approve the time off request. This option is selected by default. - :guilabel:`By Employee's Approver`: only the employee's specified approver for time off, which is set on the *Work Information* tab on the :ref:`employee's form `, is @@ -68,37 +76,7 @@ Time off requests section time off approver` and the :ref:`Time Off Officer ` are required to approve the time off request. - .. _`time_off/time-off-officer`: - -- :guilabel:`Responsible Time Off Officer`: select the person responsible for approving requests and - allocations for this specific type of time off. -- :guilabel:`Take Time Off in`: select the format the time off is requested from the drop-down menu. - The options are: - - - :guilabel:`Day`: if time off can only be requested in full day increments (8 hours). - - :guilabel:`Half Day`: if time off can only be requested in half day increments (4 hours). - - :guilabel:`Hours`: if the time off can be taken in hourly increments. - - .. _`time_off/deduct-extra-hours`: - -- :guilabel:`Deduct Extra Hours`: tick this box if the time off request should factor in any extra - time accrued by the employee - - .. example:: - For example, if an employee worked two (2) extra hours for the week, and requests five (5) - hours of time off, the request would be for three (3) hours, since the two (2) additionally - worked hours are used first, and deducted from the request. - -- :guilabel:`Allow To Join Supporting Document`: tick this box to allow the employee to attach - documents to the time off request. This is useful in situations where documentation is required, - such as long-term medical leave. -- :guilabel:`Kind of Leave`: select from the drop-down menu the type of leave this time off type is, - either :guilabel:`Time Off` or :guilabel:`Other`. -- :guilabel:`Company`: if multiple companies are created in the database, and this time off type - only applies to one company, select the company from the drop-down menu. If this field is left - blank, the time off type applies to all companies in the database. - -Allocation requests section +Allocation Requests section *************************** - :guilabel:`Requires allocation`: if the time off must be allocated to employees, select @@ -108,21 +86,85 @@ Allocation requests section - :guilabel:`Employee Requests`: select :guilabel:`Extra Days Requests Allowed` if the employee is able to request more time off than was allocated. - .. example:: - For example, if ten (10) days are allocated to the employee for this particular type of time - off, and this option is enabled, the employee may submit a request for more than ten (10) days. - If employees should **not** be able to make requests for more time off than what was allocated, select the :guilabel:`Not Allowed` option. -- :guilabel:`Approval`: select the type of approval(s) required for the allocation of this - particular type of time off. + .. example:: + Ten days are allocated to the employee for this particular type of time off, and the + :guilabel:`Extra Days Requests Allowed` option is enabled. The employee wants to take a + vacation for twelve days. They may submit a request for two additional days, since the + :guilabel:`Extra Days Requests Allowed` option is enabled. + + .. important:: + It is important to note that requesting additional time off does **not** guarantee that time + off is granted. + +- :guilabel:`Approval`: select the type of approvals required for the allocation of this particular + time off type. - - :guilabel:`No validation needed` indicates that no approvals are required. - :guilabel:`Approved by Time Off Officer` indicates the :ref:`Time Off Officer ` set on this form must approve the allocation. - - :guilabel:`Set by Time Off Officer` indicates that the :ref:`Time Off Officer - ` set on this form must allocate the time off. + - :guilabel:`No validation needed` indicates that no approvals are required. + +Configuration section +********************* + + .. _`time_off/time-off-officer`: + +- :guilabel:`Notified Time Off Officer`: select the person who is notified and responsible for + approving requests and allocations for this specific type of time off. +- :guilabel:`Take Time Off in`: select the format the time off is requested in from the drop-down + menu. + + The options are: + + - :guilabel:`Day`: if time off can only be requested in full day increments (8 hours). + - :guilabel:`Half Day`: if time off can only be requested in half day increments (4 hours). + - :guilabel:`Hours`: if the time off can be taken in hourly increments. + + .. _`time_off/deduct-extra-hours`: + +- :guilabel:`Deduct Extra Hours`: enable this option if the time off request should factor in any + extra time accrued by the employee + + .. example:: + If an employee works two extra hours for the week, and requests five hours of time off, the + request would be for three hours, since the two extra worked hours are used first, and deducted + from the request. + +- :guilabel:`Allow To Attach Supporting Document`: enable this option to allow the employee to + attach documents to the time off request. This is useful in situations where documentation is + required, such as long-term medical leave. +- :guilabel:`Kind of Time Off`: select from the drop-down menu the type of time off this is, either + :guilabel:`Worked Time` or :guilabel:`Absence`. :guilabel:`Worked Time` indicates that the time + off taken counts toward worked time for any type of accrual the employee is working towards, + whereas :guilabel:`Absence` does not count toward any type of accrual. +- :guilabel:`Company`: if multiple companies are created in the database, and this time off type + only applies to one company, select the company from the drop-down menu. If this field is left + blank, the time off type applies to all companies in the database. This field **only** appears in + a multi-company database. + +Negative Cap section +******************** + +Enable the :guilabel:`Allow Negative Cap` option if employees are able to request more time off than +they currently have, allowing a negative balance. If enabled, an :guilabel:`Amount in Negative` +field appears. In this field, enter the maximum amount of negative time allowed, in days. + +.. example:: + Sara currently has three days of the time off type `Vacation`. She is planning a trip that + requires five days of time off. + + The `Vacation` time off type has the :guilabel:`Allow Negative Cap` option enabled, and the + :guilabel:`Amount in Negative` is set to five. + + These settings allow Sara to submit a request for five days of the `Vacation` time off type. If + approved, her `Vacation` time off balance will be negative two (-2) days. + +.. image:: time_off/time-off-type-form-top.png + :align: center + :alt: The top half of the time off type form, with all the information filled out for sick time + off. Payroll section *************** @@ -137,27 +179,23 @@ Timesheets section The :guilabel:`Timesheets` section only appears if the user is in developer mode. Refer to the :ref:`developer-mode` document for details on how to access the developer mode. -When an employee takes time off and is also using timesheets, Odoo creates entries in the timesheet -for the time off. This section defines how they are entered. +When an employee takes time off, and is also using timesheets, Odoo creates entries in the +*Timesheets* application for the time off. This section defines how they are entered. - :guilabel:`Project`: select the project that the time off type entries appear in. - :guilabel:`Task`: select the task that appears in the timesheet for this time off type. The - options are: :guilabel:`Time Off`, :guilabel:`Meeting`, or :guilabel:`Training`. + default options are: :guilabel:`Time Off`, :guilabel:`Meeting`, or :guilabel:`Training`. -Display option section +Display Option section ********************** - :guilabel:`Color`: select a color to be used in the *Time Off* application dashboard. - :guilabel:`Cover Image`: select an icon to be used in the *Time Off* application dashboard. -.. note:: - The only required fields on the time off type form are the name of the :guilabel:`Time Off Type`, - the :guilabel:`Approval`, the :guilabel:`Responsible Time Off Officer`, :guilabel:`Take Time Off - in`, :guilabel:`Kind of Leave`, and the :guilabel:`Allocation Requests` section. - -.. image:: time_off/time-off-type-form.png +.. image:: time_off/time-off-type-form-bottom.png :align: center - :alt: Time off type form with all the information filled out for sick time off. + :alt: The lower half of the time off type form, with all the information filled out for sick time + off. .. _time_off/accrual-plans: @@ -169,96 +207,127 @@ employee works (hour, day, week, etc), they earn or *accrue* a specified amount .. example:: If an employee accrues a vacation day for every week they work, they would earn 0.2 vacation days - for each hour they work. At the end of a forty (40) hour work week, they earn a whole vacation + for each hour they work. At the end of a forty hour work week, they would earn one whole vacation day (8 hours). Create accrual plan ~~~~~~~~~~~~~~~~~~~ To create a new accrual plan, navigate to :menuselection:`Time Off app --> Configuration --> Accrual -Plans`. Then, click the :guilabel:`Create` button, which reveals a blank accrual plan form. +Plans`. Then, click the :guilabel:`New` button, which reveals a blank accrual plan form. -Enter the accrual plan name in the :guilabel:`Name` field. If the accrual plan only applies to a -specific time off type, select it from the drop-down menu. If this accrual plan is available for all -time off types, leave this field blank. +Enter the following information on the form: -Next, select how the :guilabel:`Level Transition` occurs, either :guilabel:`Immediately` or -:guilabel:`After this accrual's period`. By default, the first level begins once the time off is -approved if the time off is based on an accrual plan. If :guilabel:`Immediately` is selected, then -the next level begins according to the time frame set on the level. If :guilabel:`After this -accrual's period` is selected, the next level does not begin until the first level is completed -according to the rules set on it. +- :guilabel:`Name`: enter the accrual plan name. +- :guilabel:`Accrued Gain Time`: select when the employee begins to accrue time off, either + :guilabel:`At the start of the accrual period` or :guilabel:`At the end of the accrual period`. +- :guilabel:`Carry-Over Time`: select when the employee received previously earned time. The options + are: + + - :guilabel:`At the start of the year`: select this if the accrual rolls over on January 1 of the + upcoming year. + - :guilabel:`At the allocation date`: select this if the accrual rolls over as soon as time is + allocated to the employee. + - :guilabel:`Other`: select this option if neither of the other two options are applicable. When + selected, a :guilabel:`Carry-Over Date` field appears. Select the date using the two drop-down + menus, one for the day and one for the month. + +- :guilabel:`Based on worked time`: enable this option if time off accrual is determined by the + employee's worked hours. Days **not** considered as worked time do **not** contribute to the + accrual plan in Odoo. +- :guilabel:`Milestone Transition`: this selection determines when employees move up to a new + milestone. If they qualify to change milestones in the middle of a pay period, select if the + employee changes milestones :guilabel:`Immediately` or :guilabel:`After this accrual's period` + (after the current pay period). + + .. important:: + The :guilabel:`Milestone Transition` field is **only** visible after a minimum of two + :ref:`rules ` have been configured on the accrual plan. + +- :guilabel:`Company`: using the drop-down menu, select the company the accrual plan applies to. If + left blank, the accrual plan can be used for all companies. This field only appears in a + multi-company database. + +.. image:: time_off/accrual-plan-form.png + :align: center + :alt: An accrual plan form with all the entries filled out. + +.. _time_off/rules: Rules ***** -Rules must be created in order for the accrual plan to accrue time off. +Rules must be created in order for employees to accrue time off from the accrual plan. -To create a new rule, click the :guilabel:`Add A New Level` button right beneath the word `Rules`, -and a :guilabel:`Create Level` pop-up form appears. +To create a new rule, click the :guilabel:`New Milestone` button in the gray :guilabel:`Rules` +section, and a :guilabel:`Create Milestone` modal form appears. Fill out the following fields on the form: -- :guilabel:`Start after (#) (time period) after allocation date`: enter the number and value of the - time period that must pass before the employee starts to accumulate time off. The first value is - numerical; enter a number in the first field. +- :guilabel:`Employee accrue`: select the parameters for earned time off in this section. + + First, select either :guilabel:`Days` or :guilabel:`Hours` for the increment of accrued time using + the drop-down menu. + + Next, enter the numerical amount of the selected parameter that is accrued. The numerical format + is `X.XXXX`, so that partial days or hours can also be configured. + + Last, select how often the time is accrued using the drop-down menu. The default options are + :guilabel:`Hourly`, :guilabel:`Daily`, :guilabel:`Weekly`, :guilabel:`Twice a month`, + :guilabel:`Monthly`, :guilabel:`Twice a year`, and :guilabel:`Yearly`. + + Depending on which option is selected, additional fields may appear. For example, if + :guilabel:`Twice a month` is selected, two additional fields appear, to specify the two days of + each month that the milestone occurs. +- :guilabel:`Cap accrued time`: if there is a maximum amount of days the employee can accrue with + this plan, enable this option. + + When enabled, two additional fields appear beneath it. Select the type of time period from the + drop-down menu, either :guilabel:`Days` or :guilabel:`Hours`. + + Then, enter a numerical value in the field to specify the maximum amount of time that can be + accrued. +- :guilabel:`Milestone reached`: enter the number and value of the time period that must pass before + the employee starts to accumulate time off. The first value is numerical; enter a number in the + first field. Then, select the type of time period using the drop-down menu in the second field. The options - are: :guilabel:`day(s)`, :guilabel:`month(s)`, or :guilabel:`year(s)`. -- :guilabel:`Based on worked time`: tick this box if the accrual of time off is based on the time - the employee has worked. If an employee takes time off that is *not* considered a worked day, Odoo - will not count that day towards their accrual plan. -- :guilabel:`Rate (#) (time)`: enter the rate of time off that is accumulated. The first value is - numerical; enter a number in the first field. Whole numbers are not necessary, any decimal value - may be entered. + are: :guilabel:`Days`, :guilabel:`Months`, or :guilabel:`Years`. +- :guilabel:`Carry over`: select how any unused time off is handled. The options are either: - Next, in the second field, select the type of time accrued using the drop-down menu. The options - are either :guilabel:`Days` or :guilabel:`Hours`. -- :guilabel:`Frequency (X)`: select how often the employee accrues the time off for this rule using - the drop-down menu. The options are :guilabel:`Daily`, :guilabel:`Weekly`, :guilabel:`Twice a - month`, :guilabel:`Monthly`, :guilabel:`Twice a year`, or :guilabel:`Yearly`. + - :guilabel:`None. Accrued time reset to 0`: any unused time off is gone. + - :guilabel:`All accrued time carried over`: all unused time off is rolled over to the next + calendar year. + - :guilabel:`Carry over with a maximum`: unused time off is rolled over to the next calendar year, + but there is a cap. An :guilabel:`Up to` field appears if this is selected. Enter the maximum + number of :guilabel:`Days` that can roll over to the following year. Any time off beyond this + parameter is lost. - Depending on the selection, more fields appear to specify exactly when the accrual renews. +Once the form is completed, click :guilabel:`Save & Close` to save the form and close the modal, or +click :guilabel:`Save & New` to save the form and create another milestone. Add as many milestones +as desired. -.. example:: - If the employee should accrue one vacation day for every week worked, the :guilabel:`Rate` is set - to `1`, and the :guilabel:`Frequency` entry is set to `Frequency (Weekly) on (Friday)`. Only the - :guilabel:`Frequency` and :guilabel:`Weekday` fields appear. - - If the employee should accrue ten (10)vacation days each year, and they receive these days every - year on the first of January, the :guilabel:`Rate` is set to `10`, and the :guilabel:`Frequency` - entry is set to `Frequency (Yearly) on the (1) of (January)`. The :guilabel:`Frequency`, - :guilabel:`Date`, and :guilabel:`Month` fields appear. - -- :guilabel:`Limit to`: enter a maximum amount of days the employee can accrue with this plan. -- :guilabel:`At the end of the calendar year, unused accruals will be`: select from the drop-down - menu how unused time off is handled. - - The options are either :guilabel:`Transferred to the next year`, which rolls over unused time to - the next calendar year, or :guilabel:`Lost`, which means any unused time off is gone. - -.. image:: time_off/new-level.png +.. image:: time_off/milestone.png :align: center - :alt: A level form with all the data filled out. - -When the form is filled out, click :guilabel:`Save & Close` to save the form and close the pop-up, -or :guilabel:`Save & New` to save the form and create a new rule. Add as many levels as desired. - -.. image:: time_off/accrual-plan-form.png - :align: center - :alt: An accrual form with all the entries filled out. + :alt: A milestone form with all the entries filled out. .. _time_off/public-holidays: Public holidays --------------- -Most countries have public or national holidays, and some companies may have specific days they are -closed and/or give extra days as holidays. +To observe public or national holidays, and provide extra days off as holidays to employees, +configure the observed *public holidays* in Odoo. It is important to configure these days in Odoo, so employees are aware of the days they have off, and do not request time off on days that are already set as a public holiday (non-working days). +Additionally, all public holidays configured in the *Time Off* app are also reflected in any app +that uses working schedules, such as *Calendar*, *Planning*, *Manufacturing*, and more. + +Due to Odoo's integration with other apps that use working schedules, it is considered best practice +to ensure *all* public holidays are configured. + Create public holiday ~~~~~~~~~~~~~~~~~~~~~ @@ -267,76 +336,97 @@ Holidays`. All currently configured public holidays appear in a list view. -Click the :guilabel:`Create` button, and a new line appears at the bottom of the list. +Click the :guilabel:`New` button, and a new line appears at the bottom of the list. -Enter the following information: +Enter the following information on that new line: - :guilabel:`Name`: enter the name of the holiday. - :guilabel:`Company`: if in a multi-company database, the current company populates this field by default. It is not possible to edit this field. + + .. note:: + The :guilabel:`Company` field is hidden by default. To view this field, click the two dots in + the top-right corner of the list, to the far-right of the column titles, and activate the + :guilabel:`Company` selection from the drop-down menu that appears. + - :guilabel:`Start Date`: using the date and time picker, select the date and time that the holiday starts. By default, this field is configured for the current date. The start time is set according - to the start time for the company (according to the :ref:`working times `). - If the user's computer is set to a different time zone, the start time is adjusted according to - the difference in the time zone compared to the company's time zone. + to the start time for the company (according to the :ref:`working schedules + `). If the user's computer is set to a different time zone, the start time + is adjusted according to the difference in the time zone, compared to the company's time zone. - :guilabel:`End Date`: using the date and time picker, select the date and time that the holiday ends. By default, this field is configured for the current date, and the time is set to the end - time for the company (according to the :ref:`working times `). If the + time for the company (according to the :ref:`working schedules `). If the user's computer is set to a different time zone, the start time is adjusted according to the - difference in the time zone compared to the company's time zone. + difference in the time zone, compared to the company's time zone. .. example:: - A company is located in San Francisco, and the working times are 9:00 AM - 6:00 PM (an eight - (8) hour work day with a one (1) hour lunch break). A user is located in New York, and their - computer time zone is set to Eastern. When they create a Public Holiday, the start time appears - as 12:00 PM - 9:00 PM, since the time zone is accounted for. If a different user is located in - Los Angeles, and their computer time zone is set to Pacific, when they create a Public Holiday, - the time appears as 9:00 AM - 6:00 PM. + A company located in San Francisco operates from 9:00 AM - 6:00 PM, with an eight hour work day + and one hour lunch break. + + For a user in New York, with a computer time zone set to Eastern Standard Time, a created + public holiday displays a start time of 12:00 PM - 9:00 PM, accounting for the three hour time + zone difference. + + Similarly, a user located in Los Angeles, with a computer time zone set to Pacific Standard + Time, sees a public holiday time as 9:00 AM - 6:00 PM. - :guilabel:`Working Hours`: if the holiday should only apply to employees who have a specific set of working hours, select the working hours from the drop-down menu. If left blank, the holiday applies to all employees. -- :guilabel:`Work Entry Type`: if using the *Payroll* application, this field defines how the work - entry for the holiday appears. Select the work entry type from the drop-down menu. +- :guilabel:`Work Entry Type`: if using the *Payroll* application, this field defines how the + :ref:`work entries ` for the holiday appear. Select the work entry type + from the drop-down menu. .. image:: time_off/holidays.png :align: center :alt: The list of public holidays in the configuration menu. -.. _time_off/allocate: +Mandatory days +-------------- -Overview -======== +Some companies have special days where specific departments, or the entire staff, is required to be +present, and time off is not allowed on those specific days. -To view a color-coded schedule of both the user's time off, and/or the team managed by them, -navigate to :menuselection:`Time Off app --> Overview`. This presents a calendar with the default -filter of :guilabel:`My Team`, in a month view. +These types of days are called *mandatory days* in Odoo. These can be configured to be company-wide, +or department specific. When configured, employees in the specified department or company are unable +to submit time off requests for these mandatory days. -To change the time period displayed, click on either the :guilabel:`Day`, :guilabel:`Week`, -:guilabel:`Month`, or :guilabel:`Year` buttons to present the calendar in that corresponding view. +Create mandatory days +~~~~~~~~~~~~~~~~~~~~~ -Each team member is displayed on a line, and any time off they requested, regardless of the status -(:guilabel:`Validated` or :guilabel:`To Approve`), appears on the calendar. +No mandatory days are configured in Odoo by default. To create a mandatory day, navigate to +:menuselection:`Time Off app --> Configuration --> Mandatory Days`. -Each employee is color-coded. The employee's color is selected at random and does not correspond to -the type of time off they requested. +Click the :guilabel:`New` button in the top-left corner, and a blank line appears in the list. -The status of the time of is represented by the color of the request either appearing solid -(:guilabel:`Validated`) or striped (:guilabel:`To Approve`). +Enter the following information on that new line: -The number of days or hours requested is written on the request (if there is enough space). +- :guilabel:`Name`: enter the name of the mandatory day. +- :guilabel:`Company`: if in a multi-company database, this field is visible, and the current + company populates this field by default. Using the drop-down menu, select the company the + mandatory day is for. +- :guilabel:`Departments`: this column is hidden by default. First, click the :guilabel:`(optional + columns)` icon in the top-right corner, next to :guilabel:`Colors`, and then click the checkbox + next to :guilabel:`Departments` to reveal that column. -At the bottom of the calendar, a bar graph shows how many people are projected to be out on any -given day. The number on the bar represents the number of employees out for those highlighted days. + Next, select the desired departments from the drop-down menu. Multiple departments can be + selected, and there is no limit to the amount of departments that can be added. -Hover over a time off entry to view the details for the specific time off entry. The total number of -hours or days are listed, along with the start and end time of the time off. + If this field is left blank, the mandatory day applies to the entire company. +- :guilabel:`Start Date`: using the calendar picker, select the date the mandatory day starts. +- :guilabel:`End Date`: using the calendar picker, select the date the mandatory day ends. If + creating a single mandatory day, the end date should be the same as the start date. +- :guilabel:`Color`: if desired, select a color from the available presented options. If no color is + desired, select the `No color` option, represented by a white box with a red line diagonally + across it. The selected color appears on the main *Time Off* application dashboard, in both the + calendar and in the legend. -.. image:: time_off/overview.png +.. image:: time_off/mandatory.png :align: center - :alt: Overview of the user's team, with time off requests shown. + :alt: The Mandatory Days section with three configured days. -.. _time_off/reporting: +.. _time_off/allocate: Allocate time off ================= @@ -345,11 +435,12 @@ Once time off types and accrual plans have been configured, the next step is to time off to employees. This section is only visible to users who have either :guilabel:`Time Off Officer` or :guilabel:`Administrator` access rights for the *Time Off* application. -To create a new allocation, navigate to :menuselection:`Time Off app --> Approvals --> Allocations`. +To create a new allocation, navigate to :menuselection:`Time Off app --> Management --> +Allocations`. -This presents a list of all current allocations, including their respective status. +This presents a list of all current allocations, including their respective statuses. -Click :guilabel:`Create` to allocate time off, and a blank allocation form appears. +Click :guilabel:`New` to allocate time off, and a blank allocation form appears. After entering a name for the allocation on the first blank field of the form, enter the following information: @@ -357,32 +448,35 @@ information: - :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 either :guilabel:`Regular Allocation` or :guilabel:`Accrual + Allocation`. If the allocation is **not** based on an accrual plan, select :guilabel:`Regular Allocation`. - :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 with which the allocation is associated. An accrual plan **must** be selected for an :guilabel:`Accrual Allocation`. - :guilabel:`Validity Period/Start Date`: if :guilabel:`Regular Allocation` is selected for the - :guilabel:`Allocation Type`, this field is labeled :guilabel:`Validity Period`. - - Using the calendar, select the beginning date for the allocation. If the allocation expires, - select the expiration date in the next date field. If the time off does *not* expire, leave the - second date field blank. - - If :guilabel:`Accrual Allocation` is selected for the :guilabel:`Allocation Type`, this field is + :guilabel:`Allocation Type`, this field is labeled :guilabel:`Validity Period`. If + :guilabel:`Accrual Allocation` is selected for the :guilabel:`Allocation Type`, this field is labeled :guilabel:`Start Date`. - Using the calendar picker, select the start date for the allocation. If the allocation expires, - select the expiration date in the :guilabel:`Run until` field. If the time off does *not* expire, - leave the :guilabel:`Run until` field blank. -- :guilabel:`Duration`: enter the amount of time that is being allocated to the employees. This + The current date populates the first date field by default. To select another date, click on the + pre-populated date to reveal a popover calendar window. Navigate to the desired start date for the + allocation, and click on the date to select it. + + If the allocation expires, select the expiration date in the next date field. If the time off does + *not* expire, leave the second date field blank. `No Limit` appears in the field if no date is + selected. + + If :guilabel:`Accrual Allocation` is selected for the :guilabel:`Allocation Type`, this second + field is labeled :guilabel:`Run until`. +- :guilabel:`Allocation`: enter the amount of time that is being allocated to the employees. This field displays the time in either :guilabel:`Hours` or :guilabel:`Days`, depending on how the - selected :ref:`Time Off Type ` is configured (in days or hours). + selected :ref:`Time Off Type ` is configured (in hours or days). - :guilabel:`Mode`: using the drop-down menu, select how the allocation is assigned. This selection determines who receives the time off allocation. The options are :guilabel:`By Employee`, :guilabel:`By Company`, :guilabel:`By Department`, or :guilabel:`By Employee Tag`. - Depending on what was selected for the :guilabel:`Mode`, this following field is labeled either: + Depending on what is selected for the :guilabel:`Mode`, this following field is labeled either: :guilabel:`Employees`, :guilabel:`Company`, :guilabel:`Department`, or :guilabel:`Employee Tag`. Using the drop-down menu, indicate the specific employees, company, department, or employee tags @@ -394,6 +488,11 @@ information: - :guilabel:`Add a reason...`: if any description or note is necessary to explain the time off allocation, enter it in this field at the bottom of the form. +.. image:: time_off/new-allocation.png + :align: center + :alt: A new allocation form with all the fields filled out for the annual two week vacation + granted to all employees. + .. _time_off/request-time-off: Request time off @@ -401,58 +500,63 @@ Request time off Once an employee has been allocated time off, a request to use the time off can be submitted. Time off can be requested in one of two ways, either from the :ref:`dashboard ` or -from the :guilabel:`My Time Off` view. +from the :ref:`My Time Off ` view. -To access the dashboard, navigate to :menuselection:`Time Off app --> My Time Off --> Dashboard`. -This is also the default view for the *Time Off* application. +To create a new request for time off, click the :guilabel:`New` button on either the main *Time Off* +:guilabel:`Dashboard` or the :guilabel:`My Time Off` list view. -To access :guilabel:`My Time Off`, navigate to :menuselection:`Time Off app --> My Time Off --> My -Time Off`. This presents a list view of all the time off requests for the employee. +.. note:: + Both :guilabel:`New` buttons allow the user to request time off, but when requested from the + :guilabel:`Dashboard`, a :guilabel:`New Time Off` request form appears in a modal. When requested + from the :guilabel:`My Time Off` list view, the screen navigates to a new time off request page, + instead. -To create a new request for time off, click either the :guilabel:`New Time Off` button on the main -*Time Off* dashboard, or the :guilabel:`Create` button in the :guilabel:`My Time Off` list view. -Both buttons open a new time off request form. - -Enter the following information on the form: +Enter the following information on the :guilabel:`New Time Off` request form: - :guilabel:`Time Off Type`: select the type of time off being requested from the drop-down menu. -- :guilabel:`Dates`: enter the dates that the time off will fall under. There are two fields to - populate, the :guilabel:`From` and :guilabel:`To` fields. Click on either the :guilabel:`From` or - :guilabel:`To` field, and a calendar pop-up appears. +- :guilabel:`Dates`: enter the dates that the time off falls under. There are two fields to + populate, the start and end dates. Click on either date field and a popover calendar appears. - Click on the start date, then click on the end date. The selected start and end dates appear in - deep purple, and the dates between them appear in pale purple (if applicable). + Click on the start date, then click on the end date. The selected start and end dates are circled, + and the dates between them are highlighted (if applicable). If the time off requested is for a single day, click on the start date, then click the same date again for the end date. When the correct dates are selected/highlighted, click the :guilabel:`Apply` button. - The dates now populate the :guilabel:`From` and :guilabel:`To` fields. + The selected dates now populate the two portions of the :guilabel:`Dates` field. - - :guilabel:`Half Day`: if the time off request is for a half day, tick this box. When this is - selected, the :guilabel:`From` date field disappears, and is replaced with a drop-down menu. - Select either :guilabel:`Morning` or :guilabel:`Afternoon` to indicate which half of the day is - being requested. - - :guilabel:`Custom Hours`: if the time off requested is not a whole or half day, tick this box. A - :guilabel:`From` and :guilabel:`To` field appears beneath this option if selected. Using the + If the selected :guilabel:`Time Off Type` is configured to have the time off taken in hours, the + following two fields also appear: + + - :guilabel:`Half Day`: if the time off request is for a half day, check this box. When this is + selected, the second date field disappears, and is replaced with a drop-down menu. From that + drop-down menu, select either :guilabel:`Morning` or :guilabel:`Afternoon` to indicate which + half of the day is being requested. + - :guilabel:`Custom Hours`: if the time off requested is not a whole or half day, check this box. + A :guilabel:`From` and :guilabel:`To` field appears beneath this option, if selected. Using the drop-down menu, select the start and end time for the time off request. - :guilabel:`Duration`: this field updates automatically once the :guilabel:`Date` section is completed. If the :guilabel:`Date` section is modified, this section automatically updates to - reflect the total time off requested. This field is in either hours or days, depending on the - :guilabel:`Date` selections. + reflect the total time off requested. This field is in either hours or days, depending on how the + selected :guilabel:`Time Off Type` is configured. - :guilabel:`Description`: enter a description for the time off request. This should include any details that managers and approvers may need in order to approve the request. - :guilabel:`Supporting Document`: this field only appears if the :guilabel:`Time Off Type` selected allows for the attachments of documents. Click the :guilabel:`Attach File` button, and a file explorer window appears. - Navigate to the file(s) to attach, then click the :guilabel:`Open` button. The files then appear - on the time off request form. Multiple documents can be attached, if necessary. + Navigate to the desired files to attach, select them, then click the :guilabel:`Open` button. The + files then appear on the time off request form. Multiple documents can be attached, if necessary. -When the form is complete, click the :guilabel:`Save` button to save the information, and submit the -request. +If the request was created from the :guilabel:`Dashboard`, click the :guilabel:`Save & Close` button +to save the information and submit the request. + +If the form was completed from the :guilabel:`My Time Off` list view, the information is +automatically saved as it is entered. However, the form can be saved manually at any time by +clicking the *save manually* button, represented by a :guilabel:`(cloud upload)` icon. .. image:: time_off/time-off-request.png :align: center @@ -465,54 +569,121 @@ Request allocation If an employee has used all their time off, or is going to 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 ` or the :guilabel:`My Allocations` view. +:ref:`Dashboard ` or the :ref:`My Allocations ` view. -To access the dashboard, navigate to the :menuselection:`Time Off app --> My Time Off --> -Dashboard`. This is also the default view for the *Time Off* application. - -To access :guilabel:`My Allocations`, navigate to the :menuselection:`Time Off app --> My Time Off ---> My Allocations`. This presents a list view of all the allocations for the employee. - -To create a new allocation request, click either the :guilabel:`Allocation Request` button on the -main *Time Off* dashboard, or the :guilabel:`Create` button in the :guilabel:`My Allocations` list +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. -After entering a name for the allocation in the first blank line on the form, enter the following -information: +.. note:: + Both :guilabel:`New` buttons open a :guilabel:`New Allocation` request form, but when requested + from the :guilabel:`Dashboard`, the form appears in a modal. When requested from the + :guilabel:`My Allocations` list view, the screen navigates to a new allocation request page, + instead. + +Enter the following information on the :guilabel:`New Allocation` request form: - :guilabel:`Time Off Type`: select the type of time off being requested for the allocation from the - drop-down menu. -- :guilabel:`Validity Period`: the current date populates the start date by default. If there is no - expiration on the time off type, there is no date populated as the end date. If the time off type - has an expiration date, the date automatically populates the end date field once the form is - saved. -- :guilabel:`Duration`: enter the amount of time being requested. The format (either days or hours) - is in the same format as the time off type. + drop-down menu. After a selection is made, the title updates with the time off type. +- :guilabel:`Validity Period`: this field **only** appears if requesting an allocation with a time + off type that has the :guilabel:`Take Time Off in` field :ref:`configured + ` to either :guilabel:`Day` or :guilabel:`Half Day`. This field does + **not** appear if the :guilabel:`Take Time Off in` field is set to :guilabel:`Hours`. + + Using the calendar selector, select a start and end date the allocation is valid for. By default, + the current date populates the first field, and :guilabel:`No Limit` populates the second field. + + Adjust both of these dates, if desired. +- :guilabel:`Allocation`: enter the amount of time being requested in this field. The format is + presented in either days or hours, depending on how the 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. This should include any details that managers and approvers may need in order to approve the request. -When the form is complete, click the :guilabel:`Save` button to save the information, and submit the -request. +If the request was created from the :guilabel:`Dashboard`, click the :guilabel:`Save & Close` button +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. However, the form can be saved manually at any time by +clicking the *save manually* button, represented by a :guilabel:`(cloud upload)` icon. .. image:: time_off/allocation-request.png :align: center :alt: An allocation request form filled out for an employee requesting an additional week of sick time. -Approvals -========= +.. _time_off/approvals: -Most requests for time off and allocations need to go through the approval process, prior to the -time off being allocated, and then granted to an employee. Requests either need one or two -approvals, depending on how the specific type of time off is configured. +Management +========== -Only users who can approve allocation and time off requests have the :guilabel:`Approvals` section +Time off and allocation requests typically undergo an approval process before being granted. +Requests either need one or two approvals, if any, depending on how the specific type of time off is +configured. These are all housed under the :guilabel:`Management` section of the *Time Off* +application. + +Only users who can approve allocation and time off requests have the :guilabel:`Management` section visible in the *Time Off* application. -Approve allocations -------------------- +.. _time_off/manage-time-off: -To view allocations that need approval, navigate to :menuselection:`Time Off app --> Approvals --> +Manage time off +--------------- + +To view time off requests that need approval, navigate to :menuselection:`Time Off app --> +Management --> Time Off`. The only time off requests visible on this list are for employees the user +has either :guilabel:`Time Off Officer` or :guilabel:`Administrator` access rights for in the *Time +Off* application. + +The default filter in the :guilabel:`Time Off` list is `Waiting For Me`. This only presents time off +requests that need to be approved for current employees on the user's team, with a status of either +:guilabel:`To Approve` or :guilabel:`Second Approval`. + +The left side of the screen has various grouping options to narrow down the presented time off +requests. Since only time off requests that need to be approved are shown, the only status options +are :guilabel:`All`, :guilabel:`To Approve`, and :guilabel:`Second Approval`. The various +departments the user is a member of, and manages employees under, also appear on the left side of +the screen, under :guilabel:`Departments`. + +.. note:: + If there are no requests that fall under one of the status options or departments, that status + or department is **not** visible on the left-side menu. + +To display time off requests for specific departments only, click on the :guilabel:`Department` on +the left-hand side. Only requests within the selected department are then presented. + +The status column displays the status of each request, with the status highlighted in a specific +color. + +The :guilabel:`To Approve` and :guilabel:`Second Approval` requests are highlighted in yellow and +are the only ones that appear in the list by default. If the `Waiting For Me` filter is removed, +then all statuses appear. :guilabel:`Approved` requests are highlighted in green, :guilabel:`To +Submit` (drafts) requests are highlighted in blue, and the :guilabel:`Refused` requests are +highlighted in gray. + +To approve a time off request, click the :guilabel:`👍 Approve` button at the end of the line. To +validate a time off request that has already been approved, and is waiting on a second approval, +click the :guilabel:`✔️ Validate` button at the end of the line. To refuse a request, click the +:guilabel:`✖️ Refuse` button at the far end of the line. + +.. image:: time_off/time-off-requests.png + :align: center + :alt: Time off requests with the filter, groupings, and status sections highlighted. + +For more details, click anywhere on the time off request line (except for the :guilabel:`👍 +Approve`, :guilabel:`✔️ Validate`, and :guilabel:`✖️ Refuse` buttons) to load the time off request +form. Depending on the rights of the user, changes can be made. + +To modify the request, make any desired changes to the form. All changes are automatically saved. + +It is also possible to approve or refuse the request from this form. Click the :guilabel:`Approve` +button to approve, or the :guilabel:`Refuse` button to refuse the request. + +Manage allocations +------------------ + +To view allocations that need approval, navigate to :menuselection:`Time Off app --> Management --> Allocations`. The only allocations visible on this list are for employees the user has either :guilabel:`Time Off Officer` or :guilabel:`Administrator` access rights for in the *Time Off* application. @@ -525,13 +696,13 @@ shown. The left side of the screen has various grouping options to narrow down the presented allocation requests. -The options are :guilabel:`To Approve`, :guilabel:`To Submit`, :guilabel:`Refused`, and -:guilabel:`Approved`. - +The :guilabel:`Status` options are :guilabel:`To Approve`, :guilabel:`Refused`, and +:guilabel:`Approved`. Click on a specific :guilabel:`Status` to view only requests with that status. To view all allocation requests, click :guilabel:`All`. -It is also possible to display allocation requests by department. Click on the department to only -present allocations for that specific department. +It is also possible to display allocation requests by department. Click on the +:guilabel:`Department` in the left side of the screen to only present allocations for that specific +department. .. note:: The groupings on the left side only present allocation requests that fall under the default @@ -551,81 +722,72 @@ The status column displays the status of each request, with the status highlight color. The :guilabel:`To Approve` requests are highlighted in yellow, :guilabel:`Approved` requests are -highlighted in green, :guilabel:`To Submit` (drafts) requests are highlighted in blue, and the -:guilabel:`Refused` requests are highlighted in gray. +highlighted in green, and the :guilabel:`Refused` requests are highlighted in gray. -To approve an allocation request, click :guilabel:`✔ Validate` at the end of the line, to refuse a -request, click :guilabel:`✖️ Refuse`. +To approve an allocation request, click the :guilabel:`✔ Validate` button at the end of the line. +To refuse a request, click the :guilabel:`✖️ Refuse` button. .. image:: time_off/allocations.png :align: center :alt: Allocations with the filter, groupings, and status sections highlighted. -If more details are needed, click anywhere on the allocation request line (except for :guilabel:`✔ -Validate` and :guilabel:`✖️ Refuse`) to view the request in detail. +If more details are needed, click anywhere on the allocation request line (except for the +:guilabel:`✔ Validate` and :guilabel:`✖️ Refuse` buttons) to view the request in detail. -Depending on the rights of the user, changes can be made on the allocation request form that -appears. To modify the request, click the :guilabel:`Edit` button, make any desired changes, then -click :guilabel:`Save`. +Depending on the rights of the user, changes can be made to the allocation request form that +appears. To modify the request, make any desired changes to the form. All changes are automatically +saved. It is also possible to approve or refuse the request from this form. Click the :guilabel:`Validate` button to approve, or the :guilabel:`Refuse` button to refuse the request. -.. _time_off/approve-time-off: +Overview +======== -Approve time off ----------------- +To view a color-coded schedule of the user's time off, and/or of the team managed by them, navigate +to :menuselection:`Time Off app --> Overview`. This presents a calendar with the default filter of +`My Team`, in a month view. -To view time off requests that need approval, navigate to :menuselection:`Time Off app --> Approvals ---> Time Off`. The only time off requests visible on this list are for employees the user has either -:guilabel:`Time Off Officer` or :guilabel:`Administrator` access rights for the *Time Off* -application. +To change the time period displayed, click on the :guilabel:`Month` button to reveal a drop-down +menu. Then, select either :guilabel:`Day`, :guilabel:`Week`, or :guilabel:`Year` to present the +calendar in that corresponding view. -The default filters in the :guilabel:`Time Off` list are :guilabel:`To Approve`, :guilabel:`My -Team`, :guilabel:`Active Employee`, and :guilabel:`Active Time Off`. This only presents time off -requests that need to be approved for current employees on the user's team, for requests that are -active and *not* in a draft mode. +To navigate forward or backward in time, in the selected increment (:guilabel:`Month`, +:guilabel:`Week`, etc.), click the :guilabel:`← (left arrow)` or :guilabel:`→ (right arrow)` to move +either forward or backward in that specified amount of time. -The left side of the screen has various grouping options to narrow down the presented time off -requests. Since only time off requests that need to be approved are shown, the only status options -are :guilabel:`All` and :guilabel:`To Approve`. +For example, if :guilabel:`Month` is selected, the arrows adjust the view by one month. -To view requests with other statuses, first remove the :guilabel:`To Approve` filter, by clicking -the :guilabel:`✖️ (remove)` icon next to the :guilabel:`To Approve` filter to remove it. +To return to a view containing the current day, click the :guilabel:`Today` button at any time. -To display time off requests for specific departments, click on the department on the left-hand -side. Only requests within the selected department are then presented. +Team members are listed alphabetically on individual lines, and their requested time off, +regardless of the status (*validated* or *to approve*), is visible on the calendar. -The status column displays the status of each request, with the status highlighted in a specific -color. +Each employee is color-coded. The employee's color is selected at random, and does *not* correspond +to the type of time off they requested. -The :guilabel:`To Approve` requests are highlighted in yellow, and are the only ones that appear in -the list by default. If the :guilabel:`To Approve` filter is removed, then all statuses appear. -:guilabel:`Approved` requests are highlighted in green, :guilabel:`To Submit` (drafts) requests are -highlighted in blue, and the :guilabel:`Refused` requests are highlighted in gray. +The status of the time off is represented by the color detail of the request, either appearing solid +(*validated*) or striped (*to approve*). -To approve a time off request, click :guilabel:`👍 Approve` at the end of the line, to refuse a -request, click :guilabel:`✖️ Refuse`. +The number of days or hours requested is written on the request (if there is enough space). -.. image:: time_off/time-off-requests.png +At the bottom of the calendar, in the :guilabel:`Total` line, a bar graph shows how many people are +projected to be out on any given day. The number on each individual bar represents the number of +employees out for those highlighted days. + +Click on a time off entry to view the details for the specific time off entry. The total number of +hours or days are listed, along with the start and end time of the time off. To view the details of +the time off request in a modal, click the :guilabel:`View` button. + +.. image:: time_off/overview.png :align: center - :alt: Time off requests with the filter, groupings, and status sections highlighted. + :alt: Overview of the user's team, with time off requests shown. -If more details are needed, click anywhere on the time off request line (except for :guilabel:`👍 -Approve` and :guilabel:`✖️ Refuse`) to load the time off request form. Depending on the rights of -the user, changes can be made. +My time +======= -To modify the request, click the :guilabel:`Edit` button, make any desired changes, then click -:guilabel:`Save`. - -It is also possible to approve or refuse the request from this form. Click the :guilabel:`Approve` -button to approve, or the :guilabel:`Refuse` button to refuse the request. - -My time off -=========== - -The :guilabel:`My Time Off` section of the *Time Off* application contains the time off dashboard, -as well as the user's time off requests and allocations. +The :guilabel:`My Time` section of the *Time Off* application contains the time off dashboard, as +well as the user's time off requests and allocations. .. _time_off/dashboard: @@ -634,70 +796,99 @@ Dashboard All users have access to the time off dashboard, which is the default view in the *Time Off* application. The dashboard can also be accessed at any point in the application by navigating to -:menuselection:`Time Off app --> My Time Off --> Dashboard`. +:menuselection:`Time Off app --> My Time --> Dashboard`. The current year is displayed, and the current day is highlighted in red. -To change the view, click on the desired button at the top. The options are :guilabel:`Day`, -:guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` (the default). +To change the view, click on the :guilabel:`Year` button to reveal a drop-down menu. Then, select +either :guilabel:`Day`, :guilabel:`Week`, or :guilabel:`Month` to present the calendar in that +corresponding view. -To change the presented dates, click the left and right arrows on either side of the -:guilabel:`Today` button. The calendar view adjusts in increments of the presented view. +To change the presented dates, click the :guilabel:`← (left arrow)` or :guilabel:`→ (right arrow)` +icons to the left of the :guilabel:`Year` button. The calendar view adjusts in increments of the +presented view. -For example, if :guilabel:`Week` is selected, the arrows adjust the view by one week. +For example, if :guilabel:`Year` is selected, the arrows adjust the view by one year. To change the view at any point to a view that includes the current date, click the :guilabel:`Today` button. -Above the calendar view is a summary of the users time off balances. Every time off type that has +Above the calendar view is a summary of the user's time off balances. Every time off type that has been allocated appears in its own summary box. Each summary lists the type of time off, the corresponding icon, the current available balance (in hours or days), and an expiration date (if applicable). -The legend on the right side of the calendar view displays the various time off types, with their -corresponding colors. The status of the time off requests are shown as well. +To view the full details of a time off balance, click the :guilabel:`? (question mark)` icon at the +end of the :guilabel:`(DAYS/HOURS) AVAILABLE` on the time off summary. The complete details are +presented in a popover window, including the :guilabel:`Allocated` time, future :guilabel:`Accrual` +time, :guilabel:`Approved` time off scheduled, :guilabel:`Planned` time off, and the currently +:guilabel:`Available` time off. -Time off that has been validated appears in a solid color (in the color specified in the Time Off -Types part of the legend). Time off requests that still need to be approved appear with white -stripes in the color. Refused time off requests have a colored line through the dates. +.. image:: time_off/balance-details.png + :align: center + :alt: A view of the complete time off balance details in the popover window. -New time off requests can be made from the dashboard. Click the :guilabel:`New Time Off` button at -the top of the dashboard, and a new :ref:`time off form ` appears. +A user is also able to see how much time off they will have accrued in the future. On the right side +of the time off summary blocks, there is a :guilabel:`Balance at the (date)` field. Click on the +date, and a calendar selector popover appears. -New allocation requests can also be made from the dashboard. Click the :guilabel:`Allocation -Request` button at the top of the dashboard to request more time off, and a new :ref:`allocation -form ` appears. +The current date is the default date selected. Navigate to the desired date, and Odoo displays the +time off balances the user will have on that date. This takes into account all time off currently +planned and approved. To return to the current date, click the :guilabel:`Today` button to the right +of the date field. + +On the right side of the calendar, the various time off types are displayed, with their +corresponding colors. The :guilabel:`Legend` explains how the various statuses for time off requests +are presented. + +Time off that has been validated appears in a solid color (in the color specified in the +:guilabel:`Time Off Type` section above the :guilabel:`Legend`). Time off requests that still need +to be approved appear with white stripes in the color. Refused time off requests have a colored line +through the dates. + +New time off requests can be made from the dashboard. Click the :guilabel:`New` button at the top of +the dashboard, and a :ref:`New Time Off ` modal appears. + +New allocation requests can also be made from the dashboard. Click the :guilabel:`New Allocation +Request` button at the top of the dashboard to request more time off, and a :ref:`New Allocation +` modal appears. .. image:: time_off/dashboard.png :align: center :alt: Time off dashboard view with the legend, time off summaries, and view buttons highlighted. +.. _time_off/my-time-off: + My time off ----------- To view a list of all the user's time off requests, navigate to :menuselection:`Time Off app --> My -Time Off --> My Time Off`. Here, all time off requests appear in a list view, both past and -present. +Time --> My Time Off`. Here, all time off requests, both past and present, appear in a list view. -Other than the employee's name, the list includes the following information for each request: the -:guilabel:`Time Off Type`, :guilabel:`Description`, :guilabel:`Start Date`, :guilabel:`End Date`, -:guilabel:`Duration`, and the :guilabel:`Status`. +The list includes the following information for each request: the :guilabel:`Time Off Type`, +:guilabel:`Description`, :guilabel:`Start Date`, :guilabel:`End Date`, :guilabel:`Duration`, and the +:guilabel:`Status`. -A new time off request can be made from this view. Click the :guilabel:`Create` button to -:ref:`request time off `. +A new time off request can be made from this view. Click the :guilabel:`New` button to :ref:`request +time off `. + +.. _time_off/my-allocations: My allocations -------------- -To view a list of all the users allocations, navigate to :menuselection:`Time Off app --> My Time -Off --> My Allocations`. All allocations and requested allocations appear in a list view. +To view a list of all the user's allocations, navigate to :menuselection:`Time Off app --> My Time +--> My Allocations`. All allocations and requested allocations appear in a list view. -The information presented includes: the :guilabel:`Time Off Type`, :guilabel:`Description`, -:guilabel:`Duration`, :guilabel:`Allocation Type`, and the :guilabel:`Status`. +The information presented on the :guilabel:`My Allocations` page includes: the :guilabel:`Time Off +Type`, :guilabel:`Description`, :guilabel:`Amount`, :guilabel:`Allocation Type`, and +:guilabel:`Status`. -A new allocation request can be made from this view, as well. Click the :guilabel:`Create` button to +A new allocation request can be made from this view, as well. Click the :guilabel:`New` button to :ref:`request an allocation `. +.. _time_off/reporting: + Reporting ========= @@ -705,43 +896,67 @@ The reporting feature allows users to view time off for their team, either by em time off. This allows users to see which employees are taking time off, how much time off they are taking, and what time off types are being used. +Any report can be added to a spreadsheet through the *Insert in Spreadsheet* button that appears in +the top-left of a report. If the *Documents* application is installed, an option to add the report +to a spreadsheet appears. If not, the report can be added to a *Dashboard*. + By employee ----------- To view a report of employee time off requests, navigate to :menuselection:`Time Off app --> Reporting --> by Employee`. -The default report is a stacked bar chart with the filters of :guilabel:`Active Employee` and -:guilabel:`Type` in place. +The default report presents the current year's data in a list view, displaying all the employees in +alphabetical order. Each employee's line is collapsed by default. To expand a line, click anywhere +on the line. -Each employee is displayed in their own column, with the bar displaying how many days of each type -of time off type they requested. +The view expands, and has the time off requests organized by time off type. Click anywhere on a time +off type line to expand it, and view all the individual time off requests that fall under that type. -The report can be displayed in other ways. Click the various options at the top of the report to -view the data differently. +The information shown in the list includes: the :guilabel:`Employee` name, :guilabel:`Number of +Days` off requested, the :guilabel:`Start Date`, :guilabel:`End Date`, :guilabel:`Status`, and +:guilabel:`Description`. -The graph options are :guilabel:`Bar Chart`, :guilabel:`Line Chart`, or :guilabel:`Pie Chart`. The -:guilabel:`Bar Chart` includes an option to present the data :guilabel:`Stacked`. Both the -:guilabel:`Bar Chart` and :guilabel:`Line Chart` have options to present the data in either -:guilabel:`Descending` or :guilabel:`Ascending` order. - -.. image:: time_off/bar-chart.png +.. image:: time_off/employee-report.png :align: center - :alt: Report of time off, shown by each employee in a stacked bar chart. + :alt: Report of time off, shown by each employee in a list view. + +The report can be displayed in other ways, as well. Click the corresponding button option in the +top-right corner of the page to view the data in that specific way. The various options are a +:guilabel:`List` (the default view), :guilabel:`Graph`, :guilabel:`Pivot` table, or +:guilabel:`Calendar` view. + +.. image:: time_off/report-options.png + :align: center + :alt: The various other views highlighted, for the employee time off report. + +When a selection has been made, additional options appear for that particular selection. For more +detailed information on the reports and their various options, refer to the :doc:`reporting +<../essentials/reporting>` documentation. By type ------- -To view a list of approved time off, organized by time off type, navigate to :menuselection:`Time -Off app --> Reporting --> by Type`. This shows each time off type in its own section. +To view a list of all time off, organized by time off type, navigate to :menuselection:`Time Off app +--> Reporting --> by Type`. This shows all time off requests in a default bar chart. -Click on a time off type to expand the list. Each request is listed, with the following information -displayed: the :guilabel:`Employee`, :guilabel:`Number of Days`, :guilabel:`Request Type`, -:guilabel:`Start Date`, :guilabel:`End Date`, :guilabel:`Status`, and the :guilabel:`Description`. +Hover over a bar to view the :guilabel:`Duration (Days)` of that specific time off type. -The default filters in place for this report are :guilabel:`Approved Requests`, :guilabel:`Active -Employee`, the :guilabel:`Current Year`, and the :guilabel:`Type`. - -.. image:: time_off/type-report.png +.. image:: time_off/bar-chart.png :align: center - :alt: Report of time off by type, with each request detailed in the list. + :alt: The various time off types, and how many days requested, in a bar chart. Details are + highlighted in a red box. + +Click on a bar to go to a detailed list view of all the time off requests for that time off type. + +Each request is listed, with the following information displayed: the :guilabel:`Employee`, +:guilabel:`Number of Days`, :guilabel:`Request Type`, :guilabel:`Start Date`, :guilabel:`End Date`, +:guilabel:`Status`, and the :guilabel:`Description`. + +The report can be displayed in other ways, as well. Click the corresponding button option in the +top-right corner of the page to view the data in that way. The various options are a +:guilabel:`Graph` (the default view), :guilabel:`List`, or :guilabel:`Pivot` table. + +When a selection has been made, additional options appear for that particular selection. For more +detailed information on the reports and their various options, refer to the :doc:`reporting +<../essentials/reporting>` documentation. diff --git a/content/applications/hr/time_off/accrual-plan-form.png b/content/applications/hr/time_off/accrual-plan-form.png index 296afb9e0..8eb1593bf 100644 Binary files a/content/applications/hr/time_off/accrual-plan-form.png and b/content/applications/hr/time_off/accrual-plan-form.png differ diff --git a/content/applications/hr/time_off/allocation-request.png b/content/applications/hr/time_off/allocation-request.png index 66720cb3a..df49953dc 100644 Binary files a/content/applications/hr/time_off/allocation-request.png and b/content/applications/hr/time_off/allocation-request.png differ diff --git a/content/applications/hr/time_off/allocations.png b/content/applications/hr/time_off/allocations.png index 5b21f01ec..d4df92ada 100644 Binary files a/content/applications/hr/time_off/allocations.png and b/content/applications/hr/time_off/allocations.png differ diff --git a/content/applications/hr/time_off/balance-details.png b/content/applications/hr/time_off/balance-details.png new file mode 100644 index 000000000..b4b29a9bc Binary files /dev/null and b/content/applications/hr/time_off/balance-details.png differ diff --git a/content/applications/hr/time_off/bar-chart.png b/content/applications/hr/time_off/bar-chart.png index 78e63f1f9..9eea456a8 100644 Binary files a/content/applications/hr/time_off/bar-chart.png and b/content/applications/hr/time_off/bar-chart.png differ diff --git a/content/applications/hr/time_off/dashboard.png b/content/applications/hr/time_off/dashboard.png index fa235798e..0e0f12458 100644 Binary files a/content/applications/hr/time_off/dashboard.png and b/content/applications/hr/time_off/dashboard.png differ diff --git a/content/applications/hr/time_off/employee-report.png b/content/applications/hr/time_off/employee-report.png new file mode 100644 index 000000000..347f02122 Binary files /dev/null and b/content/applications/hr/time_off/employee-report.png differ diff --git a/content/applications/hr/time_off/mandatory.png b/content/applications/hr/time_off/mandatory.png new file mode 100644 index 000000000..2220be959 Binary files /dev/null and b/content/applications/hr/time_off/mandatory.png differ diff --git a/content/applications/hr/time_off/milestone.png b/content/applications/hr/time_off/milestone.png new file mode 100644 index 000000000..fe61a3afa Binary files /dev/null and b/content/applications/hr/time_off/milestone.png differ diff --git a/content/applications/hr/time_off/new-allocation.png b/content/applications/hr/time_off/new-allocation.png new file mode 100644 index 000000000..ea69f6455 Binary files /dev/null and b/content/applications/hr/time_off/new-allocation.png differ diff --git a/content/applications/hr/time_off/new-level.png b/content/applications/hr/time_off/new-level.png deleted file mode 100644 index 26319f0d2..000000000 Binary files a/content/applications/hr/time_off/new-level.png and /dev/null differ diff --git a/content/applications/hr/time_off/overview.png b/content/applications/hr/time_off/overview.png index 78f983109..b0e16fd29 100644 Binary files a/content/applications/hr/time_off/overview.png and b/content/applications/hr/time_off/overview.png differ diff --git a/content/applications/hr/time_off/report-options.png b/content/applications/hr/time_off/report-options.png new file mode 100644 index 000000000..9a2a44aa7 Binary files /dev/null and b/content/applications/hr/time_off/report-options.png differ diff --git a/content/applications/hr/time_off/time-off-request.png b/content/applications/hr/time_off/time-off-request.png index ee1846cac..5c13230a0 100644 Binary files a/content/applications/hr/time_off/time-off-request.png and b/content/applications/hr/time_off/time-off-request.png differ diff --git a/content/applications/hr/time_off/time-off-requests.png b/content/applications/hr/time_off/time-off-requests.png index f1c0b8a57..b2a24767a 100644 Binary files a/content/applications/hr/time_off/time-off-requests.png and b/content/applications/hr/time_off/time-off-requests.png differ diff --git a/content/applications/hr/time_off/time-off-type-form-bottom.png b/content/applications/hr/time_off/time-off-type-form-bottom.png new file mode 100644 index 000000000..88907d4ba Binary files /dev/null and b/content/applications/hr/time_off/time-off-type-form-bottom.png differ diff --git a/content/applications/hr/time_off/time-off-type-form-top.png b/content/applications/hr/time_off/time-off-type-form-top.png new file mode 100644 index 000000000..c39517540 Binary files /dev/null and b/content/applications/hr/time_off/time-off-type-form-top.png differ diff --git a/content/applications/hr/time_off/time-off-type-form.png b/content/applications/hr/time_off/time-off-type-form.png deleted file mode 100644 index d72ea48d6..000000000 Binary files a/content/applications/hr/time_off/time-off-type-form.png and /dev/null differ diff --git a/content/applications/hr/time_off/type-report.png b/content/applications/hr/time_off/type-report.png deleted file mode 100644 index 1d9f1aea1..000000000 Binary files a/content/applications/hr/time_off/type-report.png and /dev/null differ