Building Payroll for India

Company payroll is available under the Payroll -> Payroll Reports menu. We are going to create a sample payroll for India.

Adding a Payroll Group For India #

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

Adding Payroll Columns #

One of the best ways to decide which columns you need to have in your payroll report is to think of rows in your employees’ payslips. Now here is the list of columns to show on the Indian payroll we are creating:

  1. Basic Salary
  2. Gross Salary
  3. Basic Pay
  4. Province
  5. Professional Tax Slab
  6. Employee Birthday
  7. Employee Age
  8. Income Tax
  9. ESI Employee Contribution
  10. PF Employee Contribution
  11. Total Deductions
  12. Other Allowances
  13. ESI Employer Contribution
  14. PF Employer Contribution
  15. ESI Total
  16. PF Total
  17. Net Salary
  18. Residential Area
  19. HRA

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

Adding Payroll Column for Basic Salary #

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

As this column only depends on the Basic Salary component you can just select that salary component from the list. (Note that in some cases you can add multiple salary components to the 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 India.

Adding Payroll Column for Gross Salary #

Adding Payroll Column for Basic Pay #

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

First, create a new payroll column. Then, click on the “Add” button next to Calculation Columns. Here you are adding the previously defined gross salary column as a parameter named X so you can use it to do various calculations using these columns

Adding Payroll Column for Province #

We need to select Get Employee Data in predefined calculations and enter province_Name in the function field in order to get the employee’s province

Adding Payroll Column for Professional Tax Slab #

This is calculated based on the employee’s state and basic pay. So you need to add those two calculation columns and write the function to calculate PTS.

Adding Payroll Column for Employee birthday #

We need to select Get Employee Data in predefined calculations and enter birthday(Employees table column name) in the function field in order to get an employee’s birthday

Adding Payroll Column for Employee age #

We need to get an employee’s birthday as a calculation column and write a javascript function to calculate age from that.

Adding Payroll Column for Income Tax #

We need to use employees’ age and basic pay and write a function to calculate income tax.

Adding Payroll Column for ESI employee contribution #

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 saved calculations. Now you should go to the Saved Calculations tab and add a new saved calculation.

You can create a saved calculation 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 the add button on the Calculation Process field to define the actual calculation. According to our example for the full range of ESI is 0.75%. So we don’t need to define any ranges and can calculate the tax as follows.

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

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

Adding Payroll Column for PF employee contribution #

Adding Payroll Column for Total Deductions #

Adding Payroll Column for Other Allowances #

Adding Payroll Column for ESI employer contribution #

Adding Payroll Column for PF employer contribution #

Adding Payroll Column for ESI Total #

Adding Payroll Column for PF Total #

Add Payroll Column for Residential Area #

To calculate HRA we need to know whether an employee lives in a metro or non-metro area. As this is not a default employee data field, we need to add a custom field for the residential area.

Add Custom Field for Residential Area

Go to Admin -> Employee Custom Fields

Under the Employee Custom Fields tab add a new custom field named residential_area

Now you can edit the residential area of each employee from Employees -> Employees.

You can use this data by selecting Get Employee data in Predefined Calculations. use residential_area in the Function field.

Add Payroll Column for hra #

You can add basic pay and residential area as calculation columns and write a function to find hra quite easily.

Add Net Salary column #

Net Salary is Gross salary minus Total deductions. So we create a Net Salary column as shown below:

Now we have finished defining payroll columns. When you go to Payroll columns and search “IN – ” you can see all the fields in Indian payroll.

Create Payslip Template #

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 Indian 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 the 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

Click on Add New button and create the payslip template as you want.

Create Payroll Report #

Payroll Report is the unit used to combine all the payroll columns and calculate monthly payments for all the selected employees. Go to the Payroll Reports tab and create a new Payroll Report.

When you create the payroll report it should be in a 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 Indian payroll here as shown above.

Selecting Employees For Your Payroll Report #

The above payroll is for monthly paid employees who are in the Indian Payroll Calculation group. So you need to add some employees satisfying the above requirements under the “Payroll Employees” tab. As shown below we have added three employees to the Indian 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 the Payroll -> Salary module and selecting the Employee Salary Components tab. As we have configured our payroll report application now we are able to calculate the tax and other payroll columns properly.

Processing Payroll Report #

Click on the blue color “Process” button on your payroll report under the Payroll Report tab. This will show the 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 generate payslips button which will change the payroll report status to Completed.

Downloading Payslips #

Now your employee can log in and download payslip for the payroll period 2020-06-01 to 2020-06-30.

Log in as the employee and go to User Reports -> Reports module or you can go to Documents -> my documents -> payslips.

And then download the Payslip from any completed payroll report.

Payslip for IceHrm Employee will look like this:

Generating Payroll for Next Month #

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

Clone a previous Payroll Report using the Copy button.

Change Dates and set the Status to Draft.

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

Powered by BetterDocs