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 MoHRE submission flow.

Key takeaways
- The SIF file is a fixed-width plain-text file with SCR header, EDR detail records and an optional trailer
- Late or rejected WPS files freeze new work permits from day 5 and draw an administrative fine from day 11 after the due date
- 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 WPS UAE format is buried inside Central Bank circulars and agent-bank technical guides rather than published as a single clean template.
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 the MoHRE enforcement ladder runs in the background 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
Start with the SIF meaning itself, because the abbreviation does more work than it looks. SIF stands for Salary Information File — the full form in salary and payroll contexts is nothing more than that, and the file is exactly what the name says it is. It is a data file that tells the system what each worker is owed this cycle. Everything else in this guide is about the structure that file has to follow.
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.
The 1st
Statutory due date for the previous month's wages under Ministerial Resolution No. 340 of 2026 — a clean WPS submission has to be accepted by then, with no grace period behind it

Three record types, in strict sequence
A SIF file is a strictly sequenced plain-text file containing three record types: the Salary Control Record, one 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.
Salary Control Record (SCR)
The SCR opens the file. There is exactly one SCR 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 EDR 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.
Older payroll documentation and a good deal of bank guidance still calls that field the MOL ID for WPS, after the former Ministry of Labour. It is the same employer identifier the SCR is asking for, so if your agent bank’s specification says MOL ID and your HR system’s export column says Employer Unique ID, they are not two different numbers to reconcile. Knowing that saves a surprising amount of time on a first submission.
Employee Detail Record (EDR)
One EDR per employee paid in this cycle. The EDR is the bulk of the file — for a 50-employee company it carries 50 lines after the single-line SCR.
| 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 EDR 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 EDR records, sum of net salaries, sometimes a hash for integrity verification. A trailer mismatch against the SCR 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 SCR 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 SCR 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
A UAE WPS submission moves through five stages from SIF 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 — the same numbers that feed each employee’s WPS-compliant payslip for the cycle.
2. SIF generation. The payroll engine exports the cycle into SIF format: one SCR with the file totals, one EDR 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.

Worked example: turning one payroll cycle into SIF values
The single most common source of silent SIF errors is the fils conversion, so it is worth walking a small cycle through end to end. Take four employees at a Dubai mainland establishment for the January 2026 cycle. The AED column is what payroll calculates; the fils column is what actually goes into the EDR.
| Employee | Fixed pay (AED) | Variable pay (AED) | Deductions (AED) | Net salary (AED) | Net salary in the EDR (fils) |
|---|---|---|---|---|---|
| Employee 1 | 8,000.00 | 0.00 | 0.00 | 8,000.00 | 800000 |
| Employee 2 | 4,500.00 | 350.50 | 350.00 | 4,500.50 | 450050 |
| Employee 3 | 12,000.00 | 1,200.00 | 0.00 | 13,200.00 | 1320000 |
| Employee 4 | 3,000.00 | 0.00 | 125.75 | 2,874.25 | 287425 |
| SCR total salaries | — | — | — | AED 28,574.75 | 2857475 |
| SCR total records | — | — | — | 4 EDR lines | 4 |
The two things to check on that table are the ones agent banks actually bounce. Every fils value carries no decimal point and no thousands separator, so AED 2,874.25 is “287425” and never “2874.25” or “2,874.25”. And the SCR total has to be the arithmetic sum of the EDR net salaries in fils — 800000 plus 450050 plus 1320000 plus 287425 equals 2857475 — not a rounded AED figure converted afterwards, which is how a one-fils discrepancy creeps in and rejects the file.
| SCR field for this cycle | Value | Why it is written this way |
|---|---|---|
| Record sequence | 1 | Marks the header line |
| Salary year | 2026 | The period being paid, not the generation date |
| Salary month | 01 | Two characters, leading zero required |
| File creation date, 5 February 2026 | 05022026 | DDMMYYYY, no separators, leading zeros on day and month |
| Total salaries | 2857475 | Fils, no decimal, no separator |
| Total records | 4 | Must equal the EDR count exactly |
Run the December 2025 cycle in early January 2026 and the same discipline applies in reverse: the salary year is 2025 and the salary month is 12, even though the file creation date sits in 2026. That single pair of fields causes more period-error rejections in the UAE than any other, because payroll systems default the period to today.
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 SCR 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 EDR 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 SCR 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 EDR 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 SCR 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 SCR, 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 EDR net salaries in fils, total records equal to the actual EDR count.
The per-employee EDR 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 SCR 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.
Format is only half the obligation. A perfectly structured SIF submitted after the deadline still counts as a late payroll, and since 1 June 2026 that deadline is the 1st of the month with no grace period. For the regime that sits above the file — who must use it, the 85 percent threshold and the day-by-day enforcement ladder — see our guide to the WPS UAE rules for employers.

What happens when the SIF goes wrong
The consequences of a failed SIF compound quickly.
From the due date. There is no grace window. Wages for the previous month fall due on the 1st, and until a clean SIF is accepted the establishment counts as not having paid. Electronic monitoring of the establishment begins immediately.
Day 2 onward. MoHRE sends notifications and alerts to the non-compliant establishment.
Day 5 onward. Issuance of new work permits is suspended. Hiring freezes. Renewals for existing staff often still proceed, but new permits stop.
Day 11 onward. An administrative fine is applied, with reclassification of the establishment where the violation repeats.
Day 16 onward. An individual or collective labour dispute is registered automatically, and work permits are suspended.
Day 21 onward. An executive instrument for payment of workers’ wages issues, with precautionary attachment and travel bans behind it.
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 the wider rules behind the file — thresholds, timing and penalties — read our WPS salary UAE explainer; for the HR document that reconciles to the same salary breakdown, see our salary certificate format guide. And 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 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 — a Salary Control Record (SCR) that opens the file, one Employee Detail Record (EDR) 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.
- What does SIF mean, and what is its full form?
- SIF stands for Salary Information File. That is the whole of it — the full form in salary and payroll contexts carries no extra meaning beyond the three words. In the UAE it refers specifically to the plain-text file an employer submits to the Wage Protection System listing what each worker is owed for the cycle. The abbreviation trips people up mainly because it looks like it should be a file standard rather than a document name. It is both, in a sense. The name describes the content, while the format described in this guide governs how that content has to be laid out before an agent bank will accept it.
- 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 and there is no longer a grace period to spend. Under Ministerial Resolution No. 340 of 2026, wages for the previous month are due on the first day of each Gregorian month, and a rejected file doesn't stop that countdown — until a clean SIF is accepted, the establishment counts as not having paid. New work permits are suspended from day 5 after the due date, an administrative fine applies from day 11, and a labour dispute is registered automatically from day 16. 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.
- Why does the SIF file use fils instead of dirhams?
- Because the SIF is a banking file, and banking files avoid decimal points entirely. Every amount field in the WPS file format — fixed pay, variable pay and net salary — is expressed as a whole number of fils, the smallest UAE currency unit, with no decimal point and no thousands separator. A net salary of AED 4,500.50 is written as 450050. A net salary of AED 2,874.25 is written as 287425. Entering 4500.50 or 4,500.50 fails numeric validation and bounces the record, and in some agent-bank specifications it bounces the whole file. The same rule applies to the SCR total, which must be the arithmetic sum of the EDR values in fils rather than an AED total converted afterwards.
- What salary year and month go in the SCR when I pay December wages in January?
- The salary year and month in the Salary Control Record describe the period being paid, not the date the file was created. December 2025 wages transferred in early January 2026 carry salary year 2025 and salary month 12, while the file creation date field carries the actual January 2026 date in DDMMYYYY form. Payroll systems that default the period to the current month are the usual cause of this rejection, and it is worth checking on the first cycle of every calendar year in particular. Getting it wrong produces a period error on validation rather than a helpful message, so teams often chase the wrong field first.
- Can I generate the SIF file in Excel?
- You can, and we'd gently talk you out of it. Building the WPS UAE format in Excel is possible because 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 · Updated



