Auto Attendance in Frappe HR: Automatic Attendance from Check-in Logs
Auto Attendance marks attendance automatically for employees assigned to a shift, based on their Employee Checkin records and the Auto Attendance settings of that shift. Instead of marking anyone manually, you set up the shift rules once and let the system turn raw check-in/check-out logs into attendance.
COMMON MISTAKE
A Shift Type must be set up and assigned to employees before their Employee Checkin records are created. Auto Attendance only marks attendance for check-in records created after the shift was set up and assigned earlier logs are not processed.
Steps to set up Auto Attendance
1. Define a Shift Type with Auto Attendance enabled
Create a Shift Type and turn on Auto Attendance in its settings. This is where the rules live start and end times, grace periods, and how working hours are calculated.
2. Assign the shift to employees
Once the shift exists, assign it to your people in one of two ways:
- Shift Assignment: assign the shift to an employee on a date-to-date basis.
- Default Shift: for a shift that applies every day, set Employee > Attendance and Leave Details > Default Shift.
NOTE
A Shift Assignment takes precedence over the Default Shift. If an employee has both, the system uses the assigned shift for that date.
3. Set the Attendance Device ID on the Employee
Biometric systems have their own IDs for employees, but Frappe HR needs to map each check-in to an employee. To do that, set Employee > Attendance and Leave Details > Attendance Device ID (Biometric/RF tag ID) with the right value.
4. Import or sync Employee Checkins
With the above in place, import or sync the Employee Checkin records, and attendance starts generating automatically. (See the guide on integrating Frappe HR with biometric attendance devices for populating check-ins from an external system.)
Frequently Asked Questions
How are a shift’s actual start and end times determined?
The “actual” window is wider than the shift itself, to allow early check-ins and late check-outs. For a Morning Shift with Start 08:00, End 11:30, “begin check-in before start” 60 min, and “allow check-out after end” 60 min:
- Actual Start Time = Start Time − begin-check-in window = 07:00
- Actual End Time = End Time + allow-check-out window = 12:30
When is attendance marked automatically?
Auto Attendance is attempted every hour for each Shift Type, and you can also trigger it manually with the Mark Auto Attendance button on the Shift Type. Marking happens once the Last Sync of Checkin timestamp passes the shift’s actual end time, at that point all check-ins for that shift are assumed captured and are processed. (For the example above, that’s once Last Sync passes 12:30.)
How does Auto Attendance decide an employee’s shift?
For a given date, it checks in this order:
- The shift in the employee’s Shift Assignment for that date.
- If none, the Default Shift on the Employee document.
- If neither, the employee is assumed to have no shift that day, and no attendance is marked.
How does it decide which Holiday List to use?
It looks first at the determined Shift Type’s holiday list; if there isn’t one, it falls back to the Holiday List on the Employee, and then to the Default Holiday List on the Company, in that order.
COMMON MISTAKE
Getting the Holiday List right matters: if it is wrong or missing, Auto Attendance can mark employees as Absent on holidays. Make sure each employee resolves to the correct holiday list before relying on automatic marking.
Biometric devices don’t always return the Log Type – how is IN/OUT decided?
Two fields in the Shift Type handle this: Determine Check-in and Check-out and Working Hours Calculation Based On. Together they tell the system how to interpret logs that don’t specify IN or OUT, and how to calculate working hours from them.
Related Topics
- Shift Type
- Shift Assignment
- Employee Checkin
- Integrating Frappe HR With Biometric Attendance Devices
SUMMARY
Auto Attendance turns Employee Checkin logs into attendance for employees on a shift, using each Shift Type’s Auto Attendance settings. Set it up by defining a Shift Type with Auto Attendance enabled, assigning it via Shift Assignment or a Default Shift (assignment wins), mapping each employee’s Attendance Device ID, and syncing check-ins. The job runs hourly (or on demand) and marks attendance once Last Sync of Checkin passes the shift’s actual end time. Shift is resolved from Shift Assignment, then Default Shift; the holiday list from the Shift Type, then Employee, then Company and getting that holiday list right is essential to avoid wrongly marking holidays as Absent.