Skip to main content

Initial Configuration

After activating the HRM module, a few configuration steps are recommended before you start managing employees and running payroll. All settings are accessible from Settings > HRM Configuration in the sidebar.


General Settingsโ€‹

Navigate to Settings > HRM Configuration > General to configure foundational options.

Fiscal Year Start Monthโ€‹

Defines when your organization's fiscal year begins. This affects leave carryover processing and payroll period calculations.

  • Default: January
  • Options: Any month (Januaryโ€“December)

Example: If your fiscal year runs April to March, set this to April. Leave carryover will be processed on April 1st each year.

Employee Code Formatโ€‹

Controls how employee codes are auto-generated when creating new employees.

FormatExampleDescription
year_increment2026-001, 2026-002Prefixed with the current year, resets each year
increment001, 002, 003Simple sequential numbering

Attendance Settingsโ€‹

Navigate to Settings > HRM Configuration > Attendance.

Working Hoursโ€‹

SettingDefaultDescription
Standard Hours Per Day8Used for overtime calculations and payroll pro-rating
Work Start Time09:00Expected check-in time
Work End Time17:00Expected check-out time

Week-Off Daysโ€‹

Select which days of the week are non-working days.

  • Default: Saturday, Sunday
  • Used in payroll calculations (working days count) and automatic weekend attendance marking

Leave Management Settingsโ€‹

Navigate to Settings > HRM Configuration > Leave Management.

Approval Workflowโ€‹

ModeBehavior
Single Level (default)One approver reviews and approves/rejects the request
Multi LevelRequest passes through multiple approval stages
Auto ApproveRequests are automatically approved upon submission

Auto-Approve Leave Typesโ€‹

Select specific leave types that should bypass the approval workflow entirely. Useful for types like Work From Home or Compensatory Off where approval isn't required.

Leave Carryoverโ€‹

SettingDefaultDescription
Carryover EnabledYesWhether unused leave days carry forward to the next fiscal year
Max Carryover Days10Maximum number of days that can be carried forward
Carryover Expiry (months)3Carried-forward days expire after this many months into the new fiscal year

Leave carryover is processed automatically on the first day of your fiscal year start month via a scheduled command.


Payroll Settingsโ€‹

Navigate to Settings > HRM Configuration > Payroll.

Salary Calculation Basisโ€‹

Determines how salary is computed for partial months or pro-rated periods.

ModeDescription
Working Days (default)Salary is pro-rated based on actual working days in the period
Working HoursSalary is calculated based on hours logged
Fixed MonthlyFull monthly salary regardless of working days

Overtimeโ€‹

SettingDefaultDescription
Overtime EnabledYesWhether overtime hours are factored into payroll
Overtime Multiplier1.5xMultiplier applied to the hourly rate for overtime hours

Notification Recipientsโ€‹

Select users who should receive email notifications when payroll runs are completed. Typically set to HR managers or finance team members.


Departments & Projectsโ€‹

Departmentsโ€‹

Navigate to Settings > HRM Configuration > Departments to create your organizational departments before adding employees. Each employee is assigned to a department.

Examples: Human Resources, Engineering, Sales, Marketing, Finance.

Projectsโ€‹

Navigate to Settings > HRM Configuration > Projects to define projects that employees can log time against in their timesheets.


Setting Up Leave Typesโ€‹

Before employees can submit leave requests, you need to configure leave types. Navigate to Leave Management > Leave Types from the sidebar.

For each leave type, configure:

FieldDescription
Namee.g., Annual Leave, Sick Leave, Maternity Leave
Days Per YearAnnual entitlement for this leave type
Is PaidWhether this leave type is paid
Requires ApprovalWhether requests need manager approval
Carry ForwardWhether unused days roll over to the next year
Max Carry Forward DaysLimit on days that can be carried forward
Is ActiveEnable or disable the leave type
tip

You can use the php artisan hrm:seed-leave-data command to create a standard set of leave types (Annual, Sick, Personal, Maternity, Paternity, Bereavement, Unpaid, Work From Home) with sensible defaults.


Setting Up Payroll Componentsโ€‹

Before running payroll, define your salary components under Payroll > Payroll Components.

Components fall into three categories:

TypeExamples
Allowance (Earnings)Basic Salary, House Rent Allowance, Transport Allowance, Bonus
DeductionProvident Fund, Insurance Premium, Loan Repayment
TaxIncome Tax, Social Security Tax

Each component supports two calculation methods:

  • Fixed: A set monetary amount (e.g., $500 Transport Allowance)
  • Percentage: A percentage of base or gross salary (e.g., 12% Provident Fund)
tip

Run php artisan hrm:seed-payroll-data to generate a standard set of payroll components (4 allowances, 3 deductions, 2 taxes) with typical configurations.


Employee Portal Configurationโ€‹

The Employee Portal is configured via the config/employee-portal.php file in the HRM module directory. These settings control what employees see and can do when they log in.

Key Optionsโ€‹

SettingDefaultDescription
enabledtrueEnable or disable the employee portal
employee_role_nameEmployeeName of the role assigned to employee users
auto_create_usertrueAutomatically create a CRM user account when an employee is created
landing_page/timesheetsThe page employees see after login

Visible Menu Itemsโ€‹

By default, employees can access:

  • Timesheets
  • Leave Requests
  • Attendance
  • Leave Balances
  • Payslips

To grant employees access to pages from other modules, add the route path to the allowed_menu_items array in the config file.

Data Scopingโ€‹

The portal automatically filters data so employees can only see their own records. This applies to leave requests, leave balances, attendance, timesheets, salary structures, payroll entries, and payslips.

Models excluded from scoping (visible to all employees):

  • Employee โ€” so the BelongsTo dropdown works when creating records
  • Leave Type โ€” so employees can see available leave types

  1. Activate the module โ€” Enter your license code in Settings > HRM Configuration > Activation
  2. Configure general settings โ€” Set fiscal year and employee code format
  3. Create departments โ€” Add your organizational structure
  4. Create projects โ€” Define projects for timesheet tracking (if applicable)
  5. Set up leave types โ€” Configure leave categories and entitlements
  6. Configure attendance settings โ€” Set working hours and week-off days
  7. Set up payroll components โ€” Define earnings, deductions, and taxes
  8. Configure payroll settings โ€” Set calculation basis and overtime rules
  9. Add employees โ€” Start creating employee records (user accounts are created automatically)
  10. Assign salary structures โ€” Link payroll components to each employee
  11. Create leave balances โ€” Allocate leave entitlements for the current year