Part of our Compliance & Regulation series
Read the complete guidePayroll is the most country-specific module in any ERP system. Tax brackets, social security contributions, pension schemes, and statutory reporting requirements vary dramatically between jurisdictions. Odoo's payroll module addresses this through a localization framework that provides country-specific salary rules, tax tables, and report templates. This guide walks through the configuration process for major regions and the customization options for countries without official localizations.
Key Takeaways
- Odoo 19 ships with payroll localizations for over 40 countries covering salary rules, tax tables, and statutory reports
- The salary rule engine uses Python expressions for complex calculations while maintaining a full audit trail
- Multi-country organizations can run payroll for different jurisdictions from a single Odoo instance
- Custom localizations can be built using the salary structure framework for countries not officially supported
- Integration with accounting ensures payroll journal entries post automatically with correct account mapping
Payroll Architecture Overview
Odoo payroll processes salary computations through a rule-based engine. The architecture consists of:
Salary Structures: Templates that define which salary rules apply to a category of employees. A company might have structures for monthly salaried employees, hourly workers, and contractors.
Salary Rules: Individual computation steps within a structure. Each rule has a Python expression that calculates its value based on inputs like base salary, worked days, and previous rule results. Rules execute in sequence based on their priority number.
Salary Rule Categories: Groupings that organize rules for reporting. Categories include gross salary, deductions, employer contributions, and net salary.
Payslip: The output document for a single employee for a single period, containing all computed rule values.
Navigate to Payroll > Configuration > Salary Structures to view and modify the salary structures available in your Odoo instance.
United States Configuration
Federal Tax Setup
US payroll requires configuring federal income tax withholding based on the employee's W-4 form:
- Navigate to Payroll > Configuration > Salary Rules and locate the Federal Income Tax rule
- The rule references the current IRS tax brackets, which Odoo updates annually
- Each employee's contract stores their filing status (Single, Married Filing Jointly, Head of Household) and allowances
- The computation accounts for pre-tax deductions (401k, health insurance, FSA) before calculating taxable income
State Tax Configuration
State income taxes require additional rules for each state where employees work:
| State Category | Examples | Configuration Approach |
|---|---|---|
| No state income tax | TX, FL, WA, NV, NH, TN, WY, SD, AK | No additional rules needed |
| Flat rate | IL (4.95%), PA (3.07%), IN (3.05%) | Single rule with flat percentage |
| Progressive brackets | CA, NY, NJ, OR | Multi-bracket rule similar to federal |
| Local taxes | NYC, Philadelphia, Detroit | Additional rules per locality |
FICA and Medicare
Social Security (6.2% up to the wage base) and Medicare (1.45% with 0.9% additional above 200,000 USD) are configured as employer and employee contribution rules. The wage base limit updates annually---for 2026, configure the Social Security wage base at Payroll > Configuration > Parameters.
Benefits and Deductions
Common US deductions configured as salary rules:
- 401(k): Pre-tax deduction with employer match (configurable percentage and cap)
- Health insurance: Employee premium share (pre-tax under Section 125)
- HSA/FSA: Pre-tax contributions to health savings or flexible spending accounts
- Roth 401(k): Post-tax deduction (reduces net pay but not taxable income)
- Garnishments: Court-ordered deductions with priority rules
European Union Countries
Germany
German payroll is among the most complex due to the church tax, solidarity surcharge, and the interaction between social security contributions:
Tax classes (Steuerklasse I through VI) determine the income tax withholding. Configure each employee's tax class on their contract at Payroll > Employees > Contracts.
Social security contributions in Germany are split equally between employer and employee:
| Contribution | Employee Rate | Employer Rate | Ceiling (2026) |
|---|---|---|---|
| Health insurance | 7.3% + supplement | 7.3% + supplement | 62,100 EUR/year |
| Pension insurance | 9.3% | 9.3% | 90,600 EUR/year (West) |
| Unemployment insurance | 1.3% | 1.3% | 90,600 EUR/year |
| Long-term care | 1.7% (+ 0.6% childless) | 1.7% | 62,100 EUR/year |
Church tax: 8% or 9% of income tax depending on the federal state (Bundesland).
France
French payroll uses the DSN (Declaration Sociale Nominative) for electronic reporting to social security agencies. Key configuration areas:
- Cotisations sociales: Over 30 individual social contribution lines covering health, retirement, unemployment, and supplementary pension
- CSG/CRDS: Social contribution taxes calculated on 98.25% of gross salary
- Mutuelle: Mandatory complementary health insurance (employer pays minimum 50%)
- Prevoyance: Death and disability insurance contributions
- Reduction Fillon: Employer social security reduction for salaries near minimum wage
United Kingdom
UK payroll follows the PAYE (Pay As You Earn) system:
- Tax codes: HMRC-assigned codes that determine the tax-free allowance (e.g., 1257L for the standard personal allowance)
- National Insurance: Employee NI contributions at 8% (above primary threshold) and employer NI at 13.8% (above secondary threshold)
- Student loan deductions: Plan 1, Plan 2, Plan 4, or Postgraduate rates
- Pension auto-enrollment: Workplace pension at minimum 5% employee + 3% employer
- RTI reporting: Real Time Information submissions to HMRC after each pay run
Middle East and Africa
United Arab Emirates
UAE payroll is simpler due to no income tax, but requires attention to:
- Gratuity calculation: End-of-service gratuity based on years of service (21 days/year for first 5 years, 30 days/year thereafter)
- WPS compliance: Wages Protection System electronic salary transfers through approved banks
- DEWS: Difc Employee Workplace Savings plan for DIFC-based companies
- Housing allowance: Typically 30-40% of basic salary, configured as a salary rule
Saudi Arabia
- GOSI: General Organization for Social Insurance contributions (employer 12%, employee 10% for Saudi nationals; employer 2% for expats)
- No income tax: For individuals (corporate tax applies to foreign entities)
- Saudization: Tracking nationality percentages for compliance with Nitaqat program
South Africa
- PAYE: Progressive tax brackets administered by SARS
- UIF: Unemployment Insurance Fund (1% employee + 1% employer, capped)
- SDL: Skills Development Levy (1% of total payroll)
- Medical tax credits: Fixed monthly credits per dependant
Asia-Pacific
India
Indian payroll involves multiple components:
| Component | Description | Typical Percentage |
|---|---|---|
| Basic | Base salary component | 40-50% of CTC |
| HRA | House Rent Allowance | 40-50% of Basic |
| DA | Dearness Allowance | Varies by sector |
| Special Allowance | Flexible component | Balance of CTC |
| PF | Provident Fund (employee) | 12% of Basic |
| PF | Provident Fund (employer) | 12% of Basic (3.67% EPF + 8.33% EPS) |
| ESI | Employee State Insurance | 0.75% employee + 3.25% employer |
| Professional Tax | State-level tax | Varies by state (max 2,500 INR/year) |
TDS (Tax Deducted at Source): Employer calculates and deducts income tax monthly based on declared investments and the applicable tax regime (old vs new).
Australia
- PAYG withholding: Pay As You Go income tax using ATO tax tables
- Superannuation: Employer-mandated retirement contribution (11.5% for 2026)
- HECS-HELP: Higher Education Loan repayments above income threshold
- Medicare Levy: 2% of taxable income (with surcharge for higher earners without private health insurance)
- STP reporting: Single Touch Payroll to ATO with each pay event
Building Custom Localizations
For countries without official Odoo localizations, you can build custom salary structures:
Step 1: Define Salary Structure
Create a new salary structure at Payroll > Configuration > Salary Structures with rules covering:
- Gross salary computation
- Tax withholding rules (reference the country's tax brackets)
- Social security contributions (employee and employer portions)
- Statutory deductions (pension, insurance, etc.)
- Net salary calculation
Step 2: Create Salary Rules
Each salary rule requires:
- Name and code: Descriptive name and unique reference code
- Category: Gross, deduction, employer contribution, or net
- Sequence: Execution order (lower numbers execute first)
- Python expression: The calculation logic
Example rule for a progressive tax calculation:
The Python condition checks that the category total for gross salary is greater than zero. The computation expression references the tax bracket thresholds and rates for the specific country, applying marginal rates to each bracket. The payslip object provides access to all previous rule results and employee contract data.
Step 3: Configure Statutory Reports
Create report templates using Odoo's QWeb reporting engine for country-specific reports like tax certificates, social security declarations, and year-end summaries.
Multi-Country Payroll Operations
Organizations operating across multiple countries can run all payroll from a single Odoo instance:
- Create salary structures for each country
- Assign structures to employee contracts based on their work location
- Configure accounting with separate journal entries per country for proper GL posting
- Set pay periods per country (monthly is standard in most countries; bi-weekly in the US)
- Generate country-specific reports using localized report templates
The multi-company feature in Odoo supports separate legal entities per country while maintaining consolidated reporting at the group level.
Payroll Integration with Accounting
Every payslip batch generates journal entries that post to the general ledger. The account mapping is configured per salary rule:
- Salary expense accounts: Debit entries for gross salary, employer contributions
- Liability accounts: Credit entries for tax withholding, social security payable
- Bank account: Credit entry for net salary payment
Navigate to Payroll > Configuration > Salary Rules and edit each rule to set the debit and credit accounts. The journal entry is created when the payslip batch is validated and can be reviewed before posting.
ECOSIRE Payroll Services
Configuring payroll correctly requires deep knowledge of both Odoo's technical architecture and local labor law. ECOSIRE's Odoo implementation services include payroll specialists who configure country-specific localizations, build custom salary rules, and validate calculations against manual payroll records. Our support services include annual updates for tax bracket changes and regulatory modifications.
Related Reading
- Odoo Payroll Module Guide
- Compensation Planning and Benefits in Odoo
- Odoo Time Off and Leave Management
- Odoo Recruitment Module Guide
- Odoo Multi-Company Setup Guide
How often do Odoo payroll localizations get updated for tax changes?
Official Odoo localizations are updated at least annually to reflect new tax brackets, social security ceilings, and regulatory changes. For Enterprise customers, these updates are included in the maintenance subscription and typically arrive before the new fiscal year begins. Custom localizations must be updated manually.
Can Odoo handle payroll for both salaried and hourly employees?
Yes. Create separate salary structures for salaried and hourly employees. Hourly structures reference the attendance module or timesheet entries to calculate worked hours, then apply hourly rates with overtime multipliers based on local labor law requirements.
Is Odoo payroll certified for regulatory compliance in all supported countries?
Certification varies by country. Some localizations (France, Belgium, South Africa) have been certified or validated by local authorities. Others are based on the published tax rules and rates but may not carry formal certification. Always verify payroll calculations against independent sources during initial setup.
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
BMF Programmablaufplan Lohnsteuer 2026: Implementing Germany's Official Wage-Tax Calculation (XML, API, Odoo)
Developer guide to the BMF Programmablaufplan Lohnsteuer 2026: what the PAP is, the XML pseudocode format, official test service, and mapping to Odoo payroll.
How Much Does a CRM System Cost in 2026? Real Pricing From 40+ Implementations
Real CRM pricing from 40+ implementations: license costs per user, implementation fees, hidden costs, and 3-year TCO for Odoo, HubSpot, Salesforce, and more.
eMAG Odoo Integration: Connect Romania's Largest Marketplace to Your ERP (Orders, Stock, e-Factura)
Connect eMAG Marketplace to Odoo ERP: offer and order sync, AWB shipping, returns, stock and price updates, plus Romanian e-Factura compliance for sellers.
More from Compliance & Regulation
BMF Programmablaufplan Lohnsteuer 2026: Implementing Germany's Official Wage-Tax Calculation (XML, API, Odoo)
Developer guide to the BMF Programmablaufplan Lohnsteuer 2026: what the PAP is, the XML pseudocode format, official test service, and mapping to Odoo payroll.
ERP for Clothing & Fashion Brands: Size-Color Matrix, Seasonal Planning, and Compliance (2026 Guide)
How fashion and clothing brands choose an ERP in 2026: size-color matrix variants, seasonal planning, GoBD and DATEV compliance, vendor comparison, and costs.
ERPNext HR & Payroll in 2026: Setup, Salary Structures, and Multi-Country Compliance
Step-by-step ERPNext HR and payroll setup for 2026: HRMS app install, salary structures, payroll entry runs, income tax slabs, multi-country compliance.
GoHighLevel A2P 10DLC Compliance in 2026: Registration, Fees, and Fixing Blocked SMS
Complete GoHighLevel A2P 10DLC guide for 2026: brand and campaign registration steps, carrier fees, common rejection reasons, and how to fix filtered SMS.
GxP Validation for ERP Systems: What Your 2026 Validation RFP Must Require (CSV, IQ/OQ/PQ, Audit Trails)
What a GxP ERP validation RFP must require in 2026: CSV and CSA scope, 21 CFR Part 11, EU Annex 11, IQ/OQ/PQ deliverables, audit trails, and GAMP 5 risk.
OpenClaw Security Model, Data Residency, SOC 2 and ISO 27001
OpenClaw security architecture: tenant isolation, encryption, secret management, audit logs, data residency, SOC 2, ISO 27001, GDPR, HIPAA fitness.