# Attendance management

1. Users can add their attendance, admin can add the attendance of every user.
2. Attendance fields for admin: Employee, Date, IP address(auto get the user’s IP address), note, clock\_in\_time, clock\_out\_time.
3. **Attendance by non-admin users:** Users can add their attendance by clicking on the “**Clock In**” button present in the top navigation bar and clock in adding a note. And click on the “Clock Out” button before leaving the workplace for checkout and adding a clock-out note.
4. Total work hours will be displayed when the admin selects a particular user and it is always visible to a non-admin user.
5. If the admin wants to add attendance for users & doesn’t want the user to add their attendance then it can be disabled by unchecking “Allow users to enter their attendance”

### How can users add their attendance? <a href="#how-can-users-add-their-attendance" id="how-can-users-add-their-attendance"></a>

Follow the steps below for users to add their attendance

* **Step 1:** Enable the “Allow users to enter their attendance” in the **User Management > Roles** for that particular user.
* **Step 2:** Log in with that particular user’s login details.
* **Step 3:** In the attendance tab, the user can now clock in and clock out, thus marking their attendance.

### Grace time <a href="#grace-time" id="grace-time"></a>

1. Grace time is useful for fixed shifts.
2. **Grace before check-in:** This is additional time that is not counted as overtime. This means if **Grace before check-in** is defined as 30Min & a shift starts at 11 AM, then even if someone check-in at 10.30 AM it’ll not be considered early check-in
3. **Grace after check-in:** Similar to before, this is a time that is not considered late even after checking in late. If Grace after check-in is 30 Min, then doing a check-in at 11:30 AM will allowed.
4. **Grace before checkout/Grace after checkout:** Same as above 3 & 4, but this applies to checkout timing.

### Getting the user’s location in attendance <a href="#getting-the-users-location-in-attendance" id="getting-the-users-location-in-attendance"></a>

When a user/employee clock’s-in the system can save the user’s location from which he/she has put attendance.

1. **Enabling Location:**
   * [x] Go to `HRM -> Settings -> Attendance Tab`
   * [x] Check the “Is Location Required?” checkbox & save it
2. Check the above screenshot for locations when adding clock-in
