A WPS SIF file is the salary information file a UAE employer gives its bank or exchange house each month so that wages can be paid through the Wage Protection System. When one is rejected, the cause is almost always one of a short list: an IBAN that fails its checksum, a routing code in the wrong shape, totals that do not reconcile, or values in a layout the agent does not accept. Every one of them can be caught before the file exists.
What a SIF file is
The Wage Protection System (WPS) is how the Ministry of Human Resources and Emiratisation (MOHRE) checks that private-sector wages are paid in full and on time. Salaries go out through an approved WPS agent, which is a bank, an exchange house or another approved financial institution, and the agent needs a file that says who is paid what, for which period. That file is the Salary Information File, or SIF.
A SIF is a plain text file of delimited records, usually comma-separated. It holds two kinds of record, and both have to be right:
Why the same payroll can pass at one bank and fail at another
There is one Wage Protection System, but not one file layout. Agents differ in small, strict ways: the delimiter, the date layout (YYYY-MM-DD at one agent, DDMMYYYY or DD/MM/YYYY at another), the number of decimal places and the line endings. A file that one bank accepts can come straight back from the next.
So the first rule is simple: build the file in the format your own agent publishes. If you move your payroll account to a different bank or exchange, treat the new format as a new file and test it before salary day, not on it.
Six rejections you can prevent before the bank sees the file
Each check below can run on your own screen before the file is made. All of them are cheaper to fix there than after a rejected upload on salary day.
1. An IBAN that is not a valid UAE IBAN
A UAE IBAN is the letters AE followed by 21 digits, 23 characters in all. Its two check digits must pass the ISO 13616 mod-97 checksum. One transposed digit fails the checksum even though the number still looks perfectly plausible, which is exactly why eyeballing a column of IBANs does not work. Strip the spaces and upper-case the letters, then run the checksum on every employee, every month, because IBANs change when people switch banks.
2. A routing code in the wrong shape
The routing code identifies the bank or exchange that holds the account, and it is 9 digits. A missing digit, a leading zero lost when someone opened the list in a spreadsheet, or a code copied from the wrong row will not survive. Check that every code is exactly 9 digits and that it belongs to the institution that issued the employee's IBAN.
3. Totals that do not reconcile
The SCR states how many employee records follow and what they add up to. Both must agree with the EDR lines underneath. Inside each line, net pay should equal basic salary plus allowances minus deductions, to the fils. And net pay must be above zero: an employee whose deductions wipe out the month needs a decision before the run, not a zero line in the file.
4. Days that cannot exist in the period
Days on payroll must be at least 1 and no more than the days in the pay period. That sounds obvious until your company pays on its own cut-off: a period from 21 February to 20 March 2026 has 28 days, not 31, and a spreadsheet that assumes a calendar month will overstate it. Unpaid leave reduces the days on payroll as well.
5. Leave days with a fraction
The leave-days field in an EDR is a whole number. Many HR systems track half days, which is correct for the leave balance, but a value like 2.5 written into the file can get the whole file rejected. Round at the point the file is written, and nowhere upstream, so the balance and the deduction keep their halves.
6. A missing or expired labour card
Each EDR identifies the employee by their MOHRE person ID. A blank ID, or a labour card that has expired, is a problem the bank cannot solve for you. Check expiries in the same pass as the IBANs, ideally weeks before the run.
Most SIF errors start upstream
Very few rejected files contain a typing error made in the file itself. The wrong numbers arrive from somewhere else: an unpaid leave deduction that never reached payroll, a new joiner's IBAN still sitting in an email, a salary change agreed in March and entered in May. When the file is built from the same records that HR and line managers already approved, those gaps close on their own.
That is the idea behind building payroll inside the same workspace as attendance and leave. The leave a manager approved is the leave payroll deducts. The hours the terminals recorded are the hours the reports show. Nobody re-keys a month.
How Wurxa makes the SIF file
Wurxa Payroll and WPS turns the month you recorded into a validated SIF file, in the format your bank or exchange expects:
Your bank stays your bank
Wurxa does not replace your bank. You download the file and upload it to your agent as you do today; what changes is that it arrives already checked. While you are planning the month, the free WPS deadline tracker shows the due date and what happens if a payment slips.
Payroll and WPS is an add-on at AED 2,400 a year plus VAT on any paid Wurxa Workforce plan, in the same workspace as your attendance, leave and employee records. You can try Wurxa for 14 days with every feature and no credit card: start your trial, add a handful of employees with their IBANs, and see which ones the checks would have stopped.
Put the workflow into practice.
Start with every Wurxa feature for 14 days. No credit card required.

