How to Create a SIF File for WPS in the UAE
If you've searched this, you're probably staring down your first WPS pay run and wondering whether you need to build a spreadsheet in some exact format. You don't build the file from nothing — but you do need the right pieces in place before your bank or software can generate it correctly.
The short answer
You don't hand-type a SIF file. You generate one through your WPS agent's portal or through payroll software, using your MOHRE establishment details and each employee's verified bank information — the "creating" part is really about getting that underlying data correct.
For the concept itself — what WPS is and why it exists — see our separate explainer. This post is about the practical steps to actually produce a file that gets accepted.
What you need before you can generate one
- An active WPS registration, linked to your company's MOHRE labour establishment number.
- A WPS agent — a bank, exchange house, or approved finance company registered to process WPS transfers on your behalf.
- Verified employee bank details — each employee's IBAN has to sit with a bank or exchange house that's itself WPS-registered, not just any personal account, and it has to be current (people switch banks and forget to tell HR).
- Accurate labour card / person numbers for every employee on the file, matching what's registered with MOHRE.
- A completed pay run — basic salary, allowances, and deductions calculated per employee for the period, matching what's declared on their actual labour contract.
The actual steps
- Finalize payroll for the period — every employee's net pay, calculated and reviewed.
- Generate the file itself. This happens one of two ways: manually through your WPS agent's own online portal (you enter or upload each employee's pay data yourself, every single month), or automatically through payroll software that exports directly in the file layout your agent expects.
- Submit the file to your WPS agent before your payment deadline for the period.
- Check the confirmation status, not just the submission status. A file can be accepted for processing and still contain a line that gets rejected — that specific employee's wage isn't actually considered paid until it clears.
- Fix and resubmit anything flagged, immediately — don't let a rejected line sit until next month's run.
Why files get rejected
The same handful of issues account for most rejections: an IBAN that no longer matches the employee's actual bank (they switched accounts and didn't tell you), a labour card number that's mistyped or belongs to an employee whose contract status changed, or a net pay figure that's lower than what's registered on their MOHRE contract — even a AED 50 discrepancy from an unrecorded change can flag a line. None of these are file-format problems; they're data-accuracy problems that happen to surface at the file stage.
Where this breaks down for small teams
The most common failure mode isn't a technical one — it's doing this by hand in a spreadsheet every month, re-typing figures that already exist somewhere else (the offer letter, last month's payslip, an email about a raise), with no single source of truth catching the mismatch before it reaches the bank. The fewer places your salary and bank data live, the fewer chances there are for one of them to go stale.
This is a general explanation of the practical steps involved in generating a WPS salary file for HR teams doing their own planning — not a substitute for your specific bank or exchange house's own WPS onboarding documentation, and not legal advice. Exact file specifications, deadlines, and rejection-handling procedures are set by your WPS agent and the relevant UAE labour authority and can vary — confirm current specifics directly with them rather than relying on this page.
OfficeHR generates your WPS file automatically, every pay run.
Pulled straight from the same payroll data your payslips use, so there's no separate spreadsheet to keep in sync — and no re-typed IBAN to get wrong.