AXION
00People tools

UAE WPS SIF file format and validator

The WPS SIF file format is comma delimited text with a three character record type in field one: an EDR line for each employee, an EVP line breaking down that employee's variable pay whenever there is any, and one SCR control line at the end. Paste a Salary Information File below or drop it in and this page names the lines a bank or MOHRE would reject, the field number and the fix. It runs entirely in your browser, so nothing is uploaded.

Check a Salary Information File

Your salary file

Nothing leaves this browser tab. The file is read with the browser FileReader and checked in JavaScript on your own machine. There is no upload, no server call and no storage, so you can run it on a work laptop with real payroll in it. Close the tab and the file is gone.

Drop the file in, or pick one

Drag a .sif, .csv or .txt file here, or

The file is opened locally. It is never sent anywhere.

Open the .SIF in any text editor and paste the lines here. Most work machines will not let a payroll file be dragged into a browser, and pasting reaches the same result.

Filled in automatically when you drop a file. Checked as a warning: 13 digit employer ID, then YYMMDD, then HHMMSS, then .SIF.

The two published guides disagree on field 6 of the SCR, so either is accepted by default.

Nothing to check yet

  • Paste a SIF file, or drop one in, to check it.

What the WPS SIF file format looks like

The format is published by the WPS agents rather than by a single public specification. The two guides used here are the Dubai Islamic Bank SIF creation guidelines and the Emirates Islamic Salary WPS File Creation Guide, and they document the same three record layouts, which Dubai Islamic Bank labels the Ministry of Labour standard format. MOHRE's own Wages Protection System page covers who must use the system and which institutions are approved, and leaves the file layout to the agents.

  • Plain text. The Emirates Islamic step by step guide builds the file in Excel, saves it as CSV with comma delimiters and then renames it to .SIF.
  • Field one of every line is a three character record type: EDR, EVP or SCR.
  • One EDR per employee, and not more than one, followed immediately by that employee's EVP line when there is variable pay to itemise.
  • One SCR, as the last line. Emirates Islamic calls it the summary record on the last line of the file, and the Dubai Islamic Bank sample file ends with it.
  • There is no header row. A row of column names is read as an unknown record type.
  • Rejection is at file level. Dubai Islamic Bank states that a negative amount means the file will be rejected, and that the SIF file in its entirety is rejected when the SCR salary month is not the month and year of every EDR pay period.

The EDR record, field by field

Ten fields, all mandatory, one line per employee. The maximum sizes below are the published ones; where the two banks differ, the difference is noted in the table.

The ten fields of an EDR employee detail record
No.FieldMax sizeTypeUseWhat it has to contain
01Record type3LettersMandatoryMust be EDR.
02Employee unique ID35AlphanumericMandatoryThe identifier issued by the labour authority. Dubai Islamic Bank allows 14 to 35 characters; Emirates Islamic asks for the 14 digit person ID printed on the labour card, zero padded to 14.
03Routing code of the agent9NumericMandatoryThe 9 digit head office routing code the Central Bank assigns to the employee's bank, exchange house or salary card provider.
04Employee account with agent23AlphanumericMandatoryThe employee's account IBAN or salary card IBAN with the agent, 23 characters beginning AE.
05Pay start date10DateMandatoryYYYY-MM-DD. Cannot be earlier than 2010-10-01.
06Pay end date10DateMandatoryYYYY-MM-DD. Later than the pay start date and in the same month.
07Days in period4NumericMandatoryCalendar days paid, computed as pay end date minus pay start date plus one.
08Income fixed component15NumericMandatoryDigits and at most one decimal point, no thousands separator. Send 0.00 if there is none. Negative amounts are rejected.
09Income variable component15NumericMandatoryOvertime, commission and other variable pay. Send 0.00 if there is none. Negative amounts are rejected.
10Days on leave for period4NumericMandatoryDays of leave without pay in the period. Send 0 if there were none.

The SCR record, field by field

Ten fields on the last line of the file. Field 10 is documentary and may be left blank, which is the only optional field in the format.

The ten fields of an SCR salary control record
No.FieldMax sizeTypeUseWhat it has to contain
01Record type3LettersMandatoryMust be SCR.
02Employer unique ID35AlphanumericMandatoryThe establishment number issued by the labour authority, zero padded to 13 digits.
03Routing code of the employer's bank9NumericMandatoryThe 9 digit routing code of the bank holding the corporate account.
04File creation date10DateMandatoryYYYY-MM-DD, on or before the date WPS processes the file.
05File creation time4NumericMandatoryHHMM on the 24 hour clock.
06Salary month6NumericMandatoryMMYYYY per Emirates Islamic. The Dubai Islamic Bank table says MM-YYYY but its maximum size and sample line are MMYYYY. It must match the month of every EDR pay period.
07EDR count10NumericMandatoryThe number of EDR records in the file.
08Total salary15NumericMandatoryValidated to equal the sum of the fixed and variable components of every EDR record.
09Payment currency3LettersMandatoryAlways AED.
10Employer reference35AlphanumericOptionalA documentary field, may be left blank.

The EVP record, field by field

Only needed when an employee has variable pay. It carries the same employee ID and agent routing code as the EDR above it, then seven allowance amounts. In both published sample files those seven add up to the variable income in field 9 of the EDR, so the validator treats a mismatch as a warning.

The ten fields of an EVP employee variable pay record
No.FieldMax sizeTypeUseWhat it has to contain
01Record type3LettersMandatoryMust be EVP.
02Employee unique ID35AlphanumericMandatoryThe same identifier as the EDR this record follows.
03Routing code of the agent9NumericMandatoryThe same 9 digit routing code as the corresponding EDR.
04Housing allowance15NumericMandatorySend 0.00 if there is none.
05Conveyance allowance15NumericMandatorySend 0.00 if there is none.
06Medical allowance15NumericMandatorySend 0.00 if there is none.
07Annual passage allowance15NumericMandatorySend 0.00 if there is none.
08Overtime allowance15NumericMandatorySend 0.00 if there is none.
09All other allowances15NumericMandatorySend 0.00 if there is none.
10Leave encashment15NumericMandatorySend 0.00 if there is none.

The file name rule

The Emirates Islamic guide sets out the naming convention step by step, and a published UAE payroll guide describes the same 25 characters:

  1. The 13 digit employer unique ID, padded with leading zeros.
  2. The file creation date as YYMMDD.
  3. The file creation time as HHMMSS.
  4. The extension .SIF, after saving as CSV with comma delimiters.

That is 25 digits and the extension, for example 9999999999999260901093000.SIF. The Emirates Islamic worked example is employer ID 965625, created on 25 October 2009 at 16:30, which gives 0000000965625091025163000.SIF. The employer ID, date and time in the name should match fields 2, 4 and 5 of the SCR line. The time is what makes each day's file unique, which is why re-sending the same name is refused as a duplicate.

Worked example

Two employees at one establishment for August 2026. The employer, the employees and the account numbers are invented: the employer ID is thirteen nines and the account numbers are 1 and 2. The routing code is the Emirates NBD one published in the Emirates Islamic guide. Press "Load a sample file" in the validator to see the same lines checked live.

EDR,99900000000001,302620122,AE840330000000000000001,2026-08-01,2026-08-31,31,9000.00,500.00,0
EVP,99900000000001,302620122,0.00,0.00,0.00,0.00,500.00,0.00,0.00
EDR,99900000000002,302620122,AE570330000000000000002,2026-08-01,2026-08-31,31,6500.00,0.00,2
SCR,9999999999999,302620122,2026-09-01,0930,082026,2,16000.00,AED,SAMPLE FILE NOT REAL PAYROLL

The checks that matter run like this:

How the control checks apply to the worked example
CheckWorkingResult
Days in period2026-08-31 minus 2026-08-01, plus one31, matches field 7
EDR countTwo EDR lines in the file2, matches SCR field 7
Total salary9,000.00 + 500.00 + 6,500.00 + 0.0016,000.00, matches SCR field 8
EVP breakdownOvertime 500.00 against EDR variable income500.00, agrees
Salary monthSCR field 6 against every EDR pay period082026, August 2026
IBAN checksumISO 7064 MOD-97-10 over each 23 character IBANRemainder 1, both pass

Why the IBAN check is a checksum, not a length test

A UAE IBAN is 23 characters beginning AE, and the two digits after the country code are a checksum over the rest of the number. Move the first four characters to the end, replace each letter with its position in the alphabet plus nine, and take the result modulo 97. A valid IBAN leaves a remainder of 1. That is the ISO 7064 MOD-97-10 procedure, and it is what catches the common payroll error: a single mistyped digit, or two digits swapped, which passes a length test and then bounces at the agent. This tool runs the full checksum on every EDR line.

Common rejection reasons

The first five below come straight from the two bank specifications. The last three are on the list of common causes published in a UAE payroll guide, which matches what the format implies.

  • Control total off by a few fils. Field 8 of the SCR is validated against the sum of the fixed and variable components of every EDR record. A total taken from the payroll report rather than from the rows in the file usually includes someone paid outside WPS.
  • EDR count wrong by one. A header row counted as an employee, or a row deleted after the total was worked out.
  • A thousands separator in an amount. Writing 9,000.00 splits the line into eleven fields, so the record no longer parses. Amounts are digits and at most one decimal point.
  • A negative amount. Dubai Islamic Bank states for every amount field that negative amounts are not permitted and the file will be rejected. Net deductions off inside payroll and send what is actually paid.
  • Dates in the wrong shape. Excel writes 01/08/2026 unless the column is formatted as text or as yyyy-mm-dd. Pay dates must be YYYY-MM-DD, in the same month, and not earlier than 2010-10-01.
  • Leading zeros stripped. Excel turns a 14 digit person ID or a 13 digit employer ID into a number and drops the zeros. Format the column as text before typing.
  • A duplicate file name. The name carries the creation time to the second, so two files produced in the same minute need different times.
  • The wrong delimiter or encoding. A tab separated file is the Saudi Mudad layout. Saving as CSV UTF-8 in Excel adds a byte order mark in front of the first record type.

What changed under Ministerial Resolution 340 of 2026

The file format did not change, but the deadline did. Ministerial Resolution 340 of 2026, in force from 1 June 2026, makes the previous month's wages due on the first day of each Gregorian month and treats any payment after that date as a delay. The contract based payday and the 15 day grace period under Resolution 598 of 2022 are gone. An establishment is compliant where it transfers at least 85% of the total wages due to its workers by the due date, part of what MOHRE presents as a gradual and balanced approach. The threshold measures compliance; it does not permit a short payment.

In practice that pulls the whole payroll calendar forward: the SIF has to be produced, validated, submitted and credited before the first, and there is no longer a fortnight in which to fix a rejected file. The full rule, the escalation steps and a working calendar are in the guide to the UAE WPS salary deadline.

What this tool checks, and what it cannot

Each rule reports the line number, the field number, a severity and the fix.

  • Structure. Unknown or missing record types, wrong field counts, an SCR that is missing, duplicated or not last, and an EVP with no EDR above it.
  • Identifiers. Employee and employer ID lengths and padding, nine digit routing codes, duplicate employees, and the IBAN shape plus its MOD-97 checksum.
  • Dates and amounts. Date shape, order, the 2010-10-01 floor, periods that cross a month end, days in period against the dates, non numeric and negative amounts, and unpaid leave days.
  • Control totals. The SCR EDR count and total salary against the EDR lines, shown with both figures and the difference, plus the salary month against every pay period and the currency.
  • Housekeeping. A UTF-8 byte order mark, trailing blank lines, blank lines between records, a non comma delimiter, and the file name, all as warnings.

It cannot check anything that lives in the WPS master database. Routing codes, employee IDs and the establishment ID are validated by the agent and the Central Bank against registered records, so a code with the right shape may still be unknown. Nor can it know the wage registered in the MOHRE contract, the deductions permitted under Article 25 of Federal Decree-Law 33 of 2021, or whether the payment actually cleared.

Assumptions and exclusions

  • Rules follow the two published bank specifications listed below, read on 5 September 2026. Other agents publish their own guides and can differ in detail.
  • Fields are trimmed before checking, because the Emirates Islamic sample file itself carries a stray space after two of its commas.
  • An SCR on the first line is reported as a warning rather than an error, because a published payroll guide describes that layout while both bank guides put it last.
  • The salary month accepts MMYYYY and MM-YYYY by default, since the two specifications differ on field 6.
  • Amounts are compared to two decimal places. A difference under half a fils is treated as agreement.
  • This is the UAE SIF only. The Saudi WPS file submitted through Mudad is a different, tab delimited layout and is not checked here.
  • Refund files, with the FDR refund details and FCR refund control records that Dubai Islamic Bank documents alongside the SIF, are outside this tool.

How Axion People produces the file

In Axion, the People box builds the SIF from the payroll run itself: employee records carry the labour authority ID, the IBAN and the agent routing code, and the run supplies the pay period, the fixed and variable amounts and the unpaid leave days, so the control totals are derived rather than retyped. It sits alongside gratuity accrual and GOSI in the same box, in Arabic and English. Axion produces the file for you to submit to your own agent; it does not connect to a bank, to MOHRE or to the Central Bank.

Frequently asked questions

What is a SIF file in the UAE Wages Protection System?

A Salary Information File is the plain text payroll file an employer gives to its WPS agent, which is a bank, exchange house or other approved institution. It is comma delimited ASCII with a three character record type at the start of every line: one EDR line per employee, an EVP line breaking down that employee's variable pay whenever there is any, and one SCR control line summarising the file. The Dubai Islamic Bank and Emirates Islamic guides document the same three record layouts, and Dubai Islamic Bank labels them the Ministry of Labour standard format.

What is the difference between EDR, EVP and SCR records?

EDR is the Employee Detail Record: ten fields carrying the employee's labour authority ID, the agent routing code, the 23 character IBAN, the pay period, days in period, fixed income, variable income and unpaid leave days. EVP is the Employee Variable Pay record: ten fields itemising housing, conveyance, medical, annual passage, overtime, other allowances and leave encashment for the employee immediately above it, and it is only needed when there is variable pay. SCR is the Salary Control Record: one line at the end carrying the employer ID, the employer bank routing code, the file creation date and time, the salary month, the EDR count, the total salary, the currency AED and an optional reference.

Why does the bank reject my SIF file?

Rejection is at file level rather than line by line: Dubai Islamic Bank states that a negative amount means the file will be rejected, and that the SIF file in its entirety is rejected when the SCR salary month does not match every EDR pay period. The usual causes are a total salary in the SCR that does not equal the sum of the fixed and variable amounts in every EDR, an EDR count that does not match the number of employee rows, a date written as 01/08/2026 instead of 2026-08-01, an amount carrying a thousands separator, which splits the line into eleven fields, a negative amount, an IBAN that is not 23 characters, or a duplicate file name.

How do I name a UAE WPS SIF file?

The Emirates Islamic guide gives the pattern: the 13 digit employer unique ID padded with leading zeros, then the file creation date as YYMMDD, then the file creation time as HHMMSS, then the .SIF extension. Its worked example is employer ID 965625, created on 25 October 2009 at 16:30, which gives 0000000965625091025163000.SIF. That is 25 digits plus the extension, and the file is saved as CSV with comma delimiters before being renamed. The time is what makes each day's file unique, so a repeated name is refused as a duplicate.

Is the salary month MMYYYY or MM-YYYY?

The two published specifications disagree. Emirates Islamic documents MMYYYY, six digits, and gives 102009 for October 2009. The Dubai Islamic Bank field table says MM-YYYY, but sets the maximum size of the field to six characters and its own sample line reads 012016. This validator accepts either shape by default and can be set to insist on one. Whichever your agent bank publishes is the one to send.

Does this validator upload my payroll file anywhere?

No. The file is read with the browser FileReader and parsed by JavaScript running in your own tab. There is no upload, no server call and no storage of any kind, so nothing about your employees leaves the machine. Closing the tab removes the file from memory.

Sources

All sources checked on 5 September 2026.

  1. Dubai Islamic Bank, Customer instruction and Salary Information File, SIF creation guidelines (WPS file format reference guide v1.1, PDF): the EDR, EVP and SCR field tables, the sample file, the refund records and the rejection wording
  2. Emirates Islamic, Salary WPS File Creation Guide, businessONLINE (PDF): the file structure, the sample file, the MMYYYY salary month, the file naming convention and the step by step Excel instructions
  3. MOHRE, Wage Protection System guidance page: wages paid monthly through approved banks, financial institutions and exchange houses
  4. MOHRE, Ministerial Resolution 340 of 2026 concerning the Wage Protection System (PDF): the first of the month due date and the 85% threshold
  5. MOHRE news, 4 June 2026: the new Wage Protection System decision adopts a gradual approach
  6. iban.com, IBAN structure by country: the UAE IBAN is 23 characters, example AE460090000000123456789
  7. Zoho Payroll academy, WPS SIF file format: a published payroll guide that places the control record on the first line and gives the same 25 character file name
  8. HRMantra, How to create a WPS SIF file in UAE, format and errors: the list of common rejection causes, including control total mismatch, invalid identifier length, wrong date format, duplicate employee, wrong encoding or delimiter and duplicate file name

This validator gives an estimate of how a file will be read, based on the two published bank specifications above. It is not a MOHRE, Central Bank or agent bank tool, it has no connection to the WPS master database, and it is not legal advice. A clean result here is a format pass, not an acceptance: your agent still validates every identifier and can reject a file for reasons no local checker can see. Confirm the layout with your own WPS agent before your first submission.

Axion People

The WPS file built from the payroll run.

Axion People produces the Salary Information File from the run itself, with the control totals derived rather than retyped, next to gratuity accrual and GOSI, in Arabic and English, priced per box with unlimited users.