Frappe HR

Frappe HR

Employee Attendance Tool

Picture the HR desk at Nova Industries on the morning of Monday, 2 November 2026. The biometric device at the Pune branch stopped syncing over the weekend, so none of the 18 people in the Production department have an attendance record for the day. You know from the shift supervisor that 15 of them worked the Day Shift, two were absent, and one, Kavya Rao, had already taken an approved half-day leave for the morning.

Opening 18 separate Attendance forms would take a long time and invites mistakes: a missed employee shows up as unmarked in attendance reports and can change how many payment days payroll counts for them. The Employee Attendance Tool solves this by listing every active employee who still needs attendance for one date, filtered by company, branch, department or shift. You tick the employees, choose a status, and the tool creates and submits one Attendance record per employee in a single action.

The tool works on one date at a time and only creates new records. It does not edit or cancel attendance that has already been submitted, and it cannot mark employees as On Leave. Leave is recorded through a Leave Application, which creates its own attendance once approved.

Before you begin

Make sure the following are in place:

  • Each employee has an Employee record with the status Active and a Date of Joining on or before the attendance date. Employees who joined later are not listed.
  • The Department and Branch you want to filter by are set on the employee records.
  • If you record shifts, the Shift Type exists, and employees either have a Shift Assignment or a Default Shift on their Employee record.
  • You have the HR Manager role. The tool is available only to HR Managers, and you also need permission to create Attendance for the selected employees. See Role and Role Profile for how roles are assigned.

Mark attendance for multiple employees

To access the Employee Attendance Tool, go to:

Home > Human Resources > Attendance > Employee Attendance Tool

This example marks the Pune Production team for 2 November 2026.

  1. Open the Shift & Attendance workspace and select Employee Attendance Tool, or type Employee Attendance Tool in the search bar. The tool opens with today's date already filled in.
    Shift and Attendance sidebar with the Employee Attendance Tool link highlighted
  2. In Date, confirm or change the attendance date, for example 2 November 2026. Changing the date clears any employee list that was loaded for the previous date.
  3. If everyone in the group worked the same shift, select it in Shift, for example Day Shift. Tick Late Entry or Early Exit only if every employee you are about to mark arrived late or left early. These values are copied to each Attendance record created in this run.
  4. Under Get Employees, set the filters that describe the group: Company Nova Industries, Branch Pune, Department Production. You can also filter by Employment Type, Designation or Employee Grade. Leave a filter blank to include everyone.
  5. Tick Filter by Shift if you want the list to contain only employees who work the shift selected above. The tool then includes employees whose Shift Assignment for that shift starts on or before the date, or whose Default Shift is that shift.
    Employee Attendance Tool with Shift set to Day Shift and Company, Branch and Department filters highlighted above the Get Employees button
  6. Select Get Employees. The Select Employees section appears with two possible groups:
  • Unmarked Employees: active employees with no submitted attendance for the date.
  • Employees on Half Day: employees whose approved half-day leave has already created a Half Day attendance record, and who still need a status for the other half of the day.

If everyone matching the filters already has attendance, the tool shows the message Attendance for all the employees under this criteria has been marked already.
7. Under Unmarked Employees, select Status (Present, Absent, Half Day or Work From Home) and tick the employees who should receive it. Use Select All to tick the whole list, then clear the employees who should get a different status. For the example, select Present and tick the 15 employees who worked.
8. If Employees on Half Day is shown, select Status for Other Half (Present or Absent) and tick those employees. For the example, Kavya Rao worked the afternoon, so select Present.
Select Employees section with Status set to Present for 15 ticked employees, Status for Other Half set to Present for Kavya Rao, and the Mark Attendance button highlighted
9. Select Mark Attendance at the top of the page. The tool creates and submits the Attendance records and shows Attendance marked successfully. The page refreshes, and the employees you marked no longer appear in the unmarked list.
10. Repeat for the remaining employees with a different status. Select Get Employees again, choose Absent, tick the two absent employees, and select Mark Attendance.

You can mark a full-day group and a half-day group in the same run. The tool asks for a Status when any unmarked employee is ticked, and for a Status for Other Half when any half-day employee is ticked.

Check the marked attendance

After you select Get Employees for a date that already has attendance, a collapsed Marked Attendance section appears below the filters. If every employee matching the filters is already marked, the tool also shows a message saying so; close it to see the section. Select the section heading to expand it. The table shows each employee with their Status, Shift and Leave Type. Status values are colour coded, and each column has a filter row, so you can type a name to find one employee or type Absent to list everyone marked absent.

Expanded Marked Attendance section listing Pune Production employees as Present or Absent, with Kavya Rao shown as Half Day with Casual Leave

Each row corresponds to a submitted Attendance record. To see the full record, open the Attendance list and filter by the date. For example, the record for Rohan Kulkarni shows Status Present, Attendance Date 2 November 2026 and Shift Day Shift. Late Entry and Early Exit are ticked only if you selected them in the tool.

Submitted Attendance record for Rohan Kulkarni with Status, Attendance Date and Shift highlighted

Submitted attendance can be used to calculate payment days on each Salary Slip, depending on your Payroll Settings, so check the table before you run payroll for the period.

Important fields and what they mean

Field What it does
Date The attendance date for every record created in this run. Defaults to today.
Shift Copied to each new Attendance record. Also used by Filter by Shift. Leave it blank if employees worked different shifts.
Late Entry / Early Exit Applied to every employee marked in this run. Mark late or early employees in a separate run so on-time employees are not flagged.
Company, Branch, Department Limit the employee list to one organisational group.
Employment Type, Designation, Employee Grade Further limit the list, for example to contract workers or to one grade. Uses the values set in Employment Type, Designation and Employee Grade masters.
Filter by Shift Shows only employees assigned to the selected shift through a Shift Assignment or a Default Shift.
Status Present, Absent, Half Day or Work From Home for the ticked unmarked employees.
Status for Other Half Present or Absent for the half of the day not covered by an approved half-day leave.

Troubleshooting

An employee is missing from the list

The tool lists only employees whose status is Active and whose Date of Joining is on or before the selected date. An employee who already has a submitted Attendance record for that date appears in the Marked Attendance table instead. Also clear the filters one at a time, because a Department or Branch that is not set on the Employee record will exclude them, and Filter by Shift excludes anyone without a matching Shift Assignment or Default Shift.

The record was saved as On Leave or Half Day instead of the status I selected

When the employee has an approved Leave Application covering the date, Frappe HR overrides the selected status. The record becomes On Leave for a full-day leave, or Half Day when the date is the leave's half-day date. Check the employee's leave for that date before marking attendance again.

Marking Half Day shows "No leave record found"

Selecting Half Day for an employee with no approved leave still creates the record, but the other half is set to Absent. If the employee was on half-day leave, submit the Leave Application first and then use Employees on Half Day to set the other half.

Attendance is already marked for an overlapping shift

The employee already has submitted attendance for the date in a shift whose timings overlap the shift you selected. Open the existing Attendance record from the error message and cancel it if it is wrong, or mark the employee without that shift.

The wrong status was marked

The tool cannot change submitted records. Open the Attendance record, cancel it, then amend it with the correct status, or cancel it and mark the employee again from the tool.

Frequently asked questions

Can I mark employees as On Leave with this tool?

The Status options are Present, Absent, Half Day and Work From Home. Record leave through a Leave Application; when it is approved, Frappe HR creates the On Leave attendance automatically.

Should I use this tool or Upload Attendance?

Use this tool when you are marking one date for a group and most people share a status. For many dates at once, or when the data comes from a spreadsheet, use Upload Attendance. If employees check in on a device, Auto Attendance can create the records from Employee Checkin logs without manual marking.

Can an employee correct their own attendance?

Employees cannot use this tool. They can submit an Attendance Request, which creates attendance after approval.

Last updated 4 hours ago
Was this helpful?
Thanks!