Thai Localization - Account Tax Invoice
Thai Localization - Account Tax Invoice
This module address the undue tax requirement for Thailand
In Odoo, cash basis feature is being used to cover case of undue tax (due on payment). This can answer the issue about undue tax in Thailand partially. For customer invoice/payment, Odoo's cash basis alone is enough.
But for supplier invoice/payment and expense, where tax invoice number and tax date is given from vendor. This module will provide ways for user to do so on vendor bill (for normal tax) and in supplier payment (for undue tax which is due on payment).
This is an alpha version, the data model and design can change at any time without warning. Only for development or testing purpose, do not use in production. More details on development status
Table of contents
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 Accounting > Configuration > Invoicing > 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 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.
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
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
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
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 smashing it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
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.
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.
Once the user has seen at least one product this snippet will be visible.