[IMP] attendances: fixed typo and added details section

closes odoo/documentation#8142

X-original-commit: 1f1f574615
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
This commit is contained in:
Lara Martini (larm) 2024-03-07 14:07:14 -05:00
parent cb948c7f05
commit b09b8847bf
3 changed files with 162 additions and 84 deletions

View File

@ -11,26 +11,26 @@ 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, and
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 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
Access rights
=============
It is important to understand how the different access rights affect what users can access in the
*Attendances* application.
Every user in the database is always able to access their own information on the dashboard, and can
Every user in the database is always able to access their own information on the dashboard and can
check in and out directly from the database. Access to all the other features is determined by
access rights.
To see what access rights a user has, navigate to the :menuselection:`Settings application --> 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:`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
@ -39,36 +39,35 @@ enter kiosk mode from the application, access all reporting metrics, and make mo
settings.
If left blank, the user can only view their own information on the *Attendances* application
dashboard, and can view their own personal attendance records under the reporting feature. Everyone
else's attendance records will be hidden from view on the report. There is no access to either the
kiosk mode or the configuration menu.
dashboard and can view their own personal attendance records under the reporting feature. All other
attendance records are hidden from view on the report. There is no access to either the kiosk mode
or the configuration menu.
.. _attendances/approvers:
Approvers
---------
The only other scenario where different information may be accessible in the *Attendances*
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
will be able to view the attendance records for that specific employee, as well as make
modifications to that employee's attendance records (when necessary). This applies to all employee's
the user is listed as the *Attendances* application approver. Approvers are typically managers,
though this is not necessary.
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, and
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 will be 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.
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
=============
There are very few configurations 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-->
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
@ -81,8 +80,8 @@ Modes
:guilabel:`Manual Selection`.
.. important::
The *Barcode* application **does not** need to be installed in order to use one of the
Barcode/RFID settings.
The *Barcode* application **does not** need to be installed to use one of the Barcode/RFID
settings.
- :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
@ -90,62 +89,75 @@ Modes
.. _attendances/kiosk-settings:
Kiosk Settings
Kiosk settings
--------------
This section only needs to be configured if employees use kiosks for checking in and out. If kiosks
are *not* being used, modifying any of these fields will **not** adversely affect the functionality
of the Attendances application.
are **not** being used, modifying any of these fields does **not** adversely affect the
*Attendances* application.
- :guilabel:`Barcode Source`: this setting appears if either of the two Barcode/RFID selections were
configured for the :ref:`Kiosk Mode <attendances/kiosk-mode>` setting. Select how barcodes are
scanned at the kiosk, either with a dedicated barcode :guilabel:`Scanner`, or the device's
:guilabel:`Front Camera`, or :guilabel:`Back Camera`.
- :guilabel:`Barcode Source`: this setting appears **only** if either of the two Barcode/RFID
selections were configured for the :ref:`Kiosk Mode <attendances/kiosk-mode>` setting. Select how
barcodes are scanned at the kiosk, either with a dedicated barcode :guilabel:`Scanner`, or the
device's :guilabel:`Front Camera`, or :guilabel:`Back Camera`.
- :guilabel:`Employee PIN Identification`: activate this option if employees should use a unique PIN
to check in. PINs are configured on each individual employee record. Refer to the
:doc:`../hr/employees/new_employee` documentation for more information on setting up PINs.
- :guilabel:`Display Time`: set the duration (in seconds) the check in and check out confirmation
screen remains on the kiosk before going back to the main check in screen.
- :guilabel:`Attendance Kiosk Url`: Odoo generates a unique web address (URL) in order to use a
device as a kiosk without having to sign in to the Odoo database. When setting up a kiosk device,
navigate to this unique web address in a web browser to present the Attendances application kiosk.
- :guilabel:`Attendance Kiosk Url`: Odoo generates a unique web address (URL) to use a device as a
kiosk without having to sign in to the Odoo database. When setting up a kiosk device, navigate to
this unique web address in a web browser to present the Attendances application kiosk.
.. important::
These kiosk URLs are **not** secured with any type of access code. Anyone who has the URL can
access the Attendances application kiosk. If the URL is compromised for any reason, such as in
the event of a security breach, click :guilabel:`Generate a new Kiosk Mode URL`, located
beneath the link, to generate a new URL and update the kiosk(s) accordingly.
beneath the link, to generate a new URL and update the kiosk accordingly.
Extra Hours
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 that extra hours will
be logged.
- :guilabel:`Tolerance Time In Favor Of Company`: enter the amount of time, in minutes, that will
*not* count towards an employee's overtime. When an employee checks out, and the extra time
logged is below the specified minutes, the extra time will *not* be counted as overtime for the
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 will 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 will not be
penalized for their reduced hours.
- :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.
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 is 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.
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 will not be penalized for this
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>`.
.. _attendances/check-in:
Check in and out via the database
@ -169,47 +181,58 @@ Check in
If the attendance widget circle is red, this indicates the user is not currently checked in. Click
the :guilabel:`🔴 (red circle)` and the attendance widget appears, displaying a green
:guilabel:`Check in ->` button.
:guilabel:`Check in ➡️` button.
.. image:: attendances/check-in.png
:align: center
:alt: Top right main menu with check in button highlighted.
When the user checks in from the database, the *Attendances* app logs the location details for the
user, including the IP Address and GPS coordinates.
.. important::
For the *Attendances* app to log the location details, the user must allow their computer to
access their location information.
If the user has not checked in and out already during the current work day, this button is the only
visible item in the widget. If the user has previously checked in and out, a :guilabel:`Total today`
field appears above the button, and the total amount of time that has been logged for the day
appears beneath that field, in an :guilabel:`XX:XX` (hours:minutes) format.
appears beneath that field, in an :guilabel:`HH:MM` (hours:minutes) format.
Click the :guilabel:`Check in ->` button to check in. The :guilabel:`🔴 (red circle)` in the top
Click the :guilabel:`Check in ➡️` button to check in. The :guilabel:`🔴 (red circle)` in the top
menu changes to green, and the widget changes appearance as well. The widget updates to reflect that
the user has checked in, by changing the green :guilabel:`Check in ->` button to a yellow
:guilabel:`Check out ->` button.
the user has checked in, by changing the green :guilabel:`Check in ➡️` button to a yellow
:guilabel:`Check out ➡️` button.
Click anywhere on the screen to close the attendance widget.
Check out
---------
If the user is checking out for the first time, :guilabel:`Since XX:XX (AM/PM)` appears at the top
If the user is checking out for the first time, :guilabel:`Since HH:MM (AM/PM)` appears at the top
of the widget, with the time the user checked in populating the time field. Beneath that line,
:guilabel:`XX:XX` is displayed, indicating the hours and minutes that have elapsed since checking
:guilabel:`HH:MM` is displayed, indicating the hours and minutes that have elapsed since checking
in. As time passes, this value is updated to reflect the hours and minutes that have passed since
the user checked in.
If the user has previously checked in and out, additional fields are presented. A :guilabel:`Before
XX:XX (AM/PM)` field appears in addition to the :guilabel:`Since XX:XX (AM/PM)` field. The time
HH:MM (AM/PM)` field appears in addition to the :guilabel:`Since HH:MM (AM/PM)` field. The time
displayed in both of these fields are populated with the most recent check in time, and will match.
Beneath the :guilabel:`Before XX:XX (AM/PM)` field, the previously logged hours are displayed, in an
:guilabel:`XX:XX` (hours:minutes) format.
Beneath the :guilabel:`Before HH:MM (AM/PM)` field, the previously logged hours are displayed, in an
:guilabel:`HH:MM` (hours:minutes) format.
In addition, beneath both of these fields, a :guilabel:`Total today` field appears. This field is
the sum of both the :guilabel:`Before XX:XX (AM/PM)` and :guilabel:`Since XX:XX (AM/PM)` fields, and
the sum of both the :guilabel:`Before HH:MM (AM/PM)` and :guilabel:`Since HH:MM (AM/PM)` fields, and
is the total time that will be logged for the user, if they were to log out at that moment.
As time passes, both the :guilabel:`Since XX:XX (AM/PM)` and :guilabel:`Total today` fields are
updated live. To check out, click the yellow :guilabel:`Check out ->` button. The attendance widget
As time passes, both the :guilabel:`Since HH:MM (AM/PM)` and :guilabel:`Total today` fields are
updated live. To check out, click the yellow :guilabel:`Check out ➡️` button. The attendance widget
updates again, displaying the :guilabel:`Total today` field with the logged time, and the yellow
:guilabel:`Check out ->` button changes to a green :guilabel:`Check in ->` button.
:guilabel:`Check out ➡️` button changes to a green :guilabel:`Check in ➡️` button.
When the user checks out from the database, the *Attendances* app logs the location details for the
user. This information is **only** logged if the user allows their computer to access this
information.
.. image:: attendances/check-in-database-message.png
:align: center
@ -221,7 +244,9 @@ updates again, displaying the :guilabel:`Total today` field with the logged time
out, the information is stored and appears on the dashboard, including check ins and check outs
with no time value.
Kiosk Mode
.. _attendances/kiosk-mode-entry:
Kiosk mode
==========
Some companies may opt to use a dedicated device (a laptop or desktop PC, a tablet, or a mobile
@ -229,12 +254,12 @@ phone) for employees to check in and check out from. Kiosk mode is used for thes
.. important::
If users check in and out using either a badge or an RFID, then an accessible device in kiosk
mode **must** be available in order to check in and check out using these two methods.
mode **must** be available to check in and check out using these two methods.
Entering kiosk mode is only available for users with specific :ref:`access rights
<attendances/access-rights>`.
There are three ways that kiosk mode can be activated:
Kiosk mode can be activated in three different ways:
#. Navigate to the :guilabel:`Attendances` application, and click :guilabel:`Kiosk Mode` in the top
menu. The device then enters kiosk mode.
@ -252,9 +277,9 @@ There are three ways that kiosk mode can be activated:
:alt: The Attendances Kiosk URL field in the settings section of the Attendances application.
As a security measure, once a device is in kiosk mode, it is not possible to exit kiosk mode and go
back into the database without singing back in. To exit kiosk mode, click the back button in the web
browser. This logs the user out of the database, and returns to the main log in screen. This
prevents anyone from accessing the database, adding another layer of security.
back into the database without signing back in. To exit kiosk mode, click the back button in the web
browser. This logs the user out of the database, and returns to the main log in screen. This adds an
extra layer of security, preventing anyone from accessing the database.
Badge
-----
@ -294,7 +319,7 @@ ways to quickly find a specific person:
- :guilabel:`Department`: to quickly filter the presented employees, tap on a department to display
only those employees that are part of that department. The :guilabel:`Departments` are listed on
the left side of the screen, and the number at the end of each department indicates how many
employees are part of the department, and will be displayed when selected.
employees are part of the department, and is displayed when selected.
PIN
~~~
@ -322,7 +347,7 @@ Confirmation message
When an employee checks in or out, a confirmation message appears with all the check in or check out
information. When checking in, a welcome message appears, as well as the date and time of check in.
An :guilabel:`Hours Previously Today: XX:XX` field also appears, displaying any time already logged
An :guilabel:`Hours Previously Today: HH:MM` field also appears, displaying any time already logged
for that employee for the day. If no time has already been logged, the value displayed is `00:00`.
Beneath the message is an :guilabel:`OK` button. To exit the screen before the preset time in the
kiosk, tap the :guilabel:`OK` button.
@ -353,12 +378,12 @@ 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 will
update, presenting the selected information. To change the :guilabel:`Day`, :guilabel:`Week`,
:guilabel:`Month`, or :guilabel:`Year` presented, click the left or right :guilabel:`arrow` buttons
on either side of the drop-down button. To jump back to a view containing the current day, click the
:guilabel:`Today` button. The refreshed the dashboard, presenting information containing the current
day's information.
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
@ -375,13 +400,14 @@ proper :ref:`access rights <attendances/access-rights>` and/or are :ref:`approve
.. _attendances/filters-groups:
Filters and Groups
Filters and groups
------------------
To filter the results in the dashboard or to present different groups of information, click the
drop-down button in the :guilabel:`Search` bar above the dashboard, then 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.
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
~~~~~~~
@ -419,11 +445,61 @@ The default groups that can be selected are:
.. _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 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.
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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -79,6 +79,8 @@ Time off requests section
- :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