Payroll at a law firm looks simple — a handful of salaries once a month. In Saudi Arabia and the wider GCC it rarely is. Between GOSI, the WPS bank file, end-of-service, Iqama expiries, mid-month raises and leave, a "quick" payroll run turns into a spreadsheet marathon with real compliance risk. Here's what actually has to happen each month, and how to make it a ten-minute job.
1. Why firm payroll is harder than it looks
A law firm's headcount is small but its pay data isn't. Salaries are split into basic, housing, transport and other allowances — and that split drives GOSI, end-of-service and the bank file. Someone joins or leaves mid-month, so pay is prorated. A partner approves an increment effective the 15th, so the month has to be split across two salaries. An associate takes unpaid leave; a clerk has a loan instalment; a paralegal's Iqama is about to expire. Miss any one of these and you either overpay, underpay, or file the wrong number to the bank.
Most firms run this in Excel, re-keying the same figures into the bank portal and the accounting system. It works — until it doesn't, and the error only shows up when an employee or the regulator flags it.
2. GOSI — who pays what
GOSI (the General Organization for Social Insurance) is Saudi Arabia's social-insurance scheme, and contributions come out of every run. Both the employer and the employee contribute a percentage of basic salary plus housing, up to a contribution ceiling. The rates differ for Saudi and non-Saudi staff, and are updated from time to time, so payroll needs to apply the right percentage per employee — and occasionally an instructed override for a specific person.
- The employee share is deducted from net pay.
- The employer share is a cost to the firm — it must be recorded (and posted to the GL) even though it isn't deducted from the employee.
- Get the base wrong (e.g. applying GOSI to the full gross instead of basic+housing) and every month is off.
3. WPS — the bank file you can't skip
The Wage Protection System (WPS) requires salaries to be paid through the banking system and a standardised salary file (SIF/IFILE) filed with your bank each month. That file lists, per employee, their IBAN, national ID or Iqama number, basic, housing, other earnings, deductions and net pay, wrapped in a header your bank specifies exactly.
4. End of service (EOSB) under Saudi Labor Law
When someone leaves, they're owed an end-of-service benefit (EOSB). The Saudi Labor Law formula is:
- Half a month's wage for each of the first five years of service, and
- One full month's wage for each subsequent year — based on the last wage.
- On resignation, the award is reduced on a sliding scale (Article 85): nothing under two years, one-third from 2–5 years, two-thirds from 5–10, and the full amount after ten.
Two things catch firms out. First, the liability is accruing all year — it should be visible, not a surprise on the day someone resigns. Second, if the employee has an outstanding loan, it's usually netted off the settlement, and the firm needs a clean no-dues clearance to prove it.
5. Iqama, leave & the admin around pay
Payroll doesn't sit alone. A lapsed Iqama can stop someone working (and paying them becomes a problem), so expiries need tracking well ahead. Leave feeds pay directly: unpaid leave should reduce the month, and paid leave shouldn't — which means leave needs an approval trail and a live balance, not a WhatsApp message. And every figure eventually has to reach the accounts as a balanced journal, ideally without re-keying.
6. How to run a compliant month in minutes
The fix is to keep one master record per employee — salary split, GOSI setup, GL accounts, Iqama, bank details — and let the system do the month. That's what QuickPayroll (part of the QuickInflo suite) is built for:
- One-click run with automatic prorata, mid-month raise splits, overtime, loans and unpaid-leave deductions.
- GOSI computed for Saudi and non-Saudi staff, with per-employee overrides when instructed.
- WPS bank file generated in your bank's exact format — after approval — with names and amounts cleaned for acceptance.
- End of service under the Labor Law (with the resignation factor), a running liability view, and a printable no-dues clearance that nets outstanding loans.
- Iqama alerts, a leave workflow (dept head → HR) with live balances, and branded payslips employees can download themselves.
- A balanced month-end GL journal and employee-wise export, so the accountant just posts it.
Run a live month on your own numbers
See GOSI, WPS, end-of-service and the GL journal on your actual staff list — in a 30-minute demo, or a free 10-day trial.
Explore QuickPayroll →7. Frequently asked questions
What is GOSI and who pays it?
GOSI is Saudi Arabia's social-insurance scheme. Both employer and employee contribute a percentage of basic salary plus housing (up to a ceiling), with different rates for Saudi and non-Saudi staff. Payroll deducts the employee share and records the employer share as a cost.
What is WPS in Saudi Arabia?
The Wage Protection System requires salaries to be paid through banks and a standardised salary file (SIF/IFILE) filed each month, listing each employee's IBAN, ID/Iqama, basic, housing, other earnings, deductions and net pay. Filing it incorrectly risks penalties.
How is end-of-service (EOSB) calculated in Saudi Arabia?
Half a month's wage per year for the first five years, one month's wage per year after that, based on the last wage — reduced on a sliding scale for resignation under Article 85.
Does QuickPayroll handle GOSI, WPS and EOSB automatically?
Yes — QuickPayroll computes GOSI, generates the WPS bank file in your bank's format after approval, and calculates end-of-service under the Labor Law, alongside prorata, mid-month raises, loans and leave.
Further reading: QuickPayroll — payroll & complete HR · QuickBD — business development · Why law-firm bills get stuck · Pricing