Skip to main content

UAE Corporate Tax Compliance

The ECOSIRE UAE Corporate Tax Compliance module is a computation and return-preparation tool for companies subject to UAE Corporate Tax under Federal Decree-Law No. 47 of 2022, effective for financial years starting on or after 1 June 2023. It derives Taxable Income from your Odoo accounting profit through a structured adjustment waterfall, applies Small Business Relief and Free Zone (QFZP) elections, and produces a printable audit-ready working paper that you enter into the FTA EmaraTax portal.

Important: There is no public machine-to-machine API for UAE CT return submission. EmaraTax (https://emsrvs.tax.gov.ae) is a portal-only channel requiring a UAE Pass or FTA account login. This module prepares the numbers and workpaper; the taxpayer or tax agent files manually in EmaraTax.

Compatibility: Odoo 17 / 18 / 19 Price: $299 (one-time) License: LGPL-3

Try the live demo

Explore the module on the ECOSIRE demo server before purchasing. Contact [email protected] for demo access.

Key Features

  • Structured taxable-income waterfall: accounting profit, additions, deductions, and prior-year tax loss application
  • AED 375,000 zero-rate band and 9% standard rate computation (FDL 47/2022)
  • Small Business Relief (SBR) election with eligibility validation against revenue threshold (AED 3,000,000) and period-expiry guard (reported: available through FY ending 31 Dec 2026)
  • Qualifying Free Zone Person (QFZP) regime: separate Qualifying Income (0%) from Non-Qualifying Income (9% above threshold)
  • Pull-from-ledger helper: automatically derives accounting profit and gross revenue from posted Odoo journal entries for the selected period
  • Printable QWeb working paper (PDF) with all waterfall steps and FDL article references
  • EmaraTax field-map export: structured data output keyed to EmaraTax CT return fields for copy-paste filing
  • Configurable rate parameters: all legislative thresholds (9% rate, AED 375,000 band, AED 3M SBR ceiling, SBR expiry date, 30% EBITDA interest cap, AED 12M floor) are stored per-company and can be updated without code changes when primary Ministerial Decisions are verified
  • Multi-company support: each company maintains its own CT configuration and period records
  • Chatter and tracking on all CT periods for audit trail
  • License-gated actions via ecosire_license_client

Overview of Supported Standards

StandardDetailConfirmation status
Federal Decree-Law No. 47 of 2022Primary UAE CT legislationConfirmed (mof.gov.ae)
Effective dateFY starting on or after 1 June 2023Confirmed (mof.gov.ae)
9% rate / AED 375,000 zero bandArt. 3 FDL 47/2022Widely reported; verify from FDL text
9-month filing and payment deadlineAfter end of tax periodConfirmed (mof.gov.ae)
Small Business ReliefMD 73/2023Reported; full text not yet retrieved
QFZP 0% on Qualifying IncomeMD 139/2023Confirmed (mof.gov.ae)
EmaraTax as sole filing channelNo APIConfirmed (negative — no API found)

Prerequisites

  • Odoo 17, 18, or 19 (Community or Enterprise edition)
  • An active ECOSIRE license for ecosire_uae_corporate_tax
  • ecosire_license_client (installed automatically as a dependency)
  • The Odoo account module (standard Odoo Accounting)
  • A company with AED as its primary currency for correct threshold comparisons
  • Your FTA Tax Registration Number (TRN) — 15-digit number from your EmaraTax profile
  • No third-party API credentials are required (there is no CT filing API)

Installation

  1. Download the module ZIP from your ECOSIRE Dashboard
  2. Extract the archive to your Odoo addons directory:
    unzip ecosire-uae-corporate-tax-*.zip -d /opt/odoo/addons/
  3. Restart the Odoo service:
    sudo systemctl restart odoo
  4. Navigate to Apps, click Update Apps List
  5. Search for "ECOSIRE UAE Corporate Tax Compliance" and click Install
  6. Activate your ECOSIRE license when prompted (see Configuration below)

Configuration

Step 1: Activate the ECOSIRE License

  1. Navigate to Settings > ECOSIRE License (or the license activation screen shown after install)
  2. Enter the license key from your ECOSIRE purchase confirmation
  3. Click Activate — the module features become available once the license is confirmed as active
  4. The license is tied to your database domain; use Move License to This Database if you need to transfer it from a staging instance

Step 2: Enter Your UAE CT Company Settings

  1. Navigate to Settings > General Settings > UAE Corporate Tax section
  2. Fill in the following fields:
FieldDescriptionDefault
uae_ct_trnUAE Tax Registration Number (TRN) — 15 digits from EmaraTax(blank)
uae_ct_standard_rateCT standard rate (%)9.0
uae_ct_zero_rate_thresholdZero-rate band ceiling (AED)375,000
uae_ct_sbr_revenue_thresholdSmall Business Relief gross revenue ceiling (AED)3,000,000
uae_ct_sbr_available_untilLast eligible FY end date for SBR election2026-12-31
uae_ct_interest_cap_ebitda_pctInterest Deduction Limitation: EBITDA % cap30.0
uae_ct_interest_cap_floorInterest Deduction Limitation: floor amount (AED)12,000,000
  1. Click Save

Note on legislative parameters: The seeded defaults reflect publicly reported values. Because several Ministerial Decisions (MD 73/2023 for SBR, MD 139/2023 for QFZP) have not been fully retrieved from primary sources at the time of this writing, you should verify each threshold against the FTA's legislation page (https://tax.gov.ae/en/Legislation.aspx) and update the settings fields accordingly before filing. No code change is needed.

Step 3: Identify QFZP Companies (if applicable)

If your company is a Qualifying Free Zone Person:

  1. On the CT Period working paper (see Usage), enable the Qualifying Free Zone Person toggle
  2. Enter the Free Zone name
  3. Enter the period's Qualifying Income (0%) and Non-Qualifying Income (9%) amounts

The module will apply 0% to Qualifying Income and compute 9% (above the AED 375,000 threshold) on Non-Qualifying Income only. QFZP companies are automatically ineligible for Small Business Relief.

Usage

Core Workflow

  1. Create a CT Period working paper

    • Navigate to UAE Corporate Tax > CT Periods > New
    • Set the Tax Period Start and Tax Period End dates to match your company's financial year
    • The Filing & Payment Due date is computed automatically (9 months after period end)
    • Select the Entity Type (Resident juridical person / Non-resident with UAE PE / Natural person with business activity)
    • The Tax Registration Number defaults from your company settings; override it here if needed
  2. Enter or pull accounting profit

    • Click Pull Accounting Profit to have the module derive accounting profit and gross revenue from posted journal entries (income accounts minus expense accounts) for the period
    • Alternatively, enter the Accounting Profit from your audited financial statements directly
    • Enter Gross Revenue (required for SBR eligibility checking)
  3. Add income adjustments

    • In the Income Adjustments tab, add adjustment lines:
      • Addition lines increase taxable income (non-deductible expenses such as fines, penalties, disallowed entertainment, interest disallowance)
      • Deduction lines reduce taxable income (exempt income such as qualifying dividends or capital gains)
    • Each adjustment line references an Adjustment Type with a legal reference (FDL article)
    • Always enter amounts as positive figures; the Kind (addition/deduction) sets the direction
  4. Apply tax losses

    • Enter Tax Losses Brought Forward from prior periods
    • Enter Tax Losses Applied to offset against this period's adjusted income (capped at brought-forward balance)
    • The Losses Carried Forward figure is computed automatically
  5. Configure relief elections

    • To elect Small Business Relief: enable the Elect Small Business Relief checkbox. The module validates eligibility (revenue threshold, entity type, QFZP exclusion, period expiry) and displays an SBR Notice if the election is invalid
    • For QFZP treatment: enable Qualifying Free Zone Person and enter qualifying/non-qualifying income split
  6. Compute the working paper

    • Click Compute Corporate Tax. The waterfall runs:
      Accounting Profit
      + Total Additions
      - Total Deductions
      - Tax Losses Applied
      = Adjusted Income
      → Relief elections (SBR → taxable income = 0; QFZP → split income)
      → Zero-rate band (AED 375,000 at 0%)
      → Standard rate (9% on excess)
      = CT Payable
    • The period moves to Computed status and a chatter entry records the taxable income and CT payable
  7. Print the working paper

    • Click Print Working Paper to generate a PDF audit document showing every waterfall step with legal references
    • Use the EmaraTax Field Map action (available in Computed status) to export a structured field list matching EmaraTax CT return sections: identification, revenue, SBR, free zone, and tax payable
  8. File in EmaraTax

    • Log in to https://emsrvs.tax.gov.ae using your UAE Pass or FTA account
    • Navigate to Corporate Tax > File Return, select your tax period
    • Copy each value from the working paper into the EmaraTax CT return screens
    • Submit and retain the EmaraTax confirmation reference number
    • Return to Odoo and click Mark as Filed (in EmaraTax) to close the period

Tax Group (Consolidated Return)

Tax Group consolidated returns are not yet supported. The UAE CT consolidation mechanics (single group return vs. member offset) are not publicly confirmed from the primary source (FDL Part 7). Each group member must file an individual CT period until the rules are wired. If you attempt to use the Tax Group return action, the module raises a clear error rather than producing an incorrect computation.

Troubleshooting / FAQ

IssueCauseFix
"License not active" error when creating a CT periodECOSIRE license is not activated or has expiredGo to Settings > ECOSIRE License; enter or renew your license key
Pull Accounting Profit returns zeroNo posted journal entries exist for the selected period datesEnsure the period dates match your posted accounting data; check that entries are confirmed (posted), not draft
SBR notice appears even though you elected SBRThe election fails an eligibility checkRead the SBR Notice text — it states the exact reason (revenue above AED 3M, QFZP company, non-resident entity, or period end after the SBR expiry date)
QFZP toggle removes SBR optionExpected behaviourQFZPs are ineligible for Small Business Relief per the reported MD 73/2023 rules
Adjustments with negative amounts are rejectedValidation errorAlways enter adjustment amounts as positive figures; use the Kind field (addition/deduction) to control direction
CT Payable seems too high for a QFZPQualifying and Non-Qualifying income not split correctlyFor QFZPs, the 0% rate applies to all Qualifying Income (no AED 375,000 band deducted from it); enter only Non-Qualifying Income in the Non-Qualifying field
Filing due date looks wrongCompany financial year not set correctlyThe filing due date is computed as 9 months after Tax Period End — verify the period end date matches your FY end
"Tax Group consolidated returns are not yet supported" errorGroup return attemptedFile individual CT periods for each group member; group consolidation is blocked pending confirmed rules
Settings fields not visibleUser does not have CT Manager or CT User groupAsk your Odoo administrator to assign you to the UAE CT security group under Settings > Users
Legislative thresholds appear incorrectDefault seeded values not yet verified against primary legislationUpdate the thresholds in Settings > General Settings > UAE Corporate Tax once you have verified them from the FTA legislation page

Important Regulatory Notes

  • SBR time limit (reported): Small Business Relief is reported to be available for tax periods ending on or before 31 December 2026 (MD 73/2023). The module warns you if you elect SBR for a period ending after the configured expiry date. Verify this boundary from the primary Ministerial Decision before relying on it.
  • QFZP conditions (reported): Qualifying Free Zone Person status requires the company to be registered in a UAE free zone, maintain adequate substance, derive only qualifying income (or de-minimis non-qualifying income), and prepare audited financial statements. The module accepts the QFZP flag as a manual input; confirming the company's QFZP status is the taxpayer's responsibility.
  • No API transmission: UAE CT returns have no taxpayer-facing machine-to-machine filing API. This module will never transmit data to the FTA. It produces a workpaper for manual portal entry.

Support