This module ensures that only one VAT tax can be selected because the invoices (at least in Belgium) must have one and only one VAT tax per line. So this module comes to complete the OCA module account_invoice_tax_required which ensures a line has a tax. It deals with taxes on these objects: * account move line (onchange warning only) * product template for both customer and supplier (constraint only)
The module adds two computed fields on product - vat_id and vat (vat_id.name) - which might be set if the restriction is on.
It also adds a boolean field in the account.tax model to indicates the tax is a VAT.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Lets you mark taxes as VAT and, when enabled per company, prevents selecting more than one VAT tax on invoice lines and on products. It warns or blocks the user so each line keeps a single VAT tax.
This module adds a "VAT tax" checkbox on each tax, so you can tell Odoo which taxes are real VAT taxes. In the Taxes list you can also filter taxes by "VAT".
In Accounting settings, under the default taxes section, a new option "One VAT tax only" can be switched on per company. When it is on:
- On an invoice or bill line, if you pick more than one tax marked as VAT, Odoo shows a warning immediately. When you try to post the invoice, Odoo stops you with an error naming the offending line.
- On a product, for both customer taxes and vendor taxes, Odoo blocks saving if more than one VAT tax is selected, and also warns while you are editing.
Products also get two read-only fields, "VAT" and "VAT name", which show the single VAT tax found on the product when the option is active. The module touches invoices (account.move), invoice lines (account.move.line), taxes (account.tax), products (product.template), companies (res.company) and the Accounting settings screen (res.config.settings).
Depends on
Required by other modules
Models and fields (7)
- account.tax · extends an existing modelis_vat (VAT tax)
- res.company · extends an existing modelaccount_tax_one_vat (One VAT tax only)
- account.move · extends an existing model
- one.vat.mixin · new model
- product.template · new modelvat (VAT name), vat_id (VAT)
- account.move.line · new model
- res.config.settings · extends an existing modelaccount_tax_one_vat
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 2 confirmed, 7 with no information of 9 versions.
Sources · Odoo 16.0
Confirmed on 2026-11-03 in branch 16.0 of OCA/account-invoicing.
terminal Installation and usage
OCA documentation · Odoo 18.0Usage
Source · Odoo 18.0Use one of these paths to reach the setting:
- Settings - Invoicing - Taxes
- Invoicing - Configuration - Settings - Taxes
Once there find the 'One VAT tax only' option that you can check/uncheck.
For a specific tax you can find the option to indicates it's a VAT under the Advanced Options in the form view.
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.