Bahraini payroll has four moving parts most HRMS tools handle badly: GOSI/SIO contributions, the LMRA work-permit system, the WPS (Wage Protection System) via SIO, and Bahrainisation quotas. Done wrong, the fines compound monthly. This guide walks Bahraini finance and HR teams through a clean Zoho People + Zoho Payroll setup for a Manama or Riffa-based SME, exactly how we configure it for clients.
The Bahrain payroll stack, who collects what
- SIO (Social Insurance Organization), collects GOSI-style social-insurance contributions. 22% employer + 7% employee for Bahrainis; 3% employer-only for expat workers (occupational hazards cover)
- LMRA (Labour Market Regulatory Authority), issues work permits, charges monthly fees, oversees Bahrainisation
- WPS, operated via SIO; salaries must be paid through Bahraini banks with the SIF file submitted to SIO
- Ministry of Labour, enforces Labour Law for the Private Sector (Law No. 36 of 2012), end-of-service gratuity
Step 1, Set up Zoho People for Bahrain
In Zoho People → Setup → Organisation Settings:
- Country: Bahrain
- Working week: Sun,Thu (8 hours/day, 48 hours/week is the legal max)
- Annual leave: 30 days/year (after 1 year of service)
- Public holidays: pre-load the official Bahrain calendar (Eid Al Fitr, Eid Al Adha, Ashura, Bahrain National Day, Accession Day, etc.)
- Probation: 3 months default
Step 2, Add Bahrain-specific employee fields
Each Bahraini employee record should capture:
- CPR Number (Central Population Registration), every Bahraini and resident has one
- Nationality, flags whether GOSI/SIO is at the Bahraini rate (22%/7%) or expat rate (3% employer-only)
- LMRA Work Permit Number + expiry, system alerts on renewal
- Passport details for expats
- Job category, affects Bahrainisation quota for the sector
- SIO Subscriber Number, for the WPS file
- Bank account at a Bahraini bank, mandatory for WPS
Step 3, Configure GOSI/SIO contributions in Zoho Payroll
In Zoho Payroll → Settings → Statutory Components → Add Contribution:
- GOSI/SIO Bahraini (employer): 22% of contributory salary, capped at BHD 4,000/month
- GOSI/SIO Bahraini (employee): 7% of contributory salary (auto-deducted from gross)
- GOSI/SIO Expat (employer): 3% of contributory salary (occupational injury only)
- Contributory salary = basic + housing + social allowance (not including transport, overtime, bonuses)
Zoho applies the correct rate automatically based on the employee's nationality field.
Step 4, Generate the WPS SIF file from Zoho Payroll
After running payroll:
- Zoho Payroll generates the SIO WPS file in the required text/XML format
- Upload it to your Bahraini bank's WPS portal (NBB, BBK, Ahli United, Bahrain Islamic Bank etc.)
- Bank executes salary credits and confirms back to SIO
- Salaries must be paid within 7 days of the wage period ending, late payment triggers automatic LMRA fines
Step 5, Bahrainisation tracking in Zoho People
Bahrainisation quotas vary by industry (e.g., banking ~50%+, retail ~25%, construction lower). Zoho People dashboards let you:
- See your live Bahraini-to-expat ratio
- Filter by job category, LMRA grades positions A,E
- Trigger workflow alerts when ratio drops below sector minimum
- Generate the monthly LMRA report in the required format
Step 6, End-of-service gratuity (EOSB)
Per Labour Law No. 36 of 2012:
- First 3 years: 15 days' basic salary per year
- After year 3: 1 month's basic salary per year
- Pro-rata for partial years (above 6 months)
- Forfeited if employee terminates without proper notice (with exceptions)
Zoho Payroll auto-accrues EOSB monthly to the right liability account, your CFO sees the live EOSB exposure at any point.
Step 7, Bahrain-compliant payslips
Your Bahrain payslip should show:
- Employer name + CR number + LMRA establishment ID
- Employee name, CPR, position, job category
- Salary breakdown: basic, housing, transport, allowances, overtime
- Deductions: SIO/GOSI employee share, loan deductions, advances
- Net pay in BHD
- Year-to-date totals (some employers add this)
Zoho Payroll's default Bahrain template covers this; we usually customise the header with the company logo and a bilingual Arabic+English version for Bahraini staff.
Common Bahrain payroll mistakes (and Zoho fixes)
- Wrong GOSI rate on expats, Zoho applies 3% expat rate automatically based on nationality field
- Missing Bahrainisation alerts, Zoho People dashboard + workflow rule notifies HR before hitting the ceiling
- EOSB underaccrual, Zoho Payroll posts the right liability every month, not just at termination
- Late WPS submission, Zoho generates the SIF file the moment payroll is approved; we add a calendar reminder for the 7-day window
- Mixing contributory + non-contributory allowances, Zoho lets you flag each pay component, so contributions calculate on the right base
Frequently Asked Questions
What is the GOSI/SIO contribution rate in Bahrain?
Does Zoho Payroll support Bahrain WPS?
How does Zoho People handle Bahrainisation quotas?
How is end-of-service gratuity calculated in Bahrain?
How long does a Bahrain payroll setup in Zoho take?
Can Zoho Payroll handle bilingual Arabic + English payslips?
Need GOSI/SIO Payroll Set Up in Zoho People for Bahrain?
Talk to a Shyphan expert about your project, free 30-minute consultation, no commitment.
Get a Free Consultation
