Odoo Human Resource management module deals with the management of employees and their related strategies. Here Odoo provides the features like contract management, leaves, Attendances, time sheets, related to the payroll. To generate the payslip for each employee we have to configure their contracts first. If an employee has an active contract, payslips can be generated. This contract specifies the basic pay, working schedules, duration, and other related details. Employees can have one or more contracts, but while generating the payslips, active one or the latest one will be taken.
The Odoo Payroll system is integrated with the Accounting module, where after generating and confirming payslip will create a journal entry on Accounts. This can be further processed by an account adviser or manager. To enable integration with the Account we have to install the plugin Payroll Accounts from Odoo apps menu. These generated payslips can be exported as pdf and officer or managers can analyze the reports that are provided by Odoo.
To generate a payslip for the employee, first, we have to set up the contract with salary structure. The salary structure is the record of the set of rules and these structures can be inheritor utilize for other contracts. The salary structure can be included with one or more salary rules, which these rules specify the actual computation needs to be done while generating payslip. These configurations can be done under the payroll settings. Using salary structure, salary rules menu, you can create structures and rules.
Odoo HR Payroll Management also supports the generation of payslip as batches. So we can include one or more employees or category wise batches. The mass creation of payslip for a group of employees can be achieved through this scenario.
Employees with active contracts are valid to generate pay slips. Contracts can be accessed under Employees main menu.
Here in contracts, we specify the salary structure, Basic Wage, Duration, Working Schedule and Scheduled pay. For accounting part, we can select the salary Journal, which is a mandatory field on the payslip. After filling Contract form, we can see the status as running which means this is active. That can be done by clicking on the status button on the header.
Salary structure is the collection of a set of some rules which can be used for computing the payslip. We can use a single structure for particular departments, or for other categories. Salary structures can be inherited so we can use extra rules for particular employees.
Here we made a structure for the employee tag Marketing Executive and we selected the base structure that we created as the parent. So while doing the payslip computation the rules included in the parent structure also used. The parent structure includes.
The base structure includes the basic, Gross, Unpaid and Net salary rules and the marketing executive structure has House Rent Allowance, Conveyance Allowance, Professional Tax, and Provident Fund. These are all of the different categories of the rule that is included in computations.
The set of rules which define the computation of salary amount of different category. That can be of Basic, Allowance, Deduction, Gross, Net. We can specify here the sequence of the rule to be displayed on the payslip, unique code, that can be used for future calculations.
The tab General includes the condition and its computation to be specified. Conditions can be based on particular range or Python expression or always true make them computer always. Under computation part, we can select the computation of an amount based on Percentage, Fixed Amount, and Python Code. While using the Python expressions we can use objects specified below for accessing data.
# Available variables: #----------------------
# Payslip: object containing the payslips
# Employee: HR.employee object
# Contract: HR.contract object
# Rules: object containing the rules code (previously computed)
# Categories: object containing the computed salary rule categories (sum of amount of all rules belonging to that category).
# Worked days: object containing the computed worked days.
# Inputs: object containing the computed inputs.
# Note: returned value have to be set in the variable 'result'
Eg: for getting the basic wage from contract we can use: result = contract.wageAnother example for making a deduction using salary rules is that we made here for Provident Fund.
From this rule deduct the 12.5 percentage from the basic wage.
If an employee is under a running contract then we can generate payslip for those employees and hence the payslip will be calculated according to the selected salary structure in the contract. After generating payslip it can be exported as pdf and that can be of rule wise report and simple payslip report. Managers/Officers can approve payslip and while confirming payslip will generate its related journal entry on accounts. These can be further used for payment by account advisor or manager. To integrate payslip with Accounts module we have to enable under configurations.
Payslip can be created under Employee payslips menu.
Worked days & inputs tab list out the total worked hours according to the working schedule selected on contract. Next Tab Salary and computation list out the computations done on slip according to the salary structure and salary rules.
These computations in detail according to the rule category is on next tab Details By Salary Rule Category.
If the Payroll Accounting is integrated by enabling under configurations you can see the information under accounting tab after payslip is confirmed.
The generated Payslips can be exported as pdf using the print button.
We can generate payslip for a batch of employees. That is enabled under the Payslips batches menu. You can create payslip as batches using this feature.
Use Generate Payslip button for selecting multiple employees and use Generate Button to create payslip for selected employees.