documentation/content/applications/hr/attendances.rst

316 lines
16 KiB
ReStructuredText
Raw Permalink Normal View History

:show-content:
===========
Attendances
===========
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.
.. _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.
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 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
: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/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.
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
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
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.
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.
Extra hours
-----------
This section specifies how extra time 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:`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.
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.
- :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
<time_off/deduct-extra-hours>`.
Overview
========
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
out information is also visible on the :guilabel:`Overview` dashboard.
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 :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
:guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year`, click on the :guilabel:`Day` button to
reveal a drop-down, displaying those other options. Select the desired view, and the dashboard
updates, presenting the selected information. To change the :guilabel:`Day`, :guilabel:`Week`,
:guilabel:`Month`, or :guilabel:`Year` presented, click the :guilabel:`← (left arrow)` or
:guilabel:`→ (right arrow)` buttons on either side of the drop-down menu. To jump back to a view
containing the current day, click the :guilabel:`Today` button. This refreshes the dashboard,
presenting information containing the current day's information.
In the :guilabel:`Day` view, the column for the current hour is highlighted in yellow. If the
:guilabel:`Week` or :guilabel:`Month` view is selected, the column for the current day is
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/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
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.
Filters
~~~~~~~
The default filters that can be selected are:
- :guilabel:`My Attendances`: this filter only presents the user's attendance data.
- :guilabel:`My Team`: this filter presents the attendance data for the user's team.
- :guilabel:`At Work`: this filter displays the attendance data for everyone currently checked in.
- :guilabel:`Errors`: this filter displays any entries with :ref:`errors <attendances/errors>` that
need to be resolved.
- :guilabel:`Check In`: this filter has a drop-down to further select a specific time period. Select
the desired time period from the options presented, a specific month, quarter, or year.
- :guilabel:`Last 7 days`: this filter presents the attendance data for the last seven days.
- :guilabel:`Add Custom Filter`: create a custom filter using the pop-up that appears when this is
selected.
Groups
~~~~~~
The default groups that can be selected are:
- :guilabel:`Check In`: this grouping presents a drop-down menu containing the following time period
options: :guilabel:`Year`, :guilabel:`Quarter`, :guilabel:`Month`, :guilabel:`Week`, and
:guilabel:`Day`. Selected the time period to display all the check-in information, grouped by the
selected time period.
- :guilabel:`Employee`: this group presents the attendance data organized by employee.
- :guilabel:`Check Out`: this grouping presents a drop-down menu containing the following time
period options: :guilabel:`Year`, :guilabel:`Quarter`, :guilabel:`Month`, :guilabel:`Week`, and
:guilabel:`Day`. Selected the time period to display all the check-out information, grouped by the
selected time period.
- :guilabel:`Add Custom Group`: this option displays a drop-down menu with a variety of options to
group the attendance data by, including :guilabel:`City`, :guilabel:`Country`, :guilabel:`Mode`,
and :guilabel:`IP Address`.
.. _attendances/errors:
Attendance log details
----------------------
Odoo captures various time and location details when a user checks in and out. The specific details
provided are determined by the method the user checked in and out.
To view the specific check in and/or check out details for an employee, click on an individual entry
in the overview dashboard.
A detailed attendance log for the user appears in a pop-up window. To close the detailed attendance
log, click the :guilabel:`Save & Close` button in the bottom-left corner of the form.
The detailed attendance log contains the following information:
Main details
~~~~~~~~~~~~
- :guilabel:`Employee`: the name of the employee.
- :guilabel:`Check In`: the date and time the employee checked in.
- :guilabel:`Check Out`: the date and time the employee checked out. This only appears if the
employee has checked out.
- :guilabel:`Worked Hours`: the total amount of time the employee logged for the day, in an hour and
minute format (HH:MM). This value calculates all the checks in and check outs for the day, if the
employee checked in and out multiple times.
- :guilabel:`Extra Hours`: any extra hours the employee logged that is beyond their expected working
hours.
Check in/check out details
~~~~~~~~~~~~~~~~~~~~~~~~~~
The following information appears for both the :guilabel:`Check In` and :guilabel:`Check Out`
sections.
- :guilabel:`Mode`: the method with which the attendance information was gathered.
:guilabel:`Systray` is displayed if the employee logged in and out :ref:`directly from the
database <attendances/check-in>`, :guilabel:`Manual` is displayed if the employee logged in and
out :ref:`using an attendance kiosk <attendances/kiosk-mode-entry>`.
- :guilabel:`IP Address`: the IP address for the computer the employee used to log in or out.
- :guilabel:`Browser`: the web browser the employee used to log in or out.
- :guilabel:`Localization`: the city and country associated with the computer's IP address.
- :guilabel:`GPS Coordinates`: the specific coordinates when the user logged in or out. To view the
specific coordinates on a map, click the :guilabel:`→ View on Maps` button beneath the
:guilabel:`GPS Coordinates`. This opens a map in a new browser tab, with the specific location
pointed out.
.. image:: attendances/details.png
:align: center
:alt: The detailed information for an attendance entry.
Errors
------
Entries that contain an error appear on the overview dashboard in red. In the :guilabel:`Gantt
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.
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
:guilabel:`Check Out` information, click on the :guilabel:`Check In` or :guilabel:`Check Out` field
and a calendar selector appears. Click on the desired date, then use the time selector beneath the
calendar to select the specific time for the entry. When the information is correct, click
: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.
When all the information on the pop-up is correct, click :guilabel:`Save & Close`. When the entry no
longer has an error, the entry appears in gray instead of red.
To delete an entry, click :guilabel:`Remove` on the pop-up instead of making modifications to the
entry.
Reporting
=========
To view attendance reports, click :guilabel:`Reporting` in the top menu. The default report displays
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,
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>`
in the same way as in the :guilabel:`Overview` dashboard.
The data can be presented in either a :guilabel:`Bar Chart`, :guilabel:`Line Chart`, :guilabel:`Pie
Chart`, :guilabel:`Stacked` chart, or in :guilabel:`Descending` or :guilabel:`Ascending` order. To
change the view to any of these charts, click the corresponding button above the displayed chart.
To change the :guilabel:`Measures`, click the :guilabel:`Measures` button and select the desired
measure from the drop-down menu.
The report can also be inserted into a spreadsheet. Click the :guilabel:`Insert in Spreadsheet`
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::
- :doc:`attendances/check_in_check_out`
- :doc:`attendances/kiosks`
- :doc:`attendances/hardware`
.. toctree::
:titlesonly:
attendances/check_in_check_out
attendances/kiosks
attendances/hardware