Odoo UAE VAT Setup: A Practical Guide

In almost every UAE Odoo project I run, VAT is the first place the implementation either quietly gets it right or quietly stores up trouble. It is not the hardest part, but it is the least forgiving — a tax code on the wrong customer, or a manual journal that skips the tax grids, does not fail loudly. It fails three months later, when the VAT201 numbers do not tie out and you are two days from the deadline. This is how I set it up so that does not happen.

First, a quick check on whether this applies to you. The Federal Tax Authority (FTA) requires registration once taxable supplies and imports cross the mandatory threshold of AED 375,000 — measured over the trailing twelve months or expected within the next thirty days — with a voluntary threshold at AED 187,500. If you are reading this, you are almost certainly registered or about to be, so let us get Odoo ready.

Start with the UAE localization package

The most useful thing to know is that you do not build UAE VAT from scratch: Odoo ships a dedicated United Arab Emirates fiscal localization that does most of the structural work for you. Per Odoo's 19.0 documentation it arrives as three modules: l10n_ae, the "Default fiscal localization package for the UAE"; l10n_ae_reports, which "Adds VAT and corporate tax reporting capabilities"; and l10n_ae_pos, which "Adds local compliance behavior for PoS receipts." If you run retail or F&B, install that third module before you configure point of sale, not after.

What you get, in Odoo's own words, is "a fully configured accounting setup aligned with national VAT and corporate tax regulations," including "a localised chart of accounts, VAT-compliant tax groups, standard journals, fiscal year configurations, and reporting features that ensure accuracy and compliance with the Federal Tax Authority (FTA)." The chart, the tax codes and the reports all land pre-wired to each other, so resist the urge to rebuild any of it — every account you invent outside the localised chart is one the VAT201 does not know about.

Getting the tax configuration right

Odoo's localization "includes preconfigured VAT rates and taxes as defined by the FTA: Standard VAT (5%), Zero-Rated VAT (0%), Exempt VAT, Import VAT, and Out of Scope categories." That short list is the whole game, and the gaps between the categories are where I see the most confusion. What each is for:

  • Standard VAT (5%) is the default — the UAE's standard rate, set at 5% by Federal Decree-Law No. 8 of 2017, whose Article 2 imposes "a standard rate of 5% ... on any supply or import." Most of what a trading business sells sits here.
  • Zero-Rated VAT (0%) is taxable, but at zero percent. This is not the same as exempt — a zero-rated supply still counts as a taxable supply.
  • Exempt VAT is genuinely outside the tax: no VAT charged, and different input-recovery treatment from zero-rated. Confusing the two is the classic error, and I come back to it below.
  • Import VAT and Out of Scope round out the set, with import VAT tied to the reverse-charge handling next.

In Odoo the tax you assign drives the numbers on the return. Get the category right on the master data and the reports look after themselves; get it wrong and no month-end reconciling will save you.

Fiscal positions and imports

Imports are where UAE VAT gets its own mechanism. Odoo documents a Reverse Charge Mechanism (RCM) that "transfers the obligation to account for VAT from the non-resident supplier to the UAE VAT-registered recipient," who then declares that VAT as both output VAT and input VAT on the return. In plain terms: buy from an overseas supplier who does not charge you UAE VAT, and you account for it on both sides yourself — for a fully recoverable business the two entries net to nothing in cash, but both must appear.

The tool that makes this automatic is the fiscal position. Odoo lists "Fiscal positions (tax and account mapping): automated tax adjustments to handle local and cross-border transactions" as a core feature. A fiscal position swaps the tax and account on a transaction based on who the other party is: set your foreign suppliers to the import/reverse-charge position once, and every bill from them picks up the right treatment automatically. Reverse charge is far too easy to forget to leave to manual entry.

The VAT201 return in Odoo

When the period closes, the payoff is the return. Odoo's VAT return (VAT201) report captures "Output VAT, Input VAT, Reverse charge VAT, and Zero-rated and exempt sales," is structured to align with the official FTA format, and exports to Excel and PDF for submission. Notice what that does not mean: it gives you the numbers in the FTA's shape, ready to file — it does not file them for you.

So before I export anything, I reconcile: I tie the VAT control accounts back to the return figures, check that reverse-charge output and input match, and hunt for any transaction sitting on the wrong tax — or on no tax at all. The FTA gives registrants 28 days from the end of the tax period to file and pay, and it is the reconciliation, not the filing, that eats that time. Do it early, not on day 27.

The practical rule I give every UAE client: never post VAT with a raw manual journal entry, and never leave a period open once you have filed it. Those two habits prevent most of the return errors I am ever called in to fix.

Mistakes I keep fixing

After enough cleanups, the same four mistakes account for most of the VAT pain I get called in on — none of them Odoo failing, all of them configuration and discipline, which is why they are avoidable:

  • Wrong tax on the customer or product master. If the default tax on a partner or product is wrong, every document inherits the error silently. Fixing the masters is cheaper than fixing a quarter's worth of invoices.
  • Treating exempt and zero-rated as the same thing. They behave differently on the return and carry different input-recovery consequences. If you are not certain which a supply is, that is a question for your tax advisor before you post, not after.
  • Manual journal entries that bypass the tax grids. Book VAT with a raw journal entry instead of a tax-coded invoice or bill and the amount hits the ledger but not the tax report — so the return quietly understates. If it involves VAT, it should carry a tax code.
  • Not locking the period after filing. Once you have filed, lock the period — nothing is more awkward than a backdated entry dropping into a period you already submitted and silently making your filed return wrong.

What is coming next: e-invoicing

One thing the localization does not cover is e-invoicing, and I check this on every project because clients assume it is bundled. It is not: Odoo's UAE fiscal localization documentation does not mention e-invoicing, PINT AE, Peppol or an Accredited Service Provider anywhere, and the UAE is not on Odoo's official list of Peppol-eligible countries in the 19.0 documentation. That does not let you ignore the UAE's e-invoicing mandate — it means planning for it as a separate workstream rather than assuming your VAT setup already handles it. I cover the mandate and Odoo readiness in a dedicated guide, linked below.

This article is implementation guidance on configuring Odoo — it is not tax advice. VAT rates, thresholds and filing rules change, and how they apply depends on your business. Always confirm the current rules and your own obligations with the Federal Tax Authority at tax.gov.ae, or a qualified tax advisor, before you act.

Frequently asked questions

What VAT rates does Odoo's UAE localization include?
Per Odoo's 19.0 documentation, the UAE localization ships preconfigured VAT rates and taxes as defined by the FTA: Standard VAT at 5%, Zero-Rated VAT at 0%, Exempt VAT, Import VAT, and Out of Scope categories. You do not build these tax codes yourself — installing the localization gives you the full set, already mapped to the localised chart of accounts, ready to assign to your products and partners.
Does Odoo produce the FTA VAT201 return?
Yes. Odoo's UAE localization includes a VAT return (VAT201) report that captures Output VAT, Input VAT, Reverse charge VAT, and Zero-rated and exempt sales, structured to align with the official FTA format, and it exports to Excel and PDF for submission. It does not file the return for you — you still submit it through the FTA, so reconcile the figures before you export.
Does Odoo's UAE localization support e-invoicing or Peppol?
Not in the core documented localization. Odoo's UAE fiscal localization pages, covering the l10n_ae, l10n_ae_reports and l10n_ae_pos modules, do not mention e-invoicing, PINT AE, Peppol or an Accredited Service Provider, and the United Arab Emirates is not on Odoo's official list of Peppol-eligible countries in the 19.0 documentation. Treat UAE e-invoicing as a separate readiness project rather than something the standard VAT localization already handles.
When do I have to file my UAE VAT return?
The FTA requires registrants to file the VAT return and make the related payment within 28 days from the end of their tax period. The FTA's filing page does not itself state whether a given registrant's period is monthly or quarterly, so confirm your own period length and deadlines with the Federal Tax Authority at tax.gov.ae or your tax advisor.

Related reading

More guides from my desk: the UAE e-invoicing mandate and your Odoo ERP — the compliance step that sits right after VAT, and the one Odoo's core localization does not yet cover; Odoo Community vs Enterprise — how to choose — the edition decision underneath which accounting and VAT reporting tools you actually get; and what actually drives Odoo implementation cost in the UAE — where VAT configuration sits inside the wider project budget.

Want your VAT setup checked by someone who has done it before?

I'm Muhammad Salman Ali Khan, an Odoo Techno-Functional Consultant in Dubai and Head of Projects at Techbot Information Technology LLC, a UAE Odoo partner — 10+ years, 100+ implementations, certified across Odoo v13, v14, v15, v16, v18 and v19, and I presented Odoo 19's new features at Odoo Experience 2025 in Brussels. Tell me about your setup and I'll give you a scoped, honest view of what getting your VAT right in Odoo actually involves — at no cost.

Get a free business evaluation