Enable Dark Mode!
By: Yadukrishna K

How to Configure Salary Structure in Odoo 12

Functional Odoo 12 Human Resource

Having a solid salary structure makes it easier to manage a company’s salary expenditure. Each company has a different salary structure based on its rules and conditions. So it is necessary to have a salary structure. It varies with each employee. In Odoo we have an option to set salary structure for each employee.


1. How to configure a salary rule category?

2. How to create a salary rule?

3. How to create a salary structure?

Here we are going to configure the salary structure. Therefore, you need to turn the developer mode on.

For that Go to Main Settings -> Activate developer mode.


The salary configuration is based on the Payroll app in Odoo.

How to configure a salary rule category?

Firstly, we need to create a category for the salary rule.

For that go to Payroll -> Configuration -> Salary Rule Categories (It's only available in developer mode).

Now we can see a button for creating the category.


Here one can see two mandatory fields Name & Code. 

Name: The name of the category

Code: It used for easily accessing while computing net salary.

Parent: Choose the parent category.

Then save this form while completing category creation.

How to create a salary rule?

Here we are going to create a rule for the salary structure.

Then create a Salary rule.

Configuration -> salary rule

Click on create button

Here one can see a form for creating rule in the salary structure.


Name: Specify a name for the rule.

Category: Choose the category early created.

Code: It is used for easily accessing while computing net salary.

Active: It will allow you to hide the salary rule without removing it.

Appear on Payslip: Used to display the salary rule on the payslip.


Here we can see some fields under general.

Condition-based on: Here one can set how the category wants to perform in each salary computation. There are three conditions under this field.

    1. Always True: If we set this condition, the rule becomes available in every salary computation.

    2. Range: In this case, we can see another some fields

    3.  Range-based on: Here we can see 'contract.wage'.  By default, this range is based on the wage of an employee. We can specify the wage when we create a contract for an employee in an employee app.


Here we can see the wage of an employee in salary information of a contract.


Minimum Range: Specify the minimum wage.

Maximum range: Specify the maximum wage.

The rule only performs when the wage of an employee falls in between these two ranges.

Python expression: In this case, we can see some comment lines helping to create python conditions. By default, odoo provides an equation based on the result. 


We can access the values in the objects when we create a python condition.


Example: The result only applies when the wage becomes greater than 50000.

In this case, the salary rules only apply when the condition is true.

Note: Use four-step space in the case of using tabs for conditions.

After defining conditions for salary rule we want to setup computation methods.

It’s about how the salary provided to each rule.


The salary computation is common in three types.

1. Fixed amount

2. Percentage

3. Python code.

Fixed amount

In this case, we can provide a fixed amount.


We can see some fields,

Quantity: Here we can specify how much quantity we want to provide.

Fixed amount: Specify the amount we want to provide.

E.g.: Quantity = 1.0 and Fixed amount = 50000 


The salary computation becomes 50000 * 1.0


In this case, the computation is based on the fields underneath it.


Percentage based on: Specify the variable we want to get the percentage.

Percentage: Specify the percentage value.


Eg: Percentage based on = contract. wage

Percentage (%) = 50 

Quantity = 1

In this case, the salary computation become 50% of contract.wage

Python Code

Here the computation is based on the Python code.


Here is an example 

result = contract. Wage * 0.10

The result becomes multiple contracts. Wage and 0.10.

Contribution Register: We can choose a contribution register. This field will add all payment details to the corresponding register and we will get payment details by using print menu on the contribution register.

Here we can see Child Rules, this feature can add child salary rule for parent salary rule.


We can add a new salary rule by clicking add a line. 


Here we can see a popup window for creating child rule with the same method of salary rule.


This image above represents the method of creating the Provident Fund in my company.

How to create a salary structure?

Let’s check how to create a salary structure.

Configuration -> Salary Structure and click on the create button.

Now one can see a window 


Name: Specify a name for the structure.

Parent: Here we can choose as a parent salary structure when we create another salary structure.

Company: Choose your company.

We can add a salary rule by clicking on adding a line.


Here we can add multiple salary rules.


The above image displays how to create a salary structure. 

Basic Salary, Gross and Net Salary are my salary rules. Here can see Code, Category and Contribution register corresponding to the salary rules.

If you need any assistance in odoo, we are online, please chat with us.


Leave a comment




Cybrosys Technologies Pvt. Ltd.
Neospace, Kinfra Techno Park
Kakkancherry, Calicut
Kerala, India - 673635



Cybrosys Technologies Pvt. Ltd.
1st Floor, Thapasya Building,
Infopark, Kakkanad,
Kochi, India - 682030.



Cybrosys Techno Solutions
The Estate, 8th Floor,
Dickenson Road,
Bangalore, India - 560042

Send Us A Message