Skip to main content

UAE FTA E-Invoicing (PINT AE)

The ECOSIRE UAE FTA E-Invoicing module is the United Arab Emirates country pack for the ECOSIRE E-Invoicing Suite. It sits on top of ecosire_einvoice_core and handles the document side of UAE's Peppol-based e-invoicing mandate: PINT AE / UBL 2.1 invoice and credit-note generation, UAE-specific business-rule validation (TRN, AED currency, tax categories), a pluggable Accredited Service Provider (ASP) transport adapter interface, and a penalty-aware compliance cockpit that tracks the two AED 1,000/day statutory notification obligations confirmed in Cabinet Resolution 106/2025.

Compatibility: Odoo 17 / 18 / 19 Price: $499 (one-time) — or $1,499 for the GCC Bundle (40% off the full stack) License: LGPL-3

Try it on demo

Explore the live demo at zatca.demo.ecosire.com — the same server hosts all GCC E-Invoicing Suite country packs.

How UAE e-invoicing differs from KSA ZATCA

UAE is not ZATCA. There is no taxpayer-facing government REST API. The UAE mandates a Peppol 5-corner DCTCE (Decentralised CTC and Exchange) model:

CornerPartyRole
1Supplier ERP (this module)Generates and validates the PINT AE document
2Accredited Service Provider (ASP) / Peppol Access PointLegally mandatory; transmits to the network
3Receiving Access PointDelivers to the buyer system
4Buyer systemReceives the e-invoice
5FTAReceives a Tax Data Document (TDD) from the network

Appointing an ASP is legally mandatory under Cabinet Resolution 106/2025. The module ships the document side plus a pluggable adapter interface — no concrete network adapter is enabled by default because all known ASP APIs (Pagero, Sovos, Avalara, Cleartax AE, EDICOM, Comarch) are gated behind provider documentation or sandbox agreements that were not publicly available at build time. The manual / file-export adapter is the default, allowing you to export a validated PINT AE XML and upload it to your chosen ASP portal.

Confirmed legislation tracked

InstrumentSubject
Ministerial Decision No. 243 of 2025Establishes the Electronic Invoicing System and in-scope entities
Cabinet Resolution No. 106 of 2025Penalty framework: AED 5,000/month for no ASP; AED 100/invoice and AED 100/credit note not issued (cap AED 5,000/month each); AED 1,000/day failure to notify FTA of malfunction; AED 1,000/day failure to notify ASP of data changes

Phase 1 go-live is widely reported as July 2026 for large taxpayers, with Phase 2 targeting mid-size taxpayers in 2027. The revenue threshold for Phase 1 and the complete PINT AE specification (QR code, UUID, sequence numbering rules) are not yet publicly confirmed — the module handles these unknowns by generating a standards-correct EN16931/UBL 2.1 backbone and flagging what must be frozen once the full PINT AE spec is published.

Key Features

  • PINT AE / UBL 2.1 document builder extending Odoo's native account_edi_ubl_cii infrastructure (the same foundation used by Odoo's PINT profiles for ANZ, Japan, Malaysia, Singapore)
  • UAE business-rule validators: 15-digit TRN check for seller and B2B/B2G buyer, AED currency enforcement, UAE tax categories (5% standard / 0% zero-rated / exempt), UBL document type codes 380 (invoice) and 381 (credit note)
  • Five invoice-level PINT AE status states tracked on every account.move: Not Applicable, To Send, Queued, Sent, Error
  • Manual / file-export fallback adapter: generates and attaches a validated PINT AE XML without any network call; allows ASP portal upload before a provider adapter is installed
  • Pluggable einvoice.asp.adapter abstract interface: any future ASP adapter is a thin subclass; an unconfigured adapter raises a plain-language error rather than silently failing
  • Penalty-aware compliance cockpit (einvoice.uae.notification): log and track malfunction-notification and ASP-data-change obligations, with real-time AED 1,000/day exposure calculation and a "Mark as Notified" action to stop the penalty clock
  • Credit-note support (UBL type 381) — credit notes are confirmed in scope by the penalty legislation
  • Multi-company isolation: all records are scoped to company_id
  • License-enforced entry points: validation, submission, and export actions are gated on an active ECOSIRE license

Prerequisites

  • Odoo 17, 18, or 19 (Community or Enterprise edition)
  • ecosire_einvoice_core installed (the ECOSIRE GCC E-Invoicing engine, $499 or included in the GCC Bundle)
  • An active ECOSIRE license for ecosire_einvoice_uae
  • Python lxml library (typically pre-installed in standard Odoo environments)
  • A UAE VAT registration number (15-digit TRN) for your company
  • An Accredited Service Provider (ASP) agreement to submit documents to the FTA network (required for live production submission; the manual-export mode works without an ASP agreement)

Installation

  1. Download the module ZIP from your ECOSIRE Dashboard. If you purchased the GCC Bundle, download both ecosire_einvoice_core and ecosire_einvoice_uae.
  2. Extract both modules to your Odoo addons directory:
    unzip ecosire-einvoice-core-*.zip -d /opt/odoo/addons/
    unzip ecosire-einvoice-uae-*.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 E-Invoicing Core" and install it first.
  6. Search for "ECOSIRE E-Invoicing UAE FTA" and install it.
  7. Enter your ECOSIRE license key when prompted.

Configuration

Step 1: Activate your ECOSIRE license

  1. Navigate to Settings > ECOSIRE License.
  2. Enter the license key you received after purchase and click Activate.
  3. Confirm the status shows Active before proceeding.

The validation, export, and submission buttons on invoices are all license-gated — they will show a clear error if the license is not active.

Step 2: Enter your company TRN

  1. Navigate to Settings > Companies and open your company.
  2. In the General Information tab, enter your 15-digit UAE Tax Registration Number in the Tax ID field (vat).
  3. Save the record.

The module validates this field on every PINT AE generation. B2B and B2G buyer partners must also have their 15-digit TRN entered in the Tax ID field on their contact record.

Step 3: Configure your ASP provider

  1. Navigate to Settings > E-Invoicing > UAE.
  2. The UAE ASP Provider field defaults to Manual export (upload to ASP portal). This is the only adapter shipped in the current version.
  3. If you have installed a separately available provider-specific adapter (e.g., a future Pagero or Sovos pack), select it here and enter the provider credentials that adapter requires.
ASP adapter for live submission

No concrete network adapter ships enabled in the current release. Live production submission to the FTA via the Peppol network requires an Accredited Service Provider agreement and a provider-specific adapter built against real provider documentation or sandbox access. The manual export adapter is fully functional for generating validated PINT AE XML files for ASP-portal upload.

Step 4: Configure tax categories on products

Ensure the tax rates on your products map cleanly to the three UAE categories the module validates:

UAE categoryRateWhen to use
S (Standard)5%Default for most goods and services
Z (Zero-rated)0%Exports, international services, etc.
E (Exempt)Exempt flagFinancial services, residential property, etc.

Any tax rate other than 5% or 0% (or exempt) will raise a BR-AE-04 validation error at document generation time.

Usage

Validating an invoice

  1. Open a posted customer invoice.
  2. Click Validate PINT AE (requires an active license).
  3. The module runs all UAE business rules (BR-AE-01 through BR-AE-05). A success notification confirms the invoice passes; a validation error lists each failed rule by code and description.

The five business rules checked are:

RuleCheck
BR-AE-01Seller TRN present and exactly 15 digits
BR-AE-02B2B/B2G buyer has a valid 15-digit TRN
BR-AE-03Invoice currency is AED (warning for foreign-currency documents)
BR-AE-04All tax lines resolve to a UAE category (S / Z / E)
BR-AE-05Document type is invoice (380) or credit note (381)

Exporting a PINT AE XML file

  1. Open a posted customer invoice that passes validation.
  2. Click Export PINT AE XML (requires an active license).
  3. The module generates a validated PINT AE / UBL 2.1 XML and attaches it to the invoice.
  4. Download the attachment and upload it to your ASP's portal for transmission to the FTA network.

This workflow is the primary path for live submission in the current version.

Submitting via an ASP adapter

  1. Open a posted invoice.
  2. Click Submit PINT AE (requires an active license).
  3. The module routes the document through the configured ASP adapter:
    • With the default manual adapter, the XML is generated and attached, and the status moves to Queued (manual / ASP).
    • With a network adapter installed and configured, the status moves to Sent and the ASP Reference field is populated with the provider's reference.
  4. The PINT AE status field on the invoice form tracks the outcome: Not Applicable, To Send, Queued, Sent, or Error.

Using the compliance cockpit

The compliance cockpit tracks the two AED 1,000/day notification obligations under Cabinet Resolution 106/2025.

  1. Navigate to E-Invoicing > UAE Compliance > Notifications.
  2. Click New to log a new obligation:
    • Type: Malfunction — notify FTA, or Data Change — notify ASP
    • Obligation Started: the datetime when the malfunction occurred or the data change took effect (the penalty clock starts here)
    • Details: a description of the event
  3. The Days Exposed and Estimated Penalty (AED) fields compute automatically in real time.
  4. Once you have notified the FTA or ASP, click Mark as Notified to stop the clock and record the notification datetime.
  5. Click Close when the obligation is fully resolved.

The cockpit does not submit notifications to any authority automatically — it is an internal auditable log that demonstrates timely action and quantifies exposure.

Troubleshooting / FAQ

IssueCauseSolution
"License not active" on Validate / Export / SubmitThe ECOSIRE license key has not been activated or has expiredGo to Settings > ECOSIRE License, re-enter or renew your key, and verify the status shows Active
BR-AE-01: Seller TRN missingYour company's Tax ID field is blank or not 15 digitsGo to Settings > Companies, enter the 15-digit UAE TRN in the Tax ID field
BR-AE-02: Buyer TRN missingA B2B/B2G partner contact is missing a valid TRNOpen the partner record and enter the 15-digit UAE TRN in the Tax ID field
BR-AE-03 warning: currency is not AEDThe invoice currency is set to a non-AED currencyThe warning does not block export; confirm whether your ASP accepts foreign-currency PINT AE documents
BR-AE-04: Unsupported tax rateA product tax is set to a rate other than 5%, 0%, or exemptUpdate the tax to one of the three UAE categories (S / Z / E)
"No Accredited Service Provider is configured"The Submit action was clicked with the abstract adapter (not the manual adapter)Go to Settings > E-Invoicing > UAE and ensure the UAE ASP Provider is set to Manual export or a provider adapter
"UBL 2.1 builder not available"account_edi_ubl_cii is not installedVerify that ecosire_einvoice_core and its Odoo dependencies are fully installed; update the module list and restart Odoo
PINT AE XML attachment is missing after exportThe export action completed but the file is not visibleHard-refresh your browser (Ctrl+Shift+R) and check the Attachments section on the invoice chatter
Estimated penalty shows 0 on a new notificationThe Obligation Started datetime has not been saved yetSave the record first; the computation runs on the stored value

Frequently Asked Questions

Is this module ready for live production submission? The module is production-ready for PINT AE document generation and validation. Live submission to the FTA network requires an Accredited Service Provider agreement and a provider-specific adapter. The manual export adapter (included) covers the file-upload path that every ASP portal supports.

Why does the module not include a provider adapter for Pagero, Sovos, or another ASP? All known ASP APIs were gated behind non-disclosure or private sandbox agreements at build time. ECOSIRE does not fabricate API endpoints. Provider adapters will be released as separate optional packs once real provider documentation or sandbox access is obtained.

Does this module handle the QR code, UUID, and sequence numbering required by PINT AE? The exact PINT AE version, QR code structure, UUID, and sequence requirements are blocking unknowns per the platform API contract (the PINT AE spec paths on docs.peppol.eu returned 404 as of June 2026). The module generates a standards-correct EN16931/UBL 2.1 backbone and logs a clear warning that these fields must be confirmed before live submission. This is the honest, no-fabrication approach — no dummy values are inserted.

What is the Phase 1 go-live date? July 2026 is widely reported for large taxpayers, but this date is not yet verified from the full text of Ministerial Decision 243/2025. The module's compliance cockpit and document generation are ready regardless of which date holds.

Can I use this module for credit notes? Yes. Credit notes are confirmed in scope by Cabinet Resolution 106/2025 (AED 100 per credit note not issued). The module maps Odoo refund moves to UBL type code 381.

Support