People operationsLive2026
HR & Payroll
Attendance, working days and a pay run that locks once published.
The problem
Payroll errors usually come from inputs that changed after the run, not from the arithmetic. A public holiday is edited mid-month, a leave request is approved late, a contract changes a salary. The closed run no longer matches its source data, and when an employee queries a payslip there is no way to trace where the old figure came from.
The solution
A run moves through four states: Draft, Calculated, Reviewed, Published. A published run is locked and cannot be re-priced. The company calendar and the standard working days are snapshotted per run, so editing the calendar mid-month leaves closed periods unchanged.
The screens
- 01A pay run through four states; published means locked
- 02Dashboard: attendance as it stands today, and the month’s payroll
- 03Company calendar: holidays and make-up workdays, snapshotted per run
- 04Employees with shift, contract, role and annual leave
Key features
Four auditable steps
Draft → Calculated → Reviewed → Published, each with someone accountable for it.
A published run is locked
It cannot be re-priced, so a payslip figure always traces back to its own run.
Calendar snapshot per run
Holidays and make-up workdays are pinned to the run; later edits leave closed periods alone.
More than one currency
A single run pays in VND and USD, with net totals kept apart per currency.
Missing config skips, never fails
Anyone without a salary configuration is reported by name and skipped, rather than failing the whole run.
Stack & numbers
- 4
- Steps in a pay run
- 2
- Currencies per run