Skip to content
TAQNIX
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on TAQNIX

Accounting Pro GCC VAT Returns for Odoo 19 Community documentation

A guide to Accounting Pro GCC VAT Returns: mapping the taxes, the UAE VAT 201 and KSA worksheets, the return workflow, the reconciliation with the general ledger, the transactions per box, the PDF and Excel worksheet and the FTA Audit File.

Documents version 1.0.0Updated Oct 29, 2026

Start here

In plain words: Accounting Pro GCC VAT Returns prepares the UAE VAT 201 and the KSA VAT return as worksheets, from the posted journal items of your books. It fills the boxes by emirate, reverse charge, imports, credit notes and cash basis taxes, checks them against the general ledger, keeps every return with a draft, computed, reviewed, filed workflow and an audit log, and writes the UAE FTA Audit File (FAF). It never files anything: you copy the figures into EmaraTax or the ZATCA portal yourself and then record the filing reference in Odoo.

Who it is for: accountants and VAT managers of companies in the United Arab Emirates and Saudi Arabia, and the tax agents and auditors who work with them.

Important: This add-on is an accounting tool, not tax or legal advice. It does not connect to the FTA or to ZATCA and it makes no e-invoices (no Peppol, no ZATCA FATOORA XML or QR code). The laws, the forms and the portals change: check every figure against the current official rules of the FTA or ZATCA before you file. The chapters Accuracy and Limits say what was checked against official documents and what was not.

The examples: the pictures show a demo company, Atlas Trading LLC (UAE), in AED, with the TRN 100512398700003 and quarterly returns. It uses a generic chart of accounts with its own UAE taxes: Odoo’s UAE localization is not installed. The company has 153 invoices, bills and credit notes from January to October 2026, issued for three emirates (Dubai, Abu Dhabi and Sharjah). The returns VAT 201 Q1 2026 and Q2 2026 are filed, Q3 2026 is reviewed and not filed. Today in the demo is 28 October 2026 and Amira Saleh (administrator) is the person you see. The figures in the text are the figures in the pictures.

Tip: To see it at work, open Accounting → Accounting → VAT → VAT Returns and open VAT 201 Q3 2026.
The add-on in four views: the VAT Return report, a return with its workflow, the FTA Audit File dialog and the PDF worksheet.
The add-on in four views: the VAT Return report, a return with its workflow, the FTA Audit File dialog and the PDF worksheet.

What you get

In plain words: A set of tools to map your taxes to the boxes of the form, compute and review each return, keep the proof, and export the audit file. Everything is built on the journal items of Accounting Pro.
FeatureWhat it does
Tax mapping wizardProposes a VAT return code for each tax you use; you check it and apply it.
VAT codes on taxesThe return reads the code of each tax, never its name.
Emirate per documentStandard-rated supplies are split by emirate (boxes 1a to 1g) from the document or from the tax.
UAE VAT 201Boxes 1a to 14, with the Amount, VAT amount and Adjustment columns and the rounding of the form.
KSA VAT returnBoxes 1 to 16 of the ZATCA form, with the points that are not verified said on the screen.
Returns with a workflowDraft, computed, reviewed, filed (or cancelled). A filed return cannot change.
Corrections with reasonsAmount, VAT and adjustment can be corrected by hand in a saved return, each with a reason.
Log and reopenEvery step is logged; a VAT manager can reopen a filed return with a reason.
VAT Return reportThe worksheet on screen for any period, with comparison and a click on a figure to open its journal items.
ReconciliationOutput and input VAT in the boxes against the balances of the VAT accounts of the general ledger.
VAT Transactions DetailThe documents behind each box, with the partner TRN: the audit support of a return.
PDF and ExcelA landscape PDF worksheet with a declaration and signature boxes, and an Excel file with real numbers.
FTA Audit FileThe UAE FAF layout FAFv1.0.0 with checks before the export and an export log with a SHA-256 of each file.
TRN checksFormat checks of the company and partner tax registration numbers.
Dashboard cardVAT payable on the Accounting Dashboard.
Settings and groupsA settings block for each company and two access groups.
ArabicTranslated; the form is bilingual: every box shows its English and Arabic label.

Requirements

In plain words: The add-on needs Accounting Pro 1.0.2 or later. Without it Odoo does not install it.
ItemDetails
Odoo19.0 (Community or Enterprise)
Apps neededAccounting Pro 1.0.2 or later (taqnix_accounting_pro), which needs Accounting (account). Nothing from Odoo Enterprise is needed.
LicenseOPL-1 (Odoo Proprietary License v1.0)

What your company needs to use it:

ItemWhat it needs
The return formA company whose VAT return form is UAE - VAT 201 or KSA - VAT return. The form is proposed from the fiscal country of the company (see Settings).
Journal itemsPosted invoices, bills and credit notes with taxes. The return reads them; it has nothing to read without them.
FTA Audit FileA company TRN of 15 digits, and the company currency AED (or AED exchange rates for the dates of the period).
Odoo localizationsThe Odoo UAE and Saudi localizations are not required. When they are installed, the mapping wizard recognises their taxes.
PDF fileswkhtmltopdf, as for every Odoo PDF report.

Install

In plain words: Copy the module folder into your addons, restart Odoo and install Accounting Pro GCC VAT Returns from Apps. Accounting Pro must be installed first.
  1. Unzip the package. Inside is taqnix_accounting_pro_gcc_vat.zip; unzip it to get the folder taqnix_accounting_pro_gcc_vat.
  2. Copy the folder into one of the addons_path folders of your Odoo server and restart Odoo.
  3. Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
  4. Remove the “Apps” filter, search GCC VAT and press Install.
# or from the command line
./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_accounting_pro_gcc_vat --stop-after-init
Tip: Try it on a copy of your database first, as with any new module. It adds menus, two access groups, fields on taxes and documents, and records of its own. It does not change your journal items.

Then, in this order:

  1. Open Accounting → Configuration → Settings, block GCC VAT Returns: check the form, the filing frequency, the quarters and the default emirate (chapter Settings).
  2. Press Map the taxes and apply the codes that are right (chapter Map your taxes).
  3. Check the emirate of your sales documents (chapter Emirates and customs permits).
  4. Create the first return in Accounting → Accounting → VAT → VAT Returns and press Compute.

Map your taxes

In plain words: The return does not read the name of a tax: it reads its VAT return code. The mapping wizard proposes a code for every tax you use, and you apply the ones that are right.

Open it with Accounting → Configuration → Accounting → VAT Tax Mapping or with the link Map the taxes in the settings. It is for VAT managers.

Field or columnWhat it is
CompanyThe company whose taxes are listed.
Taxes used in the last (months)Only the taxes with journal items in this period are listed. The default is 12.
Also list the active taxes without movementAdds the active taxes that were not used in that period.
Propose againReads the taxes again and rebuilds the list.
Tax, Tax TypeThe tax and whether it is a sales or a purchase tax.
Current codeThe code the tax has now.
By handTicked when the code was chosen by hand: the wizard never changes it.
Proposed code, WhyThe code the wizard proposes and the reason (a tax grid, the reverse charge repartition, a name or label, the rate). The amount and the current and proposed emirate are hidden columns you can show.
ApplyTick the lines to write. You can also change a proposed code before you apply.

Where the proposals come from, in this order:

  1. The tax grids of Odoo’s UAE and Saudi localizations (1(a) to 1(g) with the emirate, 2, 3, 4, 5, 6, 9; the KSA grids), when those localizations are installed.
  2. The reverse charge repartition: a tax with +100 % and −100 % tax lines.
  3. Names and labels in English and Arabic: excise or withholding means Not VAT; exempt, export, out of scope, tourist, import and citizen are recognised too.
  4. The rate: 0 %, 5 % for the UAE, 15 % for Saudi Arabia.

Groups of taxes are never coded: their children are. A code chosen by hand is never changed. Running the wizard twice changes nothing. A tax without a proposal stays empty: code it by hand on the tax form. Check every proposal before you apply it; the wizard reads names and rates, it does not know your transactions.

The first run of the wizard on Atlas Trading LLC (UAE): no current code yet, eight taxes with a proposed code and the reason (reverse charge repartition, rate,
The first run of the wizard on Atlas Trading LLC (UAE): no current code yet, eight taxes with a proposed code and the reason (reverse charge repartition, rate, name or label), all ticked in the column Apply. This picture was taken with the codes of the demo removed.
The same wizard after Apply: the current code equals the proposed code on every line and nothing is left to apply.
The same wizard after Apply: the current code equals the proposed code on every line and nothing is left to apply.

VAT return codes and the boxes they fill

In plain words: Every tax gets one VAT return code. The code decides which box of the form receives the base and the VAT of the tax.

On the tax form (Accounting → Configuration → Accounting → Taxes), tab Advanced Options, the group VAT return has three fields. VAT return code is the code. Emirate of the supplies appears only for UAE standard-rated and tourist-scheme sales taxes: use it for a tax made for one emirate, such as Odoo’s “5% DU”. Code proposed by the mapping wizard is ticked while the code is the wizard’s and not yours. The list of taxes has an optional column VAT return code.

CodeWhere it goesFAF code
UAE - Standard rated 5%Sales: boxes 1a to 1g by emirate. Purchases: box 9.SR
UAE - Zero-ratedSales: box 4.ZR
UAE - ExemptSales: box 5.EX
UAE - Out of scopeNo box.OS
UAE - Reverse charge (goods) and (services)Purchases: box 3 (the VAT you account for) and box 10 (the recoverable part).RC
UAE - Goods imported through customsPurchases: box 6 and box 10.RC
UAE - Tax Refunds for Tourists SchemeSales: boxes 1a to 1g (see box 2 in The UAE VAT 201).SR
KSA - Standard 15 %Sales: box 1. Purchases: box 7.SR
KSA - Sales borne by the governmentSales: box 2.SR
KSA - Zero-rated domesticSales: box 3. Purchases: box 10.ZR
KSA - ExportsSales: box 4.ZR
KSA - ExemptSales: box 5. Purchases: box 11.EX
KSA - Imports, VAT paid at customsPurchases: box 8.RC
KSA - Reverse charge imports and servicesPurchases: box 9.RC
Not VATIgnored by the return (excise, withholding).none

Zero-rated and exempt purchases are in no UAE box. A tax without a code is in no box: the return warns about it (see Troubleshooting).

The tax <em>Reverse Charge 5%</em> (purchases, services): the group VAT return of the tab Advanced Options shows the code UAE - Reverse charge (services), with
The tax Reverse Charge 5% (purchases, services): the group VAT return of the tab Advanced Options shows the code UAE - Reverse charge (services), with the box Code proposed by the mapping wizard ticked.

Emirates and customs permits

In plain words: Boxes 1a to 1g split the standard-rated supplies by emirate. The add-on needs to know the emirate of each supply, and the customs permit number of each import.

The FTA guide asks for the emirate of the establishment most closely connected to the supply. In Odoo you tell it in three ways:

  1. On the document. Invoices, bills, credit notes and receipts have the field Emirate (VAT) in the tab Other Info, group Accounting (companies on the UAE form only). It starts from the default emirate of the company. Miscellaneous journal entries do not show the field and take the default emirate.
  2. On the tax. A tax with an Emirate of the supplies (such as “5% DU”) wins over the document.
  3. Cash basis entries take the emirate of their invoice.

Supplies without an emirate are never dropped. They appear on their own line, Standard-rated supplies without emirate (in no box), and in a warning on the return.

Important: The emirate of a document cannot be changed once a filed return covers its date. Reopen the return first (see File, reopen and the audit log).

On vendor bills and refunds the field Customs permit number holds the permit of an import. It is written in the purchase listing of the FAF.

Customer invoice INV/2026/00057 for Bluepeak Consulting, 28 August, tab Other Info: fiscal position Domestic and Emirate (VAT) Abu Dhabi, so its VAT goes to box
Customer invoice INV/2026/00057 for Bluepeak Consulting, 28 August, tab Other Info: fiscal position Domestic and Emirate (VAT) Abu Dhabi, so its VAT goes to box 1a.
Vendor bill BILL/2026/09/0008 from Oriental Furniture Manufacturing Co. (China): fiscal position Foreign Trade, Emirate (VAT) Dubai and Customs permit number 10
Vendor bill BILL/2026/09/0008 from Oriental Furniture Manufacturing Co. (China): fiscal position Foreign Trade, Emirate (VAT) Dubai and Customs permit number 10120095598.

The UAE VAT 201, box by box

In plain words: The worksheet follows the boxes of the FTA’s VAT 201, with three columns: Amount (net of VAT), VAT amount and Adjustment. Every box is rounded to the fils (two decimals) and the totals are added from the rounded boxes, so the form adds up on paper.
BoxWhat it holdsHow the add-on fills it
1a to 1gStandard-rated supplies in Abu Dhabi, Dubai, Sharjah, Ajman, Umm Al Quwain, Ras Al Khaimah, Fujairah.Sales taxes coded standard rated (or tourist scheme), by emirate. Credit notes reduce the box. The Adjustment column takes negative VAT amounts only: bad debt relief and commercial property.
2Tax refunds provided to tourists.Typed by hand in the saved return. The FTA pre-fills it on EmaraTax from the refund operator. Sales made under the scheme stay in box 1; Odoo’s own UAE report puts them in box 2.
3Supplies subject to the reverse charge.Base of the reverse charge purchases and the VAT you account for.
4Zero-rated supplies.Base of sales coded zero-rated. Amount only.
5Exempt supplies.Base of sales coded exempt. Amount only.
6Goods imported into the UAE.Base of imports declared at customs and the VAT you account for.
7Adjustments to goods imported.Typed by hand in the saved return.
8Totals.Boxes 1a to 7.
9Standard-rated expenses.Base and recoverable VAT of the 5 % purchases. Fully blocked input VAT is left out; a partly recoverable tax keeps its full base. The Adjustment column takes supplier bad debts, the annual apportionment and the Capital Assets Scheme.
10Reverse charge supplies (recovery).The recovery of the VAT of boxes 3, 6 and 7.
11Totals.Box 9 plus box 10.
12Total value of due tax.Box 8 VAT plus box 8 Adjustment.
13Total value of recoverable tax.Box 11 VAT plus box 11 Adjustment.
14Payable tax for the period.Box 12 minus box 13. A negative figure is recoverable: you may ask for a refund in EmaraTax.

Corrections of earlier periods. The 2021 FTA guide lets you correct an error of an earlier period in the current return when its tax effect is not more than AED 10,000; above that it asks for a voluntary disclosure. The module does not check this limit, and it is not verified for 2026. Ask your tax adviser.

Profit Margin Scheme. The yes/no question of the return is a field on the return form. It is a question for you: it is not printed on the worksheet.

The list of VAT returns

In plain words: Accounting → Accounting → VAT → VAT Returns lists your saved returns, one row per return and period.
ColumnWhat it shows
NameFor example VAT 201 Q3 2026.
FormUAE - VAT 201 or KSA - VAT return.
From, ToThe tax period.
VAT due, Recoverable VAT, Net VAT payableBoxes 12, 13 and 14 of the UAE form.
Difference with the general ledgerThe reconciliation difference (see Reconciliation with the general ledger).
Filing reference, StateThe reference you recorded and the state. Company and filing date can be shown from the column selector.

Filed returns are green, drafts blue and cancelled returns grey. Filters: To prepare, Filed, Difference with the ledger, UAE VAT 201, KSA VAT return and Period. Group by status or year.

With New, the period proposed is the one after your last return; with no return yet, it is the last complete tax period of your settings. Two returns of the same company and form cannot overlap, a return covers at most one year, and a return cannot be duplicated.

The returns of Atlas Trading LLC (UAE): Q3 2026 reviewed (VAT due 23,280.19, recoverable 11,639.69, net 11,640.50), Q2 2026 filed with the reference 23000213958
The returns of Atlas Trading LLC (UAE): Q3 2026 reviewed (VAT due 23,280.19, recoverable 11,639.69, net 11,640.50), Q2 2026 filed with the reference 230002139584470 (net 11,978.90) and Q1 2026 filed with the reference 230001843761025 (net 10,977.35). The difference with the ledger is 0.00 on all three.

Prepare a return

In plain words: A return is one form: a company, a form, a tax period and the boxes. Compute fills every box from the posted journal items of the period.
  1. Press New, check the company, the form and the tax period, and save.
  2. Press Compute. Press Recompute whenever your entries change; the corrections you typed before are kept.
  3. Read the warnings on top and the tabs Boxes and Reconciliation. Open the figures with the smart buttons Journal Items and Transactions.
  4. Type corrections if you need them (below), then press Mark as reviewed.
  5. Print the worksheet, file on the portal, then Mark as filed (next chapter).

The header. Company, Form, Tax period, Previous return (linked automatically) and Profit Margin Scheme used, then VAT due, Recoverable VAT, Net VAT payable and the Difference with the general ledger.

The tab Boxes. One row per box: Box, Description (in your language), Amount correction, Amount, VAT correction, VAT amount, Adjustment and Reason. Boxes you type by hand are blue and totals are bold. More columns (the journal item figures, the English and Arabic labels) can be shown from the column selector.

Rule of the correctionsDetails
A reason is neededAny correction needs a reason of at least 3 characters.
Sales adjustmentsOn the UAE sales boxes the Adjustment is negative only.
Boxes with no such columnA box that has no such column on the official form refuses a figure.
TotalsTotals cannot be typed.
After the reviewA correction changed after the review sends the return back to Computed.

Other tabs. Reconciliation compares the boxes with the general ledger. Filing and notes shows who computed, reviewed and filed the return and when, and holds your notes. Log is the audit trail.

Warnings on top. The return warns about: a company currency that is not AED (UAE) or SAR (KSA); taxes used in the period that have no VAT code; taxes whose code belongs to the other form; Odoo branches that share the TRN; supplies without an emirate; a difference with the ledger; a missing or badly formed company TRN; KSA box 14 above 5,000; and lines with two taxes for the same box (see Limits).

Buttons. Compute / Recompute, Mark as reviewed, Mark as filed and Reopen (managers), Print worksheet, Excel, Reset to draft and Cancel. Journal Items opens the journal items that make up the figures and Transactions opens the PDF of the VAT Transactions Detail of the period.

VAT 201 Q3 2026, reviewed: VAT due 23,280.19, recoverable VAT 11,639.69, net VAT payable 11,640.50, difference with the general ledger 0.00 in green, previous r
VAT 201 Q3 2026, reviewed: VAT due 23,280.19, recoverable VAT 11,639.69, net VAT payable 11,640.50, difference with the general ledger 0.00 in green, previous return VAT 201 Q2 2026. The tab Boxes shows boxes 1a to 14 with the columns Amount correction, Amount, VAT correction, VAT amount, Adjustment and Reason; boxes 2 and 7, typed by hand, are blue.

File, reopen and the audit log

In plain words: The module files nothing. You submit the return on EmaraTax or on the ZATCA portal, then you record in Odoo what you did.
  1. Submit the return on the portal of the tax authority.
  2. On the return, press Mark as filed (VAT managers; the return must be Reviewed).
  3. Type the Filing reference you received (at most 64 characters) and the Filing date. The date cannot be in the future and cannot be before the end of the period.
  4. Confirm. The return is Filed and a green banner shows the date and the reference.

A filed return cannot change by any route: not its boxes, notes or dates, and not the emirate of the documents of its period. A VAT manager can Reopen it with a reason of at least 5 characters: the return goes back to Computed, the reopening is logged and posted in the chatter. A return that was filed once can never be deleted: keep it cancelled. Attach the portal acknowledgement in the chatter if you wish.

Important: Marking a return as filed does not set Odoo’s tax lock date. Lock the period yourself in the Accounting settings.

The tab Log lists every event with its date, user, details and reason: Created, Computed (with the net), Adjusted (with the boxes), Reviewed, Filed (with the reference), Reopened (with the reason), Cancelled and Set to draft. Nobody can change or delete a log line.

The dialog Mark as filed on VAT 201 Q3 2026, filled in with the reference 230002487105512 and the date Oct 28 for the picture. It was not confirmed: Q3 stays Re
The dialog Mark as filed on VAT 201 Q3 2026, filled in with the reference 230002487105512 and the date Oct 28 for the picture. It was not confirmed: Q3 stays Reviewed in the demo. The text says to submit on the portal first, because the module does not file anything.
VAT 201 Q2 2026, filed: the green banner “Filed on Jul 27 with the reference 230002139584470”, the box 1a adjustment of −472.50 with its reason (bad debt relief
VAT 201 Q2 2026, filed: the green banner “Filed on Jul 27 with the reference 230002139584470”, the box 1a adjustment of −472.50 with its reason (bad debt relief), VAT due 22,220.45, recoverable VAT 10,241.55 and net VAT payable 11,978.90.
The tab Log of VAT 201 Q2 2026: Filed with the reference and the date 2026-07-27, Reviewed, Adjusted (Boxes 1a corrected), Computed (Net VAT payable: 12,451.40
The tab Log of VAT 201 Q2 2026: Filed with the reference and the date 2026-07-27, Reviewed, Adjusted (Boxes 1a corrected), Computed (Net VAT payable: 12,451.40 AED) and Created. The log of the demo shows the time the demo was made for every event; the filing date is the one in the details.

The VAT Return report

In plain words: The VAT Return report is the worksheet on screen, in the layout of the official form. It works for any period, not only for saved returns.

Open it from Accounting → Reporting → Taxes & Fiscal → VAT Return, or from the report switcher of the Accounting Pro screen (group Taxes). It needs the Accounting Pro reports group. Like the other Accounting Pro reports it has favorites, scheduled reports and a place in the financial package.

OptionWhat it does
PeriodThe period of the figures. The default is the last complete tax period.
ComparisonAdds the previous periods as extra columns of Amount, VAT amount and Adjustment.
Posted entries only / with draftsWith drafts the worksheet is a preview.
FormSetting of the company, UAE - VAT 201 or KSA - VAT return.
Saved returnLive figures of the period, or one saved return: then the report shows its own period, company and form and its stored figures, corrections included.
Reconciliation with the general ledgerShows or hides the rows R1 to R9.
Units, ResetDecimals or other units; Reset returns to the defaults.

The header says that this is a worksheet and not the return itself, and shows the form, the company TRN, the saved return with its state and filing reference, and the entries counted. The columns are Box, Description, Arabic description, Amount, VAT amount and Adjustment, for each period. The form is bilingual: the English and the Arabic label of every box are shown in both interface languages.

Click a figure to open its journal items (when one list of journal items adds up to it). The warnings of the return are shown too. For a saved return the report warns The journal items changed since the return was computed, with the boxes concerned, when your entries changed after the computation. The notes under the table repeat the basis of the figures and say that the module files nothing.

Comparison columns show live figures. In the picture the live Q2 box 14 is 12,451.40, while the filed Q2 return says 11,978.90: the difference is its correction of −472.50.

The VAT Return report for Q3 2026 next to Q2, with the reconciliation: box 1a 173,330.00 / 8,666.50, 1b 163,460.00 / 8,173.00, 1c 13,330.00 / 666.50, 3 22,683.7
The VAT Return report for Q3 2026 next to Q2, with the reconciliation: box 1a 173,330.00 / 8,666.50, 1b 163,460.00 / 8,173.00, 1c 13,330.00 / 666.50, 3 22,683.70 / 1,134.19, 4 110,310.00, 5 10,500.00, 6 92,800.00 / 4,640.00, totals 586,413.70 / 23,280.19, 9 117,309.97 / 5,865.50, 10 115,483.70 / 5,774.19, 11 232,793.67 / 11,639.69, due 23,280.19, recoverable 11,639.69, payable 11,640.50.
The saved return VAT 201 Q2 2026 (Filed) in the same report: the correction of −472.50 is in red in box 1a and in the totals of box 8, and box 14 is 11,978.90.
The saved return VAT 201 Q2 2026 (Filed) in the same report: the correction of −472.50 is in red in box 1a and in the totals of box 8, and box 14 is 11,978.90.

Reconciliation with the general ledger

In plain words: The reconciliation answers one question: do the boxes agree with the VAT accounts of your books? It is the first thing to read before you review a return.
RowWhat it shows
R1, R2, R3Output VAT in the boxes (journal items), the balance of the output VAT accounts, and the difference.
R4, R5, R6The same for input VAT.
R7, R8Net VAT in the boxes against the net balance of the VAT accounts.
R9The difference between the two: the journal items of the VAT accounts that the return does not count. Click it to see them.

The VAT accounts are those of the tax repartition lines of the coded taxes. The figures of the boxes are the journal item part only: manual corrections are not part of the reconciliation. When one account holds both output and input VAT, only the net rows R7 to R9 are shown.

What a difference means. A VAT settlement entry dated inside the period (it moves the VAT balances to a VAT payable account), an entry typed straight onto a VAT account, or a tax without a code. The drill-down of R9 lists exactly the journal items concerned. A difference is not always an error, but you must be able to explain it.

The reconciliation of Q3 2026: output VAT 23,280.19 in the boxes and in the accounts (R1 = R2), input VAT 11,639.69 (R4 = R5), net 11,640.50 (R7 = R8), and 0.00
The reconciliation of Q3 2026: output VAT 23,280.19 in the boxes and in the accounts (R1 = R2), input VAT 11,639.69 (R4 = R5), net 11,640.50 (R7 = R8), and 0.00 on every difference.

VAT Transactions Detail

In plain words: VAT Transactions Detail lists the documents behind each box. It is the audit support of a return: for each box, which invoices and bills make the figure.

Open it from Accounting → Reporting → Taxes & Fiscal → VAT Transactions Detail, or with the button Transactions of a return. Options: the period, posted entries, Journals, Partners, Form, Box (all boxes or one), Only documents without a valid partner TRN and Units.

There is one row per box with its figures. Click it to open its documents: date, number, partner, partner TRN (or “missing”), amount and VAT as counted in the box: sales as collected, purchases as paid, credit notes negative. For the reverse charge boxes the VAT is the part counted in that box. The screen shows 80 rows per page. Click a number to open the document and an amount to open its journal items.

The last section, Business documents without a valid partner TRN, lists the documents of customers and vendors that are companies of the country of the form, from the threshold set in the settings. PDF and Excel list up to 20,000 documents per box and warn when there are more.

VAT Transactions Detail for Q3 2026 with box 1b open: 12 documents for 163,460.00 and 8,173.00, among them the credit note RINV/2026/00004 (−1,320.00 / −66.00)
VAT Transactions Detail for Q3 2026 with box 1b open: 12 documents for 163,460.00 and 8,173.00, among them the credit note RINV/2026/00004 (−1,320.00 / −66.00) and INV/2026/00063 for Gulf Insurance Group, whose TRN is missing. The same document is listed again in the section Business documents without a valid partner TRN.
Page 1 of the PDF of the VAT Transactions Detail of Q3 2026: boxes 1a and 1b with their documents.
Page 1 of the PDF of the VAT Transactions Detail of Q3 2026: boxes 1a and 1b with their documents.

PDF worksheet and Excel

In plain words: The worksheet is printed as a landscape PDF and exported as an Excel file with real numbers, from a return or from the report.

The PDF opens with the company, the period, the sentence that this is a worksheet and not the return itself, the form, the TRN, the saved return with its filing reference, the boxes in English and Arabic and the notes. The last page is a Declaration with three signature boxes: Prepared by, Reviewed by and Authorised signatory, date. Print it, sign it and keep it with your file.

Use Print worksheet and Excel on a return, or PDF and Excel on the report. The Excel file keeps the comparison columns and real numbers, not text.

Page 1 of the PDF worksheet of the filed return VAT 201 Q2 2026: the header with the TRN and “Return: VAT 201 Q2 2026 (Filed) - filing reference 230002139584470
Page 1 of the PDF worksheet of the filed return VAT 201 Q2 2026: the header with the TRN and “Return: VAT 201 Q2 2026 (Filed) - filing reference 230002139584470”, then boxes 1a to 10 in English and Arabic, with −472.50 in red in box 1a.
The declaration of the worksheet and its three signature boxes: Prepared by, Reviewed by, Authorised signatory, date.
The declaration of the worksheet and its three signature boxes: Prepared by, Reviewed by, Authorised signatory, date.
The Excel file of the VAT Return for Q3 2026 next to Q2, shown with its real cells (a rendering of the exported file).
The Excel file of the VAT Return for Q3 2026 next to Q2, shown with its real cells (a rendering of the exported file).

The KSA VAT return

In plain words: For a Saudi company, set the form KSA - VAT return and the add-on prepares the boxes 1 to 16 of the ZATCA portal form, with the same tools as the UAE return. Read the points marked as not verified before you rely on it.
BoxesWhat they hold
1 to 6Sales: 1 standard rated, 2 sales on which the government bears the VAT, 3 zero-rated domestic, 4 exports, 5 exempt, 6 total.
7 to 12Purchases: 7 standard-rated domestic, 8 imports with VAT paid on import, 9 imports accounted for through the reverse charge, 10 zero-rated, 11 exempt, 12 total.
13Total VAT due for the period.
14Corrections from previous periods: typed by hand with a reason.
15Credit carried from the previous return of the same form, only when that return is filed. You can change it, for example when the credit was refunded.
16Net VAT.

Verified: the box numbers and the English labels follow the ZATCA “Submit VAT Return” portal guide (July 2026).

Not verified or different from the portalDetails
Formulas of boxes 13 and 1613 = 6 VAT + 6 adjustment + 9 VAT − 12 VAT − 12 adjustment; 16 = 13 + 14 − 15. This is our reading of the ZATCA guidelines. The KSA worksheet says so.
RoundingEach box is rounded to the halala, like the UAE form. Not verified.
Arabic box labelsOur own translation, not copied from the official Arabic form.
Adjustment columnIt holds VAT amounts, while the portal columns take values of sales or purchases. The net VAT is the same, but convert the adjustments before you type them in the portal. The screen, the PDF and the Excel file say so.
Box 9The self-accounted VAT is counted in box 9; the part you cannot deduct goes to its Adjustment column.
Box 14The portal field takes −5,000 to 5,000 SAR and the module warns above 5,000. The ZATCA guideline of May 2026 speaks of SAR 15,000. The help text of the box gives both.

Monthly filing is mandatory above SAR 40 million of annual revenue, due by the end of the month that follows the period. Otherwise a period is three months. The demo company is in the UAE, so there is no picture of the KSA form.

FTA Audit File

In plain words: The FTA Audit File (FAF) is the file the Federal Tax Authority may ask for in a tax audit. The module writes it from your journal items in the published layout FAFv1.0.0. It sends nothing anywhere: you download the file and give it yourself.

The layout is the one of the FTA Requirements Document for Tax Accounting Software (2017), which is still the version the FTA site publishes. The sample FAF of the FTA could not be read, so check the file before you send it.

Open Accounting → Accounting → VAT → FTA Audit File (FAF) (VAT managers). The dialog has a note on top and these fields:

FieldWhat it does
CompanyThe company whose file you write.
From, ToThe period. The default is the last complete tax period.
Add a row with the field namesOff by default. The FTA document describes no such row: leave it off for the FTA. It helps to read the file in a spreadsheet.
Tax agent (if any)Tax agency name, TAN, tax agent name and TAAN. The defaults come from the settings.

Check the data. The dialog lists the checks before you export:

SeverityExamples
Error (blocks the export)No company TRN or a wrong one; no AED currency or rates; a period of more than six years; more than 1,000,000 journal items; unbalanced entries.
WarningOdoo branches that share the TRN; the Arabic legal name is empty; a company on the KSA form; the conversion into AED; taxes or invoice lines without a VAT code; UAE business partners without a TRN or with a wrong one.
InformationThe counts of documents and journal items.

Show opens the records of a check. Download the FAF runs the checks again and downloads FAF_<TRN>_<from>_<to>.csv. Every export is kept in the FAF Export Log: date, user, company, period, the number of purchase, supply and ledger lines, the SHA-256 of the file and a Download button. The log cannot be changed or deleted, and the SHA-256 lets you prove that the file you gave is the one the module wrote.

The FTA Audit File dialog for Q3 2026: the note on the layout, the period, the tax agent fields and the checks. One warning (UAE business partners without TRN:
The FTA Audit File dialog for Q3 2026: the note on the layout, the period, the tax agent fields and the checks. One warning (UAE business partners without TRN: Gulf Insurance Group) and one line of information (46 invoices, bills and credit notes; 246 journal items). Check again, Download the FAF and Close are at the bottom.
The FAF Export Log: the first half-year 2026 (Jan 1 to Jun 30; 42 purchase, 82 supply and 427 ledger lines) and Q3 2026 (21, 46 and 246 lines), each with its SH
The FAF Export Log: the first half-year 2026 (Jan 1 to Jun 30; 42 purchase, 82 supply and 427 ledger lines) and Q3 2026 (21, 46 and 246 lines), each with its SHA-256 and a Download link.

What is in the FAF

In plain words: The file is a comma separated file with four tables. Each table sits between a start row and an end row that carries totals.
TableWhat it holds
Company informationThe company names in English and Arabic, the TRN, the tax agency and agent, the period, the creation date, the product version and FAFv1.0.0.
Purchase listingOne row per invoice line, sorted by invoice date: supplier and TRN, date (DD-MM-YYYY), number, customs permit number, line number, description, value and VAT in AED, tax code, foreign currency code (XXX when AED) and the foreign amounts.
Supply listingThe same for sales, with the country of the exported goods in place of the permit.
General ledgerDate, account, description, partner, entry number, source document, source type (AR, AP, credit notes, Cash Book, Journal Entry), debit, credit and a running balance for each account.

Tax codes are SR, ZR, EX and RC, as the FTA defines them, and OS for out-of-scope supplies, which is our own code: the FTA defines none, and the FAF dialog says so. Reverse charge purchases show the recoverable VAT. The VAT of a document is shared among its lines in proportion to their amounts, so it always equals the tax journal items.

Cleaning of the texts. Commas become semicolons, double quotes become single quotes, line breaks and direction marks become spaces, and a text that starts with = + - or @ gets a leading apostrophe, so a spreadsheet does not read it as a formula. A description such as “-10% discount” is therefore written “'-10% discount”.

Format. UTF-8 without BOM (the FTA does not specify an encoding; Arabic names need UTF-8) and Windows line ends. A company not in AED is converted at the rate of each transaction date. The general ledger balance runs per account from its balance at the start of the period (profit and loss accounts from the start of the fiscal year). The file is built in memory in one request: for a very large export, choose a shorter period.

TRN checks

In plain words: The add-on checks the format of tax registration numbers and warns you, so a missing TRN is found before the audit.
WhereWhat happens
Company TRNUAE: 15 digits. Saudi Arabia: 15 digits starting and ending with 3. Spaces, dashes and Arabic-Indic digits are ignored. A missing or badly formed TRN is warned on returns and reports and blocks the FAF.
ContactsA badge TRN check next to the tax ID of UAE and Saudi partners when the number is missing or badly formed.
Refuse badly formed partner TRNsAn option of the settings: a contact with a wrong format cannot be saved.
VAT Transactions DetailThe section of business documents without a valid partner TRN, from the threshold B2B documents without TRN from (0 means every document).
FAFThe checks list UAE business partners without a TRN or with a wrong one.
Important: The check is on the format only. The add-on does not check that a number is registered with the FTA or ZATCA.

VAT Return Boxes

In plain words: The boxes of both forms are data, not code, and VAT managers can edit them. Open Accounting → Configuration → Accounting → VAT Return Boxes.
FieldWhat it does
Form, BoxThe form and the box number.
English label, Arabic labelThe labels on screen, in the PDF and in Excel.
SectionThe block of the form where the box is printed.
KindJournal items, Entered by hand, From the previous return or Formula.
SideSales taxes or purchase taxes.
VAT codesThe codes whose journal items fill the box.
EmirateFor boxes 1a to 1g: the emirate of the box.
VAT partWhich part of the tax lines counts (for example the self-accounted VAT of the reverse charge).
Columns shownWhether the box has the Amount, VAT amount and Adjustment columns.
Non-deductible adjustmentFor KSA box 9: the part you cannot deduct goes to the Adjustment column.
FormulaBox numbers with + and −, and optionally .amount, .vat or .adj. A formula can only use boxes that come before it, and it is checked.
Result of the returnMarks the box that gives the net VAT of the return.

A box used by a formula cannot be renamed or archived. Saved returns keep the boxes they were computed with. A module update does not overwrite your edits.

Important: Changing a box changes the meaning of the form. Keep the official layout unless the authority changes it, and compute the returns again after a change.
The 20 boxes of the UAE VAT 201 (filter UAE VAT 201): form, box, English and Arabic label, section, kind, side, VAT codes and emirate. Boxes 1a to 1g take the c
The 20 boxes of the UAE VAT 201 (filter UAE VAT 201): form, box, English and Arabic label, section, kind, side, VAT codes and emirate. Boxes 1a to 1g take the codes ae_standard and ae_tourist by emirate; boxes 2 and 7 are entered by hand; boxes 8, 11, 12, 13 and 14 are formulas.

The VAT payable card

In plain words: The Accounting Dashboard of Accounting Pro gets a card, VAT payable, with the net VAT of your latest return.

The card shows the net VAT of the latest computed, reviewed or filed return of the company, with the name and state of that return under it, the change against the return before it, and a small trend of up to six returns. With no computed return, it shows the live figure of the current tax period so far. A click opens the VAT Return report. A company with no VAT return form has no card.

The Accounting Dashboard of Atlas Trading LLC (UAE): the card VAT payable shows 11,641 AED for VAT 201 Q3 2026 (Reviewed), down 2.8 % against Q2 (from 11,978.90
The Accounting Dashboard of Atlas Trading LLC (UAE): the card VAT payable shows 11,641 AED for VAT 201 Q3 2026 (Reviewed), down 2.8 % against Q2 (from 11,978.90 to 11,640.50).

Settings

In plain words: The block GCC VAT Returns of the Accounting settings is set for each company. Accounting administrators can change it.

Open Accounting → Configuration → Settings, block GCC VAT Returns, after the block Accounting Pro.

GroupSettingWhat it does
VAT returnVAT return formUAE - VAT 201 or KSA - VAT return. Proposed from the fiscal country of the company.
Filing frequencyMonthly or quarterly.
Quarters start inThe FTA staggers the quarters: January, April, July and October; or February, May, August and November; or March, June, September and December.
Default emirateThe emirate given to documents that have none (UAE).
Map the taxesA link that opens the mapping wizard.
TRN checksCheck TRNsWarns about missing or badly formed TRNs.
Refuse badly formed partner TRNsA contact with a wrong format cannot be saved.
B2B documents without TRN fromThe amount from which a document without a partner TRN is listed. 0 means every document.
FTA Audit FileLegal name in ArabicWritten in the company table of the FAF.
Tax agency name, TAN, Tax agent name, TAANDefaults of the FAF dialog when a tax agent files for you.
The block GCC VAT Returns for Atlas Trading LLC (UAE): form UAE - VAT 201, Quarterly, quarters starting in January, April, July and October, default emirate Dub
The block GCC VAT Returns for Atlas Trading LLC (UAE): form UAE - VAT 201, Quarterly, quarters starting in January, April, July and October, default emirate Dubai, TRN checks on with the threshold 0.00, the legal name in Arabic filled in and the tax agency fields empty.

Who can do what

In plain words: Two groups. They are given automatically with Odoo’s accounting groups, so most accountants need nothing more.
GroupGiven withWhat it can do
GCC VAT Returns: userShow Full Accounting Features (account.group_account_user)Opens the VAT Returns menu; creates, computes, corrects, reviews, cancels and resets returns; reads the log of a return.
GCC VAT Returns: managerThe accounting Administrator (account.group_account_manager)Everything a user can do, and: VAT Tax Mapping, VAT Return Boxes, Mark as filed, Reopen, the FTA Audit File and its log, and the settings block.

A person who has only the Accounting Pro reports group can open the two reports with the live figures of a period. Saved returns are not offered to them. They can read the box definitions.

Companies. Each user sees the returns, logs and FAF exports of their own companies only. Nobody, not even an administrator, can change or delete a return log or a FAF log.

How the figures are computed

In plain words: One calculation engine serves the saved returns, both reports, the dashboard card and the tests, so a figure is the same wherever you read it. It is an accounting tool, not tax advice: check the result against the current official rules.

The rules of the engine:

  1. It reads posted journal items dated (accounting date) in the period, in the company currency.
  2. It follows the rules of the Accounting Pro Tax Report: credit notes are negative, taxes included in the price, groups of taxes and tax on tax are handled, and a cash basis tax counts when the invoice is paid.
  3. The base of a box is the balance of the journal items that carry the tax. The VAT is the balance of the tax journal items.
  4. For reverse charge and imports, the negative tax lines are the VAT you account for (UAE boxes 3 and 6, KSA box 9). The positive lines in the tax closing are the recoverable VAT (box 10). Positive lines kept out of the tax closing (an expense account) are not recoverable.
  5. Each box is rounded to the currency and the totals are added from the rounded boxes.
  6. A saved return stores its figures, corrections and totals. The reconciliation compares the journal item part with the VAT accounts.

The tax point rules of the law (date of supply, receipt of payment, 30-day rules) are applied by the person who posts the documents: the add-on counts by accounting date.

Tested: 114 automated tests of the add-on, among them every UAE box worked out by hand, boxes tied to raw SQL, drill-downs that reproduce every cell, the FAF listings and ledger tied to the journal items, hostile texts in the FAF, the KSA boxes, security and company rules.

Checked against an official documentSource
UAE VAT 201 boxes 1a to 14 and their roundingFTA VAT Returns User Guide (August 2021) and the EmaraTax VAT 201 user manual (October 2022).
FAF layout FAFv1.0.0: four tables, field order, start and end rows, defaults, tax codesFTA Requirements Document for Tax Accounting Software (2017), still the version published on the FTA site.
KSA box numbers and English labelsZATCA “Submit VAT Return” portal guide (July 2026).
Not verifiedDetails
KSA boxes 13 and 16The formulas are our reading of the ZATCA guidelines.
KSA rounding and Arabic labelsRounding to the halala is our choice; the Arabic labels are our translation.
UAE law changes in force from 2026None of the sources we read changes the VAT 201 boxes, but we have not checked the official texts.
The AED 10,000 correction limit for 2026It comes from the 2021 guide. The module does not check it.
The FAF field-name row and the code OSOur own choices, explained in the FAF dialog.
The FTA sample FAFIt could not be read; the file follows the published tables.

Limits

In plain words: What the add-on does not do. Read this table before you rely on it for a filing.
LimitWhat it means for you
It files nothingNo connection to the FTA (EmaraTax) or to ZATCA. You type the figures into the portal and record the reference.
No e-invoicesNo Peppol, no ZATCA (FATOORA) XML or QR code.
Check before filingLaws, forms and portal fields change. Check every figure against the current official rules.
Box 2 (tourist refunds) and box 7Typed by hand in the saved return. Tourist-scheme sales stay in box 1, while Odoo’s own UAE report puts them in box 2.
Two taxes on one line, same boxA line that carries two VAT taxes coded for the same box counts its base once for each tax, so the Amount column of the box is too high (a 1,000 line with two 2.5 % taxes coded standard rated gives 2,000.00 and VAT 50.00). The VAT column is right. The return now shows a warning: “N journal item(s) carry more than one tax coded for the same box: the base of each is counted once for each tax. Check them.” with a drill-down to the items. Use one VAT tax per line.
Branches and VAT groupsOne return covers one company (one TRN). Odoo child companies that share the TRN of their parent are not added to the parent’s return or FAF; a warning names them, so add their figures as corrections. A VAT group of several companies is not consolidated either.
CurrencyThe return is in the company currency. A company not in AED (UAE) or SAR (KSA) gets a warning and no conversion. The FAF converts into AED at the rate of each date.
DatesJournal items count by accounting date. The tax point rules are yours.
Tax lock dateMarking a return as filed does not set Odoo’s tax lock date.
Changed entriesIf entries of a filed period change later, the report warns and the return must be reopened (with a reason) and computed again.
Not doneNo due-date reminders, no VAT payment or settlement entry, no penalties, no excise or withholding tax return, no KSA audit file.
Excise and withholdingTaxes coded Not VAT are ignored by the return.
KSA adjustments and box 14The Adjustment column holds VAT amounts, the portal takes values; box 14 warns above SAR 5,000 while the guideline of May 2026 speaks of SAR 15,000. Box 15 takes the credit only of a filed return of the same form.
UAE corrections limitThe AED 10,000 limit is not checked by the module and not verified for 2026.
Profit Margin SchemeA yes/no field on the return form. It is not printed on the worksheet.
FAF sizeBuilt in memory in one request. Close to a million ledger lines may hit the time or memory limit of your server: export a shorter period. More than 1,000,000 journal items or six years is refused.
FAF textsCleaned for the file, so a few characters of your descriptions change (see What is in the FAF).
TRN checksFormat only. A TRN is never checked with the FTA or ZATCA.
Mapping proposalsFrom tax grids, the reverse charge repartition, names and rates. Check every proposal; a code chosen by hand is never changed.
Transactions DetailPDF and Excel list up to 20,000 documents per box (a warning says so).
Not verifiedKSA formulas of boxes 13 and 16, KSA rounding and Arabic labels, 2026 UAE law changes, the AED 10,000 limit, the FAF field-name row, the FAF code OS (see How the figures are computed).

Troubleshooting

In plain words: Most problems are a missing group, a tax without a code or a period that changed after the computation.
What you seeWhy, and what to do
No VAT menuYou need the group GCC VAT Returns: user (given with Show Full Accounting Features).
No VAT Return report in ReportingYou need the Accounting Pro reports group.
No VAT Tax Mapping, VAT Return Boxes, FAF or Mark as filedThese are for the group GCC VAT Returns: manager (the accounting Administrator).
A tax is missing from the returnIt has no VAT return code. Open VAT Tax Mapping and code it.
“Taxes of type None outside a sales or purchase group”A tax of type None is used outside a group. Give it the right type or code it by hand.
“VAT code of another form”The company is on one form and a tax carries a code of the other. Check the form in the settings or the code of the tax.
Supplies without emirateSet Emirate (VAT) on the documents, or the default emirate in the settings, then recompute.
A difference with the ledgerLook for a VAT settlement entry dated in the period, an entry typed on a VAT account or a tax without a code. Click R9 to list the items.
The currency warningThe company currency is not AED (UAE) or SAR (KSA). The return is not converted.
“The journal items changed since the return was computed”Recompute the return, or reopen it first if it is filed.
The emirate of a document cannot be changedA filed return covers its date. Reopen the return, change the emirate, compute again.
A return overlaps anotherTwo returns of one company and form cannot cover the same days. Change the period.
Mark as filed is refusedThe return is not reviewed, the date is before the end of the period or in the future, or the reference is empty or longer than 64 characters.
A return cannot be deletedIt was filed once. Cancel it instead.
The FAF is blockedRead the errors: company TRN, AED currency or rates, a period of more than six years, more than 1,000,000 journal items, unbalanced entries.
KSA box 14 warningThe correction is above 5,000 SAR. Check the portal limit and the ZATCA guideline.
A contact cannot be savedRefuse badly formed partner TRNs is on and the number has a wrong format.
No dashboard cardThe company has no VAT return form: set it in the settings.

Updating and removing

In plain words: Updating keeps your data. Returns, logs and FAF exports stay as they are.

Replace the folder with the new version, restart Odoo and run -u taqnix_accounting_pro_gcc_vat. Your returns, their logs and the FAF exports are kept. The box definitions are not overwritten by an update, so your edits stay.

To remove the add-on, uninstall it from Apps. Take a backup first: the saved returns, their logs and the FAF exports are removed with it. Export your returns to PDF or Excel before you uninstall.

Support

In plain words: Installation help and bug fixes are included for 6 months, with lifetime updates.

Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the module or write to support@taqnix.com with your Odoo version and a screenshot.