Thai Localization - VAT and Withholding Tax
This module address 2 main tax requirement in Thailand
1. Tax Invoice (VAT)
Point of tax invoice can occur either on Invoice (VAT) or on Payment (Undue VAT on invoice become VAT on payment)
2. Withholding Tax
This is the tax that is deducted during payment. There are 2 kinds of withholding tax calculataion.
Fixed rate of based amount, i.e., service 3%
Progressive rate of accumulated amount, i.e., personal income tax
Table of contents
Configuration
Tax Invoices
Preparing Undue Tax
Use Developer Mode
In Chart of Account, add new account for Undue Tax, if not already exists.
As admin, add access rights Show Full Accounting Features
Go to Invoicing > Configuration > Settings and select Cash Basis, this will open cash basis options in Tax master data
Go to Invoicing > Configuration > Accounting > Taxes, create new undue tax for both sales and purchase
For Sales Taxes (tax scope = Sales), there is option to run Tax Invoice number by sequence model. If set properly, Tax Invoice Number will be using this sequence instead of customer invoice number / payment number
Goto Invoicing > Configuration > Accounting > Taxes
For sales tax, choose ‘Tax Invoice Sequence’ (or create new one)
Make sure you also set the same sequence for the same tax on payment too. I.e., Output VAT7% and Undue Output VAT7% must select the same sequence, both of them will result in same Tax Report
Note: this option is not avaiable for purchase tax, because the Tax Invoice Number is from vendor, and are filled manually.
Preparing Zero Tax Line
If you want tax lines with zero amount (such as 0% tax) to be shown in journal entries, follow these steps:
Go to Invoicing > Configuration > Settings and select Keep Zero Line Taxes,
Create an invoice or bill and select a tax with 0% rate
Go to Journal Items, and you will see a tax line created with zero value
Withholding Tax and Personal Income Tax (PIT)
Setup account related to withholding tax will help set default tax amount when create certificate from payment.
Go to Invoicing > Configuration > Accounting > Chart of Accounts
Search for withholding tax related account > Setup
Check “WHT Account”
Go to Invoicing > Configuration > Accounting > Withholding Tax
Create withholding Tax (normal and personal income tax)
Configured Withholding Tax by Product (optional)
Go to Invoicing > Customers or Vendors > Products
Select product that you need withholding tax
Add Withholding Tax on General Information Tab (Invoices) / Purchase Tab (Bills)
Configure Personal Income Tax Rate
Go to Invoicing > Configuration > Accounting > PIT Rate
Change range or tax rate (if any)
Configure PIT Withholding Tax as following,
Go to Invoicing > Configuration > Accounting > Withholing Tax
Create new Withholding Tax for PIT and check Personal Income Tax checkbox
PIT Rate that will be used to calculate the withholding amount will be shown
You can set default Withholding Tax on the Product’s Purchase Tab
Usage
Tax Invoice
With this, 2 new tax related fields will be introduced in account.move.tax.invoice
tax_invoice_number : Tax Invoice Number
tax_invoice_date : Tax Invoice Date
In customer invoice, both field will be defaulted by Odoo’s document number and date. But in supplier invoice, both field must be filled by user with tax invoice number and date from vendor.
Note: The new table account.move.tax.invoice is the main source of Thai VAT Report
Case Customer Invoice and Payment
Create new customer invoice and choose to use sales’ VAT or Undue VAT
Process invoice and payment as per normal, Odoo document number and date should be used as Tax Invoice Number/Date
Case Supplier Invoice/Payment
1) Case Input VAT
Create new vendor bill and choose Input VAT
At vendor bill’s tax invoice tab, fill in 2 new fields, Tax Invoice and Tax Date given by your vendor
Validate this vendor bill, the given Tax Invoice Number and Tax Date are set in account.move.tax.invoice
2) Case Undue Input VAT
Create new vendor bill and choose Undue Input VAT
Validate vendor bill, journal entry will be created with Undue VAT
Register payment as per normal, this will create new payment document as per normal
From this process, the journal entry (cash basis) for clear undue is created, but it will be in state Draft
Go to payment document, in tax invoice tab, fill in Tax Invoice Number and Tax Date
Click on Clear VAT button, the journal entry (cash basis) for clear undue will now be Posted
Withholding Tax
From bills / invoices that require withheld tax,
Create invoice and Fill withholding tax in Field WT at Invoice Lines tab.
Post > Register Payment.
System will auto computed amount include withholding tax.
Note
if you configured withholding tax on product, it fill withholding tax in field WT automatic.
for invoices with withholding tax,
you can’t make payment to multiple invoices belongs to multiple partners.
you can only make payment to multiple invoices belongs to the same partner (using Group Payments).
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Contributors
-
Kitti U. <kittiu@ecosoft.co.th>
Saran Lim. <saranl@ecosoft.co.th>
Pimolnat Suntian <pimolnats@ecosoft.co.th>
Maintainers
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
Current maintainer:
This module is part of the OCA/l10n-thailand project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Metadata
Release files for odoo-addon-l10n-th-account-tax 19.0.1.0.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| odoo_addon_l10n_th_account_tax-19.0.1.0.0.8-py3-none-any.whl | Python 3 | none | any | Details for odoo_addon_l10n_th_account_tax-19.0.1.0.0.8-py3-none-any.whl |
Release files / odoo_addon_l10n_th_account_tax-19.0.1.0.0.8-py3-none-any.whl
| Download URL | odoo_addon_l10n_th_account_tax-19.0.1.0.0.8-py3-none-any.whl |
|---|---|
| Size | 95.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a66ee8b03f65ebc56f3a5161e9c9c949ce49db3d3202bcce0f2de5d2f29d37db
|
|
BLAKE2b-256 checksum How to use checksums |
40a76662185e57e61d166314f08d36923fba1718a7aa36271510291795f95284
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for odoo-addon-l10n-th-account-tax 19.0.1.0.0.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.