HRMS · Attendance
Route /hrms/attendance · /people/attendance Role attendanceEnabled

Attendance

Month matrix for present / absent / leave, manager approvals, regularization requests, leave-to-attendance sync, and soft payroll lock (no matrix export).

Scroll to Flowcharts for animated step-by-step diagrams. Related: Leave Management.

Month matrix

Present, absent, leave — the month payroll can lock

Attendance is the month matrix for present / absent / leave, manager approvals, regularization, leave-to-attendance sync, and a soft payroll lock. It is not a badge-swipe raw dump.

People → Attendance Route /hrms/attendance Employee · Manager · HR Admin

The job of this console

Mark or regularize a day, approve a team matrix, and understand when a period is soft-locked for payroll. Leave already approved should sync; do not double-enter it as absence.

Seat at the table

Employees see self. Managers approve their team. HR sees wider scope. Payroll reads this after lock — they do not edit cells here as a ledger.

The working rhythm

Open the month, filter the team, regularize or approve, confirm leave sync, then treat lock as the freeze before pay. Use shift policies for working-week context.

Moments that bring you here

Missed punch. A leave day that did not flow into the matrix. Month-end before payroll. After a holiday calendar change.

ⓘ
Protected production flow
Approvals and lock behave as the live attendance engine. This how-to explains the screen; it does not replace the matrix as source.

Interactive data flow

Toggle attendance flags — mark, auto-approve, manager queue, regularization bridge, and leave sync.

Flowcharts

Each diagram auto-plays steps when it scrolls into view. Use Play / Pause, or click a step. Matching nodes highlight as the narration advances.

1 — Configure then use attendance

Enable access and optional policies first, then mark and approve. Soft payroll lock may freeze prior-month edits.

flowchart TD
  A[Enable attendance role] --> B[Shift / holiday config]
  B --> C[Regularization policy optional]
  C --> D[Mark matrix]
  D --> E[Approve pending]
  E --> F[Soft payroll lock]
          
  1. 1
    Enable attendance roleRole flag attendanceEnabled + mark/approve permissions.
  2. 2
    Shift / holiday configOptional shift policies and People holidays for correct day context.
  3. 3
    Regularization policyTurn on when employees can request corrections; set soft payroll lock day when used.
  4. 4
    Mark matrixManagers mark present/absent/leave per employee-day.
  5. 5
    Approve pendingClear attendance and regularization queues.
  6. 6
    Soft payroll lockMay freeze prior-month edits / regularizations after the lock day — no matrix export in product today.

2 — Mark attendance (matrix cell)

Day-to-day marking from the month matrix, including optional approval.

flowchart TD
  O[Open Attendance] --> F[Filter team / employee / month]
  F --> C[Click day cell]
  C --> M[Mark popover]
  M --> S{Status}
  S -->|Present / Absent / Half-day / Leave| Save[Save mark]
  Save --> Aud[Audit event]
  Save --> Pend{Needs approval?}
  Pend -->|Yes| Queue[Pending approvals]
  Pend -->|No| Done[Visible on matrix]
          
  1. 1
    Open AttendanceHRMS → Attendance with team access.
  2. 2
    FilterNarrow team, employee, and month before marking.
  3. 3
    Click day cellOpen mark or details popover for that employee-day.
  4. 4
    Mark popoverChoose status and save.
  5. 5
    StatusPresent, absent, half-day, leave, etc. per org options.
  6. 6
    Save markPersists the attendance record.
  7. 7
    Audit eventWho changed what is recorded when audit is on.
  8. 8
    Needs approval?Some orgs route marks to a pending queue.
  9. 9
    Pending approvalsManager decides later.
  10. 10
    Visible on matrixCell color updates immediately when no approval needed.

3 — Regularization request

Exception path when a day must be corrected after the fact — blocked by policy or payroll lock when applicable.

flowchart TD
  Emp[Employee or manager] --> Reg[Submit regularization]
  Reg --> Pol{Policy / payroll lock OK?}
  Pol -->|No| Block[Blocked with reason]
  Pol -->|Yes| Sub[SUBMITTED]
  Sub --> Mgr[Manager / delegate decides]
  Mgr -->|Approve| Upd[Attendance updated]
  Mgr -->|Reject| Rel[Rejected + comment]
          
  1. 1
    RequesterEmployee (self-service) or manager on their behalf.
  2. 2
    Submit regularizationPick date, reason, and requested status.
  3. 3
    Policy / lock checkFails closed if outside policy or past payroll lock.
  4. 4
    BlockedUser sees why the request cannot proceed.
  5. 5
    SUBMITTEDEnters pending regularization queue.
  6. 6
    Manager decidesApprove or reject with comment.
  7. 7
    Attendance updatedMatrix reflects the approved correction.
  8. 8
    RejectedNo matrix change; requester notified.

4 — Leave → attendance sync

When leaveAutoSyncToAttendance is on, approved leave writes LEAVE / HALF_DAY onto the matrix automatically.

flowchart TD
  L[Leave approved] --> Flag{leaveAutoSyncToAttendance?}
  Flag -->|Yes| Sync[Write LEAVE / HALF_DAY]
  Sync --> Mat[Shows on Attendance matrix]
  Flag -->|No| Manual[Manual mark or leave overlay only]
          
  1. 1
    Leave approvedManager approves a leave request.
  2. 2
    Sync flag?Org leaveAdditional.leaveAutoSyncToAttendance.
  3. 3
    Write LEAVE / HALF_DAYAttendance sync service updates working days in range.
  4. 4
    Shows on matrixCells display leave without manual mark.
  5. 5
    Manual pathIf flag off, mark leave cells yourself or rely on overlay only.

5 — Manager approve attendance / regularization

Decision path from the pending panel or universal Approvals inbox.

flowchart TD
  P[Pending panel or Approvals inbox] --> Rev[Review employee-day]
  Rev --> Dec{Decision}
  Dec -->|Approve| Acc[Accept mark / regularization]
  Acc --> Mat[Matrix updated]
  Dec -->|Reject| Com[Reject + comment]
          
  1. 1
    Open pendingAttendance page pending section or Approvals inbox.
  2. 2
    ReviewCheck employee, date, requested status, and reason.
  3. 3
    DecisionApprove or reject.
  4. 4
    AcceptMark or regularization becomes final.
  5. 5
    Matrix updatedCell reflects the approved status.
  6. 6
    Reject + commentNo change to attendance; requester notified.

Overview

HRMS → Attendance is the month-at-a-glance control surface for who was present, absent, on leave, or needs correction. Managers mark cells, approve pending items, and (when enabled) process regularization. Approved leave can auto-write attendance when leaveAutoSyncToAttendance is on.

Work-Time Governance can ingest swipe evidence and compose a read-only source (leave → swipe → timesheet WFH → regularization). That compose API does not write this matrix and does not invent entry/exit times from hours-only timesheets. attendance.period-lock is catalogued but has no lock service yet — do not accept it as active. A complete ACS / device feed still needs the client vendor API; overnight pairing is limited, not full shift windows.

Screen layout

  • Header — team scope, employee filter, Documentation link, month navigation via summary.
  • Summary strip — attendance rate and absence KPIs for the filtered month.
  • Pending approvals — attendance marks / regularizations awaiting decision.
  • Matrix — employees × days; color-coded cells; click to mark or view details.
  • Current-user panel — your own pattern when viewing self.
  • Payroll lock banner — soft lock when prior-month edits are frozen (no matrix export).

Flags & prerequisites

  • Role: hrmsModules.attendanceEnabled + attendance CRUD as needed.
  • Org: attendanceAdditional.attendanceRegularizationEnabled for regularization flows.
  • Org: leaveAdditional.leaveAutoSyncToAttendance for leave → attendance writes.
  • Work-Time catalog (Feature Flags): attendance.swipe-ingest, attendance.source-resolution, attendance.timesheet-wfh, attendance.cross-midnight — all default off until enabled.
  • Do not rely on attendance.period-lock — no lock service is shipped for that flag.
  • Optional: shift policies (/admin/shift-policies), holidays (Leave Configuration → Holidays), delegation for approvers away.

Feature & use-case map

Use caseWhoWhat happens
View month matrixManager / HRFilter team/employee; navigate months
Mark present/absentManager / HRCell popover saves status (+ audit)
Approve attendanceManager / delegatePending panel or Approvals inbox
Submit regularizationEmployee / managerRequest exception; policy + lock checked
Approve regularizationManager / HRAttendance updated on approve
Leave syncSystemApproved leave writes LEAVE / HALF_DAY when flagged
Payroll lockPolicySoft lock may block prior-month regularizations / edits after lock day (no matrix export)

Complete feature list

  • ✓
    Month matrixEmployees × days with present/absent/leave markers.
  • ✓
    Cell mark / detailsPopover to mark or inspect history for one employee-day.
  • ✓
    Pending approvalsAttendance and regularization queues.
  • ✓
    RegularizationException requests with policy gates and soft payroll lock.
  • ✓
    Leave syncApproved leave can auto-mark attendance.
  • ✓
    Intelligence / anomaliesOptional anomaly and recommendation panels when enhancements are on.
  • ✓
    Audit panelMarks, edits, approvals on attendance records.

Permissions

RoleAccess
EmployeeOften view self / submit regularization when enabled; personal strip also on Dashboard.
ManagerMark and approve for managed teams; pending panel.
HR / PayrollFull matrix, policy, and soft payroll lock where configured.