Skip to main content

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.
  • 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:

ViewDescription
All EmployeesShows every employee record
Active EmployeesFiltered to show only employees with Active work status
Employees on LeaveFiltered 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:

  1. Leave Requests โ€” Recent leave requests submitted by the employee
  2. Timesheets โ€” Weekly timesheets and time entries
  3. Leave Balances โ€” Leave entitlements and usage per leave type
  4. Attendance โ€” Daily attendance records
  5. Salary Structures โ€” Salary breakdown and payroll components
  6. Payroll Entries โ€” Payroll run results for the employee
  7. 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โ€‹

  1. Navigate to Employees from the sidebar (or press E).
  2. Click the Create button in the top-right corner.
  3. Fill in the required fields (see below).
  4. Click Save.

Alternatively, use the Quick Create option from the top navigation bar to create an employee from anywhere in the CRM.

Required Fieldsโ€‹

FieldDescription
First NameEmployee's first name
Last NameEmployee's last name
EmailMust be unique across all employees. Also used as the login email if a user account is created.
DepartmentSelect from your configured departments. Departments can be managed in Settings > HRM Configuration > Departments.
DesignationThe employee's job title (e.g., Software Engineer, HR Manager)
Joining DateThe date the employee joined the organization

Optional Fieldsโ€‹

FieldDescription
PhoneContact phone number
AddressResidential or mailing address
Work StatusDefaults to Active. Other options: On Leave, Resigned, Terminated. Only visible to administrators.
SalaryBase 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:

  1. Employee Code is generated โ€” A unique code is assigned based on your configured format (e.g., 2026-001 for year-increment format, or 001 for simple increment). You do not need to enter this manually.
  2. 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.
  3. 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:

  1. Navigate to Employees.
  2. Click the Import button.
  3. Upload your CSV file with the following columns: first_name, last_name, email, designation, joining_date, and optionally employee_code, phone, address, salary.
  4. Map the CSV columns to the corresponding employee fields.
  5. Click Import.
tip

If employee_code is 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:

StatusBadge ColorDescription
ActiveGreenCurrently employed and working
On LeaveYellowTemporarily away (long-term leave)
ResignedGrayHas submitted resignation
TerminatedRedEmployment 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.

TabContentLimit
Leave RequestsLeave requests with type, dates, statusLatest 15
TimesheetsWeekly timesheets with hours and statusLatest 15
Leave BalancesLeave entitlements by type and yearLatest 15
AttendanceDaily check-in/check-out recordsLatest 15
Salary StructuresSalary breakdowns with componentsLatest 15
Payroll EntriesPayroll run results (gross, net, deductions)Latest 15
PayslipsGenerated payslip documentsLatest 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โ€‹

  1. Click on an employee in the table to open the detail view.
  2. Click the Edit action (pencil icon) or use the float edit modal.
  3. Modify the desired fields.
  4. 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.

  1. Select one or more employees in the table.
  2. Click the Delete action.
  3. Confirm the deletion.
danger

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".

warning

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:

  1. Check if auto-creation is enabled The system reads the auto_create_user config value. If set to false, the process stops here.

  2. Check if a user is already linked If the employee record already has a user_id set (manual linking), the process is skipped.

  3. 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.

  4. Create the CRM user account A new user is created with the following data:

    User FieldValue
    NameEmployee's full name
    EmailEmployee's email address
    PasswordGenerated strong password (hashed)
    TimezoneInherited from the admin creating the employee, or system default
    Date FormatInherited from admin, or F j, Y
    Time FormatInherited from admin, or H:i
    Default Landing PageFrom config (default: /timesheets)
  5. Link the user to the employee The newly created user's ID is saved to the employee's user_id field.

  6. Assign the Employee role The user is assigned the configured Employee role (default: "Employee"), which grants portal permissions.

  7. Send credentials via email An EmployeeCredentialsNotification is 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โ€‹

PlaceholderDescription
{{ 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.