Skip to content
Closed
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
102 changes: 56 additions & 46 deletions content/applications/hr/attendances.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ Odoo's **Attendances** application functions as a time clock. Employees are able
of work using a :ref:`dedicated device in kiosk mode <attendances/kiosk-mode-entry>`, while users
are also able to check in and out of work :ref:`directly from the database <attendances/check-in>`.
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.
gain insights on which employees are working overtime or checking out of work earlier than expected.

.. _attendances/access-rights:

Expand All @@ -22,7 +21,7 @@ Every user in the database is able to check in and out directly from the databas
access to the **Attendances** app. 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 &
Expand Down Expand Up @@ -59,10 +58,10 @@ typically a manager, though that is not required. Approvers without administrati
and modify attendance records **only** for the employees they are assigned to. This is the only
exception where non-admin users can view records in the **Attendances** app.

To view who the attendances approver for an employee is, navigate to the :menuselection:`Employees
To view who the attendance approver for an employee is, 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
selected is able to view that employee's attendance records, both on the **Attendances** application
dashboard as well as in the attendance reports, and make modifications to their records.

Configuration
Expand All @@ -74,7 +73,7 @@ the Configuration menu. Navigate to the :menuselection:`Attendances application
to access the configuration menu.

.. note::
Any configuration item with an :icon:`fa-building-o` :guilabel:`(building)` icon is a
Any configuration item with a :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.

Expand All @@ -83,56 +82,67 @@ to access the configuration menu.
Modes
-----

- :guilabel:`Attendances from Backend` :icon:`fa-building-o`: activate this feature to allow users
- :guilabel:`Attendances from Backend` :icon:`fa-building-o`: Activate this feature 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 feature to automatically
- :guilabel:`Automatic Check-Out` :icon:`fa-building-o`: Activate this feature 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`
- :guilabel:`Tolerance`: This field appears only when the :guilabel:`Automatic Check-Out`
:icon:`fa-building-o` feature 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::
With the :guilabel:`Automatic Check-Out` option enabled, and the :guilabel:`Tolerance` set to
`2.00` hours, an employee checks in to work at 9:00 AM, and forgets to check-out at 5:00 PM. At
7:00 PM, they are automaticlaly checked out.
`2.00` hours, an employee checks in to work at 9:00 AM and forgets to check out at 5:00 PM. At
7:00 PM, they are automatically checked out.

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

Extra Hours
-----------

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:`Tolerance Time In Favor Of Company`: enter the amount of time, in minutes, that is
- :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
employee. When an employee checks out, and the extra time logged is more than the specified
minutes, the extra time **is** counted as overtime for the employee.

.. example::
A company sets the :guilabel:`Tolerance Time In Favor Of Company` to `15` minutes, and the
working hours for the entire company are set from 9:00 AM to 5:00 PM.

An employee checks in at 9:00 AM. If the employee checks out at 5:14 PM, the extra 14 minutes
are **not** counted towards their overtime. If the employee checks out at 5:17 PM, they earn 17
minutes of overtime.

- :guilabel:`Tolerance Time In Favor Of Employee`: Enter the amount of time, in minutes, that an
employee is given, which 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.
penalized for their reduced hours. When an employee checks out, and the total time logged for the
day is less than their specified working hours and more than this specified grace period, they
**are** 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.
A company sets the :guilabel:`Tolerance Time In Favor Of Employee` 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: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.
An employee checks in at 9:05 AM. If the employee 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, and they are logged as working a full eight-hour day. If the employee checks
out at 4:40 PM, they **are** penalized, and they are logged as only working 7 hours and 35
minutes.

- :guilabel:`Extra Hours Validation` :icon:`fa-building-o`: tick either the radio button next to
- :guilabel:`Extra Hours Validation` :icon:`fa-building-o`: Click on 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
- :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::
Expand All @@ -145,7 +155,7 @@ Overview
When entering the **Attendances** application, the :guilabel:`Overview` dashboard is presented,
containing all the user's check in and check out information. If the user has the required
:ref:`access rights <attendances/access-rights>` or is an :ref:`approver <attendances/approvers>`
for specific employees, those employeess' check-in and check-out information also appears on the
for specific employees, those employees' check-in and check-out information also appears on the
:guilabel:`Overview` dashboard.

The **Attendance** dashboard allows switching between :icon:`fa-tasks` :guilabel:`(Gantt)` and
Expand All @@ -169,11 +179,11 @@ Filters and groups
==================

Sometimes, attendance officers and managers need to view specific records, such as all automatic
checkouts to determine which employees chronically forget to check-out, or by department, to
checkouts, to determine which employees chronically forget to check out, or by department, to
determine which team is working the most overtime.

For these cases, use the search bar to select a :icon:`fa-filter` :guilabel:`Filters` or
:icon:`oi-group` :guilabel:`Group By`, or combine these both to present the desired information.
:icon:`oi-group` :guilabel:`Group By`, or combine both to present the desired information.

.. seealso::
:doc:`../essentials/search`
Expand Down Expand Up @@ -227,7 +237,7 @@ Attendance log details
======================

Odoo records both the time and location for every check-in and check-out, with fields varying by the
method used. These detailed attendance logs can confirm where an employee was on any given work day.
method used. These detailed attendance logs can confirm where an employee was on any given workday.
This can be useful for companies with hybrid working schedules, who may need to perform audits to
ensure proper compliance.

Expand All @@ -236,15 +246,15 @@ 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
- :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 Time`: the total amount of time the employee logged for the day, across multiple
check-ins and outs. In an hour and minute format (HH:MM).
- :guilabel:`Worked Extra Hours`: unpaid overtime hours worked beyond the expected working schedule
- :guilabel:`Worked Time`: The total amount of time the employee logged for the day, across multiple
check-ins and outs, in an hour and minute format (HH:MM).
- :guilabel:`Worked Extra Hours`: Unpaid overtime hours worked beyond the expected working schedule
(shows **only** when present for the employee).
- :guilabel:`Extra Hours`: approved overtime (the :guilabel:`Worked Time` minus the approved
- :guilabel:`Extra Hours`: Approved overtime (the :guilabel:`Worked Time` minus the approved
:guilabel:`Worked Extra Hours`.

Check in/check out details
Expand All @@ -253,12 +263,12 @@ Check in/check out details
The following information appears for both the :guilabel:`Check In` and :guilabel:`Check Out`
sections.

- :guilabel:`Mode`: attendance submission method. Can be :ref:`Systray <attendances/check-in>`,
- :guilabel:`Mode`: Attendance submission method. Can be :ref:`Systray <attendances/check-in>`,
:ref:`Kiosk <attendances/kiosk-mode-entry>`, or :guilabel:`Manual` entry.
- :guilabel:`IP Address`: the device's IP address used to log in or out.
- :guilabel:`Browser`: the web browser the employee used to log in or out.
- :guilabel:`Localisation`: 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
- :guilabel:`IP Address`: The device's IP address used to log in or out.
- :guilabel:`Browser`: The web browser the employee used to log in or out.
- :guilabel:`Localisation`: 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 :icon:`oi-arrow-right` :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.
Expand All @@ -270,15 +280,15 @@ Attendance errors
=================

Entries that contain an error appear on the overview dashboard in red. In the :icon:`fa-tasks`
:guilabel:`(Gantt)` view, the entry appears with a red background. If in the :icon:`oi-view-list`
:guilabel:`(Gantt)` view, the entry appears with a red background; in the :icon:`oi-view-list`
:guilabel:`(List)` view, the entry text appears in red.

An error occurs when an employee has checked in but not checked out within 24 hours, or when a
single check-in period exceeds 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
: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.`
Expand Down