
Integrating for UAE e-invoicing means connecting your ERP or accounting software to an Accredited Service Provider (ASP) on the Ministry of Finance's list. The core task is a data pipeline that maps your financial data to the 51 mandatory fields of a Peppol PINT AE tax invoice, passes validation, and submits each invoice through the ASP's API.
What is the actual engineering task?
The UAE's move to mandatory e-invoicing is not about finding new software to send PDFs. PDF and paper invoices will no longer be compliant. The mandate requires the exchange of structured data: specifically, XML files that conform to the Peppol PINT AE specification [3].
The system operates on a decentralized, five-corner model built on the Peppol network [4]. Your business (corner 1) sends an invoice through your chosen Accredited Service Provider, or ASP (corner 2). The ASP routes it through the Peppol network to the recipient's ASP (corner 3), who delivers it to the recipient (corner 4). Both ASPs report the transaction to the tax authority's platform (corner 5), the buyer's ASP only once the invoice passes its validation [2, 6].
From an engineering perspective, your responsibility is to get a valid invoice from your system to your ASP. This is a classic system integration and data transformation problem. You are not building a user-facing product; you are building a backend service that connects your financial source of truth to the national invoicing network.
How should a build team sequence the work?
The work should be sequenced to de-risk the project early. The biggest risk is always the quality and accessibility of the source data.
Step 1: Data Discovery and Mapping. Before writing any code, we start with a data audit. The Ministry of Finance lists 51 mandatory fields for an electronic tax invoice and 49 for a commercial one [15]. Your first task is to locate where each of these data points lives in your current systems, whether an ERP, CRM, or billing platform, and to list which transaction scenarios you use, because several of them make extra fields mandatory [10]. This mapping exercise dictates the entire project's complexity and is the most frequently underestimated phase.
Step 2: ASP Selection and Connection. You will need to contract with an Accredited Service Provider from the Ministry of Finance's list [17]. Once selected, they will provide API documentation and sandbox credentials. The technical task is to build an API client that can authenticate with their platform and submit invoices in the format you agree with them, which can be PINT AE XML or another format the ASP converts [6].
Step 3: Build Transformation and Generation Logic. This is the core development work. We build a service that extracts data from your source systems (via API calls, database queries, or file exports), transforms it according to the mapping from Step 1, and constructs a valid PINT AE XML file. The participant identifier must be the business's TIN, which is the first 10 digits of its Corporate Tax TRN [1]. For companies in a VAT group, each legal entity must use its own TIN, not the group's [5].
Step 4: Validation and Testing. The generated XML must be valid against the UBL 2.1 Invoice schema, or the CreditNote schema for credit notes [12], and pass both PINT AE Schematron rule sets [10, 11]. We build this validation directly into our CI/CD pipeline to automatically reject any code changes that produce invalid invoices. You must then test the full cycle in the ASP's sandbox environment, from generation through submission to receiving a valid acknowledgement.
What are the PINT AE mandatory fields?
The Ministry of Finance publishes its own list of mandatory fields alongside the Peppol specification: an electronic tax invoice has 51 mandatory fields and a commercial electronic invoice has 49 [15]. You will also see the term 'PINT AE data dictionary'. It first appeared as the draft data dictionary the Ministry released for public consultation in 2025, and the published PINT AE specification builds on that draft [21]. Map against the current PINT AE specification and the Ministry's mandatory-fields list, not the 2025 consultation draft. Treat the mandatory list as the minimum. The PINT AE validation rules make further fields mandatory as soon as a particular transaction scenario applies [10].
The switch for those scenarios is the invoice transaction type code (BTAE-02), a UAE-specific field. Rule IBR-154-AE requires it to be a string of no more than eight characters made only of 0 and 1, with one position per transaction type [10]. Each flag pulls in extra data: IBR-138-AE makes the invoicing period mandatory when the summary invoice flag is set (XXX1XXXX), and IBR-137-AE requires a Principal ID for disclosed agent billing (XXXXX1XX) [10]. Your mapping layer has to derive these flags from the ERP's own transaction data before it can decide which fields to fill.
Identifiers and addresses carry format rules that your source data must already meet. The participant identifier is the business's TIN, the first 10 digits of its Corporate Tax TRN [1]. VAT identifiers in the invoice must be the 15-digit TRN, starting with 1 and ending with 03 (IBR-132-AE), and a UAE address must give the emirate as one of AUH, DXB, SHJ, UAQ, FUJ, AJM or RAK (IBR-128-AE) [10]. If your ERP stores the emirate as free text such as 'Dubai', the transformation step has to convert it.
The XML itself is standard UBL: a PINT AE invoice is a UBL 2.1 Invoice document, and a credit note is a UBL 2.1 CreditNote document [12]. Its specification identifier (ibt-024, carried in cbc:CustomizationID) must start with urn:peppol:pint:billing-1@ae-1, or urn:peppol:pint:selfbilling-1@ae-1 for self-billing (ALIGNED-IBRP-001-AE), and receivers use that identifier to decide which rule set to apply [10, 12, 14].
The table below takes the 51 fields on the Ministry's tax invoice list in the Ministry's order and gives each one its PINT AE business term, the cardinality or rule that governs it, and where the value usually comes from in an ERP [10, 22, 23]. The commercial invoice list has 49 fields: it drops the two AED line amounts (BTAE-08 and BTAE-10), asks for the seller tax registration identifier instead of the seller TRN (a seller without a TRN gives its TIN), and asks for the buyer's legal registration identifier and its type instead of the buyer's tax identifier and tax scheme [23].
| Business term | Field (Ministry of Finance list) | Condition or rule | Typical ERP source |
|---|---|---|---|
| IBT-001 | Invoice number | Always required (1..1) | Sales invoice header |
| IBT-002 | Invoice date | Always required (1..1) | Sales invoice header |
| IBT-003 | Invoice type code | Always required; a credit note must reference the invoice it corrects unless the reason code is VD (IBR-055-AE) | Document type setup |
| IBT-005 | Invoice currency code | Always required; a currency other than AED needs the exchange rate BTAE-04 (IBR-159-AE) | Sales invoice header |
| BTAE-02 | Invoice transaction type code | Up to eight characters of 0 and 1, one flag per transaction type (IBR-154-AE) | Derived from the transaction data |
| IBT-009 | Payment due date | Required when an amount is due, except on credit notes and deemed supplies (IBR-127-AE) | Payment terms |
| IBT-023 | Business process type | urn:peppol:bis:billing or urn:peppol:bis:selfbilling (ALIGNED-IBRP-002-AE) | Fixed in the integration |
| IBT-024 | Specification identifier | Starts with urn:peppol:pint:billing-1@ae-1 or the self-billing value (ALIGNED-IBRP-001-AE) | Fixed in the integration |
| IBT-081 | Payment means type code | Required except on credit notes and deemed supplies (IBR-191-AE); a credit transfer also needs the payment account (IBR-192-AE) | Payment method setup |
| IBT-027 | Seller name | Always required (1..1) | Company master data |
| IBT-034 | Seller electronic address | The seller's TIN, the first 10 digits of its Corporate Tax TRN | Company master data |
| IBT-034-1 | Seller electronic identifier | Fixed value 0235 for businesses registered in the UAE | Fixed in the integration |
| IBT-030 | Seller legal registration identifier | Required when the endpoint scheme is 0235 (IBR-150-AE) | Company master data |
| BTAE-15 | Seller legal registration identifier type | TL, EID, PAS or CD; a trade licence also needs the issuing authority name (IBR-172-AE) | Company master data |
| IBT-031 | Seller tax identifier | The TRN: 15 digits, starting with 1 and ending with 03 (IBR-132-AE) | Company master data |
| IBT-031-1 | Seller tax scheme code | VAT (IBR-133-AE) | Fixed in the integration |
| IBT-035 | Seller address line 1 | Required (IBR-143-AE) | Company master data |
| IBT-037 | Seller city | Required (IBR-143-AE) | Company master data |
| IBT-039 | Seller country subdivision | AUH, DXB, SHJ, UAQ, FUJ, AJM or RAK when the country is AE (IBR-128-AE) | Company master data |
| IBT-040 | Seller country code | AE for a UAE seller | Company master data |
| IBT-044 | Buyer name | Always required (1..1) | Customer master data |
| IBT-049 | Buyer electronic address | The buyer's Peppol endpoint; an export buyer with no Peppol ID gets 9900000099 | Customer master data |
| IBT-049-1 | Buyer electronic identifier | The endpoint scheme, 0235 for UAE endpoints | Customer master data |
| IBT-048 | Buyer tax identifier | The buyer's TRN in the same 15-digit format (IBR-132-AE); required on reverse charge lines (IBR-103-AE) | Customer master data |
| IBT-048-1 | Buyer tax scheme code | VAT (IBR-133-AE) | Fixed in the integration |
| IBT-050 | Buyer address line 1 | Required (IBR-144-AE) | Customer master data |
| IBT-052 | Buyer city | Required (IBR-144-AE) | Customer master data |
| IBT-054 | Buyer country subdivision | An emirate code when the country is AE (IBR-128-AE) | Customer master data |
| IBT-055 | Buyer country code | Always required (1..1) | Customer master data |
| Business term | Field (Ministry of Finance list) | Condition or rule | Typical ERP source |
|---|---|---|---|
| IBT-106 | Sum of invoice line net amount | Must equal the total of the line net amounts (IBR-CO-10) | Calculated from the lines |
| IBT-109 | Invoice total amount without tax | Always required (1..1) | Calculated from the lines |
| IBT-110 | Invoice total tax amount | Always required (1..1) | Tax calculation |
| IBT-112 | Invoice total amount with tax | Always required (1..1) | Calculated from the lines |
| IBT-115 | Amount due for payment | Always required (1..1) | Receivables |
| IBT-116 | Tax category taxable amount | One per VAT breakdown (ALIGNED-IBRP-045) | Tax calculation |
| IBT-117 | Tax category tax amount | One per VAT breakdown (ALIGNED-IBRP-046); zero for reverse charge (ALIGNED-IBRP-AE-09-AE) | Tax calculation |
| IBT-118 | Tax category code | From the aligned tax category code list (IBR-139-AE) | Tax code setup |
| IBT-119 | Tax category rate | Required except where the invoice is not subject to VAT or is exempt (IBR-119-AE) | Tax code setup |
| IBT-126 | Invoice line identifier | Always required (1..1) | Invoice line |
| IBT-129 | Invoiced quantity | Always required (1..1) | Invoice line |
| IBT-130 | Unit of measure code | Always required (1..1) | Item master data |
| IBT-131 | Invoice line net amount | Quantity times net price over base quantity, plus line charges, minus line allowances (IBR-147-AE) | Invoice line |
| IBT-146 | Item net price | Gross price minus price discount, when a gross price is given (ALIGNED-IBRP-004) | Price list |
| IBT-148 | Item gross price | Required (IBR-126-AE) | Price list |
| IBT-149 | Item price base quantity | Required (IBR-126-AE) | Item master data |
| IBT-151 | Invoiced item tax category code | Every line needs one (IBR-145-AE) | Tax code on the line |
| IBT-152 | Invoiced item tax rate | 5.00 on standard-rated lines (IBR-190-AE) | Tax code setup |
| BTAE-08 | VAT line amount in AED | Required in AED on each line, whatever the invoice currency (IBR-104-AE) | Calculated per line |
| BTAE-10 | Invoice line amount in AED | Required in AED on each line (IBR-104-AE, IBR-194-AE) | Calculated per line |
| IBT-153 | Item name | Always required (1..1) | Item master data |
| IBT-154 | Item description | Required (IBR-125-AE) | Item master data |
How do PINT AE validation rules work?
Validation runs in two layers. The file must first be valid against the UBL Invoice 2.1 schema [12]. It is then checked against two sets of Schematron business rules published with the PINT AE specification: the shared PINT rules and the AE-specific rules [10, 11].
The shared rules (IDs such as IBR-001 and IBR-CO-10) apply to every PINT invoice, in any country. If any of them fails, the invoice is not a valid PINT invoice [11]. The AE-specific rules (IDs ending in -AE, plus the ALIGNED-IBRP rules) apply to all UAE senders [10]. Together they check presence, code lists, identifier formats and arithmetic: IBR-CO-10, for example, requires the document-level sum of invoice line net amounts (ibt-106) to equal the total of the individual line net amounts (ibt-131) [11].
Run the same checks in your own pipeline so a bad invoice fails in CI rather than at the ASP. The resources download on the Peppol PINT AE site contains both rule sets as Schematron and compiled XSLT, the code lists and sample invoices. Pin the version you test against. PINT AE 1.0.4, released on 2 June 2026, corrected validation logic in several rules [13], so re-run your regression suite whenever your ASP moves to a new release.
In production the checks happen again. Your ASP validates the data you send [6], the buyer's ASP validates the invoice, and the results come back to you as Message Level Status (MLS) messages that your ASP forwards [7]. Store each status against its invoice and route failures to the team that owns the source data.
These are the rules that most often decide whether an ERP's data passes, with what usually trips them and the fix that belongs in the mapping layer [10, 11].
| Rule | What it checks | Typical failure | Fix |
|---|---|---|---|
| IBR-154-AE | The transaction type code BTAE-02 is up to eight characters of 0 and 1 | The flags are left blank or sent as text | Derive each flag from the ERP's transaction data and send the full flag string |
| IBR-132-AE | VAT identifiers are 15-digit TRNs that start with 1 and end with 03 | A TRN stored with spaces or a missing digit | Validate TRNs in the company and customer master data before invoicing |
| IBR-128-AE | A UAE address gives the emirate as AUH, DXB, SHJ, UAQ, FUJ, AJM or RAK | The emirate is stored as free text such as 'Dubai' | Map the free text to the emirate code in the transformation step |
| IBR-127-AE | A payment due date is present when an amount is due | Invoices raised without payment terms | Fill the due date from the payment terms, or confirm that a credit note or deemed supply exception applies |
| IBR-159-AE | An exchange rate is present when the invoice currency is not AED | Foreign-currency invoices sent without the rate used | Send the rate applied to the invoice, to no more than six decimals (IBR-002-AE) |
| IBR-104-AE | Lines with VAT information carry the VAT and line amounts in AED | Foreign-currency lines sent only in the document currency | Calculate the AED amounts for each line at the invoice's exchange rate |
| IBR-138-AE | An invoicing period is present when the summary invoice flag is set | The summary flag is set without period dates | Send the period start and end dates with every summary invoice |
| IBR-137-AE | A principal ID is present for disclosed agent billing | Agent invoices without the principal's TRN | Store the principal's TRN on the agency arrangement and map it to BTAE-14 |
| IBR-055-AE | A credit note references the invoice it corrects, unless its reason code is VD | Credit notes raised without the original invoice number | Carry the original invoice reference into every credit note |
| IBR-103-AE | A buyer VAT identifier is present on reverse charge lines | A reverse charge sale to a buyer with no TRN on file | Hold the invoice until the buyer's TRN is captured |
| IBR-CO-10 | The sum of line net amounts equals the document-level total | Header totals rounded separately from the lines | Build the document totals from the rounded line amounts |
What are the common technical hurdles?
Data Quality. The most common point of failure is poor source data. If a mandatory field like a buyer's address is missing or incorrectly formatted in your ERP, the integration will fail. The project must include a plan for data cleansing and enforcing data quality at the source.
Legacy Systems. Older ERPs or custom-built accounting systems often lack modern APIs. Extracting the required data can be difficult, sometimes requiring direct database connections or fragile file-based exports. This adds significant complexity and maintenance overhead compared to a clean API-based extraction.
Error Handling. The final status is asynchronous. After you submit, the buyer's ASP and the tax platform each return a Message Level Status, which your ASP forwards to you later [7]. Your system needs error handling that processes rejections from the ASP, notifies the correct internal teams of the failure, and manages resubmission without creating duplicate invoices.
Can QuickBooks or other accounting software send PINT AE invoices?
As of April 2026, QuickBooks Online had no native UAE e-invoicing, according to Intuit's own forum replies. In December 2025 a QuickBooks Team reply on the QuickBooks Community said QBO does not directly support e-invoicing for the UAE and had no update on plans to integrate with Peppol or ASPs in 2026 [18]. In April 2026 another QuickBooks Team reply said e-invoicing in QBO is not available in the region and pointed users to third-party apps [19]. These are staff forum answers rather than product announcements, so check again before you plan around them.
Your accounting software does not have to produce PINT AE XML itself, but it does have to supply every PINT AE data point. In the Ministry of Finance's model, the supplier submits invoice data to its ASP in an agreed format, and the ASP validates it and converts it into the UAE standard XML if it arrived in a different format [6]. For QuickBooks, or any system without native support, the integration is a connector that extracts each invoice, maps it to the ASP's API contract, submits it and writes the returned status back to the invoice record.
Two constraints apply whoever builds that connector. The ASP must be on the Ministry of Finance's list of Accredited Service Providers, which is updated as new providers are accredited [17], and accreditation requires an active Peppol-certified provider that has passed the OpenPeppol conformance tests [16]. Outsourcing also does not move responsibility: under PINT, senders and receivers may outsource their roles to service providers but not the responsibility [14]. If a vendor sells a QuickBooks add-on, confirm whether it is the ASP or a middleware layer in front of one.
This is part of our work on system integration, and the planning discipline behind how we work.
Key takeaways
- UAE e-invoicing is a system integration project, not a compliance form.
- The core task is mapping your business data to the 51 mandatory fields of a PINT AE tax invoice, plus the fields your transaction scenarios make mandatory.
- Start with a data audit of your ERP and source systems; this is the most critical and time-consuming phase.
- Your solution must generate valid XML, connect to an ASP's API, and handle submission errors programmatically.
- Automated validation against the UBL 2.1 schema and both PINT AE Schematron rule sets should be part of your development and deployment process.
- As of Intuit's April 2026 forum reply, QuickBooks Online had no native UAE e-invoicing, so it needs a connector to an Accredited Service Provider.
Sources
- UAE: Technical guidance on mandatory e-invoicing fields (kpmg.com)
- United Arab Emirates electronic document specifications (docs.peppol.eu)
- e-Invoicing UAE: Key Requirements, Implementation Timeline and Latest Updates (cleartax.com)
- B2B e-Invoicing in the United Arab Emirates (UAE): EDICOM Pre-Approved e-Invoicing Service Provider| EDICOM (edicomgroup.com)
- UAE e-invoicing mandate 2026: Readiness, ASP, and PINT AE (avalara.com)
- eInvoicing (mof.gov.ae)
- eInvoicing (mof.gov.ae)
- Ministry of Finance announces targeted amendments to eInvoicing system decisions (mof.gov.ae)
- Ministry of Finance announces targeted amendments to eInvoicing system decisions (mof.gov.ae)
- AE specific PINT rules (docs.peppol.eu)
- Shared PINT rules (docs.peppol.eu)
- Peppol International (PINT) model for Billing (docs.peppol.eu)
- Release notes for PINT AE Billing (docs.peppol.eu)
- PINT compliance (docs.peppol.eu)
- Mandatory e-Invoicing Fields in UAE : What Businesses Must Include (cleartax.com)
- Accreditation of eInvoicing Service Providers (mof.gov.ae)
- eInvoicing Accredited Service Providers (ASPs) (mof.gov.ae)
- Will QBO integrate with the UAE FTA’s mandatory e‑invoicing system, which rolls outf rom July 2026, covering B2B and B2G transactions via Peppol standards and ASPs? (quickbooks.intuit.com)
- E-invoicing for tax purposes in UAE (quickbooks.intuit.com)
- Implementation of the Electronic Invoicing System in the UAE (kpmg.com)
- MoF publishes PINT AE specifications for E-invoicing (deloitte.com)
- PINT AE Billing semantic model (docs.peppol.eu)
- UAE Electronic Invoice Mandatory Fields, version 1.0 (mof.gov.ae)
- UAE Electronic Invoicing Guidelines, version 1.1 (mof.gov.ae)
- Cabinet Decision No. 106 of 2025 on violations and administrative penalties for the electronic invoicing system (mof.gov.ae)
Other articles
BRD vs SRS vs SDD vs FRD vs PRD: Which One?
BRD vs SRS vs SDD, plus where an FRD and a PRD fit. What each requirements document is for, who writes it, and which ones your project needs.

Custom software development cost in the UAE (2026)
What does custom software development cost in the UAE in 2026? Concrete ranges by project type, what drives cost, and how to budget for your build.

How to Build a Compliant Fintech App in the UAE
A practical guide to CBUAE licensing, DIFC, ADGM, UAE PDPL, eKYC, and AML engineering for fintech teams building in the UAE.

Frequently asked questions
What is Peppol PINT AE?
Do I connect directly to the FTA?
Can we just send PDF invoices electronically?
When does this mandate begin?
How many mandatory fields does a PINT AE invoice have?
Does QuickBooks support Peppol PINT AE e-invoicing?
Has the UAE e-invoicing deadline been extended?
What if a UAE e-invoice is not in AED?
How do you e-invoice a foreign buyer that has no Peppol ID?
How does reverse charge work on a PINT AE invoice?
What are the penalties for UAE e-invoicing breaches?
Who can act as a Peppol service provider for UAE e-invoicing?
(Next step)
Planning your integration build?
Book a free discovery call and leave knowing what your ERP has to supply for PINT AE and where the integration starts.