Creating and Paying Employee Payslip

OpenERP is full of features, just we need to find the one we need. Today I will discuss a feature of  “How to create and pay an Employee’s Payslip”

First of all, create a new database and install modules Payroll and Payroll Accounting, Then you need to Define an employee and create its home address as shown below:

Go to Menu: Human Resources / Human Resources / Employees


This will create the employee to be a partner in the system, define this partner as supplier.


Define the receivable and payable account for this employee’s partner.


Now next is to create a contract for the employee including salary structure and salary rules:

Go to menu: Human Resources / Human Resources / Contracts

Note: you can create Salary structure and Salary Rules from here itself or navigate to the Menu: Human Resources / Payroll /Salary Structures and Human Resources / Payroll / Salary Rules.


Create a Salary Expense Journal of type ‘Purchase’


Create Individual accounts for BASIC, NET, GROSS, DEDUCTIONS, ALLOWANCES etc.


Then in the salary rules assign the Debit and Credit accounts as:

All the rules will have there individual accounts created as Debit accounts and Credit account as the Salary expense account.

Go to menu:  Human Resources / Payroll / Salary Rules


Assign Net Salary rule’s Credit account as the partner’s receivable account( that we assigned at the start) as he is liable to receive the net amount. Assign the Debit account as the account created for individual salary rules.


Now we will create a payslip for the employee.

Go to menu: Human Resources / Payroll / Employee Payslips 

After filling the required inputs click on Compute Sheet button  and you will see the sheet is calculated.


Now Click the button Confirm to confirm and generate the accounting entries.


Now we will pay the employee for this navigate thru Menu: Accounting / Suppliers / Supplier Payments

Create new payment and select the employee’s partner, as soon as you select the partner you will a line is added as a payment line with the outstanding amount.


Click button Validate  to generate payment accounting entries.




5 thoughts on “Creating and Paying Employee Payslip

  1. Thanks alot for the article and i will be really thank ful if you also include that how to handle the leave deduction in payroll. Specially rules for the unpaid leaves if the pay cycle is monthly and handling the short leaves.

    If a person has two unpaid leaves during a month and 7 short leaves given that “2” short leaves be considered equal to “1” unpaid leave. So now we need to deduct for 2 unpaid leaves and in addition 3 more unpaid leaves due to the effect of short leaves.

    If you can update your article with this addition with the salary rules than it will be more than a favor to all of the new bies like me.

    I will be looking forward for it.

    Thanks again

  2. I applied the same methods, configured journals and all acounting eneteries but when i click ‘Compute sheets’ or click ‘Confirm’, it gives the following error.

    File “/home/inovtec/OpenERP/openerp-7.0/openerp/osv/”, line 4827, in _generate_order_by
    raise ValueError( _(“Sorting field %s not found on model %s”) %( order_field, self._name))
    ValueError: Sorting field company_id not found on model

  3. Good tutorial,
    But why we need involve the employee as a supplier if we can avoid this step?
    I disagree with you in the way you used to pay the employee, as he must be ONLY employee and never been involved as supplier if he is not supplying any thing to us.

    But still, very good efforts and good luck.

    • Hi Tarig,

      Thanks for your comments. But indeed an employee is providing you his service and for that service you need to pay him. Currently you need to follow this to payout employees with current Odoo. However there is always the scope of improvement and can be customized as per your need.


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s