Daily Check-In & Check-Out
Attendance tracking in Udyamo HRMS is built on the Attendance model, which records each employee's daily check-in time, check-out time, and calculated working hours. This chapter covers every aspect of the daily attendance workflow — from employee check-in to administrator corrections.
Prerequisites
Required: Before employees can check in:
- At least one shift must be created and assigned to employees (see Creating & Assigning Shifts)
- Employees must have active status
- For web-based check-in, employees must have accepted their invitation and have login credentials
Attendance Model Overview
Each attendance record in Udyamo HRMS stores the following data:
| Field | Description | Example |
|---|---|---|
| date | The calendar date of the attendance record | 2025-06-15 |
| check_in_time | The timestamp when the employee checked in | 09:03 |
| check_out_time | The timestamp when the employee checked out | 18:15 |
| working_hour | Calculated total working hours (after deducting breaks) | 8.20 |
Additional data is captured through related models: shift, attendance events, break logs, and location coordinates.
Employee Check-In Process
Check-In via Web Portal
- The employee logs in to Udyamo HRMS.
- On the Dashboard, a prominent Check In button is displayed (if the employee has not yet checked in for the day).
- The employee clicks Check In.
- The system records:
- The current timestamp as
check_in_time - The current date as the
date - The employee's location (if location tracking is enabled)
- The current timestamp as
- The button changes to Check Out (or the status updates to "Checked In").
- A confirmation message displays the check-in time.

Check-In via Mobile
- Open Udyamo HRMS on the mobile browser or app.
- Tap the Check In button on the dashboard.
- If location tracking is enabled, the app requests location permission. Grant it.
- The check-in is recorded with the location.
Check-In via Attendance Device
Biometric devices and face recognition terminals can also record check-ins. The device communicates with Udyamo HRMS via the AttendanceDevice API using token-based authentication. See Attendance Devices & Face Recognition for setup.
Employee Check-Out Process
- At the end of the work day, the employee navigates to the Dashboard or Attendance section.
- Clicks the Check Out button.
- The system records the current timestamp as
check_out_time. - Working hours are automatically calculated:
check_out_time - check_in_time - break_duration. - The attendance status updates to "Completed" for the day.

Warning: If an employee forgets to check out, the attendance record for that day will show a check-in but no check-out, resulting in incomplete working hours. Administrators can correct this manually (see below) or configure auto-checkout policies.
Multiple Check-In Support
Udyamo HRMS supports multiple check-ins within a single day. This is useful for employees who leave and return during the day (e.g., client meetings, errands).
How It Works
- After checking out mid-day, the employee can click Check In again.
- The system creates a new check-in entry for the same date.
- Working hours are calculated as the sum of all check-in/check-out intervals.
Configurable Maximum Limit
Administrators can configure the maximum number of check-ins allowed per day.
- Navigate to Attendance > Settings.
- Locate the Multiple Check-In section.
- Set the Maximum Check-Ins Per Day value (e.g., 4).
- Save.
| Setting | Description | Default |
|---|---|---|
| Maximum Check-Ins Per Day | The maximum number of times an employee can check in on a single day | Configurable (typically 2-4) |
Tip: If your organization does not need multiple check-ins, set the maximum to 1. This prevents accidental duplicate check-ins.
Working Hours with Multiple Check-Ins
When an employee has multiple check-in/check-out pairs in a day, the total working hours are calculated as the sum:
| Check-In | Check-Out | Hours |
|---|---|---|
| 09:00 | 12:30 | 3.50 |
| 13:30 | 18:00 | 4.50 |
| Total | 8.00 |
Break duration is deducted from the total as configured in the shift settings.
Break Tracking
Udyamo HRMS supports explicit break tracking in addition to the shift-level break duration.
Logging a Break
- While checked in, the employee clicks Start Break on the dashboard.
- The break start time is recorded.
- When the break ends, the employee clicks End Break.
- The break end time is recorded.
Impact on Working Hours
- If break tracking is enabled, actual break time is deducted from working hours.
- If break tracking is not used, the shift's configured break duration is deducted.
| Mode | Working Hours Calculation |
|---|---|
| Break tracking enabled | (Total check-out - check-in time) - (actual break minutes) |
| Break tracking disabled | (Total check-out - check-in time) - (shift break duration) |
Tip: Break tracking provides more accurate working hour calculations, especially for employees with variable break lengths.
Late Check-In Handling
When an employee checks in after the shift start time plus the grace period, the check-in is flagged as late.
How Late Check-In Is Determined
- The system compares the
check_in_timeagainst the employee's assigned shift start time plus the configured grace period. - If
check_in_time > (shift_start + grace_period), the check-in is marked late.
Example:
- Shift start: 09:00
- Grace period: 15 minutes
- Employee checks in at 09:20
- Result: Late by 5 minutes
Late Check-In Visibility
| Who | Where to See Late Check-Ins |
|---|---|
| Employee | Dashboard attendance widget shows a "Late" indicator |
| Manager | Team attendance view highlights late entries |
| Admin | Attendance reports with late flag filter |
Late Check-In Impact
The impact of late check-ins depends on the configured attendance policy (see Attendance Policies & Rules):
- No impact — Late check-ins are logged but have no payroll effect
- Half-day deduction — After a threshold number of late arrivals per month, a half-day is deducted
- LOP (Loss of Pay) — Excessive late arrivals result in salary deductions
Early Check-Out Handling
When an employee checks out before the shift end time, the check-out is flagged as early departure.
How Early Check-Out Is Determined
- The system compares
check_out_timeagainst the shift end time. - If
check_out_time < shift_end_time, the departure is marked early.
Early Check-Out Impact
Similar to late check-ins, the impact depends on the attendance policy:
- Minimum working hours may not be met
- May trigger half-day or absent marking based on policy rules
Check-In from Different Devices
Employees can check in from various devices:
| Device | Method | Location Tracked |
|---|---|---|
| Desktop browser | Click "Check In" on the web portal | Based on IP (approximate) |
| Mobile browser | Click "Check In" on the mobile web | GPS location (if permitted) |
| Biometric device | Fingerprint or card swipe | Device location (fixed) |
| Face recognition terminal | Facial scan | Device location (fixed) |
| Mobile app | Tap "Check In" in the app | GPS location |
Tip: For organizations requiring strict location verification, enable geo-fencing in the office settings. Check-ins will only be accepted if the employee is within the configured radius. See Location Tracking.
Viewing Today's Attendance Status
Employee View
- Log in to Udyamo HRMS.
- The Dashboard displays:
- Current status: Not Checked In / Checked In / Checked Out
- Check-in time (if checked in)
- Working hours so far (if checked in)
- Check-out time (if completed)
Manager View
- Navigate to Attendance > Team Attendance or Dashboard > Team Overview.
- View a list of team members with their current attendance status.
- Filter by status: Present, Absent, Late, On Leave.
Administrator View
- Navigate to Attendance > Daily Attendance.
- View all employees' attendance for the current date.
- Use filters: department, office, status, shift.

Editing Attendance Records (Administrator)
Administrators can correct attendance records when employees forget to check in, check out, or when manual adjustments are needed.
Manual Edit
- Navigate to Attendance > Daily Attendance or open the employee's attendance record.
- Locate the date that needs correction.
- Click Edit on the attendance entry.
- Modify the Check-In Time, Check-Out Time, or both.
- Optionally add a Reason for the correction (for audit trail).
- Click Save.
- The working hours are automatically recalculated.

Warning: Attendance edits are logged in the system's audit trail. All changes show the original value, new value, who made the change, and when.
Manual Attendance Entry
For cases where no attendance record exists for a day (e.g., the employee worked but the system was down):
- Navigate to Attendance > Daily Attendance.
- Click Add Attendance or Manual Entry.
- Select the Employee from the dropdown.
- Select the Date.
- Enter the Check-In Time and Check-Out Time.
- Click Save.
Attendance Events
Every check-in, check-out, break, and modification is logged as an AttendanceEvent. This provides a detailed timeline for each day.
| Event Type | Description |
|---|---|
| check_in | Employee checked in |
| check_out | Employee checked out |
| break_start | Employee started a break |
| break_end | Employee ended a break |
| manual_edit | Administrator modified the record |
| auto_checkout | System auto-checked out the employee based on policy |
| device_check_in | Check-in recorded by an attendance device |
Administrators can view the full event log for any attendance record by clicking on the attendance entry and expanding the Event Log section.
Auto-Checkout
If configured in the attendance policy, the system can automatically check out employees who forget to check out.
| Setting | Description |
|---|---|
| Auto-Checkout Enabled | When enabled, the system automatically records a check-out for employees at a specified time |
| Auto-Checkout Time | The time at which the system performs auto-checkout (e.g., 23:59 or shift end time) |
Tip: Auto-checkout prevents incomplete attendance records but may result in inflated working hours. Combine with attendance policy rules that flag auto-checkout records for review.
Common Issues and Solutions
| Issue | Cause | Solution |
|---|---|---|
| "Already checked in" error | Employee tries to check in when already checked in | Check out first, then check in again (if multiple check-ins are enabled) |
| "Maximum check-ins reached" | Employee has reached the configured daily limit | Administrator can increase the limit or add a manual entry |
| Check-in time is wrong | Employee's device clock is incorrect | Check-in time is recorded server-side; if still wrong, admin can edit |
| No check-out recorded | Employee forgot to check out | Admin can add the check-out time manually |
| Working hours show 0 despite check-in and check-out | Break duration exceeds working time | Verify the shift break duration configuration |
| Check-in rejected (location) | Employee is outside the geo-fence radius | Employee must be within the configured radius, or admin can add a manual entry |
Next Steps
- View attendance in calendar format — see Attendance Calendar & Reports
- Configure rules for late marking and absences — see Attendance Policies & Rules
- Set up biometric devices for automated check-in — see Attendance Devices & Face Recognition