Human Resources (HR) Module — User Guide

Human Resources (HR) Module — User Guide

Employees, organization, procedures, and portal.

ProductVertex ERP
ModuleHR (`modules/hr`)
AudienceHR administrators, managers with approval rights, and employees using the self-service portal
FormatHTML + Mermaid diagrams

1. Overview

The HR module is the people and employment core of Vertex ERP. It manages:

Area What it covers
Identity & employment Person (civil data) linked 1:1 to Employee (employment record)
Organization Departments, positions, job grades, assignments, managers
Lifecycle Hire/onboarding, status changes, offboarding/exit, checklists
Time off Leave types, entitlement/deduction rules, requests, approvals, holidays/weekends
Career Promotions, periodic promotions, grade changes, rewards, penalties
Development Training course catalog and employee enrollments
Records Relatives, contacts, qualifications, unions, documents/attachments
Communication Administrative circulars and in-app notifications
Self-service Employee portal (web) and portal mobile APK distribution
Insights HR dashboard and employee/attendance/payroll-related reports

HR does not own payroll calculation or raw attendance punches. Those live in the Payroll and Attendance modules; HR stores the employment facts those modules consume, and the employee portal embeds selected Attendance/Payroll screens.

flowchart LR subgraph HR["HR Module"] P[Person / Employee] O[Org & Assignments] L[Leaves & Holidays] C[Career Events] end REC[Recruitment] -->|Hire handoff| P HR --> ATT[Attendance] HR --> PAY[Payroll] P --> Portal[Employee Portal] ATT --> Portal PAY --> Portal

2. Getting started

2.1 Recommended setup order

Before day-to-day HR work, configure master data in this order:

  1. Lookups — nationalities, religions, marital statuses, employment types, leave types, penalty/reward types, institutions, exit reasons, unions, academic degrees, job grades, positions, department types, benefit plans, insurance companies, contact/relationship types.
  2. Departments — build the org tree.
  3. Holidays & weekend days — needed for accurate leave day counting.
  4. Leave entitlement / deduction rules — if leave balances or pay impact depend on rules.
  5. Checklist templates — onboarding and offboarding item lists.
  6. Training courses — if you will enroll employees in training.
  7. Employees — create or receive from Recruitment, then assign to departments/positions.
flowchart TD A[Configure Lookups] --> B[Build Departments] B --> C[Set Holidays & Weekends] C --> D[Leave Rules] D --> E[Checklist Templates] E --> F[Create / Import Employees] F --> G[Create Assignments] G --> H[Day-to-day HR operations]

2.2 Main navigation (admin)

Menu Purpose
Dashboard Counts and pending leaves snapshot
Employees List, create, open employee file
Assignments Org placements and transfers
Departments Department tree
Lookups Reference lists
Training Courses / Trainings Catalog vs enrollments
Official & Weekly Holidays Calendar exceptions
Leaves All leave requests
Leave entitlement / deduction rules Balance and deduction policy
Promotions / Periodic Promotions Manual and calculated career moves
Penalties / Rewards Disciplinary and recognition records
Circulars Publish admin announcements
Agenda Org-wide agenda view (admin)
Employee portal mobile app Upload APK versions
Employee Reports Operational and payroll-linked reports

2.3 Employee detail file

Opening an employee (/hr/employees/:id) shows tabs for the full HR file:

Tab Content
Info Personal + employment identity
Assignments Department / position history
Relatives Dependents / family
Insurance Benefit / health insurance enrollments
Qualifications Academic degrees
Trainings Course enrollments
Promotions Promotion history
Rewards / Penalties Awards and sanctions
Leaves / Leave balance Requests and remaining days
Attachments Documents
Unions Union membership
Contacts Phones, emails, etc.
Exits Exit (termination) records
Category changes Job grade changes

3. Reference data (lookups)

Lookups are shared lists used when creating employees and HR transactions. Maintain them under Lookups (and related dedicated screens).

3.1 Lists managed in Lookups

Lookup Used for
Marital statuses Person profile
Nationalities Person profile
Religions Person profile; religion-based leave rules
Department types Classifying departments
Positions Assignments (linked to job grade, managerial flag)
Employment types Contract / employment category on assignment
Leave types Leave requests and balances
Penalty types Penalties
Reward types Rewards
Contact types Contact channels
Relationship types Relatives
Institutions Qualifications
Insurance companies Benefit plan providers
Benefit plans Employee benefits / insurance
Exit reasons Employee exits
Unions Union membership
Academic degrees Qualifications
Job grades Grades, promotions, positions (min/max salary, max promotions, sort order)

3.2 Related configuration screens

Screen Notes
Departments Dedicated tree UI (not only a lookup tab)
Training courses Course catalog
Leave type entitlement rules How annual (or other) entitlement is calculated
Leave type deduction rules How leave affects pay percentage / deductions
Official & weekly holidays Public holidays + weekend days of week
Checklist templates Onboarding / offboarding task lists

Leave type highlights: max days per year/request/service, carry-over, paid/unpaid, requires approval, affects promotion, religion-based, once-in-service, per-event, and Affected by holidays (exclude weekends/official holidays from day count).


4. Organizational structure

4.1 Departments

  • Hierarchical (Parent → child).
  • Typed via Department type.
  • UI supports viewing the tree, adding unassigned employees, and seeing the derived department manager.

4.2 Positions and job grades

  • Position: name, code, optional job grade, description, managerial flag, active flag.
  • Job grade: code, name, salary band (min/max base), max promotions, sort order — used for career progression. An employee’s current grade is driven by grade-change / promotion history, not a single editable field alone.

4.3 Assignments

An assignment places an employee in a department with a position and employment type for a date range.

Field Meaning
Employee Who is placed
Department / Position Where and in what role
Employment type Employment category
Start / End date Open assignment has no end date
Is manager At most one open manager per department
Contract no. / date Optional contract metadata
Notes Free text

5. Employee master records

5.1 Person vs Employee

Record Role Typical data
Person Civil identity Name, father/mother name, gender, birth date/place, national number, marital status, nationality, religion, address; owns contacts
Employee Employment Employee number, social insurance number, hire date, employment status; owns assignments, leaves, career events, etc.

Relationship: one Person ↔ one Employee.

5.2 Employment status

Status Meaning
Active Working
Probation Probationary period
Suspended Temporarily suspended
Terminated Employment ended

Status changes are controlled by lifecycle rules (unless Override lifecycle permission is used). Changes are recorded in employee history.

5.3 Creating an employee

Required typically: personal identity fields, employee ID number, hire date; optional social insurance number and initial job grade.

On create, the system typically:

  1. Creates Person + Employee (default status Active).
  2. Optionally records an initial grade change.
  3. Creates a login (Identity) user.
  4. Starts the hire lifecycle → onboarding checklist (if templates exist).

Employees can also be created via Recruitment when a job offer is accepted (person, employee, assignment, qualifications, and documents transferred).

5.4 Soft delete and restore

Deleting an employee generally requires a confirmed exit (or lifecycle override). Soft-deleted persons/employees can be listed and restored according to application rules.


6. Assignments and transfers

6.1 Create assignment

  1. Open employee → Assignments, or use Assignments / Departments.
  2. Select department, position, employment type, start date.
  3. Optionally mark Is manager (validated: one open manager per department).
  4. Save.

6.2 Transfer

Transfer closes the current open assignment (end date = day before effective date) and opens a new one. Requires transfer/edit permission. History is written.

Alternatively, submit a change request of kind Transfer for approval (see §8).

flowchart TD A[Employee has open assignment] --> B{Transfer or new assignment?} B -->|New while open| C[Usually end/transfer first] B -->|Transfer| D[Set effective date + new dept/position] D --> E[Close current assignment] E --> F[Open new assignment] F --> G[Write employee history] D --> H{Is manager?} H -->|Yes| I[Validate no other open manager in dept] I --> F

7. Employee lifecycle (hire, status, exit)

7.1 Hire / onboarding

flowchart TD A[Create employee or accept Recruitment offer] --> B[Person + Employee created] B --> C[Optional: identity user + initial grade] C --> D[OnHired: spawn Onboarding checklist] D --> E[Create assignment] E --> F[Complete checklist items] F --> G[Employee ready for operations]

7.2 Status change

HR can change status directly (permission Change status) or via a Status change request. Allowed transitions follow lifecycle policy (e.g. Active ↔ Probation ↔ Suspended ↔ Terminated), with an override path for privileged users.

7.3 Exit (offboarding)

Employee exit statuses: Draft → Confirmed or Cancelled.

Typical fields: exit date, exit reason, decision number, last working day, notes, linked checklist.

flowchart TD A[Create exit - Draft] --> B[Spawn Offboarding checklist] B --> C[Mark required checklist items done] C --> D{Confirm exit?} D -->|Yes| E[Status = Terminated] E --> F[Checklist Completed] D -->|Cancel| G[Exit Cancelled] E --> H[Soft-delete employee only after confirmed exit or override]

Rules of thumb:

  • Confirming exit requires required checklist items completed (unless override).
  • Confirmed exit sets employment status to Terminated.
  • Soft-delete of the employee record is gated on a confirmed exit (or override).

7.4 Checklists

Kind When spawned
Onboarding On hire
Offboarding On draft exit

Statuses: Open → Completed / Cancelled. Items can be marked done; whole checklist can be completed when requirements are met.


8. Change requests

HR change requests provide an approval layer for sensitive moves.

Kind On approval
Transfer Executes assignment transfer from request payload
Promotion Creates promotion from payload
Status change Applies lifecycle status change

Request statuses: Pending → Approved / Rejected / Cancelled.

flowchart LR R[Requester creates request] --> P[Pending] P --> A[Approver reviews] A -->|Approve| X[Execute Transfer / Promotion / Status] A -->|Reject| Y[Rejected + notes] P -->|Cancel| Z[Cancelled]

Permissions: create, view, approve under HR Change Requests.


9. Leaves, balances, and holidays

9.1 Concepts

Concept Role
Leave type Policy for a category of leave
Entitlement rules How many days the employee is entitled to (admin, fixed, seniority, age, religion, per-event, proportional, …)
Deduction rules How leave affects pay (fixed, by days, by seniority, combined)
Leave request Dated request with day count, status, optional detail (e.g. maternity, marriage)
Leave balance Entitlement minus approved leaves in the relevant period
Weekend days / official holidays Used when the leave type is “affected by holidays”

9.2 Leave request statuses

Pending → Approved / Rejected / Cancelled.

9.3 Request and approval flow

flowchart TD A[Select leave type + start/end] --> B[System calculates days] B --> C{Exclude holidays?} C -->|Yes| D[Subtract weekends + official holidays] C -->|No| E[Use calendar span] D --> F[Overlap & policy checks] E --> F F --> G{Who creates?} G -->|Employee self-service| H[Status = Pending] G -->|HR and no approval required| I[May be Approved immediately] H --> J[Notification: leave requested] J --> K{Approver} K -->|Approve| L[Counts toward balance] K -->|Reject| M[Rejected + reason] H --> N{Cancel} N -->|Employee: own Pending only| O[Cancelled] N -->|HR: Pending or Approved| O

9.4 Holidays screen

  • Weekend days: which weekdays are non-working (e.g. Friday/Saturday).
  • Official holidays: name, date range, type (official / religious / national / other), optional yearly recurrence.

10. Career events (promotions, grades, rewards, penalties)

10.1 Manual promotions

Record from-grade → to-grade with effective date, decision number/date, notes. Written to history. Permission group: Promotions.

10.2 Periodic promotions

Automated eligibility calculation for periodic grade progression:

  • Target working-day threshold and percentage rules are applied in the module (e.g. required working days and a base percentage scaled by effective days).
  • Unpaid leave beyond a configured threshold can reduce effective days.
  • If a grade’s max promotions is exceeded, the engine may propose the next grade by sort order.
  • Apply creates real Promotion records and typically requires an active Payroll salary.
flowchart TD A[Open Periodic Promotions] --> B[Calculate for employee or batch] B --> C[Estimate effective working days] C --> D{Eligible?} D -->|No| E[Show not eligible / zero %] D -->|Yes| F[Propose grade + percentage] F --> G[HR reviews preview] G --> H[Apply selected calculations] H --> I[Create Promotion records]

10.3 Grade (category) changes

Direct grade assignment with decision metadata — visible on the employee Category changes tab. Distinct from a full promotion workflow when you need to set grade without the promotion path.

10.4 Penalties

Penalty type, decision date/number, effective month, amount, reason, issuer, execution flag (IsExecuted). Feeds disciplinary history and can interact with payroll reporting.

10.5 Rewards

Same shape as penalties, with disbursement flag (IsDisbursed) instead of execution.


11. Benefits and insurance

  • Benefit plans (lookup): code, name, type (Health insurance / Other), link to insurance company.
  • Employee benefits: plan, policy number, start/end, notes — managed on the employee Insurance tab.

Permissions appear under Health Insurances for view/create/edit/delete of enrollments.


12. Training

Concept Meaning
Training course Catalog entry: name, provider, description, paid flag, cost, location, active
Training Enrollment of an employee on a course: registration/completion dates, session window, status, certificate number, notes

Manage courses under Training Courses; enrollments under Trainings or the employee Trainings tab.


13. Supporting employee data

13.1 Contacts

Belong to the Person: value + contact type + default flag.

13.2 Relatives

Belong to the Employee: full name, relationship type, family allowance flag, phone, notes (lightweight — no separate Person record).

13.3 Qualifications

Academic degree + specialization + institution + graduation date + note.

13.4 Unions

Union, card number, join date, active flag.

13.5 Documents / attachments

Polymorphic files attached to employees and related HR objects (relative, training, qualification, assignment, promotion, penalty, reward, leave, benefit, circular, etc.). Support document type, metadata, expiry, and storage kind.

Employees with portal rights can manage their own attachments within permission limits.

13.6 Employee history

Audit timeline of meaningful changes (assignment, grade, promotion, status, exit, …) used by the Employee history report.


14. Circulars and notifications

14.1 Circulars

Administrative announcements with:

  • Title and body
  • Audience: All employees, Employee group (e.g. Payroll groups), or Selected employees
  • Draft vs Published
  • Optional document attachments
flowchart TD A[Create circular] --> B[Set audience] B --> C[Optional attachments] C --> D[Publish] D --> E[Resolve recipients] E --> F[Create InternalNotification per employee] F --> G[Optional push to mobile] G --> H[Employees read in portal Circulars]

Admin path: Circulars (HR.Circulars.Manage). Employees read under portal Circulars.

14.2 Internal notifications

Per-employee inbox: title, message, type, optional deep link, read/unread. Used for leave events, circulars, and similar. Portal includes a notifications page and bell.


15. Employee portal and mobile app

15.1 Portal purpose

Self-service area for the signed-in employee (/hr/employee/..., also My profile), gated by View own employee profile and related own-* permissions.

15.2 Typical portal capabilities

Area Ability
Dashboard Personal overview
Profile tabs Info, assignments, relatives, insurance, qualifications, trainings, promotions, rewards, penalties, leaves, leave balance, attachments (mostly read-only except where permitted)
Leaves Request leave; view own; cancel own pending
Agenda Personal appointments / tasks / notes with reminders
Circulars Read published circulars
Notifications Inbox
Attendance (embedded) Attendance records, work schedules
Payroll (embedded) Advances, additional deductions (as permitted)
Account Account-related actions / logout

15.3 Personal agenda

Entries: title, notes, start/end, type (appointment / task / note), completed flag, all-day, reminder. Own create/edit/delete/view permissions.

15.4 Mobile APK administration

Employee portal mobile app screen: upload and update the portal Android APK for employees to download. Requires MobileApp.Manage.


16. Dashboard and reports

16.1 HR dashboard

Snapshot metrics such as: total employees, assignments, departments, positions, employment types, active assignments, pending leaves, total leaves, last updated time.

16.2 Reports

Report Contents
Active employees Active staff identity and employment/salary-related snapshot fields
Monthly attendance Present days, work/OT hours, late/absent days per employee-month
Monthly payslips Period payslip summary (gross, compensations, grants, deductions, net, executed)
Employee history Chronological HR events with from→to and decisions
Employee current status Current status, grade, position, department, specialization, last change
Leaves Leave rows with type, days, promotion-impact and applied rule/%
Payslip full details Full payslip breakdown including rewards/penalties and execution meta

Access each report via its own permission under HR.Reports.*.


17. Permissions summary

Permissions are ABP policies under the HR group. High-level split:

17.1 HR administrator (typical)

Full CRUD (as granted) on employees, assignments, lookups, promotions, penalties, rewards, qualifications, relatives, health insurances, trainings, holidays, leaves (including Approve), attachments, change requests, checklists, circulars, mobile app, and reports — plus Change status, Transfer, and optionally Override lifecycle.

17.2 Employee (portal role)

Allowed (typical seed) Not allowed (unless extra grants)
View own profile Manage org lookups / departments
Request / view / delete own pending leave Approve others’ leaves
Own attachments (create/view) Publish circulars
Own agenda CRUD Confirm exits / run periodic promotions
View holidays, assignments, quals, relatives, insurance (as granted) Soft-delete other employees
Embedded attendance / advance permissions as configured Full reports suite

Always align role grants in Administration → Roles with the least privilege needed.


18. Integration with other modules

Module How HR connects
Recruitment Accepted offer creates Person/Employee/Assignment/Qualifications and moves candidate documents; triggers hire/onboarding
Payroll Grades, promotions, penalties, rewards, benefits inform pay; periodic promotion apply needs active salary; circular audience can use employee groups; portal embeds advances/deductions; payslip reports
Attendance Leave day calculation uses HR weekends/holidays; portal embeds attendance/schedules; monthly attendance report
flowchart TB subgraph Upstream R[Recruitment] end subgraph Core HR[HR] end subgraph Downstream A[Attendance] P[Payroll] end R -->|Hire| HR HR -->|Org, leave calendar, status| A HR -->|Grade, events, benefits| P A -->|Attendance report / portal| HR P -->|Payslip reports / portal| HR

Appendix A — Quick reference: end-to-end procedures

A.1 Hire and place an employee

  1. Ensure lookups and departments exist.
  2. Employees → Create (or hire from Recruitment).
  3. Complete onboarding checklist items.
  4. Assignments → Create (department, position, employment type, start date).
  5. Add contacts, qualifications, documents as needed.

A.2 Process a leave

  1. Employee requests leave in portal (or HR creates).
  2. Approver opens Leaves, approves or rejects.
  3. Only Approved leaves consume balance.
  4. Use Leaves report for period analysis.

A.3 Exit an employee

  1. Employee file → Exits → Create (Draft).
  2. Complete offboarding checklist.
  3. Confirm exit → status Terminated.
  4. Soft-delete only when policy allows (confirmed exit / override).

A.4 Run periodic promotions

  1. Open Periodic Promotions.
  2. Calculate for one employee or batch.
  3. Review eligibility, proposed grade, percentage.
  4. Apply when Payroll salary is active.
  5. Verify Promotions / employee history.

A.5 Publish a circular

  1. Circulars → Create title, body, audience.
  2. Attach files if needed.
  3. Publish → notifications delivered.
  4. Employees read under portal Circulars.

Appendix B — Document control

Item Value
Title HR Module User Guide
Source of truth Application code under modules/hr and frontend/src/app/modules/hr
Format Markdown + Mermaid
Screenshots Not included (by design)

This guide describes functional capabilities of the HR module as implemented in the Vertex ERP codebase. UI labels may appear in English or Arabic depending on the user’s language setting.