Skip to content

Employee Management

The Employee Management module is the core of GeniusHRM. It provides a centralised repository for all employee records, covering personal information, employment details, documents, and a full history of changes. Every other module — payroll, attendance, leave, performance — links back to this module.


Overview

The employee list is accessible at HR Panel → Employees or /employees. It displays all active employees with key details at a glance: employee ID, name, department, position, and employment status.


Employee ID Format

Every new employee is automatically assigned a unique, sequential employee ID in the format:

EMP-001
EMP-002
EMP-003
...
EMP-999
EMP-1000

The prefix EMP- is configurable in Settings → General → Employee ID Prefix. The numeric part is auto-incremented and cannot be manually set to a value already in use.

Custom Prefixes

You can use department-specific prefixes by adjusting the prefix before creating employees for each batch. For example, DEV- for Development team employees.


Employment Status Types

Each employee record carries an employment status:

StatusDescription
ActiveCurrently employed and working
On LeaveTemporarily away (e.g., maternity leave, extended sick leave)
SuspendedEmployment temporarily suspended pending investigation
TerminatedEmployment has ended
ProbationRecently hired and within the probationary period
ContractOn a fixed-term contract

Statuses affect what the employee can access in self-service, whether they appear in payroll runs, and how they are counted in headcount reports.


Adding a New Employee

Step 1: Open the Add Employee Form

Click Add Employee (top right of the Employees list).

Step 2: Fill in Personal Information

FieldRequiredDescription
First NameYesLegal first name
Last NameYesLegal last name
EmailYesMust be unique; used for login if linked to a user account
PhoneNoMobile or office phone
Date of BirthNoUsed for age calculations
GenderNoMale / Female / Other / Prefer Not to Say
National IDNoGovernment-issued ID number
AddressNoHome address (street, city, state, country, postal code)
Emergency ContactNoName and phone number of next of kin
Profile PhotoNoPortrait photo (JPG/PNG, max 2 MB)

Step 3: Employment Details

FieldRequiredDescription
DepartmentYesSelect from existing departments
PositionYesFiltered by selected department
Reporting ManagerNoDirect supervisor (another employee)
Hire DateYesOfficial first working day
Employment TypeYesFull-time / Part-time / Contract / Intern
Probation End DateNoDate probation period concludes
Contract End DateNoFor fixed-term employees
Work LocationNoOffice / Remote / Hybrid
Employee IDAutoGenerated automatically; can be overridden

Step 4: Save

Click Save Employee. The system:

  1. Creates the employee record
  2. Assigns the next available Employee ID
  3. Records the creation in the Employment History log
  4. Records the event in the Audit Log
  5. Optionally creates a linked User account if email is provided

Employee Profile

Each employee has a detailed profile page at /employees/{id}. The profile is organised into tabs:

Overview Tab

Displays all basic information:

  • Personal details (name, DOB, gender, contact)
  • Employment details (department, position, type, dates)
  • Profile photo
  • Current employment status badge
  • Reporting manager link

Documents Tab

Lists all files attached to this employee:

ColumnDescription
Document NameFilename or given label
CategoryContract, ID Proof, Certificate, Other
Uploaded AtDate of upload
Uploaded ByUser who uploaded the file
ActionsDownload / Delete

To add a document:

  1. Click Upload Document
  2. Select the file (PDF, JPG, PNG, DOCX — max 10 MB)
  3. Choose a category
  4. Enter an optional document label
  5. Click Upload

History Tab

A chronological log of every change made to this employee's record:

FieldDescription
DateWhen the change was made
Changed ByThe user who made the change
FieldWhich field was changed
Old ValuePrevious value
New ValueNew value

This log is auto-generated by the system and cannot be manually edited.


Search and Filter Options

The employee list supports the following search and filter controls:

FilterTypeDescription
SearchTextName, email, or employee ID
DepartmentDropdownFilter by department
PositionDropdownFilter by position
StatusDropdownActive, On Leave, Suspended, Terminated, etc.
Employment TypeDropdownFull-time, Part-time, Contract, Intern
Hire Date RangeDate rangeFilter by when employees were hired
GenderDropdownMale, Female, Other

Multiple filters can be active simultaneously. Reset all filters with the Clear button.


Editing an Employee

  1. Click an employee's name in the list (or the Edit icon)
  2. Modify the desired fields
  3. Click Update Employee

All changes are:

  • Logged in the employee's History tab
  • Recorded in the system Audit Log

Soft Delete Behaviour

Employees are never permanently deleted from the database. Instead, "deleting" an employee marks them as soft-deleted:

  • They disappear from all active employee lists
  • They are excluded from payroll runs
  • All their historical records (attendance, payslips, leave) remain intact
  • They can be restored by an Admin via the Archived Employees section

To archive an employee:

  1. Open their profile
  2. Click More Actions → Archive Employee
  3. Select a Termination Date and reason
  4. Confirm

To restore a soft-deleted employee:

  1. Go to Employees → Archived
  2. Click Restore next to their name

Employment History Auto-Tracking

The system automatically creates employment history entries for:

  • Initial hire
  • Promotions (position change)
  • Department transfers
  • Status changes (e.g., Active → Suspended)
  • Salary changes (recorded from Payroll module)
  • Contract renewals

Each entry records the previous and new values, the date, and the user who made the change.


Bulk Import

To import multiple employees at once:

  1. Go to Employees → Import
  2. Download the CSV Template
  3. Fill in employee data following the template format
  4. Upload the completed CSV
  5. Review the import preview (validation errors are highlighted)
  6. Click Confirm Import

WARNING

The import function does not overwrite existing employees. Each row creates a new record. Duplicate email addresses are rejected.


Exporting Employee Data

Click Export on the Employees list to download all currently filtered employees as a CSV file. The export includes all visible columns plus additional fields not shown in the table view.

Released under the MIT License.