Nexa People
All modules

Attendance turns raw punches — from a biometric terminal at the gate or a sign-in on the dashboard — into a clean daily result per employee: first in, last out, hours worked and a status, judged against the shift that person is assigned. Fingerprint and face templates never leave the device; the platform receives only a punch code and a timestamp, and matches each punch to the employee record it belongs to.

Around that ledger sits the correction machinery HR teams run every day: attendance requests, exemptions, worksheets, remote-work requests, shift requests and shift transfers, each flowing through an approval chain you configure — auto-approved, or up to five levels deep, with each approver either a named employee or a role resolved from the requester's position, such as their line manager or department head.

Where an employer wants tighter control, punches can be restricted to an approved network by IP address, fenced to a site by geo-location, or bound to a registered device. Each restriction is off by default, set per employee, and checked only at the moment of a punch — never as background tracking. A punch at a registered biometric terminal is treated as its own proof of presence and is not gated further.

HR administrators manage the rail — amendments, shift assignment, rosters, penalty rules and period closes — while employees punch and raise their own corrections from self-service. Every screen in the module is gated by the same form-level permission grid as the rest of Nexa People, so the tabs a person sees are exactly the ones their role grants.

How Attendance works

From punch to daily record

Register your terminals under Biometric Devices — name, IP address, port and device type, with ZKTeco, Suprema, eSSL and Hikvision among the recognised types — and have each device push its logs to the Client API; for ZK-protocol devices you can also trigger a sync from the platform itself. A push is a simple call carrying the device IP and a list of punches, each just a biometric ID and a timestamp, authenticated by a Company Token you can view, copy and regenerate at any time. Punches map to employees by Punch Code.

The service then groups each employee's punches into an attendance day — first in, last out — honouring each shift's Sign In End Time Limit as the day boundary, so an overnight shift's midnight punches land on the correct date. The Daily Records view shows the result per employee and date: check-in, check-out, computed hours, a late flag and a present, late, absent or on-leave status.

Shifts that describe how you actually work

The Shift Plan holds every working pattern as a named shift with a code, start and end times, minimum and maximum start, grace minutes, break windows and explicit sign-in and sign-out time limits — including shifts that start the previous day or end the next one. Each shift also carries its own attendance-flag grid: define the windows in which a punch counts as Late, Early, Short Day, HalfDay or Absent, with the hours computed for you.

Shifts are activated and deactivated rather than lost, and every list in the module — requests, amendments, rosters — reads from the same set, so a renamed shift is renamed everywhere.

Rosters, transfers and reassignment

The Schedule builder lays a month out week by week; pick the shift each day should run, save the roster under a name, and apply it to selected employees — the module reports exactly how many day-assignments were written across how many people. For simpler changes, Amend Employee Shift lists staff with filters, lets you tick rows and apply the same shift to all of them, reset individuals to their default, or import assignments from a spreadsheet.

Employees who want a different pattern raise a Shift Request naming their current and desired shift, or a Shift Transfer for a date range as a working day or half day — both routed through the approval chain before anything changes.

Corrections with an audit trail

A forgotten punch becomes an Attendance Request: in and out dates and times to the quarter hour, an attendance type, a reason type from your configured list and a written reason. HR can raise the same request on an employee's behalf, or sweep a whole team through the Irregular Attendance grid — filter, tick, fill the times and submit in one pass.

For direct fixes, Amend Attendance generates an editable day-by-day grid for an employee and date range: set a check-in, check-out and status once and apply it to every selected day, adjust individual rows, then save. Re-uploading the same Excel file is safe — existing records are updated, not duplicated — and a check-out earlier than the check-in is understood as the next calendar day. Attendance Repost re-processes the ledger by employee, department or date range, and the dialog lists each repost run in the current session.

Exemptions, remote work and worksheets

An Exemption Request asks for a specific attendance flag — Late In, Early Out, Short Time, Absent, Missing In Punch or Missing Out Punch — to be excused for a date, with a reason. Exemption reason types are yours to define, and each type records a minimum-working-hours preference as part of its configuration.

Remote Work Requests carry the date, intended in and out times and a reason; once approved, the times are written into the attendance ledger like any other day. WorkSheets record what was actually done — a title, date and description per entry — and follow the same submit-and-approve path.

Penalty rules and the period close

Attendance Penalty Rules encode your discipline policy: pick a flag, how many occurrences trigger the rule, how many are exempted first, whether it fires once or on every occurrence, and the effect quantity in quarter, half or full days — enforced by gender and employment status, with an employee group recorded on the rule for reference. The Penalty Report applies the rules to any date range, shows lates, absents and penalty days per employee, and can deduct the result from leave balances in one confirmed action.

Weekly Off Days marks the non-working days of your week — Saturday and Sunday by default — so those dates carry no late, early, short-day or absent deduction. When a payslip month is done, Attendance Close summarises days, presents, absents and leaves per employee, lets you close the period for selected people through its own approval trail, and downloads the summary as a spreadsheet.

Features

Biometric devices without lock-in

Register devices by name, IP, port and type — ZKTeco, Suprema, eSSL, Hikvision or other — and manage them in one panel with a last-sync date per device and platform-triggered sync for ZK-protocol terminals. Devices push punch logs to the Client API with a Company Token; regenerate the token whenever you need to cut old devices off.

Punch-time restrictions, not surveillance

Restrict attendance per employee to an approved IP list, a geo-fence checked against the browser's location, or a registered device. Every check happens only when a punch is made, each control is off by default, and a clear on-screen hint tells the employee exactly why a punch was refused.

Shift plans with flag windows

Each shift defines its own Late, Early, Short Day, HalfDay and Absent windows, grace minutes, breaks and sign-in/out limits — including multi-day shifts that cross midnight. Attendance is judged against the shift the employee actually holds.

Bulk amendment that stays honest

Fix a person or a whole department across a date range in one editable grid — apply the same times to selected days, reset rows, import from Excel without creating duplicates, and repost the ledger afterwards — the repost dialog lists every run made in the current session.

One approvals inbox

Attendance, exemption, worksheet, remote-work, shift, irregular and shift-transfer requests all land in a single filterable Attendance Approvals list. Forwarding rules of up to five approval levels are configured per request kind in settings, with a sensible default route for kinds you have not configured.

Penalty rules that act on leave

Turn repeated flags into deductions by rule — flag count, exempted count, frequency and effect quantity, enforced by gender and employment status. Run the report for any range and apply the computed days against leave balances in one step.

Monthly rosters, applied in bulk

Build a named schedule on a calendar, mixing shifts day by day, and apply it to any set of employees at once. The result is reported as concrete day-assignments written, so you know precisely what changed.

Spreadsheets in, spreadsheets out

Attendance amendments and shift assignments both import from a .csv or .xlsx upload against a downloadable sample template — and because re-uploads update rather than duplicate, a corrected file is safe to send again. The close summary exports back out as CSV.

Used by: HR administrators manage the rail; employees punch and raise corrections from self-service.

Works with the rest of Nexa People

Attendance reads its people from Employee Management: the Punch Code that maps device logs to a person and the assigned work shift both live on the employee record, and Amend Employee Shift writes its changes straight back to it. The stations, departments, sub-departments and employee groups behind every filter come from the Organization module, so scoping an amendment or a report uses the same structure as the rest of the platform.

Requests run on the shared approvals engine — the same forwarding model of named approvers or roles resolved from the requester's reporting line that Employee Management uses — and an approved attendance or remote-work request is written into the attendance ledger automatically. Saving amendments or settings refreshes the dashboard's attendance figures immediately, and employees raise and track the same request types from their self-service view.

Leave and payroll read from the same ledger: days on approved leave appear as on-leave rather than absent, applied penalties deduct from the leave balances and quotas managed in the Leave module, and the weekly off days configured here are the ones payroll and the dashboard treat as OFF when a month is closed.

Frequently asked questions

Which biometric devices can we connect?

The device panel recognises ZKTeco, Suprema, eSSL and Hikvision types alongside a generic option, registered by IP address and port with an optional device password. Any device that can post punch logs to the Client API — a device IP plus biometric-ID-and-timestamp pairs, authenticated with your Company Token — can feed attendance. Fingerprint and face templates stay on the device; only the punch code and timestamp reach the platform.

How are overnight shifts handled?

A shift can be marked as starting the previous day or ending the next, and its Sign In End Time Limit acts as the attendance-day boundary: a punch before it closes the previous shift, a punch after it opens the next day's. In amendments and imports, a check-out time earlier than the check-in is automatically placed on the next calendar day.

Can we control where employees mark attendance?

Yes, per employee. Attendance can be limited to an approved list of IP addresses, to a geo-fence checked against the browser's location at the moment of the punch, or to a registered device. All three are off by default, are enforced only when a punch is made, and never apply to punches from a registered biometric terminal — being at the machine is the location proof.

What happens after an attendance request is approved?

The approved in and out times are written into the attendance ledger for the intended day, and the request keeps its status, details and approval trail in the list. Forwarding rules are configured per request kind — auto-approved or one to five levels, with a default route for kinds left unconfigured — with each level's approver chosen as a specific employee or a role resolved from the requester's reporting line — their line manager, department head or a manager further up the chain.

We have a backlog of missing attendance. How do we fix it in bulk?

Amend Attendance builds an editable grid of every day in your chosen range for the filtered employees — apply one check-in and check-out to all selected days, tweak individual rows and save. Alternatively, upload a spreadsheet against the sample template; rows update existing records rather than duplicating them, so a corrected file can simply be uploaded again. Attendance Repost then re-processes the affected range.

How do late-coming penalties work?

You define rules per attendance flag: after how many occurrences the rule fires, how many are exempted first, whether it applies once or on every further occurrence, and the effect in quarter, half or full days — optionally limited to a gender or employment status, with an employee group recorded on the rule. The Penalty Report shows the outcome for any date range before you apply it, and applying deducts the days from leave balances according to each rule's leave types.

What do employees see in this module?

Employees get self-service tabs for their own attendance, worksheet, remote-work and shift requests, and can sign in and out from the dashboard, with a clear message if a location or device restriction blocks the punch. The HR screens — amendments, closes, rosters, settings — appear only for people whose role template grants those forms, one permission per screen.

See Attendance in your own setup

We'll walk you through the modules you care about and email you login credentials to try it yourself.