Validation rules
The eight blocking validation rules evaluated against a payroll submission before it can move to READY_FOR_EXPORT. Generated from packages/domain/src/payroll/rules/validation-rules.ts at build time.
A rule that fails creates a blocking issue on the submission. A blocking issue prevents the cycle from moving forward until it's resolved or overridden via POL approval (Payroll Lead / Platform Admin only).
| Key | Severity | Description |
|---|---|---|
ATTENDANCE_REQUIRED | BLOCKING | Attendance data must be provided |
DOCUMENT_REQUIREMENTS_MET | BLOCKING | Each change type must have the specific supporting documents configured for the client (SOP §6 Step 2.0) |
FOREIGN_LEAVER_IR21 | BLOCKING | Foreign employee leavers require IR21 task |
NS_DOCUMENTATION | BLOCKING | NS claims require supporting documentation |
DUPLICATE_RECEIPTS | BLOCKING | Duplicate receipts must be resolved before submission |
SALARY_DELTA_THRESHOLD | BLOCKING | Salary changes exceeding threshold require POL approval |
PAYROLL_VARIANCE_THRESHOLD | BLOCKING | Aggregate payroll variance exceeding threshold requires POL approval |
OCR_LOW_CONFIDENCE | BLOCKING | Low-confidence OCR extractions require manual review |
CPF_AW_CEILING | BLOCKING | CPF Additional Wage ceiling breach risk detection |
What "BLOCKING" means in practice
A blocking issue:
- Is shown on the cycle's Issues tab with a red severity badge.
- Stops the Generate export button from being enabled.
- Can be resolved by the client uploading the missing data (e.g. attendance, supporting documents).
- Can be overridden by a Payroll Lead via POL approval, recorded in the audit log.
- A Payroll Executive on their own cannot override.
Where to learn more
- The whole validation step in context: Validation (P-04).
- POL approval / overrides: Request info from client (P-05) and Internal review (P-06).
- The SOP origin of these rules: Payroll SOP §6.