Pay scales

For HR administrators

A pay scale (سلم رواتب) is a workspace-owned grade × step matrix used to derive a Position's base pay. There is no separate salary-range entity anymore — a grade's step column, step 1 through step N, is the salary range for every Job Description or Position resolved to it. Your workspace gets one scale automatically at setup, and HR Administrators can add more built-in scales or build a custom one at any time.

Where to find it

/{slug}/app/pay-scales. Viewing needs org.salary.view (HR Administrator and Line Manager); adding, editing and deleting need org.salary.edit.

The four built-in scales

The product ships four built-in scale templates:

ScaleArabic nameTypical use
General / Civilالسلم العامThe default for most workspaces.
Healthسلم الصحةHealth-sector workspaces.
Educationسلم التعليمEducation-sector workspaces, with tiered grades (Practitioner / Advanced / Expert / Distinguished) instead of numbered ones.
Militaryالسلم العسكريSecurity/defense-sector workspaces.

Sector-based auto-seeding

When a workspace is created, the scale matching its sector is cloned into the workspace automatically: a health-sector workspace gets the Health scale, a security/defense workspace gets Military, and every other sector gets General. This happens once, during onboarding — you don't have to set anything up to see a working scale on day one.

Adding another built-in scale

A workspace is not limited to the one scale it was seeded with. From the Pay scales page, click Add built-in and pick from whichever of the four templates the workspace doesn't already have (for example, a workspace seeded with General can still add Health for a clinical unit). Each built-in can only be added once per workspace.

Creating a custom scale

Click Create custom and give it an Arabic and an English name. A custom scale starts with no grades — build it out on the grade matrix the same way you would edit a built-in one. Custom scales are entirely your workspace's own; there's no template behind them.

The grade matrix

A scale is made of grades (مراتب). Each grade has:

  • Code — the grade's label (e.g. المرتبة 6 / G6, or a tier name like "Advanced" on the Education scale).
  • Base min — the base pay at step 1 of that grade, in SAR.
  • Increment — how much each subsequent step within the grade adds.
  • Step count — how many steps the grade has.

A step's base pay is computed as base min + (step − 1) × increment. Step 1 of a grade always equals its base min; each step after that adds one increment.

Editing the grade matrix

Open a scale from the Pay scales list to edit its name and active state, and to edit its grade × step matrix inline. Add, reorder or remove grades, and adjust base min, increment and step count per grade — the computed step figures update as you type. Changes apply immediately to every Job Description and Position resolved to that grade going forward.

A grade is the salary range

A single named, reusable range kept every Job Description consistent under the old model — you picked a predefined min–max band instead of typing free-text figures. That job is now done by the grade itself: a grade's step 1 → step N band is the range, so there is nothing extra to define, name, or keep in sync. Pick a grade and the range comes with it.

  • A Job Description picks a default grade. On the Job Description form, the Default pay grade field lets you choose a pay scale, then a grade within it (no step — a Job Description is a definition, not a filled seat). The Job Description's Annual salary column, shown on the Job Descriptions table, is that grade's step 1 → step N band, annualized in SAR — the same figure a predefined salary range used to show.
  • A Position inherits that default, or overrides it. Leave a Position's own pay scale empty and it shows its Job Description's default grade range. Set a scale and a grade on the Position itself — the grade + step field on the Position form — and that overrides the Job Description's default for this seat only, exactly as a Position could once carry its own salary range.
  • A step, when picked, pins one figure inside the range. A Job Description's default grade never carries a step — it's a range by definition. A Position may add a step once someone is being hired into it, which resolves the range down to a single base pay figure for that seat. Leave the step unset and the Position simply shows the grade's whole range, same as the Job Description.

Because the range now lives on the grade, editing a grade's base min, increment or step count (on the grade matrix) propagates to every Job Description and Position resolved to it — there is no separate range record to edit or keep in sync afterward.

Linking a Position to grade + step

When creating or editing a Position, the optional Pay scale field lets you pick a scale, then a grade within it, then, optionally, a step within that grade. Leaving the scale empty falls back to the Job Description's default grade — nothing changes for workspaces that don't set a Position-level override. Leaving the grade set but the step empty shows the grade's whole range on the Position, same as its Job Description. Once a step is also set, the Position's base pay is computed from the formula above and shown on the position list and on the position detail page, alongside the scale, grade and step it resolves from.