UAE WPS SIF file checker: Check the salary file
before the bank does.
Paste a Salary Information File or choose one from your computer. Every EDR, EVP and SCR line is checked against the SIF layout, and each problem is listed with its line and field.
The file is read by this page, in your browser. Nothing is uploaded, sent or stored, so salaries and IBANs stay on your computer.
The example is made up: a sample company, person codes that start 1000, and IBANs with bank code 000, which no UAE bank uses.
Results
United Arab EmiratesNothing checked yet
Paste a file, choose one, or load the example to see results here.
DenwaysHR writes the SIF from the approved payroll run, one file per establishment, and names anyone missing a person code or IBAN first.
See payroll and WPSA format check only. This checks the layout and the arithmetic of the file against the rules DenwaysHR’s own WPS file generator follows. It cannot see whether a person code belongs to your establishment, whether an account is open, or what extra checks your bank runs. The bank’s own validation decides.

How to read the checker's results
Each line is checked on its own, then the SCR line is checked against all of them. Problems are listed in file order, with the line number and the field.
What each part of the result means
- Error: the file breaks the layout or its own arithmetic. Fix every error before the file goes to the bank
- Warning: allowed by the layout but worth a second look, or a point where banks can differ, such as a file with no EVP lines or an account that is not an IBAN
- Line and field: where the problem is, with the field numbered as in the tables below, so EDR-04 is the fourth value on an EDR line
- Whole file: a problem that belongs to no single line, such as a missing SCR line or a file name that disagrees with it
- What the file says: the employee count, totals, salary month and employer ID read from the file, to set against the approved payroll run
Common reasons a bank rejects a SIF
- A person code entered without its leading zeros. It has to be 14 digits
- An SCR total that no longer matches the EDR lines, usually after a last-minute deduction was made in the transfer but not in the file
- An EDR count on the SCR line that includes the EVP lines. Only EDR lines are counted
- The salary month written 10-2026 or 202610 instead of 102026
- A comma inside an employer name or account number, which moves every field after it along by one
- An employer name with / \ or : in it, or one longer than 35 characters
- A file saved as CSV UTF-8, which puts an invisible byte-order mark at the start. A SIF is plain ASCII
- An EDR line for someone with nothing to pay this month
- A file name whose date and time do not match the SCR line
- An IBAN with one digit mistyped, which fails the check digits
- A person code or IBAN that changed at a document renewal and was never updated on the employee record
Several of these are reconciliation slips rather than payroll mistakes: the file and the payment drifted apart after the run was approved. Generating the file from the approved run leaves only one set of numbers.
How the SCR line adds up
The example file: three employees paid for October 2026, one with overtime and one who joined on the 16th and took two days unpaid.
- Line 1: 8,500.00 fixed, nothing variable
- AED 8,500.00
- Line 3: 6,200.00 fixed, 450.00 overtime
- AED 6,650.00
- Line 5: 16 days from the 16th, 2 unpaid
- AED 2,580.00
- SCR total salary
- AED 17,730.00
The SCR line gives the count as 3, not 6: the EVP lines under each employee are not counted. The overtime appears twice, as income variable on the EDR line and as the overtime allowance on the EVP line under it.
What each record and field in a SIF means
A SIF is plain text, one record to a line, with commas between the fields and no header row or quoting. Each employee paid has an EDR line, usually with an EVP line under it, and one SCR line closes the file.
The fields and rules are the ones DenwaysHR's WPS file generator follows, transcribed from a UAE bank's published SIF creation guidelines.
EDR: employee detail record, one for each employee
EDR,10000000000002,100000001,AE090000000000000000002,2026-10-01,2026-10-31,31,6200.00,450.00,0
| Field | What it holds | Checked as |
|---|---|---|
| EDR-01Record type | The letters EDR (employee detail record). | Checked as: Exactly EDR |
| EDR-02Employee ID | The employee's MOHRE person code, padded with leading zeros. | Checked as: 14 digits |
| EDR-03Agent ID | Routing code of the bank or exchange house that pays this employee. | Checked as: 9 digits |
| EDR-04Account with agent | The IBAN for a bank account. For an exchange house, the account or payroll card number. For a cash pick-up, the 14-digit person code. | Checked as: An IBAN is AE + 21 digits and passes the mod-97 check. Anything else: letters and digits, up to 23 |
| EDR-05Pay start date | First day this payment covers. | Checked as: A real date, YYYY-MM-DD |
| EDR-06Pay end date | Last day this payment covers. | Checked as: A real date, not before the start |
| EDR-07Days in period | End date minus start date, plus one. | Checked as: Matches the two dates |
| EDR-08Income fixed | The fixed part of the pay, in AED. | Checked as: Digits, a point, two decimals |
| EDR-09Income variable | Overtime, other variable pay and leave encashment, in AED. | Checked as: Digits, a point, two decimals. Fixed plus variable above 0.00 |
| EDR-10Days on leave without pay | Unpaid leave days in the period, so a salary cut by unpaid leave does not read as a short payment. | Checked as: A whole number from 0 to the days in period |
EVP: employee variable pay, under its EDR line
EVP,10000000000002,100000001,0.00,0.00,0.00,0.00,450.00,0.00,0.00
| Field | What it holds | Checked as |
|---|---|---|
| EVP-01Record type | The letters EVP (employee variable pay). | Checked as: Exactly EVP, directly under its EDR line |
| EVP-02Employee ID | Same person code as the EDR line above. | Checked as: Matches the EDR line |
| EVP-03Agent ID | Same routing code as the EDR line above. | Checked as: Matches the EDR line |
| EVP-04Housing allowance | Variable housing pay, in AED. | Checked as: Two decimals |
| EVP-05Conveyance allowance | Variable transport pay, in AED. | Checked as: Two decimals |
| EVP-06Medical allowance | Variable medical pay, in AED. | Checked as: Two decimals |
| EVP-07Annual passage allowance | Variable ticket allowance, in AED. | Checked as: Two decimals |
| EVP-08Overtime allowance | Overtime paid this period, in AED. | Checked as: Two decimals |
| EVP-09All other allowances | Any other variable pay. DenwaysHR puts a final settlement's gratuity here. | Checked as: Two decimals |
| EVP-10Leave encashment | Unused leave paid out, in AED. | Checked as: Two decimals. EVP-04 to EVP-10 add up to EDR-09 |
SCR: salary control record, the last line
SCR,1000000000001,100000001,2026-10-30,0915,102026,3,17730.00,AED,SAMPLE COMPANY LLC
| Field | What it holds | Checked as |
|---|---|---|
| SCR-01Record type | The letters SCR (salary control record). | Checked as: Exactly one SCR line, and it is the last line |
| SCR-02Employer ID | The establishment's MOHRE ID, padded with leading zeros. | Checked as: Digits only, at least 13 |
| SCR-03Employer bank routing code | Routing code of the employer's own bank. | Checked as: 9 digits |
| SCR-04File creation date | The day the file was made. | Checked as: A real date, YYYY-MM-DD |
| SCR-05File creation time | The time the file was made, 24-hour. | Checked as: HHMM |
| SCR-06Salary month | The month being paid. | Checked as: MMYYYY, no separator: 102026 for October 2026 |
| SCR-07EDR count | How many EDR lines the file has. EVP lines are not counted. | Checked as: Equals the EDR lines |
| SCR-08Total salary | Income fixed plus income variable, added up over every EDR line. | Checked as: Two decimals, equals that sum |
| SCR-09Currency | The payment currency. | Checked as: AED |
| SCR-10Employer name | The establishment's name in plain ASCII. | Checked as: Up to 35 characters, no / \ or : |
What is a WPS SIF file?
The Salary Information File an employer registered with MOHRE sends through its bank or an approved exchange house with each salary payment under the Wage Protection System. It is a plain text file: one EDR line for each employee being paid, usually an EVP line under each, and one SCR line at the end with the employer ID, the salary month and the totals.
Is my file uploaded when I check it?
No. The checker runs in your browser: the file is read and checked by this page and is not sent to DenwaysHR or anyone else, and nothing is stored. Once the page has loaded it works with the internet switched off.
If the file passes here, will the bank accept it?
Not necessarily. A pass means every field is in the right place and form and the SCR count and total agree with the EDR lines. The checker cannot see whether a person code belongs to your establishment, whether an account is open, or what your bank checks on top. MOHRE also compares what the file says with what was owed and what was actually transferred.
What goes in the days on leave field?
The days of leave without pay in the period, as a whole number, and 0 when there were none. It explains a salary lower than the contract figure, so the line does not read as a short payment. Staff on unpaid leave drop out of the WPS check only if the supporting documents are submitted to MOHRE.
What should the SIF file be called?
The employer ID, then the date and time the file was made as YYMMDDHHMMSS, then .SIF. For the example file that is 1000000000001261030091500.SIF. The date and the hours and minutes must agree with the SCR line, or the bank rejects the file.
When does the salary file have to be sent?
With the salary payment. Since 1 June 2026, under Ministerial Resolution No. 340 of 2026, a month's wages are due by the first day of the following month, and at least 85 per cent of the total wages due must be transferred on time. A file rejected on the last day leaves no room to fix it, so approve the run early and check the file before it goes to the bank.
Guides
Keep reading
Bring your whole workforce onto one platform.
See how DenwaysHR handles HR, attendance and leave across the GCC, and payroll with the WPS file in the UAE.


