If you're running a business in Thailand and still doing payroll in Excel, or worse, manually, you already know the pain. The Odoo payroll setup for Thailand covers SSF deductions, PND1 withholding tax, salary slips, and compliance reporting, all inside one system. No switching tabs. No double entry. Just clean, automated payroll that actually works.
This matters most for HR managers and business owners who are tired of scrambling every month to get numbers right before the Revenue Department deadline. Whether you're running a small factory in Chonburi or a growing distribution company in Bangkok, getting your payroll right isn't optional. Thai compliance is strict, and the penalties for getting it wrong are real.
What Is Odoo Payroll and Why Thai Businesses Use It
Odoo isn't just an ERP. It's a fully connected business platform, and the Odoo HR module Thailand businesses use handles everything from employee contracts to monthly payslips in one place.
Most Thai businesses start with accounting or inventory, then expand into HR and payroll as they grow. And that's where Odoo genuinely shines. Because payroll isn't isolated, it connects directly to attendance, timesheets, leaves, and accounting. When you approve a payslip, the journal entries hit your accounts automatically. No manual upload. No human error.
Why It's Different From Generic Payroll Tools
Built-in Thai localization, not bolted on later
Connects payroll directly to accounting, HR, and attendance
Handles multi-company payroll if you run more than one entity
Generates PND1, SSF reports inside the system
Scalable from 5 employees to 500+
And unlike standalone Thai payroll software, Odoo grows with your business. You don't outgrow it.
Understanding Thai Payroll Compliance Before You Set Anything Up
Here's what most businesses get wrong. They jump straight into Odoo configuration without understanding the compliance layer first. Then they wonder why numbers don't match government forms.
Don't do that.
What Is SSF Contribution Thailand: And How Much?
The Social Security Fund (SSF), sometimes called SSO, requires both employers and employees to contribute 5% of salary each month, capped at a maximum salary base of THB 15,000. So the maximum monthly contribution per person is THB 750 from the employee and THB 750 from the employer.
The SSF contribution Thailand rules apply to all Thai employees. Foreign employees on work permits have different treatment depending on tax residency. Get that wrong and it shows up in audits.
PND1 Withholding Tax in Odoo: What It Is
PND1 is the monthly personal income tax withholding return. Every employer in Thailand must withhold tax from employee salaries and file PND1 with the Revenue Department by the 7th of the following month, or the 15th if filing online.
PND1 withholding tax Odoo configuration calculates this automatically once your salary structures and tax brackets are set correctly. Thailand uses a progressive tax rate, 0% up to THB 150,000 annually, scaling up to 35% for income above THB 5,000,000.
Thai Withholding Tax in Odoo: Guide to PND3 & PND53 Setup
Thai Employee Payroll Compliance Basics
Beyond SSF and PND1, Thai employee payroll compliance also includes:
Annual PND1K summary filing
Workmen's Compensation Fund (WCF) contributions
Provident fund contributions if applicable
Severance pay calculations based on tenure
Set these up correctly from day one. Retrofitting compliance into a live payroll system is painful, trust the experience.
Step-by-Step Odoo Payroll Setup for Thailand
Right. Let's get into the actual setup. This is where the Odoo payroll setup for Thailand process really begins.
Step 1: Install and Configure the Odoo HR Module
Go to Apps in your Odoo backend. Install Payroll and Employees modules. If you need attendance integration, install Attendances too. Make sure your company profile is complete, legal name, tax ID, address, and SSF registration number.
Step 2: Activate Odoo Localisation Thailand
This is the step most people skip, and it's the most important one. Under Settings > Accounting, select Thailand as your fiscal localization. This loads the Thai chart of accounts, VAT configuration, and the base structure for local tax reporting.
Odoo localization Thailand is what makes PND1 and SSF reports actually work. Without it, you're building payroll on an empty foundation.
Step 3: Set Up Salary Structures
In Payroll > Configuration > Salary Structures, create your salary structure. For most Thai businesses, this includes:
Basic salary
Housing allowance
Transport allowance
Overtime
SSF employee deduction (5%, max THB 750)
PND1 withholding tax deduction
Each line has a computation rule, fixed amount, percentage, or Python code for complex calculations. Keep it simple first. Add complexity only when the base works.
Step 4 — Configure SSF and PND1 Rules
For SSF contribution Thailand, create a salary rule with:
Category: Deduction
Computation: Percentage of Basic
Rate: 5%
Upper limit: THB 750
For PND1 withholding tax Odoo, use the progressive tax table built into Thai localization. Odoo calculates annual projected income and applies the correct bracket monthly. Double-check against the Revenue Department's current rates before going live.
Step 5: Add Employees and Run a Test Payslip
Add one employee with a complete profile — contract, salary, SSF number, tax ID. Then run a test payslip for the current month. Check every line. Verify the SSF deduction hits THB 750 if salary is above THB 15,000. Verify PND1 matches manual calculation.
Salary processing Odoo only feels reliable once you've validated it manually at least once. Run the test before processing for your whole team.
How to Generate Payroll Reports and Salary Slips in Odoo
Once payroll runs, the reporting side is where Odoo payroll setup for Thailand really saves time.
Salary Slips
Go to Payroll > Payslips. Select the batch, confirm, and print or email slips directly to employees. Odoo generates clean PDF payslips with all deductions itemized. Employees can also access slips through the self-service portal.
PND1 Monthly Report
Under Payroll > Reporting, you'll find the Thailand-specific PND1 report. Export it in the Revenue Department's required format for online filing. Since October 2023, online filing is mandatory, Odoo generates the file ready for upload.
SSF Monthly Report
The SSF contribution report lists each employee's contribution for the month. Export it and use it for your SSF online submission through the SSO portal. Some Odoo ERP partner Thailand implementations include direct API integration with SSO, worth asking about if you have 50+ employees.
How Long Does Odoo Payroll Setup Take in Thailand?
Honest answer? It depends on how prepared your data is.
Small business (under 20 employees): 1 to 2 weeks
Medium business (20–100 employees): 3 to 5 weeks
Large or complex (100+ or multi-company): 6 to 10 weeks
The biggest time killer isn't Odoo, it's messy employee data. Missing tax IDs, incorrect SSF numbers, undocumented allowances. Clean your HR data before you start configuration. That one step alone can cut setup time in half.
Odoo business process consulting engagements typically include a data audit before any configuration begins. It sounds like extra work. It always pays off.
Common Mistakes in Thai Payroll Setup
These come up constantly, even in businesses that have been running for years.
Wrong SSF Calculation Base
Some businesses calculate SSF on total compensation including bonuses. Wrong. SSF applies to regular monthly wages only, capped at THB 15,000 base. Calculate it on gross variable pay and you'll over-deduct, which creates headaches during annual reconciliation.
Missing PND1 Tax Brackets
Thailand updated its personal income tax structure. If your Odoo payroll setup for Thailand is running on outdated brackets, every payslip is wrong. Check the Revenue Department's current rates and update your salary rules accordingly.
Skipping Odoo Localization Thailand
We mentioned this already. But it's worth repeating, skipping Odoo localization Thailand means your reports won't match government formats. You'll end up exporting data and reformatting it manually every month. That defeats the purpose entirely.
Not Testing Before Going Live
Running the first real payroll without a test run is a mistake every consultant has seen at least once. One wrong rule multiplied by 50 employees is a very stressful afternoon.
Odoo vs Other Thai Payroll Software
So how does Odoo stack up against dedicated Thai payroll software like BambooHR, Payroll Hero, or local Thai solutions?
Feature | Odoo | Standalone Payroll Tools |
|---|---|---|
Thai SSF & PND1 built-in | Yes | Yes |
Connected to accounting | Yes | No |
Inventory & manufacturing link | Yes | No |
Customizable salary rules | Fully | Limited |
Cost for 20 users | Mid-range | Low to mid |
Scalability | High | Medium |
The honest take? If payroll is literally the only thing you need, a standalone tool might be simpler to start. But if you're also managing inventory, sales, manufacturing, or accounting , Odoo wins every time. You stop paying for five separate systems and manage everything in one place.
When to Get Help From an Odoo Consulting Expert
Not every business should set up Odoo payroll alone. Here's when it makes sense to bring in an Odoo ERP partner Thailand:
You have more than 30 employees
You run multiple entities or legal companies
You have complex allowance or commission structures
You've had compliance issues in the past
Your previous ERP implementation failed
A proper Odoo business process consulting engagement doesn't just configure the software. It maps your actual payroll process first, who approves what, how exceptions are handled, how terminations are processed. Then it builds Odoo around that process. Not the other way around.
That's the difference between a system your HR team actually uses every day, and one they work around.
Conclusion
Getting the Odoo payroll setup for Thailand right isn't complicated, but it does require doing things in the right order. Understand your compliance obligations first. Set up localization properly. Test before going live. And if the complexity is beyond your team's bandwidth, bring in someone who's done it before.
Thai payroll compliance isn't something you want to figure out through trial and error. The Revenue Department and SSO don't accept "we're still setting up our system" as a reason for late filing.
Ready to get your Odoo payroll running correctly in Thailand? Contact us now to talk to an Odoo expert at Elevanta.
FAQs
1. How do I set up SSF contributions in Odoo for Thailand?
In Payroll > Configuration > Salary Structures, create a deduction rule set to 5% of basic salary with a THB 750 monthly cap. Apply it to both employee and employer contribution lines separately.
2. Does Odoo automatically calculate PND1 withholding tax?
Yes, once Thai localization is activated and your salary structures are configured correctly, Odoo calculates PND1 automatically using Thailand's progressive income tax brackets.
3. Is Odoo payroll compliant with Thai labor law in 2026?
Odoo's Thai localization covers SSF, PND1, and standard payroll compliance. You still need to verify your salary rules match current Revenue Department rates, as tax brackets can update annually.
4. What is the SSF contribution rate in Thailand in 2026?
Both employer and employee contribute 5% of monthly wages, capped at a salary base of THB 15,000. Maximum monthly contribution is THB 750 per side.
5. Do I need an Odoo partner to set up payroll in Thailand?
Not always, but for businesses with 30+ employees, complex structures, or previous compliance issues, working with an experienced Odoo ERP partner Thailand saves significant time and avoids costly mistakes.