A company whose WPS files keep bouncing may be one integration fix away from resolving visa and permit problems it has not yet connected to payroll.

WPS requires employers to pay salaries through Saudi banks and submit a file matching those payments to the employee and contract data held by the Ministry. The file must reconcile to what the bank paid and to what is registered. A common cause of non-compliant status is a data mismatch, even when every employee was paid correctly. This sits directly downstream of payroll configuration.

The three-way match that must hold

Compliance depends on agreement between three sources: the payroll system's payment instruction, the bank's actual transfer, and the employee and salary data registered with the Ministry through Qiwa and related platforms. A mistyped iqama number, a changed bank IBAN, or a registered basic salary that differs from what payroll pays will each produce a mismatch that shows as non-compliance even though everyone was paid correctly.

File generation and bank formats

Each Saudi bank accepts the WPS file in its own layout. The ERP must generate the correct format for whichever bank processes your payroll, and businesses paying across more than one bank need more than one file. We configure and test this against a live submission cycle instead of a specification document, because banks differ in details the specification does not always capture.

Timing and the compliance clock

WPS submission is time-bound relative to the pay period, and late submission counts against compliance regardless of whether employees were paid on time. That makes the payroll close calendar a compliance matter as well as an internal deadline. We build the submission step into the payroll calendar with buffer, so it is planned before payment instead of added after it clears.

A hypothetical example

Consider a services company that pays all staff on time but shows repeated WPS non-compliance. A review would compare each employee's registered basic salary with payroll. A general increase that was never registered would make the file report amounts that do not match the registration, even though every payment was correct.

After each cycle

WPS status needs checking after each cycle. New joiners, leavers, salary changes and IBAN updates each create the chance of a fresh mismatch. We set up a post-submission verification step. A monthly reconciliation compares registered salary, iqama and IBAN details against payroll master data, and exceptions go to a named owner before the next cycle compounds them. This sits alongside payroll configuration. Where payroll is outsourced, the same verification responsibility must be assigned explicitly instead of assumed to sit with the provider.

If a non-compliant status appears

Speed matters once a non-compliant status appears, because restrictions on visas and permits start to affect operations quickly. Agree a procedure in advance: who investigates the cause, how the data is corrected on the government platforms, and who follows up until the status returns to compliant. That way the first stretch is spent on the fix instead of on deciding who is responsible.