Attendance

Recording working time, checking what was recorded, and correcting it when it is wrong.

Your Attendance

What you can see and do about your own working time.

Your Attendance

Checking your attendance

Attendance → My Attendances shows everything recorded for you. It has three views, and they answer three different questions.

My Attendance, signed in as a manager: Daily records (85), Punch activity (85) and Work record (114) tabs, with Date/Shift/Work Type/Clock In/Clock Out/At Work/Expected/Overtime/Status columns

(Screenshot added 2026-09-14, verified live on demo.blueonehr.com — this page predates the screenshot pipeline built in the P0.5 pass. Every visible row on this account showed Validated, consistent with the reviewing-attendance guidance's own before-payroll checklist.)

Daily records

The default view: one row per working day, and the one to use for almost everything.

Column What it tells you
Date The working day.
At work The hours actually recorded for you.
Expected The hours your shift expected.
Overtime Time beyond the expectation.
Status Whether the day has been confirmed.

The status is either Validated, meaning someone has confirmed the day, or Pending validation, meaning nobody has looked at it yet. A day may additionally show Change requested, which means you have asked for a correction and it is waiting to be reviewed.

Each row offers Request a correction. Once you have used it, the row shows Awaiting review instead, so you can tell at a glance which days you have already raised.

Punch activity

The raw log behind the daily records: every clock-in and clock-out, with its Source.

Use this when a daily total looks wrong and you want to see why. A missing clock-out shows here as Still clocked in.

Where a punch crossed midnight, the date it actually happened on is shown next to the time, so an overnight shift does not look like a mistake.

Work record

How each day was counted for payroll.

A day marked Draft here has not been finalised yet. That is not the same as being marked absent — it means the calculation is not closed. Days that have no record at all show as Not recorded.

Filtering

Each view can be narrowed to a date range, which is the quickest way to check a single month before payroll closes.

If a day is wrong

See Requesting a correction. Employees do not edit attendance records directly; corrections go through review, which is what keeps the record trustworthy for payroll.

Your Attendance

Attendance on the mobile app

The Attendance tab in the mobile app is where most people record their working time, day to day.

The Attendance tab, showing the month calendar and recent attendance

The month at a glance

The calendar summarises the current month, with a count of the days that were Present, Absent, on Leave, or a weekly off (WO). Each day carries a coloured dot so you can see the shape of the month without reading a table.

Move between months with the arrows either side of the month name.

Recent attendance

Below the calendar, the most recent days are listed with the times recorded for them.

Where the app captured a location for a punch, the place is shown against IN and OUT. This is a record of where the punch was made, not a judgement about it. How locations are checked against fences is in How geo-fencing works.

Requesting a correction

Request Attendance Regularization at the top of the tab raises a correction for a day whose record is wrong. It goes to the same review queue as a correction raised on the web; see Requesting a correction.

Site visits

If your role involves working away from your usual place of work, Site Visits records those trips. It is separate from your ordinary daily attendance.

If a punch does not appear

Give it a moment and pull the screen to refresh: the app and the web share one record, so anything recorded on your phone should appear in a browser too.

If it is still missing, raise a correction rather than clocking in a second time. A duplicate punch is harder for HR to unpick than a missing one.

Your Attendance

Requesting a correction

If a day's attendance is wrong — you forgot to clock out, a device did not register your finger, you worked somewhere without your phone — you ask for it to be corrected. You do not edit the record yourself.

Check your attendance and request a correction

Raising a request

From Attendance → My Attendances, find the day and choose Request a correction. The date is carried across for you.

You can also start from Attendance → Attendance Requests → New Attendance Request, or from Request Attendance Regularization in the mobile app.

New attendance request form: Employee, Attendance Date, Shift, Work Type, Check-in/Check-out date and time, Worked Hours, Minimum Hour, Request Description, and Batch Attendance

(Screenshot added 2026-09-14, verified live on demo.blueonehr.com — this page predates the screenshot pipeline built in the P0.5 pass. Note one field not described above: Minimum Hour, seen pre-filled at 00:00 on the live form; its exact effect was not verified in this pass.)

What you are asked for

Field What to put
Attendance date The day being corrected.
Shift The shift that applied that day.
Work type How you worked that day.
Check-in date and time When you actually started.
Check-out date and time When you actually finished.
Worked hours The hours the corrected times add up to.
Description Why the record needs changing.

The check-in and check-out dates are asked for separately from the times because a shift can cross midnight. A night shift finishing at 02:00 has a check-out date of the following day, and saying so is what stops it being read as a sixteen-hour gap.

Say why

The description is the part a reviewer actually reads. "Forgot to clock out, left at 18:30 after the client call" is approved quickly. A blank description comes back as a question, which costs you a day.

After you submit

The day shows Change requested, and the action on the row becomes Awaiting review.

Your manager or HR reviews it. If it is approved, the record is updated and validated as normal. If more information is needed, you will be asked for it.

Good practice

How attendance works

Attendance in BlueOneHR is built from punches — the individual moments you clocked in and clocked out — which are gathered into one daily record per working day. Payroll reads the daily records, not the raw punches.

Understanding that split explains most of what you see on the attendance screens, and most of what confuses people the first time they look.

  punches                daily record                  work record
  ---------------        --------------------------    -----------------------
  clock in 09:04    ->   date, shift, clock in and  -> how the day was counted
  clock out 18:12        clock out, hours worked,      for payroll
                         overtime

The Attendance Dashboard: On Time / Late Come / Marked Today tiles, and a Needs Attention panel for Pending Validation, Attendance Requests and Overtime Pending Approval

(Screenshot added 2026-09-14 — this page predates the screenshot pipeline built in the P0.5 pass; re-verified live on demo.blueonehr.com the same day it was added.)

Where a punch can come from

Every record carries a Source, which tells you how it was created:

Source Meaning
Web Recorded in a browser.
Mobile Recorded in the BlueOneHR mobile app.
Biometric Sent by a biometric device such as a fingerprint or face reader.

A day can be perfectly normal and still show a source you did not expect, for example if you clocked in on a device at the door and out from the app.

The shift you are measured against

Each day is compared against the shift assigned to you: the hours you were expected to work. The attendance screens show your actual hours beside the expected hours, so a short day is visible as a short day rather than as a bare number.

Overtime is time worked beyond that expectation. It is recorded automatically, and in most organisations it is approved by a manager before it counts.

Validation

A daily record is not final the moment it is created. Someone in HR, or your manager, validates it. Until then it shows as Pending validation.

This matters more than it sounds: a day that has not been validated is not the same as a day you were absent. It only means nobody has confirmed it yet.

If something is wrong

You do not edit your own attendance record. You ask for a correction, and someone reviews it. See Requesting a correction.

For Administrators

Reviewing what the organisation has recorded, and where the records come from.

For Administrators

Reviewing and validating attendance

Attendance records become payroll figures, so somebody has to confirm them. In BlueOneHR that confirmation is called validation, and it is the main thing an HR administrator does in this module each month.

Review and validate your team's attendance

Start at the dashboard

Attendance → Dashboard opens on what needs attention rather than on statistics:

Work these down and the month closes cleanly. Leave them and payroll inherits the backlog.

The screens

Screen Use it for
Attendances Every daily record in the organisation. The main review surface.
Attendance Requests Corrections employees have raised, with the reason they gave.
Attendance Activities The raw punch log. Use it when a total looks wrong.
Hour Account Hours accumulated over a period.
Work Records How each day was counted for payroll.
Late Come Early Out Days that started late or finished early.
Bulk Import Attendance Loading records from a spreadsheet.

Attendance Requests: Requested Attendances and All Attendances tabs, with Requests Needing Validation and Already Approved tiles — "You are all caught up" on this workspace

(Screenshot added 2026-09-14, verified live on demo.blueonehr.com — this page predates the screenshot pipeline built in the P0.5 pass. On this workspace, "All Attendances" showed 1,651 real daily records and 0 requests needed validation at the time of capture.)

Validating

Confirm a day and it moves from Pending validation to Validated. Until then it is neither approved nor rejected: it is simply unreviewed, and it should not be read as an absence.

Work through Attendances rather than waiting for employees to chase you. Most people never look at their own record until a payslip surprises them.

Handling correction requests

A request carries the employee's proposed times and, importantly, their reason.

Check it against Attendance Activities. The raw punches usually settle the question: a missing clock-out looks very different from a day with no punches at all.

Approving a request updates the daily record, and it can then be validated like any other day.

Before payroll closes

A short checklist that prevents most payroll queries:

  1. Clear Pending validation for the period.
  2. Clear outstanding Attendance Requests, including the ones you intend to reject.
  3. Decide the overtime awaiting approval.
  4. Spot-check Work Records for days marked Draft, which have not been finalised.

A word on bulk import

Bulk Import Attendance exists for migrations and for sites without a device. It writes real attendance records, so treat a bad import as you would a bad payroll run: check a small batch first.

For Administrators

Biometric devices

Where a site has a fingerprint or face reader at the door, BlueOneHR can take attendance straight from it. Punches then arrive with a Source of Biometric, and are treated exactly like punches made on the web or in the app.

Devices are managed at Attendance → Biometric Devices.

This screen is labelled legacy by the product itself. Read this before anything else on the page. Seen on the demo workspace as an HR Head. The page carries its own banner, shown above the breadcrumb:

"This page shows historical records only."

"Attendance terminals now report into the Attendance Devices module. This page reads the older biometric tables, which no longer receive new punches, so a device that looks silent here may be working normally. Open Attendance Devices for live device health, the punches arriving now, and the identity queue."

"Existing rows were carried across when the new subsystem was installed, so nothing recorded here has been lost."

The banner's Open Attendance Devices link goes to the newer Attendance Devices module (/attendance-devices/), which needs its own permission, attendance_devices.view_attendancedevice. Without it the module shows a permission-denied screen that names the missing permission. The module is not listed in the Attendance sub-navigation. Do not treat the rest of this page as the current recommended way to manage biometric devices: it describes the legacy screen, and the newer module is not yet documented here (see Not confirmed below).

The legacy Biometric Devices page: the "historical records only" banner above the breadcrumb, four device counters all showing 0, and the Classic and Push device sections, both empty

Two families of device

They differ in which side starts the conversation, and that difference decides what your network has to allow.

Push devices, which speak the ADMS protocol. The device connects out to BlueOneHR and sends punches as they happen. Nothing needs to reach into your network from outside, which is usually the easier arrangement.

Classic devices, which BlueOneHR polls on a schedule. Supported families include ZKTeco and eSSL, Anviz, Matrix COSEC, Dahua, and e-Time Office. BlueOneHR connects to the device to collect punches, so it must be able to reach the device on your network.

Both kinds appear on the same Biometric Devices page.

Matching a device to your people

A reader does not know your employees. It knows badge IDs — the number stored against a finger or a face on the device itself.

So the step that makes a device useful is mapping each badge ID to the right employee. Until that is done, punches still arrive and are stored, but they belong to nobody and no attendance is created from them.

Open a device and use its Employees view to make the mapping. Existing punches for a badge are matched to the employee once the mapping exists, so a device installed before the mapping was finished does not lose the days in between.

When punches are not appearing

Check in this order. It is roughly the order of likelihood.

  1. Is the badge ID mapped to an employee? By far the most common cause.
  2. Is the device reaching BlueOneHR, or BlueOneHR reaching the device? Which direction depends on the family, above.
  3. Look at the device's logs in BlueOneHR. Punches that arrived but produced no attendance record are visible there, which distinguishes a network problem from a mapping problem.

That distinction is worth making before escalating: "the device is offline" and "the device is fine and nobody mapped the badges" look identical from the attendance screens and need completely different fixes.

What a device does not change

A biometric punch is still just a punch. It is gathered into a daily record, compared against the shift, and validated like any other. See How attendance works.

Not confirmed

For Administrators

Attendance settings

Settings → Attendance holds the rules behind the attendance records: when someone counts as late, how much of a day is approved automatically, who may clock in, and from where. This page says what each tab controls.

Most of these settings change how the next punches are treated. They do not rewrite records that already exist.

Set up attendance: policies, grace time, breaks

Before you start

Track Late Come & Early Out

A single switch, shown as Enabled with a Disable button. The screen says: "By enabling this, late arrivals and early departures of employees are tracked on their attendance."

When the switch is off, clocking in and clocking out no longer record a late come or an early out. Records that already exist are not removed.

Attendance Break Point

The Create Attendance Break Point form: three time fields, an Auto approve OT checkbox and a Company list

This is the rule for what counts as a normal day and what needs a person to look. The list has the columns Auto approve till, Min. overtime to approve, Overtime cutoff, Auto approve OT and Company, and + Create Break Point opens the form above. Only one may exist: creating a second is refused with "You cannot add more conditions."

Form field What it does
Worked hours (at work) auto approve till At clock-out, a day whose worked hours are at or below this is marked validated automatically. A longer day is left for someone to validate. With no break point at all, 09:00 is used.
Minimum hour to approve overtime The overtime lists and counts use it as the smallest overtime worth putting forward for approval. With no break point, the threshold is 00:00.
Maximum allowed overtime per day Overtime credited for a day is capped at this. Longer overtime is recorded as this value. It is shown in the list as Overtime cutoff.
Auto approve OT When ticked, a day whose overtime reaches the minimum is approved for overtime without anyone doing it.
Company Which companies the rule applies to.

The Attendance dashboard tells you when none of this is configured. Under Needs attention, next to Pending validation, Attendance requests and Overtime pending approval, it prints:

No attendance validation condition is configured, so the overtime approval threshold defaults to 00:00.

The Attendance dashboard's Needs attention panel, with the note about the overtime approval threshold under the three counts

The note disappears once a break point exists.

Check In/Check Out

A table with one row per company (and one for All company), each with an Enabled or Disable button. It is the switch for clocking in and out on the web. The web clock-in only proceeds when the setting for the company selected for your session is enabled. Punches that arrive from a biometric device do not depend on it.

Grace Time

Grace time is the allowance before someone is called late or early. There are two lists on the tab: Default Grace Time and Grace Time (per shift), with + Create Default Grace Time and + Create Grace Time.

The form has Allowed time, Allowed clock-in, Allowed clock-out, Company and, for a per-shift grace time, Shifts. The tab lists each grace time with Active and clock-in and clock-out switches.

The grace time is subtracted from the clock-in time before it is compared with the shift start, so a person inside the allowance is not recorded as late. A grace time set on a shift takes priority over the default. Until one is created, the lists read "There is no default grace time at this moment." and "There is no grace time at this moment."

Biometric Attendance

One master switch, shown as Activated with a Deactivate button. The screen describes it as the master switch for ADMS push biometric devices: turning it off stops every push device from recording attendance, whatever the individual devices are set to. For the devices themselves, see Biometric devices.

IP Restriction

IP Restriction Status is Enabled or Disabled. When it is on, the screen says, "attendance can only be marked from the IP addresses and network prefixes listed below. Everywhere else is refused." Below it, Add Allowed IP / Network Prefix takes several addresses or prefixes separated by commas, and Add IP saves them into a list.

The check runs when someone clocks in on the web and answers "You cannot mark attendance from this network". Punches from a biometric device skip it, and it is not applied to clocking in from the mobile app, so IP restriction is a rule for web clock-in.

Geo & Face Config

Geo & Face Config: a Geo-Fencing block with Not started status and latitude, longitude and radius fields, and a Face Detection block

A warning at the top says that Geo-Fencing and Face Detection gate which real locations and faces are authorized to mark attendance.

Both show Not started until switched on.

What you should see

Each tab shows its current state in words (Enabled, Activated, Disabled, Not started) and the controls to change it. A change is confirmed with a message at the top of the page, for example "Tracking late come early out enabled successfully" .

If it does not work

Not confirmed