πEmployee Management
The Employee Management section is the foundation of the HRM module. It provides a centralized system for creating and maintaining employee records, organizing staff into departments, and linking employees to CRM user accounts for portal access.
Key Concepts
Employee Record: A profile containing personal details, department, designation, joining date, work status, and salary information.
Employee Code: A unique identifier auto-generated for each employee (e.g.,
2026-001).Department: An organizational unit that employees belong to (e.g., Engineering, Sales).
User Linking: Each employee can be linked to a Concord CRM user account, granting them access to the Employee Portal.
Work Status: Tracks whether an employee is Active, On Leave, Resigned, or Terminated.
Navigation
Sidebar: Click Employees (keyboard shortcut:
E) to access the employee list.Quick Create: Employees can also be created from the quick-create menu in the top navigation bar.
Table Views
The employee list comes with three pre-configured views:
All Employees
Shows every employee record
Active Employees
Filtered to show only employees with Active work status
Employees on Leave
Filtered to show only employees currently on leave
Available Filters
You can further narrow down the employee list using these filters:
First Name, Last Name, Email, Designation (text search)
Work Status (Active, On Leave, Resigned, Terminated)
Joining Date (date range)
Salary (numeric range)
Employee Detail View
Clicking on an employee opens a detail view with tabs for all related HR data:
Leave Requests β Recent leave requests submitted by the employee
Timesheets β Weekly timesheets and time entries
Leave Balances β Leave entitlements and usage per leave type
Attendance β Daily attendance records
Salary Structures β Salary breakdown and payroll components
Payroll Entries β Payroll run results for the employee
Payslips β Generated payslip documents
From the detail view, you can also directly create leave requests, timesheets, leave balances, and attendance records for the employee using the available actions.
Creating Employees
How to Create an Employee
Navigate to Employees from the sidebar (or press
E).Click the Create button in the top-right corner.
Fill in the required fields (see below).
Click Save.
Alternatively, use the Quick Create option from the top navigation bar to create an employee from anywhere in the CRM.
Required Fields
First Name
Employee's first name
Last Name
Employee's last name
Must be unique across all employees. Also used as the login email if a user account is created.
Department
Select from your configured departments. Departments can be managed in Settings > HRM Configuration > Departments.
Designation
The employee's job title (e.g., Software Engineer, HR Manager)
Joining Date
The date the employee joined the organization
Optional Fields
Phone
Contact phone number
Address
Residential or mailing address
Work Status
Defaults to Active. Other options: On Leave, Resigned, Terminated. Only visible to administrators.
Salary
Base salary amount. Only visible to administrators, hidden from employee portal users.
What Happens After Creation
When you save a new employee, the following happens automatically:
Employee Code is generated β A unique code is assigned based on your configured format (e.g.,
2026-001for year-increment format, or001for simple increment). You do not need to enter this manually.User account is created (if auto-creation is enabled) β A CRM user account is automatically created using the employee's name and email. A strong password is generated and the employee receives their login credentials via email. See Auto User Account Creation for details.
Employee role is assigned β The newly created user account is assigned the "Employee" role, which grants access to the Employee Portal with appropriate permissions.
Note: The Employee Code field is read-only and does not appear on the create or edit forms. It is auto-generated and visible in the employee list and detail view.
Importing Employees
You can bulk-import employees from a CSV file using the import feature:
Navigate to Employees.
Click the Import button.
Upload your CSV file with the following columns:
first_name,last_name,email,designation,joining_date, and optionallyemployee_code,phone,address,salary.Map the CSV columns to the corresponding employee fields.
Click Import.
Tip: If
employee_codeis not provided in the CSV, it will be auto-generated for each imported employee.
Creating from Employee Detail View
From an existing employee's detail view, you can create related records directly using actions:
Create Leave Request β Opens a form pre-filled with the employee
Create Timesheet β Opens a timesheet form for the employee
Create Leave Balance β Allocate leave entitlement for the employee
Create Attendance β Log an attendance record for the employee
These actions are permission-controlled and only visible if you have the corresponding create permission.
Employee Profiles & Fields
Each employee record contains a set of profile fields that capture personal, organizational, and employment information. Some fields are restricted based on the user's role β employees accessing their own profile through the portal see a simplified view.
Work Status Badges
The work status field is displayed as a color-coded badge in the employee table:
Active
Green
Currently employed and working
On Leave
Yellow
Temporarily away (long-term leave)
Resigned
Gray
Has submitted resignation
Terminated
Red
Employment has been terminated
Employee Detail View
The employee detail page provides a comprehensive view of the employee's profile along with tabbed sections for all related HR data:
Profile Panel
Displays all profile fields in a resizable panel. Includes an attachments section for uploading documents (contracts, ID copies, certificates, etc.) via the media panel.
Related Data Tabs
Leave Requests
Leave requests with type, dates, status
Latest 15
Timesheets
Weekly timesheets with hours and status
Latest 15
Leave Balances
Leave entitlements by type and year
Latest 15
Attendance
Daily check-in/check-out records
Latest 15
Salary Structures
Salary breakdowns with components
Latest 15
Payroll Entries
Payroll run results (gross, net, deductions)
Latest 15
Payslips
Generated payslip documents
Latest 15
Summary Counts
The detail view also displays record counts for quick reference:
Total leave requests and pending leave requests
Total timesheets, leave balances, attendance records
Total salary structures, payroll entries, payslips
Editing an Employee
Click on an employee in the table to open the detail view.
Click the Edit action (pencil icon) or use the float edit modal.
Modify the desired fields.
Click Save.
Note: The Employee Code, and the fields that were marked required on creation (email uniqueness is re-validated on update excluding the current record).
Deleting an Employee
Employees support soft deletes β deleted records are moved to trash and can be restored.
Select one or more employees in the table.
Click the Delete action.
Confirm the deletion.
Important: When an employee is permanently deleted (force delete), the linked CRM user account is also deleted automatically. Soft-deleted employees retain their user account.
Employee Role Assignment
For the portal to work correctly, the linked user must have the Employee role assigned. This role:
Restricts sidebar navigation to allowed menu items only (Timesheets, Leave Requests, Attendance, Leave Balances, Payslips).
Hides sensitive fields like salary, work status, and employee code.
Limits CRUD permissions to the employee's own records.
Sets the default landing page (configurable, defaults to
/timesheets).
The role name is configurable via config('hrm.employee-portal.employee_role_name') and defaults to "Employee".
Important: Users without the Employee role who have access to HRM resources will see the full administrative view β all employees, all records, all fields. The Employee role is what triggers the portal experience.
Auto User Account Creation
When a new employee is created, the HRM module can automatically create a corresponding CRM user account and send login credentials via email. This is enabled by default and is the recommended way to onboard employees into the portal.
How It Works
The auto-creation process triggers immediately after an employee record is saved. Here is the step-by-step flow:
Check if auto-creation is enabled The system reads the
auto_create_userconfig value. If set tofalse, the process stops here.Check if a user is already linked If the employee record already has a
user_idset (manual linking), the process is skipped.Generate a strong password A 16-character password is generated containing at least one uppercase letter, one lowercase letter, one number, and one special character.
Create the CRM user account A new user is created with the following data:
User FieldValueName
Employee's full name
Email
Employee's email address
Password
Generated strong password (hashed)
Timezone
Inherited from the admin creating the employee, or system default
Date Format
Inherited from admin, or
F j, YTime Format
Inherited from admin, or
H:iDefault Landing Page
From config (default:
/timesheets)Link the user to the employee The newly created user's ID is saved to the employee's
user_idfield.Assign the Employee role The user is assigned the configured Employee role (default:
"Employee"), which grants portal permissions.Send credentials via email An
EmployeeCredentialsNotificationis queued and sent to the new user's email address.
Credential Email
The employee receives an email with the following information:
A welcome message
Their login email
Their generated password
A link to the login page
A reminder to change their password on first login
This email uses a customizable mailable template. You can modify the email content from Settings > Email Accounts > Templates by editing the Employee Credentials template.
Available Template Placeholders
{{ full_name }}
Employee's full name
{{ email }}
Employee's email address
{{ password }}
The generated password
{{ login_url }}
URL to the login page
All standard employee field placeholders are also available in the template.
Last updated