Employee Portal
The Employee Portal is a self-service interface built into the HRM module that gives employees direct access to their own HR data. When an employee logs in, they see a streamlined version of Concord CRM โ with navigation, fields, and actions tailored specifically to their role.
Administrators and employees use the same application, but the portal automatically adjusts the experience based on the logged-in user's role.
How It Worksโ
The Employee Portal is powered by three mechanisms working together:
1. Menu Filteringโ
When a user with the Employee role logs in, the sidebar navigation is replaced with a simplified menu showing only the pages they're allowed to access. All administrative menus (Payroll Runs, Payroll Components, Salary Structures, Leave Types, Departments, Settings) are hidden.
2. Data Scopingโ
A global query scope automatically filters all HR data so employees only see records that belong to them. An employee viewing the Leave Requests page will only see their own requests โ no configuration or manual filtering required.
3. Field & Action Visibilityโ
Sensitive fields (salary, work status, employee code) and administrative actions (approve, reject) are hidden from employee users. Employees see only the fields relevant to their self-service tasks.
Default Portal Menuโ
When an employee logs in, they see the following navigation:
| Menu Item | Icon | Description |
|---|---|---|
| Timesheets | Clock | Create and manage weekly timesheets, log time entries |
| Leave Requests | Calendar | Submit and track leave requests |
| Attendance | Clipboard | View and log daily attendance |
| Leave Balances | Scale | View leave entitlements and usage per leave type |
| Payslips | Document | View and download payslip documents |
The default landing page after login is Timesheets. This can be changed in the configuration.
What Employees Can Doโ
| Action | Resource | Details |
|---|---|---|
| View own records | All | Employees see only data linked to their employee record |
| Create leave requests | Leave Requests | Submit new leave requests for approval |
| Cancel leave requests | Leave Requests | Cancel own pending or approved requests |
| Create timesheets | Timesheets | Create weekly timesheets |
| Log time entries | Timesheets | Add time entries to their timesheets |
| Submit timesheets | Timesheets | Submit draft timesheets for approval |
| Log attendance | Attendance | Record daily check-in and check-out |
| View leave balances | Leave Balances | Check available, used, and pending leave days |
| View payslips | Payslips | View payslip details in browser |
| Download payslips | Payslips | Download payslip as PDF |
| Edit own profile | Employees | Update basic profile info (name, phone, address) |
What Employees Cannot Doโ
- View other employees' data
- Access administrative settings
- Approve or reject leave requests or timesheets
- Create or modify leave balances, salary structures, or payroll data
- See salary, work status, or employee code fields
- Access Payroll Runs, Payroll Components, Leave Types, or Departments pages
- Export data (unless explicitly granted the export permission)
Enabling the Portalโ
The Employee Portal is enabled by default when the HRM module is activated. No additional setup is required โ creating an employee automatically provisions a user account with portal access.
To verify the portal is active, check the configuration:
// modules/HRM/config/employee-portal.php
'enabled' => env('EMPLOYEE_PORTAL_ENABLED', true),
To disable the portal entirely, set the environment variable:
EMPLOYEE_PORTAL_ENABLED=false
When disabled, the menu filtering and data scoping are turned off. Employee role users will still have restricted permissions, but the portal-specific UI adjustments will not apply.