Odoo 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 Research and Development Team
Building enterprise-grade digital products at ECOSIRE. Sharing insights on Odoo integrations, e-commerce automation, and AI-powered business solutions.
Related Articles
Allegro Marketplace Integration with Odoo: Poland's Leading eCommerce Platform
Complete guide to integrating Allegro marketplace with Odoo ERP covering REST API setup, Allegro Smart, bidding, and shipping for Polish eCommerce.
Coupang Odoo Integration for Korean eCommerce: Complete 2026 Guide
Learn how to integrate Coupang marketplace with Odoo ERP for Korean market expansion including Rocket delivery, product management, and order sync.
Digital Transformation Roadmap for 2026: A Strategic Guide for Business Leaders
A comprehensive digital transformation roadmap for 2026 covering assessment, technology selection, change management, ROI measurement, and implementation.