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.
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
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.
/hrms/attendance
Employee · Manager · HR Admin
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.
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.
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.
Missed punch. A leave day that did not flow into the matrix. Month-end before payroll. After a holiday calendar change.
Toggle attendance flags — mark, auto-approve, manager queue, regularization bridge, and leave sync.
Each diagram auto-plays steps when it scrolls into view. Use Play / Pause, or click a step. Matching nodes highlight as the narration advances.
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]
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]
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]
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]
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]
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.
hrmsModules.attendanceEnabled + attendance CRUD as needed.attendanceAdditional.attendanceRegularizationEnabled for regularization flows.leaveAdditional.leaveAutoSyncToAttendance for leave → attendance writes.attendance.swipe-ingest, attendance.source-resolution, attendance.timesheet-wfh, attendance.cross-midnight — all default off until enabled.attendance.period-lock — no lock service is shipped for that flag./admin/shift-policies), holidays (Leave Configuration → Holidays), delegation for approvers away.| Use case | Who | What happens |
|---|---|---|
| View month matrix | Manager / HR | Filter team/employee; navigate months |
| Mark present/absent | Manager / HR | Cell popover saves status (+ audit) |
| Approve attendance | Manager / delegate | Pending panel or Approvals inbox |
| Submit regularization | Employee / manager | Request exception; policy + lock checked |
| Approve regularization | Manager / HR | Attendance updated on approve |
| Leave sync | System | Approved leave writes LEAVE / HALF_DAY when flagged |
| Payroll lock | Policy | Soft lock may block prior-month regularizations / edits after lock day (no matrix export) |
| Role | Access |
|---|---|
| Employee | Often view self / submit regularization when enabled; personal strip also on Dashboard. |
| Manager | Mark and approve for managed teams; pending panel. |
| HR / Payroll | Full matrix, policy, and soft payroll lock where configured. |