πŸ™‡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:

View
Description

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:

  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

Field
Description

First Name

Employee's first name

Last Name

Employee's last name

Email

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

Field
Description

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:

  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:

Status
Badge Color
Description

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.

Tab
Content
Limit

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

  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.

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:

  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 Field
    Value

    Name

    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, Y

    Time Format

    Inherited from admin, or H:i

    Default Landing Page

    From 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

Placeholder
Description

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