Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Thai Localization - Account Vendor Tax Invoice

Project description

License: AGPL-3 OCA/l10n-thailand Translate me on Weblate Try me on Runbot

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, 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).

Note : This module also delete line in journal entry are not used and Remove required field Base Tax Received Account.

Table of contents


To install this module, you need to install the hook addon account_create_tax_cash_basis_entry_hook

Then, simply install l10n_th_vendor_tax_invoice.


With this, 2 new tax related fields will be introduced in account.move.line

  1. tax_invoice : Tax Invoice Number
  2. tax_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: These 2 fields will be also be used in Thai VAT report, with the intention that every report should be coded out of account.move.line

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

As mentioned earlier, customer side operation do not affected by this module. But we should still now see the new Tax Invoice Number and Tax Date field in account.move.line

  • 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
  • To check Tax Invoice Number and Date in relevant journal items, go to Invoicing > Accounting > Journal Items, then click to expand

Case Supplier Invoice/Payment

1) Case Input VAT

  • Create new vendor bill and choose Input VAT
  • At vendor bill’s tax table, 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 should be used in account.move.line
  • To check Tax Invoice Number and Date in relevant journal items, go to Invoicing > Accounting > Journal Items, then click to expand

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, ​select Key-in tax invoice number/date from supplier, and 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
  • To check Tax Invoice Number and Date in relevant journal items, go to Invoicing > Accounting > Journal Items, then click to expand

Changelog (2019-03-07)

  • Start of the history (2019-06-04)

  • Change field name (2019-06-11)

  • Delete line in journal entry is not used
  • Delete required field Base Tax Received Account

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 smashing it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.



  • Ecosoft



This module is maintained by the OCA.

Odoo Community Association

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

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for odoo12-addon-l10n-th-vendor-tax-invoice, version
Filename, size File type Python version Upload date Hashes
Filename, size odoo12_addon_l10n_th_vendor_tax_invoice- (37.8 kB) File type Wheel Python version py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page