Part of our HR & Workforce Management series
Read the complete guideOdoo Payroll Module: Complete Setup and Configuration Guide
Payroll processing is one of the most error-sensitive operations in any business. A single miscalculation in tax withholding or benefit deductions can result in compliance penalties, employee dissatisfaction, and hours of corrective work. The Odoo Payroll module provides a structured framework for defining salary rules, computing payslips, and integrating payroll with accounting within your ERP platform.
This guide walks through the complete setup process for Odoo Payroll, from initial configuration to processing your first payroll batch.
Prerequisites
Before configuring payroll, ensure these modules are installed and configured:
- Employees with records containing contracts, departments, and job positions
- Accounting with payroll-specific accounts (salary expense, payable, tax liability)
- Time Off (optional) for unpaid leave to automatically reduce payroll
- Attendance (optional) if calculations depend on actual hours worked
Understanding the Payroll Architecture
Odoo Payroll uses a hierarchical structure. Salary Structure Types define broad categories like Employee, Worker, or Contractor. Each type has multiple Salary Structures such as Monthly Employee or Bi-Weekly Employee. Each structure contains Salary Rules that compute individual payslip lines.
Step 1: Configure Salary Structure Types
Navigate to Payroll > Configuration > Structure Types. For most businesses you need:
| Structure Type | Use Case |
|---|---|
| Employee (Monthly) | Salaried employees paid monthly |
| Employee (Bi-Weekly) | Salaried employees paid every two weeks |
| Hourly Worker | Wage-based workers paid by the hour |
| Contractor | Independent contractors |
Configure the regular pay structure, default working hours, wage type, and schedule pay frequency for each type.
Step 2: Define Salary Structures
Navigate to Payroll > Configuration > Structures. A typical monthly structure includes:
Gross Pay Rules: Basic Salary from the contract, Housing Allowance (fixed or percentage), Transport Allowance, Overtime from attendance records, and Bonus/Commission as variable pay.
Deduction Rules: Income Tax based on brackets, Social Security employee contribution, Health Insurance employee share, Retirement/Pension contributions, and Loan Repayment for salary advances.
Employer Contributions: Employer Social Security matching, Employer Health Insurance share, and Employer Pension Match.
Net Pay equals gross pay minus all employee deductions.
Step 3: Configure Salary Rules
Each rule needs a name, category (Gross, Deduction, Net, Employer), unique code for formulas, and sequence number for processing order.
Odoo supports three computation methods:
Fixed Amount provides a static value per period. Percentage calculates from another rule. Python Code allows custom formulas with access to payslip, employee, contract, categories, rules, worked_days, and inputs variables.
Example tax bracket calculation:
gross = categories.GROSS
if gross <= 5000:
result = 0
elif gross <= 15000:
result = (gross - 5000) * 0.10
elif gross <= 30000:
result = 1000 + (gross - 15000) * 0.20
else:
result = 4000 + (gross - 30000) * 0.30
result = -result # Deductions are negative
Written by
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Transform Your Business with Odoo ERP
Expert Odoo implementation, customization, and support to streamline your operations.
Related Articles
How to Add a Custom Button to an Odoo Form View (2026)
Add custom action buttons to Odoo 19 form views: Python action method, view inheritance, conditional visibility, confirmation dialogs. Production-tested.
How to Add a Custom Field in Odoo Without Studio (2026)
Add custom fields via custom module in Odoo 19: model inheritance, view extension, computed fields, store/non-store decisions. Code-first, version-controlled.
How to Add a Custom Report in Odoo Using External Layout
Build a branded PDF report in Odoo 19 using web.external_layout: QWeb template, paperformat, action binding. With print logo + footer overrides.
More from HR & Workforce Management
Odoo 19 HR: Skills Matrix, Career Plans, Performance Cycles
Odoo 19 HR upgrade: native skills matrix, career path planning, performance review cycles, 9-box grid, succession planning, HRIS integration.
Odoo ERP for Egypt: E-Invoice, VAT & Arabic Localization
Complete guide to Odoo ERP implementation in Egypt — ETA e-invoicing, 14% VAT, Egyptian payroll, Arabic interface, customs duties, and local compliance.
Odoo ERP Deutschland: GoBD, DATEV & SKR-04 Komplettleitfaden 2026
Odoo ERP fuer Deutschland 2026: GoBD-konform einrichten, DATEV-Export, SKR03/SKR04, USt-Voranmeldung, Lohn. Schritt-fuer-Schritt fuer den Mittelstand.
Odoo ERP for India: GST, TDS/TCS & E-Way Bill Integration
Complete guide to Odoo ERP implementation in India — GST (CGST/SGST/IGST), e-invoicing, TDS/TCS, e-Way Bill, PF/ESI payroll, and Indian chart of accounts.
Odoo ERP for Nigeria: VAT, CIT & Multi-Currency Operations
Complete guide to Odoo ERP implementation in Nigeria — FIRS VAT (7.5%), CIT, WHT, Nigerian payroll (PAYE, pension, NHF), naira and forex management.
Odoo ERP for Pakistan: FBR Integration, Sales Tax & Localization
Complete guide to implementing Odoo ERP in Pakistan — FBR e-invoicing, 17-18% GST, withholding tax, EOBI/PESSI payroll, SBP reporting, and Urdu interface.