Skip to content

[IMP] Attendances: updating configurations #12979

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: 18.0
Choose a base branch
from
Open
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
163 changes: 94 additions & 69 deletions content/applications/hr/attendances.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,119 +4,148 @@
Attendances
===========

Odoo's *Attendances* application functions as a time clock. Employees are able to check in and out
Odoo's **Attendances** application functions as a time clock. Employees are able to check in and out
of work using a dedicated device in kiosk mode, while users are also able to check in and out of
work directly from the database. Managers can quickly see who is available at any given time, create
reports to see everyone's hours, and gain insights on which employees are working overtime, or
checking out of work earlier than expected.
work directly from the database. Managers can see who is available at any given time, create reports
to see everyone's hours, and gain insights on which employees are working overtime, or checking out
of work earlier than expected.

.. _attendances/access-rights:

Access rights
=============

It is important to understand how the different access rights affect what options and features users
can access in the *Attendances* application.
can access in the **Attendances** application.

Every user in the database is able to check in and out directly from the database, without needing
access to the *Attendances* application. Additionally, all users can access their own attendance
records from their employee form in the *Employees* app.
access to the **Attendances** application. Additionally, all users can access their own attendance
records from their employee form in the **Employees** app.

Access to both the *Attendances* application, and the various features within the application is
Access to both the **Attendances** application, and the various features within the application is
determined by access rights.

To see what access rights a user has, navigate to the :menuselection:`Settings app --> Users &
Companies: Users`, and click on an individual user. The :guilabel:`Access Rights` tab is visible by
default. Scroll down to the :guilabel:`Human Resources` section to see the setting. For the
default. Scroll down to the :guilabel:`HUMAN RESOURCES` section to view the settings. For the
:guilabel:`Attendances` field, the options are either to leave the field blank or select
:guilabel:`Administrator`.

If the :guilabel:`Administrator` option is selected, the user has full access to the entire
*Attendances* application, with no restrictions. They can view all employee attendance records,
enter *Kiosk mMode* from the application, access all reporting metrics, and make modifications to
the settings. If left blank, the user does **not** have access to the *Attendances* application.
**Attendances** application, with no restrictions. They can view all employee attendance records,
enter *Kiosk Mode* from the application, access all reporting metrics, and make modifications to the
settings. If left blank, the user does **not** have access to the **Attendances** application.

.. note::
If a user does **not** have :guilabel:`Administrator` rights for the **Attendances** app, they
are **not** able to open the app, even though it appears on the main database dashboard. An
:guilabel:`Access Error` pop-up message appears, stating:

`You do not have enough rights to access the fields "attendance_manager_id" on Employee
(hr.employee). Please contact your system administrator.`

Users who cannot access the **Attendances** app can still :doc:`check in and check out
<../hr/attendances/check_in_check_out>` of work within the database, using the :guilabel:`🔴 (red
circle)` or :guilabel:`🟢 (green circle)` that are always available at the top of the database.

.. _attendances/approvers:

Approvers
---------

The **only** other scenario where different information may be accessible in the *Attendances*
application is for approvers. If a user does *not* have administrative rights for the *Attendances*
application, but they are set as an employee's approver for the *Attendances* application, that user
is able to view the attendance records for that specific employee, as well as make modifications to
that employee's attendance records, if necessary. This applies to all employees for whom the user is
listed as the *Attendances* application approver. Approvers are typically managers, though this is
not required.
The **only** other scenario where different information may be accessible in the **Attendances**
application is for approvers. If a user does *not* have administrative rights for the
**Attendances** application, but they are set as an employee's approver for the **Attendances**
application, that user is able to view the attendance records for that specific employee, as well as
make modifications to that employee's attendance records, if necessary. This applies to all
employees for whom the user is listed as the **Attendances** application approver. Approvers are
typically managers, though this is not required.

To see who the attendance approver is for an employee, navigate to the :menuselection:`Employees
application` and click on the specific employee. Click on the :guilabel:`Work Information` tab,
scroll to the :guilabel:`Approvers` section, and check the :guilabel:`Attendance` field. The person
selected is able to view that employees' attendance records, both on the *Attendances* application
scroll to the :guilabel:`APPROVERS` section, and check the :guilabel:`Attendance` field. The person
selected is able to view that employees' attendance records, both on the **Attendances** application
dashboard as well as in the attendance reports, and make modifications to their records.

Configuration
=============

Few configurations are needed in the *Attendances* application. Determining how employees check in
Few configurations are needed in the **Attendances** application. Determining how employees check in
and out, defining how the kiosks function, and determining how extra hours are computed are all set
in the Configuration menu. Navigate to the :menuselection:`Attendances application -->
Configuration` to access the configuration menu.

.. note::
Any configuration item with an :icon:`fa-building-o` :guilabel:`(building)` icon is a
company-specific configuration. Items without an :icon:`fa-building-o` :guilabel:`(building)`
icon apply to all companies within the database.

Modes
-----

- :guilabel:`Attendances from Backend`: activate this selection to allow users to check in and out
directly from the Odoo database. If this is not activated, users must use a kiosk to check in and
out of work.
- :guilabel:`Attendances from Backend` :icon:`fa-building-o`: activate this selection to allow users
to check in and out directly from the Odoo database. If this is not activated, users must use a
kiosk to check in and out of work.
- :guilabel:`Automatic Check-Out` :icon:`fa-building-o`: activate this selection to automatically
check-out employees according to their working schedule, after a buffer of time has passed.
- :guilabel:`Tolerance`: this field appears only when the :guilabel:`Automatic Check-Out`
:icon:`fa-building-o` option is enabled. Enter the amount of time, in hours, that must elapse
after an employee's working hours have ended, before they are automatically checked out.

.. example::
A company activates the :guilabel:`Automatic Check-Out` :icon:`fa-building-o` option, and sets
the :guilabel:`Tolerance` to `2.00` hours. An employee's working hours are from 9:00 AM to 5:00
PM.

An employee checks in to work at 9:00 AM, and forgets to check-out. At 7:00 PM, they are
automaticlaly checked-out according to the configurations entered.

- :guilabel:`Absence Management` :icon:`fa-building-o`: activate this selection to log any absences
that are not associated with a time off request, such as vacation time or sick time, on the
attendances report.

Extra hours
Extra Hours
-----------

This section specifies how extra time is calculated, including when extra time is counted and what
time is not logged.
This section specifies how extra time (sometimes referred to as *overtime*) is calculated, including
when extra time is counted and what time is not logged.

- :guilabel:`Count of Extra Hours`: enable this box to allow employees to log extra hours beyond
their set working hours (sometimes referred to as *overtime*). Activating this selection displays
the following settings as well. If this is not activated, no other configurations appear.
- :guilabel:`Tolerance Time In Favor Of Company`: enter the amount of time, in minutes, that is
**not** counted towards an employee's overtime. When an employee checks out, and the extra time
logged is below the specified minutes, the extra time is **not** counted as overtime for the
employee.
- :guilabel:`Tolerance Time In Favor Of Employee`: enter the amount of time, in minutes, that an
employee is given, that does **not** adversely affect their attendance if they log less time than
their working hours. When an employee checks out, and the total time logged for the day is less
than their specified working hours and less than this specified grace period, they are **not**
penalized for their reduced hours.

- :guilabel:`Start From`: the current date is automatically entered in this field. If desired,
click on this field and use the calendar selector to modify the start date on which extra hours
are logged.
- :guilabel:`Tolerance Time In Favor Of Company`: enter the amount of time, in minutes, that is
**not** counted towards an employee's overtime. When an employee checks out, and the extra time
logged is below the specified minutes, the extra time is **not** counted as overtime for the
employee.
- :guilabel:`Tolerance Time In Favor Of Employee`: enter the amount of time, in minutes, that an
employee is given, that does **not** adversely affect their attendance if they log less time
than their working hours. When an employee checks out, and the total time logged for the day is
less than their specified working hours and less than this specified grace period, they are
**not** penalized for their reduced hours.
.. example::
A company sets both of the :guilabel:`Tolerance` fields to `15` minutes, and the working hours
for the entire company are set from 9:00 AM to 5:00 PM.

.. example::
A company sets both of the :guilabel:`Tolerance` fields to `15` minutes, and the working
hours for the entire company are set from 9:00 AM to 5:00 PM.
If an employee checks in at 9:00 AM, and checks out at 5:14 PM, the extra 14 minutes are
**not** counted towards their overtime.

If an employee checks in at 9:00 AM, and checks out at 5:14 PM, the extra 14 minutes are
**not** counted towards their overtime.
If an employee checks in at 9:05 AM, and checks out at 4:55 PM, even though they logged a total
of 10 minutes less than their full working hours, they are **not** penalized for this
discrepancy.

If an employee checks in at 9:05 AM, and checks out at 4:55 PM, even though they logged a
total of 10 minutes less than their full working hours, they are **not** penalized for this
discrepancy.
- :guilabel:`Extra Hours Validation` :icon:`fa-building-o`: tick either the radio button next to
:guilabel:`Automatically Approved` to have all extra time automatically approved, or
:guilabel:`Approved by Manager` if all extra time should be reviewed and approved by a manager.

- :guilabel:`Display Extra Hours`: activate this box to display the extra hours logged by an
employee when they check out with a kiosk, or when a user checks out in the database.
- :guilabel:`Display Extra Hours`: activate this box to display the extra hours logged by an
employee when they check out with a kiosk, or when a user checks out in the database.

.. note::
Employees are still able to log overtime hours even if the :guilabel:`Count of Extra Hours`
option is not activated. The difference is that when :guilabel:`Count of Extra Hours` is
activated, the extra hours can be :ref:`deducted from an approved time off request
Approved extra hours can be :ref:`deducted from an approved time off request
<time_off/deduct-extra-hours>`.

Overview
========

When entering the *Attendances* application, the :guilabel:`Overview` dashboard is presented,
When entering the **Attendances** application, the :guilabel:`Overview` dashboard is presented,
containing all the check in and check out information for the signed in user. If the user has
specific :ref:`access rights <attendances/access-rights>` and/or are :ref:`approvers
<attendances/approvers>` for specific employees, then those additional employee's check in and check
Expand All @@ -126,7 +155,7 @@ Views
-----

To change the view from the default Gantt chart to a list view, click the :guilabel:`List` icon in
the top right of the dashboard, beneath the user's photo. To switch back to the Gantt chart, click
the top-right of the dashboard, beneath the user's photo. To switch back to the Gantt chart, click
the :guilabel:`Gantt` button, located next to the :guilabel:`List` button.

The default view presents the current day's information. To present the information for the
Expand All @@ -143,24 +172,23 @@ In the :guilabel:`Day` view, the column for the current hour is highlighted in y
highlighted. If the :guilabel:`Year` view is selected, the current month is highlighted.

.. image:: attendances/overview.png
:align: center
:alt: The overview dashboard presenting the information for the week, with the current day
highlighted.

Any entries that have errors appear in red, indicating they need to be resolved by a user with the
proper :ref:`access rights <attendances/access-rights>` and/or are :ref:`approvers
<attendances/approvers>` for the employee(s) with the errors.
<attendances/approvers>` for the employees with the errors.

.. _attendances/filters-groups:

Filters and groups
------------------

To filter the results in the overview dashboard, or to present different groups of information,
click the :guilabel:`🔻 (triangle drop down)` button in the right side of the :guilabel:`Search` bar
click the :guilabel:`🔻 (triangle drop-down)` button in the right side of the :guilabel:`Search` bar
above the dashboard, and select one of the available :guilabel:`Filters` or :guilabel:`Group By`
options. There are several pre-configured filters and groups to choose from, as well as an option to
create custom ones.
options. Several preconfigured filters and groups are available to choose from, as well as an option
to create custom ones.

Filters
~~~~~~~
Expand Down Expand Up @@ -244,7 +272,6 @@ sections.
pointed out.

.. image:: attendances/details.png
:align: center
:alt: The detailed information for an attendance entry.

Errors
Expand All @@ -254,8 +281,8 @@ Entries that contain an error appear on the overview dashboard in red. In the :g
view`, the entry appears with a red background. If in the :guilabel:`List view`, the entry text
appears in red.

An error typically occurs when an employee has checked in but has not checked out within the last
24 hours, or when an employee has a check in and check out period spanning over 16 hours.
An error typically occurs when an employee has checked in but has not checked out within the last 24
hours, or when an employee has a check in and check out period spanning over 16 hours.

To fix the error, the attendance entry must be modified or deleted. Click on the entry to reveal a
pop-up containing the details for that particular entry. To modify the :guilabel:`Check In` and/or
Expand All @@ -265,7 +292,6 @@ calendar to select the specific time for the entry. When the information is corr
:guilabel:`Apply.`

.. image:: attendances/errors.png
:align: center
:alt: The pop-up that allows for modifications to an attendance entry with an error. The calendar
selector is shown, and the time selector is highlighted.

Expand All @@ -282,7 +308,7 @@ To view attendance reports, click :guilabel:`Reporting` in the top menu. The def
each employee's attendance information for the past 3 months, in a :guilabel:`Line Chart`.

The default view is a :guilabel:`Graph`. To view the data in a pivot table, click the
:guilabel:`Pivot Table` button on the top right of the report. To switch back to the graph view,
:guilabel:`Pivot Table` button on the top-right of the report. To switch back to the graph view,
click the :guilabel:`Graph` button, located next to the :guilabel:`Pivot Table` button.

To present different information, adjust the :ref:`filters and groups <attendances/filters-groups>`
Expand All @@ -299,7 +325,6 @@ The report can also be inserted into a spreadsheet. Click the :guilabel:`Insert
button and a pop-up appears. Select the desired spreadsheet, and click :guilabel:`Confirm`.

.. image:: attendances/reporting.png
:align: center
:alt: The default report view, with all the optional view buttons highlighted.

.. seealso::
Expand Down