Maintain self-service masters and run monthly payslips

Edit the masters behind the portal, version country rules and generate, publish and pay the monthly payslip run.

Required permission: ess.configure

Before you begin

You hold the self-service setup permission (ess.configure). Everything is per company: references to another company's records are refused with 'Choose a employee from this company.'

Edit a master

  1. Open Employee Self Service > Configuration > Self-service setup.
  2. Pick a master from the list on the left: work locations, attendance policies, shifts, shift assignments, holidays, request workflows, country rules, announcements, events, courses, enrolments, assets, assignments, benefits, dependents or salary bank accounts.
  3. Use the search box to find a row.
  4. Click New, or click a row to Edit.
  5. Save.
  6. Remove retires a master with an Active flag, which keeps history, and erases the others (for example attendance policies and holidays).

Typical refusals: 'Code is required.', 'Latitude is not valid.', 'Starts is required.', 'Starts is not valid.' (use HH:MM), 'Choose at least one allowed methods.', 'Choose at least one approval steps, in order.', 'Title is required.'

Request workflows

Choose the request type and the steps in order: Manager review, HR review, Finance review. Requests already in flight keep their original steps. If you make a workflow inactive, the built-in steps apply.

Shift assignments

The latest assignment valid on the day wins. The Ramadan shift is used while the country rule's Ramadan period covers the day.

Version a country rule

  1. Open Country rules and click New.
  2. Choose the country and rule (for example working hours), enter the Version, Effective from (and to) and the values as an object.
  3. Save.

The rule valid on a calculation's own date is used. Example: add version 2 effective 1 January 2027 with overtime rate 1.5. The December 2026 payroll still reads version 1 (1.25); January 2027 reads version 2, and the payslip records the rule version. Wrong input gives 'That is not valid JSON.' or 'Give an object of values.'

Run the monthly payroll

  1. Open Self-service setup and the Payroll runs master.
  2. Enter the Period as a month, for example 2026-09.
  3. Click Generate drafts. Drafts are made for everyone with an active contract.
  4. Check the figures. The counts show Draft, Published and Paid and the Net total.
  5. Click Publish. Payslips become visible and each employee is notified 'Payslip available: Sep 2026'.
  6. After the bank pays, click Mark paid.

Worked example: a UAE national with basic 8,000, housing 3,000 and transport 1,000, all counted for insurance and overtime, and 5 approved overtime hours. The hourly rate is 12,000 / (40 x 52 / 12) = 69.23. Overtime is 5 x 69.23 x 1.25 = 432.69. Gross is 12,432.69. Social insurance is 12,000 x 11 % = 1,320.00 (employer 1,500.00). With a loan installment of 500.00, deductions are 1,820.00 and net is 10,612.69 AED.

What happens next

Mark paid sets the paid date and status, adds one installment to each active loan's repaid amount, and marks a loan Settled when repaid reaches the principal. Paid payslips are never changed: generating the same month again skips them and the period shows Closed. Unpublished drafts can be regenerated.

Important:

One person with the setup permission can generate, publish and mark paid, and nothing posts to the accounts. Agree a review by a second person outside the system before you publish.

Good to know

  • Asset assignments flip the asset to Assigned or Available. A new enrolment notifies the employee.
  • Announcements show from the published date to the expiry date, pinned first.
  • Bad period text is refused: 'Send the period as YYYY-MM.'