Direct Answer / Quick Summary:

In the Kingdom of Saudi Arabia, the Salary Information File (SIF / ملف معلومات الرواتب) is the standardized electronic banking data exchange file mandated by the Saudi Central Bank (SAMA) and the Ministry of Human Resources and Social Development (MHRSD) for processing payroll through the Wage Protection System (WPS / نظام حماية الأجور) via Mudad:

File Architecture: A compliant SIF file is a structured, comma-delimited text file (saved with a `.sif` or `.csv` extension) consisting of two mandatory layers: (1) a Single Header Record (SCR / File Header) defining the employer's Commercial Registration (CR), 700 Unified Number, corporate IBAN, and total payroll value; and (2) multiple Employee Detail Records (EDR)* specifying individual employee earnings, deductions, and beneficiary IBANs.

The Non-Negotiable Arithmetic Rule:* Every employee detail record must satisfy the strict SAMA mathematical equality:

Net Salary = Basic Salary + Housing Allowance + Other Allowances − Deductions

If a rounding discrepancy of even SAR 0.01 occurs in any row, the bank's processing engine will instantly reject the entire batch file.

Mandatory Field Formats:* Employee IDs must be exactly 10 digits (Iqama starting with 2, National ID starting with 1, Border Number starting with 3 or 4); IBANs must be 24 characters starting with SA; and monetary values must contain exactly two decimal places (0.00) without currency symbols, commas, or quotation marks.

Encoding Standards: The file must be saved using UTF-8 (without BOM) or Windows-1256* encoding to ensure Arabic names and corporate descriptions are preserved without character corruption.


The Regulatory Framework: Why SIF Files Are Legally Binding

Under Article 90 of the Saudi Labor Law and SAMA circulars governing the National Wage Protection System, commercial banks are prohibited from processing corporate payroll through standard manual retail transfers.

To achieve legal compliance on Mudad, an establishment's wage disbursement must be packaged in an encrypted, standardized format that the banking core can digest, timestamp, and report back to the National Information Center:

Statutory Compliance Note

Corporate HR / ERP ──[SIF File Generation]──> SAMA Corporate Banking Gateway ──[Automated Reconciliation]──> Mudad Compliance Ledger

Step 1Data Assembly

Payroll Calculation

HR extracts attendance, gross wages, and deductions from internal accounting/ERP

Step 2File Construction

SIF Formatting

Assemble data into SAMA-compliant CSV/SIF columns; verify mathematical parity

Step 3Bank Authentication

Bank Portal Upload

Upload SIF to Al Rajhi Corporate, SNB e-Corp, or Riyad Bank; authorize debit

Step 4Compliance Verified

Mudad Compliance Sync

Bank settles funds and transmits cryptographically signed file to Mudad


SIF File Structure: Header vs Detail Records

A compliant SIF file contains two distinct structural sections: the Header Record (which defines batch-level corporate parameters) and the Employee Detail Records (which outline line-item salary distributions).

1. The Header Record (First Row of the File)

The header record identifies the paying entity and provides batch-level control totals to prevent fraudulent file tampering:

Field OrderField Technical NameFormat / LengthDescription & Validation Rules
H1Record TypeFixed Text (SCR)Salary Creation Record identifier. Must be uppercase SCR.
H2Employer Identifier10 Digits NumericUnified 700 Number or Commercial Registration (CR) matching GOSI.
H3Corporate Bank Code4 Characters AlphaThe 4-letter SAMA identifier of the paying bank (e.g., RJHI, NCBK, RIBL).
H4File Creation DateYYYY-MM-DDDate the payroll file was exported. Must match upload date.
H5File Creation TimeHHMM (24-Hour)Time of export (e.g., 1430 for 02:30 PM).
H6Payer Corporate IBAN24 CharactersCorporate checking account from which total salaries will be debited.
H7Total Records CountInteger NumericThe exact count of employee detail rows following the header.
H8Total Payroll AmountNumeric (0.00)Exact sum of all Net Salaries in SAR (must match sum of row net pay).
H9Currency CodeFixed Text (SAR)Must be SAR. Foreign currencies are rejected by Mudad.
H10Payroll ReferenceText (Max 30 Chars)Reference label (e.g., SALARY-JAN-2026). No spaces or special characters.

2. The Employee Detail Record (One Row Per Worker)

Following the single header row, each employee occupies exactly one row. SAMA and Mudad mandate the following 12-column sequence:

ColField LabelTechnical CodeFormatDescription & Mandatory SAMA Constraints
ARecord IdentifierEDRFixed TextEmployee Detail Record indicator (EDR).
BID TypeID_TYPE1 Digit1 = National ID, 2 = Iqama, 3 = Border Number.
CNational / Resident IDEMPLOYEE_ID10 Digits10-digit civil number matching GOSI and Qiwa records.
DEmployee Full NameEMPLOYEE_NAMEText (Max 50)Full legal name. Must NOT contain commas (`,`).
EBeneficiary Bank CodeBANK_CODE4 CharactersBeneficiary bank SAMA code (e.g., RJHI, NCBK, ALBI, RIBL).
FBeneficiary IBANBENEFICIARY_IBAN24 CharsMust begin with SA and pass MOD-97 checksum validation.
GBasic SalaryBASIC_SALARYNumeric (0.00)Contractual basic wage registered in GOSI.
HHousing AllowanceHOUSING_ALLOWNumeric (0.00)Contractual housing allowance. Enter 0.00 if company provides housing.
IOther AllowancesOTHER_ALLOWNumeric (0.00)Transport, overtime, performance incentives, and bonuses.
JDeductionsDEDUCTIONSNumeric (0.00)Employee GOSI share, loan repayments, and disciplinary fines.
KNet Salary PaidNET_SALARYNumeric (0.00)Must equal: Basic + Housing + Other − Deductions.
LDays WorkedDAYS_WORKEDInteger (1–31)Standard working days in the payroll cycle (typically 30).

SAMA SIF Construction Rules

Mandatory protections enforced by MHRSD & Saudi Labor Law

1
Pure Comma SeparationFields must be separated strictly by commas (,). Never include trailing spaces or tabs before or after commas.
2
The No-Comma Name RuleNever include a comma inside an employee's name (e.g., writing 'Khan, Mohammed' splits the row into 13 columns, causing fatal parsing failure).
3
Two-Decimal UniformityAll financial amounts (Basic, Housing, Allowances, Deductions, Net) must be formatted with exactly two decimal places (e.g., 4500.00, not 4500 or 4,500.00).
4
No Currency SymbolsNever include 'SAR', 'SR', or '$' inside monetary fields.

Step-by-Step Guide: Building a Compliant SIF File in Excel

Most small-to-medium enterprises in Saudi Arabia generate their monthly payroll using Microsoft Excel before exporting to CSV/SIF:

Step 1: Configure Column Formats in Excel

1Open a blank Excel workbook.
2Select the entire sheet, right-click, and select Format Cells.
3Format Column C (Employee ID) and Column F (Beneficiary IBAN) as Text:

- If Column C is formatted as General or Number, Excel may strip leading zeros or display IDs in scientific notation (2.45E+09), corrupting the file.

4Format Columns G, H, I, J, and K (Basic, Housing, Other, Deductions, Net) as Number with 2 Decimal Places and ensure Use 1000 Separator (,) is UNCHECKED.

Step 2: Implement the Mandatory Parity Formula

In Column K (Net Salary), do not type amounts manually. Implement SAMA's exact automated formula in Excel:

excel|Technical Specification / Reference
Verified Schema
=ROUND((G2 + H2 + I2) - J2, 2)

Using =ROUND(..., 2) prevents floating-point micro-cents (such as 4250.000000001) from causing banking gateway rejection.

Step 3: Insert the SAMA Header Row

In Row 1, insert the batch control parameters:

csv|Technical Specification / Reference
Verified Schema
SCR,7001234567,RJHI,2026-01-31,1430,SA0380000123456789012345,50,225000.00,SAR,SAL-JAN-2026

Step 4: Populate Employee Detail Rows (Rows 2 to N)

Below the header row, populate each worker's row:

csv|Technical Specification / Reference
Verified Schema
EDR,2,2450123456,Ahmed Mansoor Ali,RJHI,SA4480000456123456789012,5000.00,1250.00,500.00,500.00,6250.00,30
EDR,2,2489654321,Tariq Mahmood,NCBK,SA1210000789123456789034,4000.00,1000.00,250.00,350.00,4900.00,30

Step 5: Save as CSV UTF-8

1Click File → Save As.
2Save as type: Select CSV (Comma delimited) (*.csv) or CSV UTF-8 (Comma delimited) (*.csv).
3If your corporate bank portal (e.g., Al Rajhi Corporate) specifically requires the .sif file extension, navigate to the saved file in Windows File Explorer and simply rename the extension from .csv to .sif.
Step 1Cell Formatting

Set Text Types

Format Employee ID and IBAN columns as strict Text in Excel

Step 2Formula Parity

Apply Rounding

Insert =ROUND((Basic + Housing + Other) - Deductions, 2) in Net column

Step 3Header Creation

Insert SCR Header

Place batch control parameters, total headcount, and total sum in Row 1

Step 4Export SIF

Export CSV UTF-8

Save workbook as CSV UTF-8 (Comma delimited); rename extension to .sif if required


Raw SIF File Code Example: A Working Demonstration

Below is a verified, fully compliant SIF file sample for a company with 3 employees banking with Al Rajhi Bank:

code|Technical Specification / Reference
Verified Schema
SCR,7009876543,RJHI,2026-02-28,1115,SA0380000555666777888999,3,15450.00,SAR,SALARY-FEB-2026
EDR,2,2345678901,Rashid Khan,RJHI,SA4480000111222333444555,4000.00,1000.00,500.00,350.00,5150.00,30
EDR,2,2456789012,Sultan Al-Otaibi,NCBK,SA1210000222333444555666,5000.00,1250.00,0.00,500.00,5750.00,30
EDR,2,2567890123,Carlos Santos,RIBL,SA6520000333444555666777,3500.00,875.00,400.00,225.00,4550.00,30

Verification of Batch Parity:

Total Headcount in Header: 3 (Matches 3 EDR rows).
Net Salaries: 5,150.00 + 5,750.00 + 4,550.00 = SAR 15,450.00 (Matches 15450.00 in Header H8).
Row 1 Parity: (4000.00 + 1000.00 + 500.00) − 350.00 = 5,150.00 SAR ✅
Row 2 Parity: (5000.00 + 1250.00 + 0.00) − 500.00 = 5,750.00 SAR ✅
Row 3 Parity: (3500.00 + 875.00 + 400.00) − 225.00 = 4,550.00 SAR ✅

Official SAMA Bank Codes for SIF Generation

When routing salaries to employees who hold accounts at different commercial banks across the Kingdom, you must input the exact 4-letter SAMA Bank Identifier in Column E:

Bank Name (Commercial)SAMA Bank Code (Col E)IBAN Bank Code Prefix
Al Rajhi Bank (مصرف الراجحي)RJHISA..80...
Saudi National Bank / SNB (البنك الأهلي)NCBKSA..10...
Riyad Bank (بنك الرياض)RIBLSA..20...
Banque Saudi Fransi (البنك السعودي الفرنسي)BSFRSA..55...
Arab National Bank / ANB (البنك العربي الوطني)ARNBSA..40...
Alinma Bank (مصرف الإنماء)ALBISA..05...
Saudi Awwal Bank / SAB (البنك السعودي الأول)SABBSA..45...
Bank AlJazira (بنك الجزيرة)BJAZSA..60...
Bank Albilad (بنك البلاد)ALBISA..15...
Gulf International Bank / meem (بنك الخليج)GIBKSA..65...

The 6 Fatal SIF Validation Errors on Mudad & Bank Portals

When an uploaded SIF file fails processing, corporate banking systems generate automated rejection codes. Understanding these errors saves hours of manual reconciliation:

Rejection Code / Error MessageUnderlying Root CauseMandatory Resolution Protocol
`Arithmetic Parity Mismatch (Row X)`Net salary does not equal Basic + Housing + Other − Deductions.Audit Row X in Excel; re-apply =ROUND((G+H+I)-J, 2).
`Header Batch Total Discrepancy`Header Field H8 total does not equal the mathematical sum of all Column K rows.Re-calculate =SUM(K2:Kn) and overwrite Header Field H8.
`Invalid IBAN Format / Checksum`IBAN length is not 24 characters, lacks SA, or failed MOD-97 check.Request official IBAN certificate from worker; verify via online SAMA IBAN validator.
`Corrupted Field Count (Found 13 cols)`An employee name contains a comma (,), causing the CSV to split the text.Strip all commas and quotation marks from employee names and descriptions.
`Employee ID Not Registered in GOSI`Iqama number does not exist on the company's GOSI establishment file.Confirm worker sponsorship transfer was finalized on Qiwa; audit GOSI active register.
`Character Encoding Garble (Mojibake)`File was saved as ANSI instead of UTF-8, turning Arabic characters into ????.Re-save file in Notepad or Excel as UTF-8 without BOM.

Real-World Corporate Case Study: Dammam Logistics Fleet

The Operation: A refrigerated logistics firm in Dammam employs 85 cross-border truck drivers.
The Crisis: For three consecutive months, the payroll accountant attempted to upload the monthly SIF file to Al Rajhi Corporate Banking on the 28th of the month. Every month, the upload was rejected with generic error: Batch Validation Failed: Field Parity Error.
The Financial Impact: Because payments were delayed past the 10th of the following month, Mudad logged compliance rates of 0%, triggering an automated recruitment freeze on Qiwa and a SAR 50,000 fine warning from MHRSD.
The Forensic Investigation:

* An external compliance audit examined the raw .sif file in Notepad.

* Three fatal syntax flaws were discovered:

1. Four driver names contained commas copied from passports (e.g., Khan, Tariq).

2. Overtime hours were entered into Column I with three decimal places (350.125), causing net rounding mismatches of SAR 0.01 in 14 rows.

3. The IBAN column in Excel was formatted as "General", which stripped the letters SA from two drivers' bank accounts.

The Permanent Fix:

* The firm instituted a standardized Excel payroll macro enforcing =ROUND(..., 2).

* Removed all punctuation from worker names.

* Locked the IBAN column to Text format.

The Result: The revised file passed Al Rajhi Corporate validation on the first attempt in under 4 seconds. The 85 drivers were paid on Day 1, and Mudad compliance rebounded to 100%, clearing all MHRSD compliance flags.

Strategic Checklist: SIF Pre-Flight Audit Routine

Before submitting your SIF file to your bank portal, execute this 5-minute pre-flight checklist:

Pre-Flight SIF Verification Routine

Mandatory protections enforced by MHRSD & Saudi Labor Law

1
Verify Header MathDoes Header Field H8 exactly equal the sum of all Column K net salaries?
2
Verify HeadcountDoes Header Field H7 exactly equal the number of employee rows?
3
Strip PunctuationAre employee names completely free of commas (,), quotes (\"), and hyphens?
4
Validate IBAN TextDoes every single IBAN begin with 'SA' and contain exactly 24 characters?
5
Verify UTF-8 EncodingIs the file saved as UTF-8 (without BOM) to preserve Arabic text integrity?

Frequently Asked Questions (FAQ)

What is the difference between a .csv file and a .sif file for Saudi WPS?

A .sif (Salary Information File) is functionally a comma-separated values (.csv) text file formatted to strict SAMA specifications. Some Saudi corporate banks (such as Al Rajhi) require the file to end with the .sif extension, while others (such as SNB e-Corp) accept .csv or .txt. You can change a .csv file to .sif simply by renaming the extension.

What is the exact formula for Net Salary in a SIF file?

Under SAMA regulations, the net salary must strictly follow: Net Salary = Basic Salary + Housing Allowance + Other Allowances − Deductions. Any rounding error or manual discrepancy will cause an immediate system rejection.

How should the Beneficiary IBAN be formatted in Excel for SIF files?

The IBAN column must be formatted as Text before entering data. A valid Saudi IBAN must begin with SA, followed by 22 numeric digits (24 characters in total). Never include spaces or hyphens.

Can I include an employee who does not have an Iqama in the SIF file?

Yes. If an employee is newly arrived and their plastic Iqama has not yet been printed, you can use their 10-digit Border Number (*Raqm Al-Hudood*) by setting Column B (ID_TYPE) to 3.

Why does my bank reject the SIF file for "Incorrect Field Count"?

This almost always occurs because an employee's name or corporate description contains a comma (,). In a CSV file, a comma indicates a new column. A comma inside a name creates an unwanted 13th column, invalidating the row structure. Remove all commas from text fields.