A payroll error is visible to every employee the same day, which is why this configuration deserves more scrutiny than a general ledger setting. It can also become a GOSI or WPS problem, because the same pay data feeds both.

Payroll must reflect the Saudi Labor Law and the systems around it. That means GOSI contributions at the correct rates for Saudi and non-Saudi employees, end-of-service benefit accrual under the statutory formula and Hijri-aware leave entitlements. It also means Wage Protection System file generation in each bank's required format. Configuration and testing are inseparable here.

Earnings, allowances and the GOSI base

The basic-plus-allowances structure matters beyond presentation, because GOSI contributions and end-of-service calculations are based on defined elements instead of gross pay. Housing and transport allowances, overtime and variable elements each need explicit treatment. Misclassifying an allowance produces a GOSI contribution error that repeats every month and accumulates into a material liability before anyone notices.

End-of-service benefit accrual

End-of-service benefit under the Labor Law depends on length of service and reason for termination, with different treatment for resignation and termination and different rates for early and later years of service. Accruing it monthly instead of calculating it at departure gives auditors a defensible liability figure and stops end-of-service payments from becoming a cash surprise. A system that has not been configured for this will not accrue it at all.

Leave and the Hijri calendar

Annual leave, sick leave and Hajj leave entitlements follow the Labor Law, and some entitlements interact with the Hijri calendar while payroll periods run on the Gregorian. The system must handle both without the finance team maintaining a parallel spreadsheet, which is what happens by default when leave accrual is not configured properly.

A hypothetical example

Consider a Riyadh manufacturer running payroll on a system configured years ago and never revisited. A review could find housing allowance excluded from the GOSI base for employees whose contracts were entered differently, which would understate contributions for years. The cause would be that nobody has validated the configuration against a sample of actual contracts since go-live.

Parallel running before cutover

We run the new payroll alongside the existing one across more than one pay cycle, reconciling every employee line by line: gross, each allowance, GOSI, deductions and net. Cutover happens only when the two agree and any differences are explained and accepted as corrections instead of unexplained variances. Where payroll is outsourced, the same approach applies to the provider's first parallel runs.

Payroll controls and confidentiality

Payroll carries the most sensitive data in most organizations, and access controls matter as much as calculation accuracy. We configure roles so that the person who can change a salary is not the person who can release the payment. We restrict visibility of individual pay to those who need it and ensure the audit trail records who changed what. This is a core internal control expectation, and it links to WPS accuracy, since uncontrolled master data changes can cause submission mismatches.

Handling the exceptions

Payroll errors tend to arise in the exceptions more than in the standard case: an employee who joins mid-month, leaves before an entitlement falls due, transfers between two entities in a group or returns from unpaid leave. We identify each exception your business has and test it in the parallel run, because these cases drive later employee complaints and GOSI corrections.