EDR: Employer Detail Record line used for each employee salary entry.
Employer Detail Record
Employee-level salary row containing ID, routing, IBAN, pay period, and monetary fields.
This guide defines the operational structure of UAE payroll SIF files and maps regulatory record requirements to implementation-safe validation behavior.
Employer Detail Record
Employee-level salary row containing ID, routing, IBAN, pay period, and monetary fields.
Salary Control Record
Single control line appended at file end with totals, counts, and period control values.
Bank + DocSmith Enforcement
Bank-format constraints are mirrored by DocSmith deterministic pre-check and file-level validation.
The EDR block carries per-employee payroll values. All required fields must conform to routing, IBAN, date, and numeric constraints before submission.
| Field | Name | Requirement | Implementation Notes |
|---|---|---|---|
| EDR.01 | Record type | Literal "EDR". | Every employee salary line must begin with EDR. |
| EDR.02 | Person ID | Exactly 14 digits. | Primary employee identifier used in WPS file validation. |
| EDR.03 | Employee routing | Exactly 9 digits. | Must match a valid bank or exchange routing code. |
| EDR.04 | Employee IBAN | AE-prefixed UAE IBAN, fixed length, checksum-valid. | Normalized to uppercase before validation. |
| EDR.05-06 | Pay period | YYYY-MM-DD start and end dates. | End date must be on/after start and align with salary month. |
| EDR.07 | Days paid | Integer in range 0-31. | Derived from inclusive pay period in standard flow. |
| EDR.08-09 | Fixed and variable pay | Numeric and non-negative. | Used in SCR total salary reconciliation. |
| EDR.10 | Leave days | Integer in range 0-31. | Enforced in input validation and final parser checks. |
The SCR line is the final control record. It binds payroll period, record count, and total salary values to the corresponding EDR lines.
| Field | Name | Requirement | Implementation Notes |
|---|---|---|---|
| SCR.01 | Record type | Literal "SCR". | Must appear once as summary control record. |
| SCR.02 | Employer ID | 13 digits (left-padded if source value is shorter). | Validator enforces exact length in final SIF. |
| SCR.03 | Employer routing | Exactly 9 digits. | Must be a valid routing code for payroll institution. |
| SCR.04 | File creation date | YYYY-MM-DD. | Generated in UAE time context. |
| SCR.05 | File creation time | HHMM (24-hour format). | Used for submission traceability. |
| SCR.06 | Salary month | MMYYYY. | Cross-checked against EDR pay period. |
| SCR.07 | Record count | Must equal number of EDR lines. | Mismatch is treated as submission risk. |
| SCR.08 | Total salary | Sum of fixed + variable amounts from EDR lines. | Computed with decimal-safe arithmetic. |
| SCR.09 | Currency | AED. | Non-AED currency values are rejected by validator policy. |
Reference shape only. Confirm bank or exchange provider constraints before operational upload.
EDR,12345678901234,702123456,AE070331234567890123456,2026-02-01,2026-02-29,29,4000.00,250.00,0 EDR,12345678901235,702123456,AE070331234567890123457,2026-02-01,2026-02-29,29,4000.00,250.00,0 SCR,1234567890123,702123456,2026-02-14,1130,022026,2,8500.00,AED
This comparison aligns common bank-oracle checks with the enforcement currently applied by DocSmith generation and validation routines.
| Field | Meaning | Bank Rule | DocSmith Enforcement |
|---|---|---|---|
| SCR.02 | Employer ID | 13 digits (left-padded with zeros when source ID is shorter). | Pre-check accepts 1-13 digits, generator pads to 13, validator enforces exactly 13 digits. |
| SCR.03 | Employer routing | 9-digit bank/exchange routing code. | Checked as 9 digits before build and in final SIF validation. |
| SCR.04 | File creation date | Date in YYYY-MM-DD format. | Generated in UAE time (UTC+4) and validated as YYYY-MM-DD. |
| SCR.05 | File creation time | Time in HHMM (24-hour format). | Generated in UAE time and validated by HHMM pattern. |
| SCR.06 | Salary month | MMYYYY. | Validated as MMYYYY and cross-checked against EDR period dates. |
| SCR.07 | Record count | Must match number of employee records. | Generator writes EDR row count, validator compares with observed EDR lines. |
| SCR.08 | Total salary | Total fixed + variable pay across all employees. | Computed with decimal-safe arithmetic and verified against EDR aggregates. |
| SCR.09 | Currency | AED. | Generator writes AED and validator rejects other values. |
| EDR.02 | Person ID | 14-digit employee identifier. | Pre-build and final validator both enforce exactly 14 digits. |
| EDR.03 | Employee routing | 9-digit routing code. | Enforced as 9 digits before build and on SIF parse. |
| EDR.04 | Employee IBAN | UAE IBAN (AE prefix, fixed length). | Normalized to uppercase; checked for AE prefix, length, and checksum during input validation. |
| EDR.05-06 | Pay period | Valid start/end dates within payroll month. | Dates must be YYYY-MM-DD, end after start, and match SCR salary month. |
| EDR.07 | Days paid | Integer range 0-31. | Generator computes inclusive day count from pay period; parser validates 0-31. |
| EDR.08-09 | Fixed and variable pay | Non-negative numeric values. | Input and parser enforce numeric non-negative values before totaling. |
| EDR.10 | Leave days | Integer range 0-31. | Input validation and parser both enforce integer range. |
Prepare validated EDR rows and final SCR control line.
Submit the generated SIF through your approved institution workflow.
Bank-side checks run before onward WPS compliance submission.