A Wage Protection System (WPS) salary file, the SIF (Salary Information File), bouncing back from your bank is one of the most disruptive things that can happen to payroll for a manpower supplier — hundreds of workers waiting to be paid, and no clear error message beyond “rejected”. Most rejections trace back to one of a handful of causes, nearly all of them preventable with the right checks before the file is submitted.
1. The totals don’t match, down to the fils
Every SIF file carries a control record with the total number of employees and the total salary amount, which must match the sum of every individual employee record exactly. A single AED 0.01 rounding difference anywhere in the file — often from how overtime or a deduction was rounded — is enough for the whole file to be rejected, not just that one row.
2. IBAN formatting errors
A UAE IBAN is a fixed 23 characters, starting with AE. Extra spaces, a dash, a transposed digit, or an IBAN that was never updated after an employee switched banks or exchange houses are all common causes of an instant rejection on that record.
3. Labour card or employee ID mismatches
An extra leading zero, a stray space, or a labour card number that wasn’t updated after a status change (a renewal, a cancellation, a transfer) will fail the match against MOHRE’s own registry. The file looks fine to the eye; the bank’s system sees a record that doesn’t reconcile.
4. Structural and formatting errors
The SIF format is strict about field order, delimiters and date formats. A misplaced delimiter or a date in the wrong format can be enough to reject the entire batch, even when every salary figure in it is correct.
5. Mismatches against MOHRE’s own records
Duplicate employee IDs across companies, an expired work permit, or a salary that doesn’t match what’s on file with MOHRE for that contract will also bounce the file — this is the category that’s hardest to catch by eye, since the error isn’t in your file at all, but in how it compares against a government record you don’t see.
How to stop this recurring every month
Nearly all of the above comes down to one thing: bank details, labour card numbers and salary structure living correctly on each employee’s record before payroll runs, not re-typed into a spreadsheet every month. A payroll run that reads bank and salary details straight from the employee record, and computes totals the same way the SIF format expects before export, removes most of the manual re-entry that causes these mismatches in the first place.
Check a file now with the free WPS SIF file checker, and validate account numbers with the UAE IBAN validator. Catching these before upload is what WPS payroll software is for; our guide to running payroll and exporting a WPS file walks through it step by step. Related: how end-of-service gratuity is calculated.
