0% found this document useful (0 votes)
455 views58 pages

Icehrm Guide

This document provides instructions for installing and configuring IceHRM, an open source human resource management system. It covers downloading and extracting the IceHRM files, creating a MySQL database, manual installation instructions, and configuring various settings like company details, email settings, permissions, and LDAP integration.
Copyright
© Public Domain
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
455 views58 pages

Icehrm Guide

This document provides instructions for installing and configuring IceHRM, an open source human resource management system. It covers downloading and extracting the IceHRM files, creating a MySQL database, manual installation instructions, and configuring various settings like company details, email settings, permissions, and LDAP integration.
Copyright
© Public Domain
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Table

of Contents
Introduction 1.1
Installation and Settings 1.2
Manual Installation 1.3
Setup Company Details 1.4
Employee Setup 1.5
Training Module 1.6
Salary 1.7
Payroll Management 1.8
Recruitment & Candidates 1.9
Vacation and Leave Management 1.10
Document Management 1.11
Expense Management 1.12

2
Introduction

Introduction
This book aims to be a comprehensive guide to IceHrm. Well cover topics such as installing
IceHrm and getting it up and running, configuring IceHrm and using icehrm modules.

What is IceHrm?
IceHrm is a Human resource management system for small and medium sized
organizations. It covers all the basic HRM needs of a company such as leave management,
time management and handling employee information.

3
Installation and Settings

# Installation

If you are using icehrm cloud please skip this chapter

Getting IceHrm installed only take a few minutes. If it ever becomes a problem, please file
an issue describing the issue you encountered and how we might make the process easier.

Requirements
Before installing IceHrm please make sure your system supports following requirements
youll need to make sure your system has before you start.

PHP 5.3 or Higher


Net_SMTP extension for PHP
MySQL v5.5
php-mysql extention
PHP GD library $> apt-get update -$ $> apt-get install php5-gd

Optional Modules

These are optional components which could improve icehrm performance

Memcache

Installation
If you are installing the open source version, download the latest release from GitHub

If you are installing the pro version or enterprise you should have received the files after
purchase.

Copy the downloaded file to the path you want to install iCE Hrm in your server and
extract.

Create a mysql DB for and user. Grant all on iCE Hrm DB to new DB user.

Visit iCE Hrm installation path in your browser.

During the installation form, fill in details appropriately.

Once the application is installed use the username = admin and password = admin to
login to your system.

After installation the settings module can be accessed by login in as admin and going to
System->Settings

4
Installation and Settings

Global Settings
Setting Description
Company:
Name Name of the company

Company: Company logo. You may upload the company logo here. Ideally should
Logo be 200px wide and height between 50px to 150 px.

Company: A short description about the company. Will be used mainly in


Description recruitment module

Email: Set this to "No" to disable all outgoing emails from modules. Value "Yes"
Enable will enable outgoing emails

Email Settings
Configuring Email with SMTP

Setting Description
Email: Mode This should be set to SMTP

Email: SMTP If you are using local machine to send emails, set this to localhost. If
Host not set the IP address of the server you are using to send emails

Email: SMTP
Authentication Set this to "Yes" if SMTP server authorization is enabled

Email: SMTP
User User name of the SMTP user

Email: SMTP
Password SMTP user password

Email: SMTP
Port Port configured in SMTP server (Default 25)

Email: Email
From From email address (e.g icehrm@[Link])

Configuring Email with Amazon SES

5
Installation and Settings

Setting Description
Email: Mode This should be set to SES

Email: Amazon SES Key


Amazon access key Id (You can get this through AWS
console)

Email: Amazone SES


Secret Amazon access key secret

Email: Email From Authorized email address for sending emails through SES

Configuring Email with Gmail

Setting Description
Email: Mode This should be set to SMTP

Email: SMTP Host ssl://[Link]

Email: SMTP Authentication Yes

Email: SMTP User yourgmailaddress@[Link]

Email: SMTP Password Gmail password

Email: SMTP Port 465

Email: Email From yourgmailaddress@[Link]

Developer Settings

6
Installation and Settings

Setting Description
System: Do
not pass
JSON in Select Yes if you are having trouble loading data for some tables
request

System: When this is set to Yes IceHrm will reset all values given in System-
Reset
Modules and >Permissions module. This setting can be used to reload permissions
Permissions after adding new permissions to module [Link] file

System: Add
New Add new permissions without resetting modules
Permissions

System:
Debug Mode Print debug log messages

Other Settings
Setting Description

Leave: Share If "Yes" all the employees of company can see other peoples' leave
Calendar to schedules. If set to "No" only admins and supervisors will be able to
Whole Company
see leave schedule of subordinates

Leave: CC Every email sent though leave module will be CC to these comma
Emails seperated list of emails addresses

Leave: BCC Every email sent though leave module will be BCC to these comma
Emails seperated list of emails addresses

Attendance:
Time-sheet
Only allow users to add an entry to a timesheet only if they have
Cross Check marked atteandance for the selected period

Recruitment: Show quick apply button when candidates are applying for jobs.
Show Quick Quick apply allow candidates to apply with minimum amount of
Apply
information

Recruitment:
Show Apply Show apply button when candidates are applying for jobs

Cron for Notifications

7
Installation and Settings

Notification cron is used to send periodic notifications. Document expiry notifications will
depend on this scheduler.

To trigger the scheduler you need to run following file

(IceHrm Root)/app/[Link]

LDAP Settings
This section describe the process of configuring LDAP with IceHrm

LDAP is only available in IceHrm Enterprise

php5-ldap

PHP5 LDAP extension should be installed for LDAP to work. Also make sure all required
outbound ports are opened

Before using please install php5-ldap module. R Run following command to install php5-ldap

$> sudo apt-get install php5-ldap

For using php ldap on windows please refer

No LDAP for user with username "admin"

The user "admin" will always login with local db username and password (even LDAP is
enabled)

Use these config to test LDAP connection with following test LDAP server
[Link]

Change configs as follows under System->Settings

8
Installation and Settings

Setting Description
LDAP: Enabled Yes

LDAP: Server [Link]

LDAP: Port 389

LDAP: Root DN dc=example,dc=com

LDAP: Manager DN cn=read-only-admin,dc=example,dc=com

LDAP: Manager Password password

LDAP: Version 3 Yes

LDAP: User Filter uid={}

Then create a user with username "riemann" under System->Users

Logout and try login with riemann/password

Issue with LDAP

If you are facing login issues after enabling LDAP, you can still login as user "admin" and
disable LDAP

9
Manual Installation

Manual Installation
If you encountered any issues with automated installation please follow these steps to
manually configure icehrm on your server.

Download and Extract IceHrm Latest Release


1. If you are using icehrm opensource version download it from
([Link] Make sure to download the release .zip
or .gz file (e.g : icehrm_v19.[Link]).
2. If you have purchased icehrm pro, you can find installation directory inside the files you
have downloaded after purchase.
3. Extract icerm to public web directory root on your web server for now we assume it to
be (/var/www/)

Creating MySQL Database


Login to your mysql installation and create a database and a user for icehrm

mysql> create database icehrm;


mysql> create user 'icehrm_user'@'localhost' identified by 'icehrm_pwd';
mysql> grant all on icehrm.* to 'icehrm_user'@'localhost';

Then execute icehrm database scripts on newly created mysql database via console or
phpmyadmin.

The two files you need to execute can be found in icehrm installation directory (assuming it
to be /var/www/icehrm)

1. /var/www/icehrm/scripts/[Link]
2. /var/www/icehrm/scripts/icehrm__master__data.sql

mysql> use icehrm;


mysql> source /var/www/icehrm/scripts/[Link]
mysql> source /var/www/icehrm/scripts/icehrm_master_data.sql

Creating Configuration File


Inside <icehrm>/app/ directory you will find:
[Link]

10
Manual Installation

<?php
ini_set('error_log', '_LOG_');
define('APP_NAME', 'Ice Framework');
define('FB_URL', 'Ice Framework');
define('TWITTER_URL', 'Ice Framework');
define('CLIENT_NAME', '_CLIENT_');
define('APP_BASE_PATH', '_APP_BASE_PATH_');
define('CLIENT_BASE_PATH', '_CLIENT_BASE_PATH_');
define('BASE_URL','_BASE_URL_');
define('CLIENT_BASE_URL','_CLIENTBASE_URL_');
define('APP_DB', '_APP_DB_');
define('APP_USERNAME', '_APP_USERNAME_');
define('APP_PASSWORD', '_APP_PASSWORD_');
define('APP_HOST', '_APP_HOST_');
define('APP_CON_STR', 'mysqli://'.APP_USERNAME.':'.APP_PASSWORD.'@'.APP_HOST.'/'.APP_D
B);
//file upload
define('FILE_TYPES', 'jpg,png,jpeg');
define('MAX_FILE_SIZE_KB', 10 * 1024);
//Home Links
define('HOME_LINK_ADMIN', CLIENT_BASE_URL."?g=admin&n=dashboard&m=admin_Admin");
define('HOME_LINK_OTHERS', CLIENT_BASE_URL."?g=modules&n=dashboard&m=module_My_Account
");

Rename this file to [Link] and start updating it.

You may change app name and social media urls to your company social media accounts:

define('APP_NAME', 'Ice Framework');


define('FB_URL', 'Ice Framework');
define('TWITTER_URL', 'Ice Framework');
define('CLIENT_NAME', '_CLIENT_');

So above section can be changed to:

By default CLIENT_NAME should be app

define('APP_NAME', 'IceHrm - Your Company Name');


define('FB_URL', '[Link]
define('TWITTER_URL', '[Link]
define('CLIENT_NAME', 'app');

For updating urls you need to know the absolute path of your icehrm installation and url to
your icehrm installation.

For an example we assume path to icehrm is : /var/www/icehrm/ and icehrm web url to be
[Link] then paths and urls should be updated as below.

11
Manual Installation

define('APP_BASE_PATH', '/var/www/icehrm/');
define('CLIENT_BASE_PATH', '/var/www/icehrm/app/');
define('BASE_URL','[Link]
define('CLIENT_BASE_URL','[Link]

If you are using windows note that all the path should be specified with forward slash

e.g

define('APP_BASE_PATH', 'C:/xampp/htdocs/icehrm/');

Then you can update the database configurations as shown below:

define('APP_DB', 'icehrm');
define('APP_USERNAME', 'icehrm_user');
define('APP_PASSWORD', 'icehrm_pwd');
define('APP_HOST', 'localhost');

If you would like to upload files larger than 10MB you can update MAX_FILE_SIZE_KB
config.

12
Setup Company Details

Company structure
Company structure module allows you to define the structure of you company. Let you
create parent structure of the company, branches, departments and other company units.
Also it provides a graphical overview of how each of your company units are connected.

13
Employee Setup

Employee Management
Employees module is used to list, edit, add and search employees in your company. You can
use the search box to search employees by ID, name or department. Also you can use filter
button to filter employees by job title, department or supervisor.

Difference Between Users and Employees


A user is a person who can login to icehrm. Its not required for admin users to have an
employee attached but each non admin user must have an associated employee. Having an
employee added in icehrm wont allow the person to login to icehrm. You need to create user
with a Manager or Employee user level for that employee to be able to login to the system.

Adding Employees
Adding employees to ICE Hrm can only be done by the admin. The employee Id field should
have a unique value. In order to complete adding an employee you need to provide job title,
employment status and pay grade. These values can be defined in admin: Jobs module.

Once an employee is added to the system you will be asked to create a user for the newly
added employee.

Switching Employees
One of the key features of ICE Hrm, is admins and managers ability to login as another
employee. This feature can be used to apply leaves, add attendance records or update time
sheets behalf of other employees.

To login as an employee you can use the switch user icon on employee list or the Switch
Employee menu in top right hand corner.

Job Details Setup


(Admin > Job Details Setup)

Here you can setup all the information related to job titles, pay grades and employment
status in your company.

14
Employee Setup

Qualifications Setup
(Admin > Qualifications Setup)

Skills, Educational Details, Certifications and Languages you define under qualifications
setup module will be used by employees or admins to attach these qualifications to their
profiles.

15
Training Module

Setting Up Training Module


Training module in IceHrm can be used to manage process of providing internal trainings for
employees.

In training module we have courses, training sessions and training subscription


management.

1. Admins/Managers can define courses


2. Admins/Managers can use courses to create training sessions
3. Admin can assign courses to employees or employees can subscribe
4. Employees can mark training sessions as attended and attach a proof of completion if
required
5. Admins/Managers can approve that the training session is completed by the employee

Adding a new Course


Field Description
Code Each course should have a code

Name The course name

The employee of the company who is responsible for coordinating the


Coordinator course. In some cases coordinator could be the trainer/instructor as
well

Trainer Name of the person who conduct the course

Payment Whether the course is sponsored by the company or paid by the


Type employee

Most of the other fields are self descriptive

Adding a new Training Session

16
Training Module

Field Description
Name Name of the training session

Course Select the trainign course

Scheduled Time When this training session is scheduled

Assignment Due If the training session has an associated assignment, the due date
Date for that

Delivery Whether the training session is delivered in a class room, online or


Method its a sel study session

Attendance - Assign = Only admins/mangers can assign the session to


Type employees - Sign Up = Session is open for employees to sign up

Attachment An attachment with other resources for the session

Training
Certificate
If Yes, employees have to attach a proof of completion (such as
Required certificate) before marking the training session as completed

Subscribing to a Training Session


1. An employee can subscribe to a training session via Training => Training module.
2. Go to "All Training Sessions" tab
3. Click on subscribe button

![Subscribing to a Training Session] ([Link]


images/employee_training_sessions.png)

Attendance Type

Employees can only subscribe to training sessions having Attendance Type set to "Sign Up"

Completing a Training Session


Once an employee participated in a training session he/she can mark the training as
completed via Training=>Training=>My Training Sessions tab. Once this is done a
notification will be sent to the supervisor to approve the training session.

Proof of Completion

17
Training Module

If the training session requires a proof of completion, employee has to edit the training
session under "My Training Sessions" tab and attach a proof of completion before submitting
it for approval

Approving a Training Session


Once an employee mark a training session as completed, the supervisor will receive a
notification to approve it.

If all the things are in order, the supervisor can approve the training session via
Training=>Training=>Training Sessions of Direct Reports tab

18
Salary

Salary
Defining Employee Salary Details
In icehrm we have employee salary components (e.g Car Allowance) which are grouped into
salary component types (e.g Allowances). Then for each employee you can add actual
numbers for each of the salary component.

Salary Component Types

Salary Components

Employee Salary

19
Payroll Management

Payroll Management
Payroll Module Usage
You may use IceHrm to achieve following tasks:

Store employee salary details with and group into salary components
Calculate various deductions
Include overtime payments into employee salary slips depending on number of hours
Add salary components based on attendance sheets
Allow employees to download payslips in PDF format

Understanding Employee Salary and Salary Components


As you may already know when paying salary to your employees you have it divided into
several components. We you create a new installation of IceHrm we pre-define some Salary
components and group these salary components accordingly for your convenience.

If required you can add more. (You may view/edit Salary Components under menu Payroll
=> Salary)

Salary Component Types

Also in order to make it more easy to define taxes and other deductions on salary
components we group these into Salary Component Types

Defining Salary for Your Employees


You can add salary information for your employees under Payroll => Salary => Employee
Salary Components tab.

20
Payroll Management

This way you can define other salary components like allowances and hourly pay details.

Creating Company Payroll


Company payroll is available under Payroll => Payroll menu. We have already added
information for calculating payroll for Sri Lanka and Ghana. You can delete all these before
starting to work on your payroll. But sometimes these data can come handy for using those
as an example for building your payroll.

Adding a Calculation Group For Germany


First we should start with adding a Calculation Group. Go to Calculation Group Menu under
Payroll and add a new calculation group. As an example we will be using Germany.

Adding Payroll Columns

21
Payroll Management

One of the best ways to decide which columns you need have your payroll report is to think
of rows in your employees payslip. Payroll report as a table which holds all your individual
employee payslips in each row.

Since you have three salary components Basic, Car Allowance and Hourly pay we can
define following payroll columns. (For now let's assume tax is 19% on total salary).

Now here are the list of columns to show on payroll:

1. Basic Salary
2. Car Allowance
3. Hours Worked During Month
4. Hourly Pay
5. Payment For Hours Worked
6. Gross monthly salary
7. Deduction for Tax
8. Net Salary

So now we can start adding payroll column. It's a good idea to prefix your payroll columns
with its respective country code to make it easier to find.

Adding Payroll Column for Basic Salary


Now you can go to the tab "Payroll Columns" and click on "Add".

22
Payroll Management

As this column is only depend on Basic Salary component you can just select the that salary
component from the list. (Note that in some cases you can add multiple salary components
to same column).

Also make sure you set the enable to Yes and default value to 0.00.

The column order should be 1 because it should be the first column in your payroll report
for Germany.

Adding Payroll Column for Car Allowance

23
Payroll Management

Adding: Hours Worked During Month Column


There are employees who do not have a fixed salary but paid on hourly basis. Easiest way
to handle these employees is to first create a column to get number of hours work for the
month using attendance. In order to do that you can use pre-defined calculations.

24
Payroll Management

Adding: Hourly Pay Column


We can take hourly pay from salary component and create this column as below:

25
Payroll Management

Adding: Payment For Hours Worked Column


Based on the previous column you have added, now you can create the hourly pay based
column as shown below:

First create a new payroll column

26
Payroll Management

Then, Client on "Add" button next to Calculation Columns

Here you are adding the previously defined hours per month column as a parameter
named X and hourly pay column as parameter Y, so you can use it to do various
calculations using these columns

27
Payroll Management

Then under the Function field you can multiply these columns (all other basic math
expressions will work here)

28
Payroll Management

Adding Gross Monthly Salary Column


Total monthly gross salary should be the sum of basic salary, car allowance and payment for
total hours worked. This column can be created as shown below:

29
Payroll Management

Creating Calculation Method to Calculate 19% Tax


As you have seen you can do some calculations at column level. But things such as tax
which are having different percentages and multiple slabs it's better to use calculation
methods. Now you should go to Calculation Methods tab and add a new calculation
method.

You can create a calculation method based on a Salary component group (type), a Salary
component or an Existing payroll column. In this case we use an existing payroll column.

Now click on add button on Calculation Process filed to define the actual calculation.
According to our example for the full range of gross salary tax is 19%. So we don't need to
define any ranges and can calculate the tax as follows.

30
Payroll Management

Now we need to create a payroll column and add this calculation method to that column.

Please also play attention how we are assigning column order to each column.

31
Payroll Management

Add "Net Salary" column


Net Salary is Gross salary minus tax. So we create Net Salary column as shown below:

Now we have finished defining payroll columns. When you go to Payroll columns and search
"DE - " you can see all the fields in German payroll.

Create Payslip Template

32
Payroll Management

As you have all the required payroll columns you can use these to create a payslip template.
So we are going to create a new payslip template named German Payslip Template and add
all the columns defined above. Goto Payslip Templates tab and create a new payslip.

A payslip template has can be created by adding following items:

1. Company Logo
2. Company Name
3. Text (For adding special messages to notifications to employees)
4. Separators (For separating sections on payslip)
5. Payroll columns

33
Payroll Management

Create Payroll Report

34
Payroll Management

Payroll Report is the unit used to combine all the payroll columns and calculate monthly
payments for all the selected employees.

.Goto Payroll Reports tab and create a new Payroll Report.

When you create the payroll report it should be in Draft state. Only when it is processing
completed it should go to Completed state.

Also you need to select all the payroll columns you defined earlier for german payroll here as
shown above.

Selecting Employees For Your Payroll Report


Above payroll is for monthly paid employees who are in German Payroll Calculation group.
So you need to add some employees satisfying above requirements under "Company
Payroll" tab.

35
Payroll Management

As shown below we have added two employees to German payroll

Configure Employee Salary Components


Since the payroll depends on employee salary components you should make sure all
employee salary components are defined properly. You can do this by going to Payroll ->
Salary module and selecting Employee Salary tab.

As you can see here IceHrm Employee is getting a Basic and Allowance while Lala
Lamees getting paid per hour. As we have configured our payroll report application now able
to calculate the tax and other payroll columns properly.

Processing Payroll Report

36
Payroll Management

Click on the blue color "Process" button on your payroll report under Payroll Report tab. This
will show salaries of all the employees in your payroll.

As you can see here IceHrm can now calculate your payroll.

After checking figures manually you can click on finalize button which will change the payroll
report status to Completed.

Downloading Payslips
Now your employee can login and download payslip for the payroll period 2017-08-01 to
2017-08-31.

Login as the employee and goto User Reports -> Reports module.

And then download the Payslip from any completed payroll report

Payslip for IceHrm Employee will look like this:

37
Payroll Management

Generating Payroll for Next Month


Once you configure your payroll for initially, generating it for the second month can be done
in few minutes.

Clone a previous Payroll Report using Copy button

Change Dates and set status to Draft

38
Payroll Management

Then save the new Payroll Report and process and finalize it.

39
Recruitment & Candidates

Recruitment
Recruitment module can be used to:

Post jobs
Let candidates apply for these jobs
Schedule interviews
Track candidate progress with notes
Share job links with linkedIn, facebook, twitter and google+ directly from icehrm

Recruitment Setup
Recruitment setup menu is available under "Recruitment"=>"Recruitment Setup". Here you
can add/edit Employment Types, Experience levels, Job Functions, Education Levels and
Benefits. All these information will be used when posting a job.

Posting a Job
Jobs can be posted via "Recruitment"=>"Job Positions". Following table will list out main
fields used to create job postings

40
Recruitment & Candidates

Fields Description

Job Code
A unique code to identify the job position. Url for applying the job
position will contain this code.

Job Title The job title

A short description about the job position. This will be displayed when
Short
Description listing company jobs. The public url for companies open positions is,
[Link]

Description Full description of the job position

Show Salary Whether you want to show the salary range for this job position

Keywords Keywords for improving search and SEO

Status Only active jobs will get listed

Image Attach an image if you want to show an image with job listing

Job Position - Display Type


You should select a display type when posting a job position. This section details the for
display types supported y icehrm

Fields Description

Text Only text will be displayed


Only e.g: Text ad

Only an image will be displayed. The image for the ad should be provided in
Image
Only Image field when creating job position
e.g: Image only ad

Image
and Full
Use this display type when you want to show an image for the job position
Text with a full description and details such as salary, requirements and benefits.

Image Use this display type when you want to show an image for the job position
and
Other only with a minimum set of meta data about the job position such as salary,
Details employment type, experience, job functions and closing date.

41
Recruitment & Candidates

Sharing your job position on social media and


using direct links
You can share created job positions on Google+, Facebook, Twitter and LinkedIn directly
from IceHrm using social links on job positions module. Also you can get a direct link to the
job position which you can send via email or any other media by clicking on "Job Link" icon.

Candidates
Store candidate details
Receive job applications from candidates via job postings
Schedule interviews
Track candidate progress with notes

After creating a job position you can list all the candidates who have applied for the job
position via "Recruitment"=>"Candidates" module. It should list all the candidates who have
applied for your jobs.

42
Recruitment & Candidates

Here you can schedule interviews and add notes related to the candidate. Notes could be a
details about a telephone conversation or candidates expectations.

43
Vacation and Leave Management

Leave and Vacation Management


IceHrm has once of the best leave management systems among all the HRM software.
Leaves module is used to define all the elements required to manage leave application
process of your company,

including:

Leave periods
Leave types
Work week
Holidays
Leave rules

Leave Periods
A leave period usually a year but can be different according to company HR processes.
Leave periods cant overlap, which means if an employee applied for annual leaves in leave
period for Year 2014, his leave balance in leave period Year 2015 wont get affected. This
is same for all types of leaves. Also if the leave period for year 2015 is not defined,
employees wont be able to apply leaves for 2015.

Leave Types
Leave type tab defines types of leaves which can be applied by employees.

Adding a new Leave Type


When adding a leave type you need to set following fields

44
Vacation and Leave Management

Field Description
If Yes is selected, an Admin or a Manager is able to login as an
Admin can
employee (Please check switch employee concept explained in
assign leave
employee module) and apply this type of leaves behalf of the
to employees
employee.

Employees
If No is selected; only an Admin or a Manager is allowed to assign
can apply for
this type of leave to an employee. (An employee wont be able to apply
this leave
this type of leave).
type

This is the number of leaves can be applied by an employee per year


Leaves per
(or the current leave period). If the leave period is less than a Year this
Year
is the number of leaves for the leave period.

If this is set to Yes, employees wont have all the leaves added to
their leave balance at the beginning of the leave period. Instead leaves
Leave get accrued for every passing day in leave period. For an example if for
Accrue a particular leave type number of leaves per period is defined as 24
Enabled and leave period (having 12 months) is stating from January, at the end
of January an employee will be able apply for 2 leaves of this leave
type (24/12)

Leave
If an employee has some leave balance remaining in previous leave
Carried
period, that amount will get add to the current leave period.
Forward

45
Vacation and Leave Management

Percentage In each year (or period) what percentage of remaining leaves should
of Leaves be carried forward.
Carried
Forward

Maximum
Carried Maximum number of leave days which can be carried forwarded from
Forward one year to another. Set to 0 for unlimited
Amount

Carried
Forward
For how many days carried forward leaves are available in start date of
Leave
current leave period.
Availability
Period

Whether the available number of leaves should be calculated based on


Proportionate
number of days employee work in a given leave period. (e.g if an
Leaves on
employee joined in end of June, he/she will only get half of the number
Joined Date
of leaves specified for given leave type.

Work Week
Work week defines the days that your employees are working. When an employee is
applying for a leave, work week is taken into consideration. For an example if you company
works only from Monday to Friday and if an employee applied for a leave for two continuous
weeks including weekends, Saturdays and Sundays will NOT be counted for leave
application.

In some cases, companies need to keep different workweeks for different countries. For an
example if your branch in UK works a half a day on Saturday then you can add that as
shown on following image. All the leave calculations of UK based employees (employee:
country field should be set to UK) will be done according to extended workweek defined for
UK.

46
Vacation and Leave Management

Holidays
Holidays defines the list of holidays for all leave periods. It is advised to define all holidays
for all the enabled leave periods. If an employee applies for a leave which includes a holiday,
the leave for holiday wont be counted. Just like the workweek, you can have different
holidays defined for different countries. In following example 2014-12-18 defined as a
holiday only for UK.

Employee leaves

47
Vacation and Leave Management

Employee leaves tab lists all the employee leaves. An administrator can view details of
leaves and take actions on it (Approve or Reject). Admin should usually use this feature
when the Supervisor of the person who applied the leave is not able to do it.

Employee Leave Entitlement

All the employees are allowed to check there leave entitlement. It show a summery of their
leave balances for the current leave period.

Field Description
Available
Number of leave remaining that you can apply during current leave period
Leaves

Pending
Number of leave you have applied but not approved or rejected
Leaves

Leaves to If the Leave Accrue Enabled is set for the leave type, this will show how
be many leave days will be added to your leave balance by end of current
Accrued leave period

Leaves
Carried Leave days carried forward from previous leave periods
Forwarded

Leave Groups
Leave groups can be used to:

1. Group a set of employees and create leave rules affecting all employees in the group.

48
Vacation and Leave Management

2. Selectively allow some leave types only to a group of employees (for an example you
can assign Maternity leaves only to female employees)

In order to do this:

First create the leave group under Leave Settings->Leave Groups->Edit Leave
Groups.

Add employees to leave group

Create a leave type for Maternity leave by specifying Female employees group. Now
only employees added to that group will be able to apply for maternity leaves

Leave Rules By Examples


Leave rules is one of the unique and advanced features of ICE Hrm. Using leave rules you
can overwrite the behavior of leave types for job titles, employment statuses or even
individual employees.

Following examples will show you the proper way to use leave rules

Example 1
To enable all Software Engineers to apply for 20 annual leaves, you need to add a new
leave rule as shown below

49
Vacation and Leave Management

Example 2
Enable all Software Engineers who are permanent employees to apply for 10 medical leaves

Example 3

50
Vacation and Leave Management

Do not allow contact workers to apply for casual leaves. Only administrator is allowed to
apply casual leaves behalf of them with a maximum limit of 5 leaves per leave period

Implementing a Sample Leave Policy


Setting Up Leave Module
Since I've have noticed that its not a trivial task to setup the icehrm leave module initially
when moving from another active leave management setup, I'm writing this to walk you
through a short tutorial.

Let's assume following:

1. You are moving the leave management system to icehrm, in the middle of the leave
period for 2015
2. Some of your employees have leaves carried forwarded from 2014, which might not have
been used
3. Your company have annual leave which can be carried forwarded to next year
4. There are casual leave which are accrued 1.5 per each month
5. Some employees have joined in 2015 and their leave entitlement should be proportionate
according to joined date

Setting up leave periods

51
Vacation and Leave Management

First task is setting up the leave periods. If you are starting from 2015 you only need to have
the 2015 leave period. But creating a leave period for 2016 also should not be an issue.
Creating a leave period for 2014 will carry forward what ever the remaining leaves from 2014
to 2015. In that case you have to enter all employee leave details for 2014 manually into
IceHrm. So the preferred way is to not create the previous leave period by adding all leave
carried forwarded by employees using PTO (this will be explained in another section).

Also note that leave period can have different lengths and can be started from any month of
the year.

Setting up leave types


1. Lets setup the leave type for annual leave which can be carried forwarded to the next
year

Here I've set leave carried forward to 'Yes' and carry forward percentage to 100% so all the
remaining annual leave of this year will be carried forward to the next.

1. Setting up casual leave which are accrued 1.5 per each month and should not be
carried forward to the next year

52
Vacation and Leave Management

I have entered 18 for leave amount, this will accrue 1.5 (18/12) days per month since leave
period length for 2015 is 12 months

Employee leave entitlement


Now assume we have an employee named 'Jhon Doe'. His leave entitlement (under "Leave"
=> "Leave Management"), after above leave periods and leave types are added should look
like this:

There are 14.39 leaves accrued for this year (for the period 2015-01-01 to 2015-10-19). Also
it shows the number of day that will be accrued till end of the year from now, which is 3.61
days

Adding leave balance from previous year


The other problem you will face while adopting icehrm leave management is moving leave
balance from previous year in a third party leave management system to icehrm. In order to
do this you can use PTO. For an example if Jhon Doe has 3 annual leave days remaining
from 2014 (but you are not able to automatically move it to 2015 because you have not been
using icehrm in 2015), you can add a PTO days as shown below through "Admin"=>"Leave
Settings"=>"PTO".

53
Vacation and Leave Management

After adding the leave balance you will notice that Jhon Doe has 17 annual leaves instead of
14 in his leave entitlement

Also you may add negative leave balances under PTO for current year to reflect already
taken leaves by employees.

Proportioning leaves respect to joined date


Let's assume Jhon Doe joined the company in May 2015 and should not be allowed to take
only a pat of leave count defined for 2015. Then for annual leave definition under
"Admin"=>"Leave Settings"=>"Leave Types" you can edit Annual Leave and make
"Proportionate leaves on Joined Date" = "Yes"

If this is set then Jhon Doe will only be entitled for 18 * (8/12) annual leaves for the year
given he has joined on 1st of May 2015

Leave Management FAQ

Leave/Paid Time Off Management


How to allocate 160 hours instead of days in leave
management module?
When adding leave entitlement you should primarily use leave types. Since you are getting
160 hours a year you can create a leave type called Annual leave and add 20 (160/8) days
as leave amount for that leave type. IceHrm assumes a 8 hour work day. So when you do
that you can apply for a leave for 1 day or 1 hour. If you apply for a 1 day leave your leave
entitlement available leave count will become 19. If you apply for one hour it'll take away
0.125 from your leave entitlement.

54
Vacation and Leave Management

How to allocate different amounts of leave to different


employees or categories?
Let's say some employees have only 150 hours of paid time off. (For an example all
"Marketing Managers"). To implement this you can go to add a leave rule for Marketing
Managers for annual leave with leave amount of only 18.75 days (150/8). Leave rules are
not bound to any leave period, so the leave rules that you define will be applied to all the
leave periods.

How to compensate an employee with Paid time off?


Assume that an employee worked on a holiday due to some urgent issue. You need to
compensate him/her with an additional day off. In that case you can use "Paid Time Off" tab
to add an additional leave to the employee. Paid time off also used to add leaves carried
forwarded from previous years where you have not been using icehrm. If you want to
remove some leave from an employee you can add minus PTO also.

I've not been using IceHrm during 2015, But when


configuring leave balances for 2016 different employees are
having different leave balances carried forwarded from
2015. How to handle this?
You should add these as PTO amounts for leave period 2016 under "Paid Tome Off" tab.
You will have to add one record for each employee. This is a one time setup, from 2017 you
can use automatic leave carry forwarding.

55
Document Management

Document Management

Company Documents
(Employee -> Document Management)

You can add company documents and share these documents with whole company, multiple
departments or individual employees.

Employees can view company documents they are entitled to under (Documents -> My
Documents -> Company Documents)

56
Document Management

Employee Personal Documents


Document Types
Document Types tab is used to define various documents relevant to your organization. The
employees are able to upload documents under these categories.

Expire Notifications
When defining document types you can define before how many days icehrm should notify
the user about the expiring documents.

The notification cron should be setup for this feature to function properly. Please check
[scheduler](/docs/scheduler)

Employee Documents
Administrators and Managers can use "Employee Documents" tab to explore and manage
documents uploaded by employees or add new documents to employees.

Settings
Set Notifications: Send Document Expiry Emails to No if you don't wish to receive document
expiry notifications.

Also set Notifications: Copy Document Expiry Emails to Manager to Yes if you want to send
all document expiry notifications to respective managers also

57
Expense Management

Expenses
Configuring Expenses Module
Expense categories and payment methods can be configured under Employees -> Expense
Administration . Also Managers can view and approve or reject subordinate expenses under

the same module.

Admins can view and edit expenses from all employees.

Adding Expenses
Employees can add expenses under Finance -> Expenses .

Pre-Approving Expenses
If the Setting Expense: Pre-Approve Expenses is set to Yes, all new expenses will be
approved automatically

Reporting
Expense report can be downloaded under Admin -> Reports by specifying a date range.

58

You might also like