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
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.
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.
What you get
| Feature | What it does |
|---|---|
| Tax mapping wizard | Proposes a VAT return code for each tax you use; you check it and apply it. |
| VAT codes on taxes | The return reads the code of each tax, never its name. |
| Emirate per document | Standard-rated supplies are split by emirate (boxes 1a to 1g) from the document or from the tax. |
| UAE VAT 201 | Boxes 1a to 14, with the Amount, VAT amount and Adjustment columns and the rounding of the form. |
| KSA VAT return | Boxes 1 to 16 of the ZATCA form, with the points that are not verified said on the screen. |
| Returns with a workflow | Draft, computed, reviewed, filed (or cancelled). A filed return cannot change. |
| Corrections with reasons | Amount, VAT and adjustment can be corrected by hand in a saved return, each with a reason. |
| Log and reopen | Every step is logged; a VAT manager can reopen a filed return with a reason. |
| VAT Return report | The worksheet on screen for any period, with comparison and a click on a figure to open its journal items. |
| Reconciliation | Output and input VAT in the boxes against the balances of the VAT accounts of the general ledger. |
| VAT Transactions Detail | The documents behind each box, with the partner TRN: the audit support of a return. |
| PDF and Excel | A landscape PDF worksheet with a declaration and signature boxes, and an Excel file with real numbers. |
| FTA Audit File | The UAE FAF layout FAFv1.0.0 with checks before the export and an export log with a SHA-256 of each file. |
| TRN checks | Format checks of the company and partner tax registration numbers. |
| Dashboard card | VAT payable on the Accounting Dashboard. |
| Settings and groups | A settings block for each company and two access groups. |
| Arabic | Translated; the form is bilingual: every box shows its English and Arabic label. |
Requirements
| Item | Details |
|---|---|
| Odoo | 19.0 (Community or Enterprise) |
| Apps needed | Accounting Pro 1.0.2 or later (taqnix_accounting_pro), which needs Accounting (account). Nothing from Odoo Enterprise is needed. |
| License | OPL-1 (Odoo Proprietary License v1.0) |
What your company needs to use it:
| Item | What it needs |
|---|---|
| The return form | A 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 items | Posted invoices, bills and credit notes with taxes. The return reads them; it has nothing to read without them. |
| FTA Audit File | A company TRN of 15 digits, and the company currency AED (or AED exchange rates for the dates of the period). |
| Odoo localizations | The Odoo UAE and Saudi localizations are not required. When they are installed, the mapping wizard recognises their taxes. |
| PDF files | wkhtmltopdf, as for every Odoo PDF report. |
Install
- Unzip the package. Inside is
taqnix_accounting_pro_gcc_vat.zip; unzip it to get the foldertaqnix_accounting_pro_gcc_vat. - Copy the folder into one of the
addons_pathfolders of your Odoo server and restart Odoo. - Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
- 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
Then, in this order:
- Open Accounting → Configuration → Settings, block GCC VAT Returns: check the form, the filing frequency, the quarters and the default emirate (chapter Settings).
- Press Map the taxes and apply the codes that are right (chapter Map your taxes).
- Check the emirate of your sales documents (chapter Emirates and customs permits).
- Create the first return in Accounting → Accounting → VAT → VAT Returns and press Compute.
Map your taxes
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 column | What it is |
|---|---|
| Company | The 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 movement | Adds the active taxes that were not used in that period. |
| Propose again | Reads the taxes again and rebuilds the list. |
| Tax, Tax Type | The tax and whether it is a sales or a purchase tax. |
| Current code | The code the tax has now. |
| By hand | Ticked when the code was chosen by hand: the wizard never changes it. |
| Proposed code, Why | The 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. |
| Apply | Tick the lines to write. You can also change a proposed code before you apply. |
Where the proposals come from, in this order:
- 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.
- The reverse charge repartition: a tax with +100 % and −100 % tax lines.
- 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.
- 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.
VAT return codes and the boxes they fill
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.
| Code | Where it goes | FAF code |
|---|---|---|
| UAE - Standard rated 5% | Sales: boxes 1a to 1g by emirate. Purchases: box 9. | SR |
| UAE - Zero-rated | Sales: box 4. | ZR |
| UAE - Exempt | Sales: box 5. | EX |
| UAE - Out of scope | No 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 customs | Purchases: box 6 and box 10. | RC |
| UAE - Tax Refunds for Tourists Scheme | Sales: 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 government | Sales: box 2. | SR |
| KSA - Zero-rated domestic | Sales: box 3. Purchases: box 10. | ZR |
| KSA - Exports | Sales: box 4. | ZR |
| KSA - Exempt | Sales: box 5. Purchases: box 11. | EX |
| KSA - Imports, VAT paid at customs | Purchases: box 8. | RC |
| KSA - Reverse charge imports and services | Purchases: box 9. | RC |
| Not VAT | Ignored 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).
Emirates and customs permits
The FTA guide asks for the emirate of the establishment most closely connected to the supply. In Odoo you tell it in three ways:
- 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.
- On the tax. A tax with an Emirate of the supplies (such as “5% DU”) wins over the document.
- 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.
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.
The UAE VAT 201, box by box
| Box | What it holds | How the add-on fills it |
|---|---|---|
| 1a to 1g | Standard-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. |
| 2 | Tax 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. |
| 3 | Supplies subject to the reverse charge. | Base of the reverse charge purchases and the VAT you account for. |
| 4 | Zero-rated supplies. | Base of sales coded zero-rated. Amount only. |
| 5 | Exempt supplies. | Base of sales coded exempt. Amount only. |
| 6 | Goods imported into the UAE. | Base of imports declared at customs and the VAT you account for. |
| 7 | Adjustments to goods imported. | Typed by hand in the saved return. |
| 8 | Totals. | Boxes 1a to 7. |
| 9 | Standard-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. |
| 10 | Reverse charge supplies (recovery). | The recovery of the VAT of boxes 3, 6 and 7. |
| 11 | Totals. | Box 9 plus box 10. |
| 12 | Total value of due tax. | Box 8 VAT plus box 8 Adjustment. |
| 13 | Total value of recoverable tax. | Box 11 VAT plus box 11 Adjustment. |
| 14 | Payable 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
| Column | What it shows |
|---|---|
| Name | For example VAT 201 Q3 2026. |
| Form | UAE - VAT 201 or KSA - VAT return. |
| From, To | The tax period. |
| VAT due, Recoverable VAT, Net VAT payable | Boxes 12, 13 and 14 of the UAE form. |
| Difference with the general ledger | The reconciliation difference (see Reconciliation with the general ledger). |
| Filing reference, State | The 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.
Prepare a return
- Press New, check the company, the form and the tax period, and save.
- Press Compute. Press Recompute whenever your entries change; the corrections you typed before are kept.
- Read the warnings on top and the tabs Boxes and Reconciliation. Open the figures with the smart buttons Journal Items and Transactions.
- Type corrections if you need them (below), then press Mark as reviewed.
- 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 corrections | Details |
|---|---|
| A reason is needed | Any correction needs a reason of at least 3 characters. |
| Sales adjustments | On the UAE sales boxes the Adjustment is negative only. |
| Boxes with no such column | A box that has no such column on the official form refuses a figure. |
| Totals | Totals cannot be typed. |
| After the review | A 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.
File, reopen and the audit log
- Submit the return on the portal of the tax authority.
- On the return, press Mark as filed (VAT managers; the return must be Reviewed).
- 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.
- 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.
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 VAT Return report
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.
| Option | What it does |
|---|---|
| Period | The period of the figures. The default is the last complete tax period. |
| Comparison | Adds the previous periods as extra columns of Amount, VAT amount and Adjustment. |
| Posted entries only / with drafts | With drafts the worksheet is a preview. |
| Form | Setting of the company, UAE - VAT 201 or KSA - VAT return. |
| Saved return | Live 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 ledger | Shows or hides the rows R1 to R9. |
| Units, Reset | Decimals 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.
Reconciliation with the general ledger
| Row | What it shows |
|---|---|
| R1, R2, R3 | Output VAT in the boxes (journal items), the balance of the output VAT accounts, and the difference. |
| R4, R5, R6 | The same for input VAT. |
| R7, R8 | Net VAT in the boxes against the net balance of the VAT accounts. |
| R9 | The 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.
VAT Transactions Detail
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.
PDF worksheet and Excel
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.
The KSA VAT return
| Boxes | What they hold |
|---|---|
| 1 to 6 | Sales: 1 standard rated, 2 sales on which the government bears the VAT, 3 zero-rated domestic, 4 exports, 5 exempt, 6 total. |
| 7 to 12 | Purchases: 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. |
| 13 | Total VAT due for the period. |
| 14 | Corrections from previous periods: typed by hand with a reason. |
| 15 | Credit 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. |
| 16 | Net 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 portal | Details |
|---|---|
| Formulas of boxes 13 and 16 | 13 = 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. |
| Rounding | Each box is rounded to the halala, like the UAE form. Not verified. |
| Arabic box labels | Our own translation, not copied from the official Arabic form. |
| Adjustment column | It 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 9 | The self-accounted VAT is counted in box 9; the part you cannot deduct goes to its Adjustment column. |
| Box 14 | The 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
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:
| Field | What it does |
|---|---|
| Company | The company whose file you write. |
| From, To | The period. The default is the last complete tax period. |
| Add a row with the field names | Off 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:
| Severity | Examples |
|---|---|
| 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. |
| Warning | Odoo 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. |
| Information | The 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.
What is in the FAF
| Table | What it holds |
|---|---|
| Company information | The 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 listing | One 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 listing | The same for sales, with the country of the exported goods in place of the permit. |
| General ledger | Date, 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
| Where | What happens |
|---|---|
| Company TRN | UAE: 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. |
| Contacts | A 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 TRNs | An option of the settings: a contact with a wrong format cannot be saved. |
| VAT Transactions Detail | The section of business documents without a valid partner TRN, from the threshold B2B documents without TRN from (0 means every document). |
| FAF | The checks list UAE business partners without a TRN or with a wrong one. |
VAT Return Boxes
| Field | What it does |
|---|---|
| Form, Box | The form and the box number. |
| English label, Arabic label | The labels on screen, in the PDF and in Excel. |
| Section | The block of the form where the box is printed. |
| Kind | Journal items, Entered by hand, From the previous return or Formula. |
| Side | Sales taxes or purchase taxes. |
| VAT codes | The codes whose journal items fill the box. |
| Emirate | For boxes 1a to 1g: the emirate of the box. |
| VAT part | Which part of the tax lines counts (for example the self-accounted VAT of the reverse charge). |
| Columns shown | Whether the box has the Amount, VAT amount and Adjustment columns. |
| Non-deductible adjustment | For KSA box 9: the part you cannot deduct goes to the Adjustment column. |
| Formula | Box 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 return | Marks 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.
The VAT payable card
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.
Settings
Open Accounting → Configuration → Settings, block GCC VAT Returns, after the block Accounting Pro.
| Group | Setting | What it does |
|---|---|---|
| VAT return | VAT return form | UAE - VAT 201 or KSA - VAT return. Proposed from the fiscal country of the company. |
| Filing frequency | Monthly or quarterly. | |
| Quarters start in | The FTA staggers the quarters: January, April, July and October; or February, May, August and November; or March, June, September and December. | |
| Default emirate | The emirate given to documents that have none (UAE). | |
| Map the taxes | A link that opens the mapping wizard. | |
| TRN checks | Check TRNs | Warns about missing or badly formed TRNs. |
| Refuse badly formed partner TRNs | A contact with a wrong format cannot be saved. | |
| B2B documents without TRN from | The amount from which a document without a partner TRN is listed. 0 means every document. | |
| FTA Audit File | Legal name in Arabic | Written in the company table of the FAF. |
| Tax agency name, TAN, Tax agent name, TAAN | Defaults of the FAF dialog when a tax agent files for you. |
Who can do what
| Group | Given with | What it can do |
|---|---|---|
| GCC VAT Returns: user | Show 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: manager | The 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
The rules of the engine:
- It reads posted journal items dated (accounting date) in the period, in the company currency.
- 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.
- 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.
- 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.
- Each box is rounded to the currency and the totals are added from the rounded boxes.
- 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 document | Source |
|---|---|
| UAE VAT 201 boxes 1a to 14 and their rounding | FTA 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 codes | FTA Requirements Document for Tax Accounting Software (2017), still the version published on the FTA site. |
| KSA box numbers and English labels | ZATCA “Submit VAT Return” portal guide (July 2026). |
| Not verified | Details |
|---|---|
| KSA boxes 13 and 16 | The formulas are our reading of the ZATCA guidelines. |
| KSA rounding and Arabic labels | Rounding to the halala is our choice; the Arabic labels are our translation. |
| UAE law changes in force from 2026 | None 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 2026 | It comes from the 2021 guide. The module does not check it. |
| The FAF field-name row and the code OS | Our own choices, explained in the FAF dialog. |
| The FTA sample FAF | It could not be read; the file follows the published tables. |
Limits
| Limit | What it means for you |
|---|---|
| It files nothing | No connection to the FTA (EmaraTax) or to ZATCA. You type the figures into the portal and record the reference. |
| No e-invoices | No Peppol, no ZATCA (FATOORA) XML or QR code. |
| Check before filing | Laws, forms and portal fields change. Check every figure against the current official rules. |
| Box 2 (tourist refunds) and box 7 | Typed 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 box | A 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 groups | One 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. |
| Currency | The 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. |
| Dates | Journal items count by accounting date. The tax point rules are yours. |
| Tax lock date | Marking a return as filed does not set Odoo’s tax lock date. |
| Changed entries | If entries of a filed period change later, the report warns and the return must be reopened (with a reason) and computed again. |
| Not done | No due-date reminders, no VAT payment or settlement entry, no penalties, no excise or withholding tax return, no KSA audit file. |
| Excise and withholding | Taxes coded Not VAT are ignored by the return. |
| KSA adjustments and box 14 | The 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 limit | The AED 10,000 limit is not checked by the module and not verified for 2026. |
| Profit Margin Scheme | A yes/no field on the return form. It is not printed on the worksheet. |
| FAF size | Built 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 texts | Cleaned for the file, so a few characters of your descriptions change (see What is in the FAF). |
| TRN checks | Format only. A TRN is never checked with the FTA or ZATCA. |
| Mapping proposals | From tax grids, the reverse charge repartition, names and rates. Check every proposal; a code chosen by hand is never changed. |
| Transactions Detail | PDF and Excel list up to 20,000 documents per box (a warning says so). |
| Not verified | KSA 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
| What you see | Why, and what to do |
|---|---|
| No VAT menu | You need the group GCC VAT Returns: user (given with Show Full Accounting Features). |
| No VAT Return report in Reporting | You need the Accounting Pro reports group. |
| No VAT Tax Mapping, VAT Return Boxes, FAF or Mark as filed | These are for the group GCC VAT Returns: manager (the accounting Administrator). |
| A tax is missing from the return | It 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 emirate | Set Emirate (VAT) on the documents, or the default emirate in the settings, then recompute. |
| A difference with the ledger | Look 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 warning | The 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 changed | A filed return covers its date. Reopen the return, change the emirate, compute again. |
| A return overlaps another | Two returns of one company and form cannot cover the same days. Change the period. |
| Mark as filed is refused | The 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 deleted | It was filed once. Cancel it instead. |
| The FAF is blocked | Read 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 warning | The correction is above 5,000 SAR. Check the portal limit and the ZATCA guideline. |
| A contact cannot be saved | Refuse badly formed partner TRNs is on and the number has a wrong format. |
| No dashboard card | The company has no VAT return form: set it in the settings. |
Updating and removing
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
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.