
Generating a UAE WPS Salary Information File, field by field
The exact file Peoplio generates for the UAE Wage Protection System — one SCR summary record and one EDR record per employee — explained field by field, with the padding, date and amount rules and the checks your bank will still apply.
The Wage Protection System moves on a file. Each pay period the employer, or their payroll software, produces a Salary Information File (SIF) that the bank or exchange house forwards to the Central Bank and MOHRE. Here is the file Peoplio produced for a two-employee September 2026 payroll, copied verbatim from the export (line endings are CRLF; there is no header row).
SCR,0000001234567,302620122,2026-10-01,0930,092026,2,13000.00,AED
EDR,12345678901234,302620122,AE070331234567890123456,2026-09-01,2026-09-30,30,8000.00,500.00,
EDR,00000987654321,400110001,AE460090000000123456789,2026-09-01,2026-09-30,30,4500.00,0.00,Sep 2026 salary
The SCR line: one summary per file
The Salary Control Record has nine comma-separated fields. Record type "SCR". The employer's MOHRE establishment number, left-padded with zeros to 13 digits (1234567 became 0000001234567). The nine-digit routing code of the employer's bank or exchange house. The file creation date (YYYY-MM-DD) and time (HHMM, 24-hour). The salary month as MMYYYY (092026). The number of EDR records that follow (2). The total of all salaries in the file (13000.00: 8000 + 500 + 4500 + 0). The currency, always AED.
The count and the total are what the bank reconciles first. If either disagrees with the EDR lines the whole file is rejected, which is why Peoplio computes both from the employee records rather than accepting them as input.
The EDR lines: one per employee
Each Employee Detail Record has ten fields. Record type "EDR". The employee's labour card number, left-padded with zeros to 14 digits (987654321 became 00000987654321). The routing code of the employee's bank or exchange house — it does not have to match the employer's, as the second line shows. The IBAN or salary-card number. Pay period start and end dates (YYYY-MM-DD). Days in the period (30). Fixed salary and variable income, each with two decimals (8000.00 and 500.00). A free-text note, which may be empty — the first line ends with a trailing comma for exactly that reason.
Variable income is where overtime, commissions and one-off allowances go; fixed salary is the contractual amount. Splitting them matters because WPS compares what was paid against the registered contract, and a fixed-salary figure that drifts from the contract is the most common reason a file bounces.
What the generator enforces, and what it leaves to you
Peoplio's generator pads identifiers, formats amounts and dates, sums the totals and refuses to write a file with no employees. It is produced from the payroll run through the WPS SIF export, so the amounts are the ones that were actually approved for payment.
Two honest limits. First, the field list follows a published third-party payroll guide rather than the primary Central Bank specification, and banks differ slightly in width and validation rules — the generator's own source comment says to verify against the disbursing bank's WPS guide before submitting a live file, and that advice stands. Second, Peoplio produces the file; it does not transmit it. Uploading to the bank portal or exchange house, and the MOHRE-side monitoring that follows, remain outside the software.
Related: end-of-service gratuity from the same engine
The UAE jurisdiction module also computes end-of-service gratuity under Federal Decree-Law No. 33 of 2021: 21 days of basic salary per year for the first five years, 30 days per year after that, capped at two years of basic salary, and nothing before one full year of service. Two verbatim results: a basic salary of AED 8,000 after 3.5 years returns 19,600.00; after 7 years it returns 44,000.00 (5 × 21 days + 2 × 30 days, at AED 266.67 a day). Both carry the note that only basic salary counts — housing, transport and other allowances are excluded. GPSSA pension contributions for UAE and GCC nationals are not modelled, and the engine says so.
Want to run payroll, compliance, and people ops on one platform built for global teams?
Contact us
