Thai Withholding Tax in Odoo is a built-in feature that helps businesses in Thailand deduct tax at the source. When you pay a freelancer or a vendor, Odoo automatically calculates the correct tax amount. It then tracks that amount and prepares it for the Revenue Department filing, all inside one system.
Thai law requires every registered company to handle withholding tax every month. Missing a deadline or filing the wrong form leads to penalties. Finance teams, accountants, and business owners in Thailand need a system that makes this process fast, clean, and error-free. Odoo's Thai localization does exactly that.
What Is Withholding Tax in Thailand?
Withholding tax (WHT) is a tax deducted before payment reaches the supplier. The payer holds back a percentage. That amount goes directly to the Thai Revenue Department.
The supplier does not lose that money forever. They can use it as a tax credit when they file their own annual return.
Why Every Thai Business Must Know This
Every company that makes qualifying payments in Thailand must follow this rule. This includes payments for services, rent, consulting, advertising, and transportation.
Skipping this step is not an option. The Thai Revenue Department checks these reports monthly. Non-compliance results in fines and legal risk.
PND3 vs PND53: What Is the Difference?
There are two main forms: PND3 and PND53. Many business owners confuse them. The difference is simple; it depends on who you are paying.
What Is PND3?
PND3 applies when you pay a person. This includes:
Freelancers
Independent consultants
Contractors who are not company employees
The common tax rate is 3% to 5%, depending on the service type.
Real Example: You hire a freelance designer and agree to pay 10,000 THB.
Item | Amount |
|---|---|
Total agreed payment | 10,000 THB |
Withholding Tax (3%) | 300 THB |
You pay the designer | 9,700 THB |
You submit to the Revenue Dept. | 300 THB via PND3 |
What Is PND53?
PND53 applies when you pay a registered company or juristic person. This includes:
IT service companies
Advertising agencies
Maintenance firms
Any vendor registered as a legal entity
Real Example: You receive an invoice from an IT company for 20,000 THB.
Item | Amount |
|---|---|
Invoice total | 20,000 THB |
Withholding Tax (3%) | 600 THB |
You pay the company | 19,400 THB |
You submit to the Revenue Dept. | 600 THB via PND53 |
The key rule: individual = PND3, company = PND53. Getting this wrong is one of the most common compliance mistakes in Thailand.
Filing Deadlines You Must Know
Both PND3 and PND53 are monthly filings. Every company must submit them the following month, even if no WHT was deducted that month.
Filing Method | Deadline |
|---|---|
Paper submission | 7th of the following month |
Electronic (e-Filing via RDprep) | 15th of the following month |
Missing these deadlines results in automatic penalties from the Thai Revenue Department. Most businesses now use e-Filing to get the extended deadline.
How Odoo Handles Thai Withholding Tax
This is where the Thai Withholding Tax in Odoo setup becomes a major advantage. Odoo has a dedicated localization module for Thailand called l10n_th. It comes with everything your business needs out of the box.
The Thai Localization Module (l10n_th)
Once installed, the module automatically creates:
Pre-configured WHT rates: 1%, 3%, and 5%
A Thai Chart of Accounts
A dedicated Withholding Tax Payable account
Ready-made structure for PND3 and PND53 tax reporting
You do not need to build any of this manually. Odoo's Odoo Thai Localization package handles the base setup automatically.
Step-by-Step Setup Guide
Follow these four steps to get your Odoo Thailand Tax Setup running correctly.
Step 1: Install Thai Localization in Odoo
Start by installing the official Thai accounting module.
Go to the Apps dashboard in Odoo
Search for l10n_th
Click Install
Once installed, Odoo automatically creates the Thai Chart of Accounts, WHT payable accounts, and standard tax rates. This is the foundation of your entire Withholding Tax Thailand Guide inside Odoo. This simple step completes your initial Odoo Implementation setup.
Step 2: Apply WHT on Vendor Bills
Every time you receive a service invoice, you must apply the correct WHT rate.
Go to Accounting → Vendors → Bills.
Create a new bill and add line items
Under the Taxes field, select the correct rate:
WHT 3% Service for most consulting and IT services
WHT 5% for transportation and certain professional fees
Odoo automatically calculates the deduction and reduces the amount payable to your vendor
The system handles the math. You just select the right rate.
Step 3: Generate PND3 & PND53 Reports
At month-end, you need to compile all your WHT deductions and prepare the filing.
Go to Accounting → Reporting → Tax Report.
Set your date range for the month
Click PND3 or PND53, depending on the vendor type
Odoo generates a CSV file, Tax Report PND3.csv or Tax Report PND53.csv
Upload this file directly to the Thailand e-Filing RDprep portal (efiling.rd.go.th)
Important: Odoo does not generate the final official PDF form directly. The CSV export is designed to be uploaded to the RDprep tool, which then creates the official government form. This is the standard workflow for Odoo Accounting Thailand compliance.
Step 4: Record Payment to the Revenue Department
Once you have filed the report, record the payment inside Odoo to clear the liability.
Go to Accounting → Payments → Create
Set the Partner as "Revenue Department"
Enter the total WHT amount collected for the month
Set the Destination Account as "Withholding Tax Payable"
Confirm and post the payment
This closes the WHT payable account for that month and keeps your books clean and accurate.
Common Mistakes Thai Businesses Make
Even with Odoo set up correctly, mistakes happen. Here are the four most common errors to avoid.
1. Selecting the wrong tax rate, Using 3% when it should be 5%, or vice versa, leads to incorrect filings. Always confirm the service type before selecting the rate.
2. Not filing when no WHT was deducted. Even if you made no qualifying payments that month, you must still submit a nil report. Skipping this is a compliance violation.
3. Mixing up PND3 and PND53 vendor, paying a company but filing under PND3, or the reverse, is one of the most common errors. Always verify if your vendor is an individual or a registered entity.
4. Forgetting to record the Revenue Department payment in Odoo. Filing the report without posting the payment inside Odoo leaves an open liability in your books. Always complete Step 4 every month.
Benefits of Managing WHT Inside Odoo
Setting up Thai Withholding Tax in Odoo correctly gives your business a serious compliance advantage.
No more Excel errors: Odoo auto-calculates every deduction
Correct rates applied every time: pre-configured tax rates remove guesswork
Monthly WHT summaries ready instantly: no manual compiling at month-end
Full audit trail: every bill, deduction, and payment is recorded and traceable
Faster month-end closing: your accountant saves hours every month
e-Filing ready: CSV export plugs directly into Thailand's RDprep portal
WHT certificates available: suppliers can receive their tax credit documentation
For any business using PND3 PND53 Odoo reporting, this level of automation is a major upgrade from spreadsheets.
Conclusion
Thai Withholding Tax is a monthly legal requirement. Every qualifying payment you make to an individual or company must be deducted, tracked, and reported. Getting this wrong costs money and creates legal risk.
The Thai Withholding Tax in Odoo setup removes most of that risk. The l10n_th module, vendor bill workflow, PND report generation, and payment recording all work together within a single system. Your finance team spends less time on manual work and more time on things that grow the business. If your Odoo is not yet set up for Thai WHT, or if you are not sure it is configured correctly, now is the time to fix it.
Book a free ERP consultation with Elevanta. We are an official Odoo partner in Thailand with hands-on experience in Thai tax localization. We will review your setup and make sure your PND3 and PND53 reporting is accurate, automated, and fully compliant.
Frequently Asked Questions
1. What is the difference between PND3 and PND53 in Thailand?
PND3 is used when you withhold tax from payments made to individual persons, such as freelancers and contractors. PND53 is used when you withhold tax from payments made to registered companies or juristic persons. The form you use depends on the legal status of the person or business you are paying.
2. How do I install Thai Withholding Tax in Odoo?
Go to the Apps dashboard in Odoo, search for l10n_th, and click Install. Once installed, Odoo automatically sets up the Thai Chart of Accounts, standard WHT rates of 1%, 3%, and 5%, and the Withholding Tax Payable account. No manual configuration is needed for the base setup.
3. What happens if I miss the PND3 or PND53 filing deadline in Thailand?
Missing the filing deadline results in penalties from the Thai Revenue Department. Paper filings are due by the 7th of the following month. Electronic filings via the RDprep e-Filing portal are due by the 15th. Late or missing submissions can also trigger audits.
4. Can Odoo automatically generate PND3 and PND53 reports?
Yes. Odoo generates a CSV file for both PND3 and PND53 through the Tax Report section under Accounting → Reporting. This CSV is formatted for direct upload to Thailand's RDprep e-Filing portal. Odoo does not generate the final PDF form itself; the RDprep tool converts the CSV into the official government format.
5. Do I need to file PND3 even if I made no WHT deductions that month?
Yes. Thai law requires companies to submit a PND3 or PND53 report every month, even if no qualifying payments were made and no tax was withheld. Failing to submit a nil report is still considered non-compliance and can result in a penalty from the Thai Revenue Department.