Skip to content

Roles & Permissions ​

GeniusHRM uses a role-based access control (RBAC) system. Every user is assigned one role, and each role has a set of permissions that determine which areas and actions they can access.


Built-in Roles ​

Six roles ship with GeniusHRM out of the box. They cannot be deleted, but their permissions can be customised.

RolePrimary Purpose
AdminFull system access — no restrictions
HR ManagerManages all HR operations
ManagerDepartment-level oversight
EmployeeSelf-service access to own data
RecruiterManages recruitment pipeline
FinancePayroll and compensation management

Role Permissions Matrix ​

Admin ​

ModuleViewCreateEditDelete
Employees✅✅✅✅
Organization✅✅✅✅
Attendance✅✅✅✅
Leave✅✅✅✅
Payroll✅✅✅✅
Recruitment✅✅✅✅
Performance✅✅✅✅
Training✅✅✅✅
Documents✅✅✅✅
Reports✅———
Settings✅✅✅✅
Users✅✅✅✅

HR Manager ​

ModuleViewCreateEditDelete
Employees✅✅✅❌
Organization✅✅✅❌
Attendance✅✅✅❌
Leave✅✅✅ (approve/reject)❌
Payroll✅❌❌❌
Recruitment✅✅✅❌
Performance✅✅✅❌
Training✅✅✅❌
Documents✅✅✅❌
Reports✅———
Settings❌❌❌❌
Users❌❌❌❌

Manager ​

ModuleViewCreateEditDelete
Employees (dept)✅❌❌❌
Attendance (dept)✅❌❌❌
Leave (direct reports)✅❌✅ (approve/reject)❌
Performance (direct reports)✅❌✅ (scoring)❌
Reports (dept)✅———

Employee ​

ModuleViewCreateEditDelete
Own Profile✅❌✅ (limited)❌
Own Attendance✅❌❌❌
Leave Requests✅ (own)✅❌❌
Own Payslips✅❌❌❌
Own Performance✅❌✅ (self-assessment)❌
Training (enroll)✅✅ (enroll self)❌❌
Own Documents✅❌❌❌

Recruiter ​

ModuleViewCreateEditDelete
Recruitment✅✅✅✅
Employees✅ (view only)❌❌❌

Finance ​

ModuleViewCreateEditDelete
Payroll✅✅✅❌
Employees✅ (view only)❌❌❌
Reports (payroll)✅———

Creating a Custom Role ​

In addition to the six built-in roles, administrators can create custom roles with precisely controlled permissions.

  1. Navigate to Admin Panel → Roles
  2. Click Add Role
  3. Enter a Role Name (e.g., Payroll Analyst)
  4. In the permissions matrix, toggle individual permissions:
    • Each module row has columns: View, Create, Edit, Delete
    • Check only the permissions this role should have
  5. Click Save Role
  6. Assign the new role to users via Users → Edit User → Role

Available Permissions per Module ​

Each module exposes granular permissions:

Permission KeyDescription
employees.viewView employee list and profiles
employees.createAdd new employees
employees.editEdit employee data
employees.deleteSoft-delete employees
payroll.runStart a payroll cycle
payroll.approveApprove and finalise payroll
leave.approveApprove or reject leave requests
performance.finaliseFinalise appraisal ratings
settings.accessAccess system settings panel
audit-log.viewView the audit log
...More per module

Permission Inheritance ​

Permissions are not inherited between roles. Each role's permission set is independent. If you need a role that covers multiple job functions, create a custom role and select all required permissions explicitly.


Checking Your Own Permissions ​

Any logged-in user can see what permissions they have by going to Profile → My Permissions. This is a read-only view showing which modules and actions are available to their role.


Changing a User's Role ​

  1. Go to Admin Panel → Users
  2. Click Edit on the target user
  3. Change the Role dropdown to the desired role
  4. Click Update User

The new permissions take effect immediately. Active sessions are updated on the next page load.

WARNING

Downgrading a user's role (e.g., from Admin to Employee) takes effect immediately. If the user is currently logged in, they will lose access to restricted areas on their next navigation.

Released under the MIT License.