Insights Payroll
WPS File Format UAE 2026: SIF Structure and Rejection Codes
Complete UAE WPS file format guide — SIF header and detail record layout, validation rules, six common rejection codes, and the agent bank to MoHRE submission flow.

Key takeaways
- The SIF file is a fixed-width plain-text file with EDR header, SCR detail records and an optional trailer
- Late or rejected WPS files trigger AED 1,000 per worker fines and a new-visa block after 60 days under MoHRE rules
- Federal Decree-Law 33 of 2021 governs the underlying employment contracts the SIF reports against
- The six recurring SIF rejection codes cluster around employer ID, Emirates ID, frequency, funding, routing and date errors
- Pre-flight validation against the agent bank specification catches most rejections before submission
- DIFC and ADGM salaries are paid through the standard banking system, not WPS — no SIF required
The WPS file format is the most under-documented compliance artefact in UAE business operations. Every mainland employer with even one MoHRE-permitted employee must submit a Salary Information File (SIF) every salary cycle, yet the actual specification is buried inside Central Bank circulars and agent-bank technical guides. So the same thing keeps happening: payroll teams generate files they don’t fully understand, the agent bank bounces them for reasons nobody on the employer side can interpret, and fines accrue at AED 1,000 per worker per cycle while the file sits in a rejection queue. This guide breaks the SIF down record by record, walks through the validation rules, decodes the six most common rejection codes, and explains how the file travels from the agent bank to MoHRE.
Why the SIF exists
The Wage Protection System launched in 2009 to fix a recurring problem: workers were not being paid on time, or were paid in cash with no audit trail. WPS pushes every covered salary into the regulated banking system, where MoHRE can verify that the right employee received the right amount on the right date. The SIF is the data carrier that makes that verification possible.
A SIF submission tells three regulators four things in one transmission. It tells the agent bank to debit the employer’s WPS account and credit each employee’s account. It tells the Central Bank’s WPS hub how to route those credits across the inter-bank network. It tells MoHRE which work-permitted employees were paid this cycle, on what frequency, for how many days, and at what salary. And it creates a permanent audit trail that closes the loop on the Federal Decree-Law 33 of 2021 obligation to pay wages in full and on time.
Get the SIF right and the compliance machinery runs in the background without anyone noticing. Get it wrong and three regulators flag the establishment within days. There isn’t much of a middle ground, which is the part most teams underestimate.
15 days
Maximum window between the contractual salary due date and a clean WPS submission accepted by the Central Bank — beyond which AED 1,000 per worker fines accrue

Three record types, in strict sequence
A SIF file is a strictly sequenced plain-text file containing three record types: the Employer Detail Record, one Salary or employee detail record per paid employee, and an optional trailer. The exact field widths vary slightly between agent banks, but the underlying specification published by the Central Bank is consistent.
Employer Detail Record (EDR)
The EDR opens the file. There is exactly one EDR per SIF, and it identifies the employer, the agent bank, the salary period and the file totals.
| Field | Purpose | Typical Format |
|---|---|---|
| Record sequence | Always 1 — marks this as the header | 1 character |
| Employer Unique ID | MoHRE establishment number | 13 digits |
| File creation date | Date the SIF was generated | DDMMYYYY |
| Salary year | Year of the pay period | YYYY |
| Salary month | Month of the pay period | MM |
| Payer Emirates ID | EID of the authorised signatory | 15 digits |
| Payer bank routing code | Agent bank routing code | 9–11 characters |
| Total salaries | Sum of net salaries in this file, in fils | Numeric, no decimals |
| Total records | Count of SCR records that follow | Numeric |
| Salary frequency | Monthly, fortnightly, weekly, daily | Code |
A mismatch between the Employer Unique ID and the establishment number registered with MoHRE is the single most common file-level rejection — usually triggered after an establishment renewal that issues a new card number that nobody copied into the payroll master.
Salary Detail / Employee Record (SCR)
One SCR per employee paid in this cycle. The SCR is the bulk of the file — for a 50-employee company it carries 50 lines after the single-line EDR.
| Field | Purpose | Typical Format |
|---|---|---|
| Record sequence | Always 2 — marks this as a detail line | 1 character |
| Labour card number | MoHRE work-permit ID for this employee | 14 digits |
| Agent code | Routing code of the employee’s salary bank | 3–11 characters |
| Account number | Employee’s salary account | Up to 23 characters |
| Salary frequency | Must match MoHRE contract registration | Code |
| Days on payroll | Days worked in this cycle | Numeric |
| Fixed pay | Basic salary plus fixed allowances, in fils | Numeric |
| Variable pay | Overtime, commission, bonus, in fils | Numeric |
| Leave days | Paid leave days in this cycle | Numeric |
| Leave start date | First day of any leave period | DDMMYYYY |
| Leave end date | Last day of any leave period | DDMMYYYY |
| Net salary | Final net pay after deductions, in fils | Numeric |
The SCR is where most row-level rejections occur. The MoHRE labour card number must match the work permit currently on file — if the employee just renewed their permit, the new number must be in payroll before the next cycle.
Trailer Record
The trailer is optional in some agent-bank specifications but mandatory in others. Where required, it carries sub-totals: count of SCR records, sum of net salaries, sometimes a hash for integrity verification. A trailer mismatch against the EDR totals rejects the file outright.
The validation rules that trip up payroll teams before they hit upload
The SIF specification reads like a banking file because it is one, and the rules are unforgiving.
Field widths are fixed, and short values get padded with leading zeros. A 13-digit Employer Unique ID with only 12 meaningful digits needs a leading zero; a daily basic salary of AED 250 entered as “25000” (fils, no decimal) is correct, while “250.00” rejects. Dates run the same way, as DDMMYYYY with no slashes, dashes or spaces, so 5 January 2026 is “05012026” rather than “5/1/2026”, and a missing leading zero on the day or month bounces the file. Amounts are all in fils, the smallest UAE currency unit, which trips up more teams than anything else: a net salary of AED 4,500.50 is “450050” in the SIF, and entering “4500.50” or “4500” fails numeric validation.
Then there are the cross-checks against MoHRE. An employee registered on a monthly contract but paid weekly in the SIF rejects until the MoHRE contract is amended through the standard contract-modification process. The salary year and month in the EDR have to reflect the period being paid, not the date the file was generated, so December 2025 wages run in early January 2026 carry “2025” and “12”, not “2026” and “01”. And the agent bank checks funding cover at upload — cleared funds in the WPS account must equal or exceed the EDR total, a pending inbound transfer does not count, so fund the account at least two working days before you plan to upload.
From payroll engine to MoHRE acceptance
The SIF moves through five stages from generation to the MoHRE compliance record. Each stage has its own failure modes.
1. Payroll calculation. The payroll function calculates gross pay, allowances, deductions, leave and net pay per employee, applying the Labour Law entitlements for overtime (25% uplift on standard hours, 50% on night-shift and Friday work) and the leave-accrual rules.
2. SIF generation. The payroll engine exports the cycle into SIF format: one EDR with the file totals, one SCR per paid employee, and the trailer where required. A pre-flight validation routine should check every field against the agent specification before the file leaves the payroll system.
3. Agent bank submission. The SIF is uploaded to the WPS agent via portal or sFTP. The agent validates file format, funding cover and any agent-specific rules. The first acknowledgement is acceptance for transmission — not acceptance for payment.
4. Central Bank routing. The agent transmits the validated SIF to the Central Bank’s WPS hub, which routes credits across the inter-bank network to each employee’s account. Routing failures (wrong account number, closed account, bank-specific holds) reject individual rows back to the agent.
5. MoHRE confirmation. Once payments settle, the MoHRE compliance record updates to mark the establishment as having paid this cycle. The MoHRE acceptance is the legally binding “salaries paid” event — not the agent-bank upload, not the Central Bank routing.
A capable payroll provider reconciles the MoHRE acceptance back to the GL within 48 hours and chases any unresolved rejections the same day they land.

Six rejection codes we see every cycle
Different agent banks publish slightly different rejection-code schemas, but the failure patterns we see across UAE clients cluster around six recurring root causes.
1. Employer ID mismatch. The 13-digit Employer Unique ID in the EDR does not match the MoHRE establishment number on the current trade licence. Almost always triggered by an establishment renewal that issues a new card number without HR being told.
2. Labour card or Emirates ID mismatch. An SCR carries a work-permit number that no longer matches the renewed permit on the MoHRE system, or an Emirates ID that has been re-issued. Some agents reject just the row; others reject the entire file on a single mismatch.
3. Salary frequency inconsistency. An employee registered with MoHRE on a daily-pay contract appears in a monthly SIF, or vice versa. The fix is to amend the MoHRE contract through the standard contract-modification flow before the next cycle.
4. Insufficient funding cover. The cleared balance in the WPS account is below the EDR total. A pending inbound transfer does not count. Fund the account at least two working days before the upload.
5. Bank routing code error. An SCR carries a wrong agent code or account number — usually because the employee changed their salary bank without updating HR. The credit cannot be routed and the row rejects.
6. Date or period error. The salary year and month in the EDR do not match the period being paid, or a leave period spans two cycles without correct splitting. Both reject on validation.
Every SIF rejection is a data-quality finding waiting to be logged. Track every rejection code by client, employee and root cause, and you will discover that 80% of recurring rejections trace back to fewer than 10 master-data fields. Fix the master and the cycle runs clean.
Pre-Flight Validation Checklist
Before any SIF leaves the payroll system, run a pre-flight check that validates each record against the agent specification and the live MoHRE establishment data.
On the EDR, the 13-digit Employer Unique ID has to match the current trade licence and MoHRE establishment card, the salary year and month have to match the period being paid, the payer Emirates ID has to be unexpired, and the file totals have to add up — total salaries equal to the sum of SCR net salaries in fils, total records equal to the actual SCR count.
The per-employee SCR checks are where the volume is. For each person, the labour card number should match the active work permit on MoHRE, the Emirates ID should be current and not mid-renewal, and the registered salary frequency on the MoHRE contract should match the SIF frequency. Days on payroll plus leave days can’t exceed the calendar days in the cycle, and any leave start and end dates need to fall inside the cycle being paid. Net salary should equal fixed pay plus variable pay less deductions in fils, and the bank routing code and account number should match the master record.
Two lighter checks close it out. On funding, confirm the WPS account cleared balance is at or above the EDR total and that the transfer has genuinely cleared rather than merely being instructed. Operationally, confirm the file came from the named operator, a second pair of eyes has reviewed the cycle, and the agent bank portal or sFTP credentials are still active. A 20-minute pre-flight saves a 14-day rejection cycle.
How the SIF connects to the wider payroll stack
The SIF is one artefact of a properly-run UAE payroll function, not the whole picture. A clean SIF flows out of accurate master data, a correctly computed payroll cycle, and reconciled GL postings. It also flows into the gratuity accrual, leave-balance reconciliation and end-of-service settlement.
It starts with master data. The payroll master must mirror the live MoHRE record — current work permit, current Emirates ID, registered salary frequency, current bank account — because any drift between payroll and MoHRE shows up as a SIF rejection sooner or later. That master feeds the payroll engine, which calculates gross, applies overtime under the Federal Decree-Law 33 of 2021 rules (25% for standard overtime, 50% for night-shift and Friday work), runs the leave-accrual rules, computes deductions and net pay, and finally generates the SIF.
Two accruals sit alongside all of this. Every full-time employee past one year of service accrues end-of-service gratuity monthly at the Article 51 rate of 21 days of basic salary per year for years 1–5, then 30 days per year from year 6 onward, capped at two years’ basic; that accrual posts to a long-term liability and reconciles every close. Leave runs in parallel, with annual, sick and unpaid leave reconciled to the Labour Law entitlements and their carry-forward rules — annual leave accrues at 30 calendar days per year once an employee completes a year of service, and sick leave gives 15 days at full pay, 30 days at half pay, and the remaining 45 days unpaid in any 12-month period after probation.
All of it lands in the GL reconciliation. The payroll register ties back to the trial balance with gross, allowances, deductions, net, employer contributions and gratuity movement all agreed, and the monthly accounting cycle should close payroll the same week the SIF is accepted. Get any one of these pieces wrong and the SIF will surface the error in the next cycle.

What happens when the SIF goes wrong
The consequences of a failed SIF compound quickly.
Days 1–14 from due date. The establishment is in the grace window. A rejected file can be fixed and re-submitted with no fine — provided a clean file is accepted within the 15-day window.
Day 15 onward. A fine of AED 1,000 per worker accrues, capped at AED 50,000 per establishment per month.
Day 60 onward. MoHRE blocks the issuance of new work permits for the establishment. Hiring freezes. Visa renewals for existing staff often still proceed, but new visas stop.
Day 90 onward. Extended non-compliance can be referred to the public prosecutor. The establishment may be flagged on MoHRE systems as non-compliant, which can affect access to free-zone services, banking relationships and corporate tax filings.
A single missed cycle does not have to escalate this far — but treating the SIF as low-priority operational admin is how it does.
Where this leaves your payroll team
The WPS file format is unforgiving by design, and honestly that’s the point of it. A SIF that looks correct can still reject for a reason buried six fields deep in an agent bank specification nobody on the employer side has ever opened. The firms that file cleanly month after month put their effort into live master data that mirrors MoHRE, a pre-flight validation routine that catches errors before upload, and a same-day protocol that closes the loop on every reject within 24 hours. Skip any one of those and the next cycle tells you which one you skipped.
Pair the WPS function with monthly accounting and bookkeeping so the payroll register reconciles to the GL every close, and with corporate tax services so payroll-related deductions and end-of-service liabilities are correctly recognised for tax. For a deeper buyer-side view of outsourced UAE payroll, read our payroll outsourcing buyer guide.
Velmont Crest is a DED-licensed UAE accounting firm with eight years of practice experience providing advisory and processing support across the full payroll cycle — WPS processing, SIF preparation, gratuity accrual and end-of-service settlement — for mainland and free zone businesses. Read more on our insights hub or get in touch via our contact page.
Disclaimer: Velmont Crest is a DED-licensed accounting firm providing advisory, preparation and compliance support services. We are not a regulated payroll bureau or labour law firm. The WPS file specification and MoHRE rules change frequently — verify all field formats with your agent bank, current MoHRE circulars and the Central Bank framework before acting, and consult a licensed legal professional for advice specific to your circumstances.
References
Frequently asked questions
- What exactly is the SIF file in UAE payroll?
- The Salary Information File, or SIF, is the text file you submit to the UAE Wage Protection System to pay your people. It's plain text, usually with a .sif extension, and it carries three record types in a set order — an Employer Detail Record (EDR) that opens the file, one Salary or Employee Detail Record (SCR) for each person paid this cycle, and an optional trailer with sub-totals. Every field has a fixed character length and a fixed data type. The agent bank validates the whole thing before it goes to the Central Bank for routing to employee accounts, which is exactly why a single misplaced character can bounce the lot.
- Who can actually submit a SIF file to WPS?
- Only a UAE-licensed WPS agent — a commercial bank or a registered exchange house — can submit a SIF for an employer. You can't upload it to MoHRE directly. The employer enrols with the agent, funds a designated WPS account at least two working days before the cycle, and uploads the SIF through the agent's portal or sFTP channel. From there the agent checks the format and funding cover, sends the file on to the Central Bank, and hands back an acceptance or rejection acknowledgement. That acknowledgement is the bit you have to reconcile against the MoHRE compliance record.
- How long do I have to fix a rejected SIF file?
- Less time than you'd hope, because the clock doesn't pause. MoHRE rules give you 15 days from the contractual due date to transfer salaries through WPS, and a rejected file doesn't stop that countdown — until a clean SIF is accepted, the establishment counts as not having paid. Cross 15 days and you're exposed to a fine of AED 1,000 per worker, capped at AED 50,000 a month. Cross 60 and new work-permit issuance is blocked. A well-run payroll team turns a rejection around inside 24 hours, logs the root cause, and patches the HR master so the same field doesn't bite again next month.
- Do free zone companies also use the SIF format?
- Most of them, yes. DMCC, JAFZA, RAKEZ, Meydan, IFZA, SHAMS, Sharjah Publishing City and Ajman Free Zone have all adopted WPS, so the SIF applies. The two that don't are DIFC and ADGM. They run under their own employment laws (DIFC Employment Law No. 2 of 2019 and the ADGM Employment Regulations) and their own pre-funded workplace savings schemes — DEWS in DIFC and the equivalent in ADGM. Salaries inside those two zones move through ordinary banking channels, with no SIF required at all.
- Can I generate the SIF file in Excel?
- You can, and we'd gently talk you out of it. The SIF is plain text, so a spreadsheet macro can produce it — but the agent bank validates against strict character lengths, leading zeros, fixed date formats and specific delimiters, and one character of drift rejects the whole file. That's a lot of risk to carry on a formula nobody owns. Most serious providers run a dedicated payroll engine that builds the SIF straight from the master data, checks it against the agent specification, and tracks rejection codes for you. If Excel is genuinely your only option, at least build a validation layer that mirrors the agent spec and run a pre-flight check on every single export.
Filed under: wps file format, SIF file, WPS, MoHRE, Central Bank UAE, payroll, salary information file, agent bank
Published



