Odoo Payroll

What is worker days & input

Payslip or Salary slip plays an important role in business management. The salary slip is considered as legal proof of income. The slip includes all of the details on the Employee’s salary. All of the details and the amounts that make up the employee’s salary will be listed in the slip. To make a new payslip you need to be going to Payslips > To pay.

The To pay page will list down all of the Payslips to be paid. You can create payslips by clicking on the CREATE button. A new configuration page will open up to create the new Payslip as shown below

Worker Days

The tab called Worker days & Input provides information about general employee activities such as attendance, home, work, time off and so on. Worker days also provide information on how many days and how many hours the activity takes place.

When filling in the type, the description column will automatically be filled automatically according to the selected type, besides that you can set the number of days and number of hours and finally what price is paid by the company for the activity in a predetermined number of days and hours. Usually the amount column will be filled automatically if we have filled in the wage on salary information for employees.

You can also add a type by selecting search more then pressing the create button, then you will fill in the details of the type that you will define.

Alternatively, you can add a work entry type by going to configuration > work entry types.

Other Input

Under worker days you will see other input. It contains information on employee activities outside of worker days, meaning that this activity may not require information such as the number of days and hours, besides that we are also free to write descriptions.

Salary Computation

When you choose the Salary Computation tab, you will see a list of rules depending on structured choosed. By default odoo provides 3 structures, the structure is divided into structure types, namely employee and worker. You can add a structure type by going to configuration > structure type. In addition you can also add structure by accessing configuration > structures.

You can check the rule by going to Configuration > Rules, here you can see there are three structure with their rules.

Content in the amount type are percentage, python code, and fixed amount. For example we use python code for amount type

_get_paid_amount function will return the sum of amount from work days list. For example, when we set the amount for attendance on worked days to 100, because there is only one item in worker days, then in the salary computation section, the Basic salary is 100.

Please note that the salary computation will not appear as long as the payslip is still in draft. To change it to waiting just press the compute sheet. Now you can see the salary computational.


During salary if any mistake occurs and salary is done at that time for changing salary payslip then use "Refund" button. When click on "Refund" button then that salary payslip journal entries will be reversed and you can do changes and then You can create salary payslip.

To make a refund there are several things that need to be considered, first make sure the employee has a private address, to do so select the employee then in the private information section enter the address column

Then the second make sure the employee has a bank account. To add a bank account still in private information, enter the Bank Account Number.

When finished, to make a refund, select or make a payslip first, fill in the form then press compute ship, the status will be Waiting. After that press create draft entry.

Make sure the status is done then you will find a refund button. Press refund it will automatically create credit notes for the payslip.

These are credit notes that are created after you press refund. Or you can find it in payslips > all payslips then filter credit notes.

Flow Payroll

There are two ways to create payslips, namely by generating payslips for all employees at once or by manually creating payslips one by one for each employee.

But the first is to make sure the employee still has a contract with the company, the second is to make sure the employee has a private address, to do so select the employee then in the private information section enter the address column

Then the third make sure the employee has a bank account. To add a bank account still in private information, enter the Bank Account Number. Then finally, make sure the journal bank that we will choose also has a bank account.

Once done, you are ready to create payslips.

The first way you have to go to work entries, here displays employee attendance information for a certain period. You can generate payslips for all employees, simply by pressing the generate payslips button. However, if the generate payslips button is disabled or cannot be pressed, then a conflict may have occurred. To see conflicts that occur, you can go to work entries > conflicts, here you can resolve conflicts.

The second way is to make payslips one by one. To do so you have to go to payslip> to pay. Here you will fill out a form containing information on employee name, contract, structure. By default there are 3 structures, for regular payroll select regular pay. The structure will affect the computational salary but you won't be able to see it until you hit the compute sheet. After that enter work days and other inputs.

Press compute sheet and you will see the payslip is waiting.

After that press create draft entry to change the status to done. Then the next step is to choose a refund or make a payment, in this case we will make a payment by pressing make payment

Then a wizard will appear asking us to fill in the bank journal. Select bank journal then press save.

Odoo Invoice