Attendance
The Attendance module tracks employee presence, working hours, overtime, and time-related data on a daily basis. Each attendance record captures when an employee checks in, checks out, their status for the day, and any notes.
Recording Attendanceโ
There are three ways to record attendance: from the Attendance list, from an employee's detail page, or through the Employee Portal (self-service).
From the Attendance Listโ
- Navigate to HRM > Attendance in the sidebar.
- Click Create Attendance Record in the top-right corner.
- Fill in the form:
- Employee โ Select the employee from the dropdown (shows only active employees).
- Date โ Defaults to today. Change it to record attendance for a past date.
- Check In โ The time the employee started work. Defaults to the configured work start time (e.g., 09:00).
- Check Out โ The time the employee ended work. Defaults to the configured work end time (e.g., 17:00).
- Status โ The attendance status for the day: Present, Absent, Half Day, Late, or On Leave.
- Notes โ Optional remarks (e.g., "Left early for appointment").
- Click Create.
Work minutes and overtime hours are calculated automatically from the check-in and check-out times. You do not need to enter these manually.
Each employee can only have one attendance record per day. If a record already exists for the selected employee and date, you will need to edit the existing record instead.
From an Employee's Detail Pageโ
- Open the employee's detail page.
- Go to the Attendance tab.
- Click Mark Attendance (top-right).
- The employee is pre-selected. Fill in the date, check-in/check-out times, status, and notes.
- Click Create.
Editing an Attendance Recordโ
- From the Attendance list, click on the record you want to edit.
- Modify the fields as needed โ updating check-in or check-out times will automatically recalculate work minutes and overtime.
- Save the changes.
Bulk Editingโ
- From the Attendance list, select multiple records using the checkboxes.
- Click Bulk Edit from the actions dropdown.
- Update the fields you want to change across all selected records.
Auto-Calculated Fieldsโ
When you provide check-in and check-out times, the system automatically calculates:
| Field | Calculation |
|---|---|
| Work Minutes | Difference between check-out and check-in times |
| Overtime Hours | Any work minutes exceeding the standard hours per day (configured in Settings) |
| Status | Can be auto-determined based on check-in time relative to work start time and total hours worked |
Status Typesโ
| Status | Description |
|---|---|
| Present | Employee worked a full day and arrived on time |
| Late | Employee arrived after the grace period following the configured work start time |
| Half Day | Employee worked less than the half-day threshold hours |
| Absent | Employee did not check in |
| On Leave | Employee is on approved leave |
Employee Self-Service Check-inโ
Employees with access to the Employee Portal can record their own attendance without needing an administrator.
How It Worksโ
When an employee logs in with the Employee role, they can create attendance records from the Attendance section. The system works differently for portal users:
- The Employee field is hidden โ the system automatically associates the record with the logged-in employee.
- The Status field is hidden โ administrators set the status, not employees.
- Employees fill in their check-in time, check-out time, and optional notes.
Check-in / Check-out APIโ
The system also provides dedicated check-in and check-out endpoints that can be used for integrations (e.g., kiosk terminals, mobile apps, or biometric systems):
- Check In โ Records the current time as the employee's check-in for today. Prevents duplicate check-ins on the same day.
- Check Out โ Records the current time as the employee's check-out. Requires a prior check-in. Automatically calculates work minutes and overtime.
Supported check-in methods include:
manualโ Entered through the applicationbiometricโ From a biometric deviceqr_codeโ Scanned via QR codeapiโ Submitted through an API integration
Each check-in and check-out action creates an attendance log entry that records the timestamp, method, IP address, and device information for auditing purposes.
An employee cannot check in twice on the same day. If a check-in already exists, the system will return an error. Similarly, check-out requires an existing check-in and cannot be performed twice.
Viewing & Filtering Attendanceโ
Attendance List Viewโ
Navigate to HRM > Attendance to see all attendance records in a table format. The table displays:
- Employee name (links to the employee's profile)
- Date
- Check-in time
- Check-out time
- Status (color-coded badge)
The table is sorted by date in descending order (most recent first).
Saved Viewsโ
The attendance list comes with three pre-built views that you can switch between:
| View | Description |
|---|---|
| All Attendance | Shows all attendance records without any filter |
| Present | Shows only records with status Present, Late, or Half Day |
| Absent | Shows only records with status Absent |
Filteringโ
Use the filter panel to narrow down attendance records by:
- Status โ Filter by one or more statuses (Present, Absent, Half Day, Late, On Leave)
- Date โ Filter by specific date or date range
- Work Minutes โ Filter by number of work minutes (e.g., greater than 480)
- Overtime Hours โ Filter by overtime hours
Viewing from an Employee's Detail Pageโ
- Open the employee's detail page.
- Click the Attendance tab.
- Records are displayed as cards showing the date, status badge, check-in/out times, working hours, and overtime.
- Use the month picker at the top to filter records by month โ only records for the selected month are displayed.
- Scroll down to load more records (infinite scrolling).
Exporting Attendance Dataโ
- From the Attendance list, click the dropdown menu (top-right).
- Select Export Attendance Records.
- Choose your preferred format and download the file.
Exporting requires the Export Attendance permission.
Importing Attendance Dataโ
- From the Attendance list, click the dropdown menu (top-right).
- Select Import Attendance Records.
- Upload a CSV or Excel file matching the required format.
- Map the columns and complete the import.