Human Resources module
One file per employee — personal data, contract, pay, documents and dependents; the masters the organisation is built on — departments, job titles, pay grades and work schedules; and country profiles carrying the social-insurance, tax, gratuity and leave rules with their effective dates. The system reminds you of a document before it expires, not after.
Employee list
Path: Human Resources → Employees — /hr/employees
Purpose: the module's master list: every employee in the company in every status — probation, active, suspended and terminated — because hiding leavers would hide documents that still expire and still need renewing. The filters sit in the page header itself, not in a separate dialog, and apply as soon as you change them.
| Element | Meaning |
|---|---|
| Search | By code, Arabic or English name, or one of the ID numbers. |
| Status | Probation Active Suspended Terminated — leave it empty to show everyone. |
| Department | Narrows the list to one department. |
| Expiring soon | A toggle that flips the list to employees whose documents or contracts expire within the reminder window, or have expired unrenewed. Press it again to return to the full list. |
| Columns | Code, Employee, Department, Job Title, Branch, Hire Date, Contract End, Total, Next Expiry, Expiring, Status. |
| New Employee | A header button that opens a blank card. Clicking any row opens that employee's card for editing. |
Employee card
Path: Human Resources → Employees → New Employee / Employee Card — /hr/employees/new and /hr/employees/:id/edit
Purpose: the whole employee file in five tabs, with an internal notes panel at the side for what does not belong in any field (a verbal agreement, a special circumstance…). Saving keeps you on the card, so you can work through the tabs at your own pace.
Personal tab
| Field | Meaning |
|---|---|
| Code | Generated on save with the EMP- prefix (EMP-0001…); never typed. |
| Arabic Name / English Name | Lists and reports show whichever matches the interface language. |
| Gender / Date of Birth | Feed the leave conditions in the country profile (maternity, "after age"). |
| Nationality | In the Gulf, nationality decides the social-insurance scheme (national / expatriate) — an employee without one cannot be paid once payroll arrives. |
| National ID, Residence No., Passport No. | Official identifiers. The national ID and the residence number are unique within the company. |
| Phone / Email / Address | Contact details. |
Contract & Job tab
| Field | Meaning |
|---|---|
| Hire Date | Start of service; seniority and gratuity count from it. |
| Probation Ends | Suggested automatically as hire date + the probation months in settings; edit freely. |
| Contract Type | Indefinite / Fixed term / Part time. |
| Contract End | For fixed-term contracts; feeds the expiry reminders. |
| Department / Job Title / Grade / Work Schedule | Picked from the masters described below, never typed. |
| Line Manager | Another employee from the list. |
| Country Profile | The profile contributions, tax, gratuity and leave are read from — inherited from settings, overridden here for an employee in a branch in another country. |
| Branch / Cost Centre / Project | For accounting allocation. The employee's own cost centre overrides the department's. |
| Status | Probation / Active / Suspended / Terminated — with Terminated, the termination date appears. |
Pay & Payment tab
| Field | Meaning |
|---|---|
| Basic Salary | Must fall between the minimum and maximum of the chosen grade, or the save is refused. |
| Housing Allowance / Other Allowances / Total | The total is computed from the three, not typed. |
| Payment Method | Bank transfer / Cash / Wage protection (WPS). |
| Bank / IBAN | For transfers and WPS. The IBAN is unique within the company. |
| Social Insurance No. / Tax File No. | The employee's numbers with the insurance and tax authorities. |
Documents tab
| Field | Meaning |
|---|---|
| Type | ID card, Passport, Residence permit, Work permit, Visa, Driving licence, Contract, Medical certificate, Qualification, Other. |
| Number / Issued / Expires / Issued By / Notes | The document's details. The expiry date is what the system reminds you about. |
| Attachments | A button on each row opens the upload dialog: upload the image, paste it from the clipboard with Ctrl+V, or scan it straight from the scanner. |
Dependents tab
| Field | Meaning |
|---|---|
| Name / Relation / Gender / Date of Birth / National ID | Relation is Spouse, Child, Parent or Other. A register of the employee's dependents, as insurance and residence files ask for. |
Steps
- From the employee list press New Employee.
- Fill in the Personal tab — both names, nationality and ID numbers — then save; the code appears.
- On Contract & Job set the hire date, contract type, department, job title, grade, work schedule and country profile.
- On Pay & Payment enter the basic salary within the grade's limits, the allowances, the payment method and the bank details.
- Add the documents with their expiry dates and save, then attach their scans from the attachments button on each row.
- Add dependents if any, and save.
Departments
Path: Human Resources → Departments — /hr/departments
Purpose: the organisation chart as a tree: departments under departments, each with a manager and a cost centre its salaries are charged to. The list shows the tree with each department's head count.
| Field | Meaning |
|---|---|
| Code | Generated with the DEPT- prefix (DEPT-0001…). |
| Arabic Name / English Name | The department's name in both languages. |
| Parent Department | Makes this department a branch under another; empty = a top-level department. |
| Cost Centre | Where the department's salaries are charged by default — an employee's own centre overrides it. |
| Line Manager | An employee from the list. |
| Active | Inactive departments vanish from pick-lists but stay on record. |
Job titles
Path: Human Resources → Job Titles — /hr/job-titles
Purpose: the list of titles (accountant, sales representative, driver…) picked on the employee card — so naming stays consistent and reports group correctly.
| Field | Meaning |
|---|---|
| Code | Generated with the JOB- prefix. |
| Arabic Name / English Name | The title in both languages. |
| Active | Deactivate a title that is no longer used rather than deleting it. |
Pay grades
Path: Human Resources → Pay Grades — /hr/pay-grades
Purpose: the salary scale: each grade has a minimum and a maximum, and the employee card keeps the basic salary within them.
| Field | Meaning |
|---|---|
| Code | Generated with the GRD- prefix. |
| Arabic Name / English Name | The grade's name in both languages. |
| Minimum Salary / Maximum Salary | The band. |
Work schedules
Path: Human Resources → Work Schedules — /hr/work-schedules
Purpose: the working pattern an employee is assigned to: hours, days, weekend, and what changes in Ramadan.
| Field | Meaning |
|---|---|
| Code | Generated with the WS- prefix. |
| Arabic Name / English Name | The schedule's name in both languages. |
| Hours / Day, Days / Week | Length of the working day and number of working days. |
| Start / End | Shift start and end times. |
| Ramadan Hours | Hours per day in Ramadan. Leave empty where there is no statutory reduction. |
| Weekend Days | Multi-select: Friday and Saturday, Sunday alone… |
| Active | Inactive schedules vanish from pick-lists. |
Country profiles
Path: Human Resources → Country Profiles — /hr/country-profiles
Purpose: what differs between countries — contributions, tax, gratuity, leave, hours and holidays — is rows with effective dates in a profile per country, not code buried somewhere. The first time the screen is opened, profiles for Egypt, Saudi Arabia, the UAE, Kuwait, Qatar, Bahrain and Oman are created automatically from the catalogue, one of them flagged as default from your company's country. The last four carry initial figures awaiting certification by a local accountant — the "Figures" column in the list says so plainly, so review them before running real payroll on them. Each profile has seven tabs.
| Tab | What it holds |
|---|---|
| General | Code, Country, Currency, Calendar (Gregorian / Gregorian & Hijri — display only; dates are always stored Gregorian), Month Mode (Actual days / 30 days — governs pro-rating when hire or termination falls mid-month), Default. |
| Insurance | Cards: Code, names, Applies To (Nationals / Expatriates / Everyone), Effective From / To, Hired From / Until, Employee %, Employer %, Base (Basic / Basic + housing / Gross), Floor, Cap. The engine picks the latest effective row that fits the employee's nationality and hire date. |
| Tax | A table of brackets: Effective From, From, To, Rate %, Annual Personal Exemption. "Ladder Min. Income" carries Egypt's bracket-dropping rule and stays 0 where there is one ladder. |
| Gratuity | Cards: Effective From / To, Enabled, Base, First-tier Years, Days/Year (first), Days/Year (after), Cap (months), Resign < 2y / 2–5y / 5–10y / > 10y (1 = full, 0 = none). |
| Leave | Cards: Kind (Annual, Sick, Maternity, Paternity, Hajj, Marriage, Bereavement, Study, Unpaid), Effective From, Days, Tier, After Years, After Age, Min. Service (months), Paid %, Once per service, Gender. |
| Hours | Cards: Effective From / To, Hours / Day, Hours / Week, Ramadan Hours and Ramadan Hours / Week, Overtime Day / Night / Rest Day / Holiday % (135 = one and a third). |
| Holidays | Per year: date, name, days. Islamic holidays are seeded as estimates — review them once announced; saved year by year with "Save Year's Holidays". |
| Button | Effect |
|---|---|
| Save | Saves the profile with all its tables (except holidays, which have their own button). |
| Restore Catalogue | Replaces the profile's tables with the seeded figures for that country, and its year's holidays — after confirmation. |
| Clone Profile | A copy under a new code for a free zone or a branch with different terms — starts from the source figures, edited freely. |
| Delete | Cloned profiles only; the three catalogue profiles cannot be deleted. |
Steps
- Open the screen; the three seeded profiles appear.
- Open your country's profile and go through the tabs with a local accountant; correct what needs it and save.
- On Holidays pick the year, review the estimated dates, then Save Year's Holidays.
- If you have a branch in a free zone with different terms, press Clone Profile and edit the copy.
- Set the default profile in Settings (or tick Default on the General tab).
Settings
Path: Settings → Human Resources tab — /settings
Purpose: four keys that govern the whole module, on the general settings screen rather than a screen of their own.
| Field | Meaning |
|---|---|
| Default Country Profile | Inherited by every new employee unless overridden on the card; empty = the profile flagged as default on the profiles screen. |
| Reminder Days Before Document Expiry | How many days before expiry the reminder starts and the row turns amber. Default 30; 0 disables the reminder. |
| Probation Months | From which Probation Ends is suggested on a new employee. Default 3. |
| Pay Day | Between 1 and 28 so it exists in every month. Default 25. |
Daily reminders
Path: a background job — arrives in the notification bell.
Purpose: a job that runs once a day and notifies every user who holds HR.Employees.View of three things:
| Alert | When |
|---|---|
| Documents expiring | An employee document expiring within the reminder days, or expired and not renewed. |
| Contracts ending | A fixed-term contract approaching its end date. |
| Probation ending | An employee under probation whose probation end is approaching — so you decide to confirm or let go. |
Permissions and role templates
Path: Administration → Roles — see Administration
| Group | Actions |
|---|---|
HR.Employees | View, Create, Edit, Delete — View is also what brings the daily reminders. |
HR.Departments HR.JobTitles HR.PayGrades HR.WorkSchedules | View, Create, Edit, Delete. |
HR.CountryProfiles | View, Edit. |
HR.Settings | View, Edit. |
Two role templates are created for the company when the module is enabled:
| Template | What it grants |
|---|---|
| مسؤولو الموارد البشرية (HR officers) | Every permission in the module — employees and their documents, masters, country profiles and settings — plus viewing cost centres. |
| مشرفو الأقسام (department supervisors) | Read-only on employees, departments and job titles — for the line manager. |