Peppol PINT-AE format (technical reference)
Peppol PINT AE format is the UAE e-invoice schema based on UBL 2.1. See structure, mandatory fields, validation rules, and how it maps to FTA tax data.
What is the Peppol PINT AE format?
The Peppol PINT AE format is the UAE national specification for structured electronic invoices. It is built on Peppol International Invoice (PINT), which itself extends Universal Business Language (UBL) 2.1. PINT AE defines the XML fields, code lists, and validation rules every UAE e-invoice must follow when sent through an Accredited Service Provider (ASP).
Why the UAE picked PINT over a custom format
The UAE Ministry of Finance (MoF) and the Federal Tax Authority (FTA) needed a schema that worked for local VAT rules and for cross-border trade. Building a one-off format would have isolated UAE businesses from the global Peppol network. PINT solves that. It is a shared base used by Singapore, Malaysia, Australia, New Zealand, and Japan, with country extensions on top.
PINT AE is the UAE extension. It keeps the global core fields and adds UAE-specific items: Tax Registration Number (TRN), Emirate codes, free zone identifiers, and VAT category mappings. For the wider context, see our UAE e-invoicing guide.
The standards stack, top to bottom
- UBL 2.1: the OASIS XML library that defines invoice tags like cbc:ID and cac:AccountingSupplierParty.
- EN 16931: the European semantic data model for invoices. PINT borrows its logic.
- PINT: the Peppol International Invoice base specification.
- PINT AE: the UAE country profile, with FTA-specific business rules.
Structure of a PINT AE invoice
A PINT AE document is XML. It is not a PDF, not a JSON file, and not a CSV. It has three main blocks: header, parties, and lines. Each block carries strict field names defined by UBL.
Header block
The header carries invoice identity. It includes the invoice number (cbc:ID), issue date (cbc:IssueDate), invoice type code (cbc:InvoiceTypeCode), currency code (cbc:DocumentCurrencyCode), and a unique invoice UUID. The type code tells the receiver whether the document is a tax invoice, a simplified tax invoice, a credit note, or a debit note.
Party block
The party block describes the seller and the buyer. Each party carries a legal name, address, TRN, and Peppol Participant ID. The Peppol ID uses the scheme 0235 for UAE TRNs, written as 0235:100123456700003. Without a valid TRN, the document fails validation at the access point.
Line block
Each line carries the item description, quantity, unit price, VAT category code, VAT rate, and line total. Standard rate is code S at 5%. Zero-rated is Z. Exempt is E. Out of scope is O. Reverse charge is AE. For the reverse charge rules, see our page on the reverse charge mechanism in UAE e-invoicing.
Mandatory fields at a glance
| Field | UBL tag | Purpose |
|---|---|---|
| Invoice number | cbc:ID | Unique reference per supplier |
| Issue date | cbc:IssueDate | Tax point date |
| Invoice UUID | cbc:UUID | Globally unique identifier |
| Invoice type code | cbc:InvoiceTypeCode | 380 tax invoice, 381 credit note |
| Currency | cbc:DocumentCurrencyCode | AED for domestic |
| Supplier TRN | cac:PartyTaxScheme | 15-digit FTA registration |
| Buyer TRN | cac:PartyTaxScheme | Required for B2B |
| VAT category code | cbc:ID under TaxCategory | S, Z, E, O, AE |
| Line extension amount | cbc:LineExtensionAmount | Line total before tax |
| Payable amount | cbc:PayableAmount | Final total including VAT |
How PINT AE flows through the network
The UAE uses a Decentralized Continuous Transaction Control and Exchange (DCTCE) model with 5 corners. The seller's accounting system (Corner 1) hands the invoice to its ASP (Corner 2). The ASP validates the PINT AE XML, signs it, and sends it to the buyer's ASP (Corner 3). The buyer's ASP delivers it to the buyer's system (Corner 4). At the same time, both ASPs report a Tax Data Document (TDD) to the FTA (Corner 5).
Read the full breakdown of the Peppol 5-corner model in UAE e-invoicing for a diagram and timing details.
Where validation happens
Validation is layered. The ASP runs three checks before it accepts the file:
- Schema validation: does the XML match the UBL 2.1 schema?
- Schematron rules: do the field combinations follow PINT AE business rules? For example, a B2B tax invoice without a buyer TRN fails here.
- Code list checks: is the VAT category code on the FTA allowed list?
If any check fails, the ASP rejects the document and returns an error to the seller. The invoice never reaches the buyer or the FTA until it passes.
UAE-specific extensions in PINT AE
PINT AE adds rules the base PINT does not cover. These reflect UAE VAT law and FTA reporting needs.
TRN format and scheme
UAE TRNs are 15 digits. PINT AE requires the scheme identifier 0235 in the Peppol Participant ID. A missing or malformed TRN fails Schematron rule AE-R-001.
Emirate code for the place of supply
Domestic invoices must carry the Emirate code where the supply occurred. Codes follow the FTA list: AD for Abu Dhabi, DU for Dubai, SH for Sharjah, AJ for Ajman, UQ for Umm Al Quwain, RK for Ras Al Khaimah, FU for Fujairah.
Free zone flag
If the supplier or buyer is in a designated free zone, PINT AE carries a flag. This affects how VAT is applied. For the practical impact, read our page on e-invoicing for UAE free-zone companies.
Reverse charge handling
For B2B imports of services or goods under reverse charge, the line uses VAT category code AE and a zero tax amount. The buyer self-accounts for VAT on the VAT return.
Sample XML snippet
A simplified line from a PINT AE invoice looks like this:
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="AED">500.00</cbc:LineExtensionAmount>
<cac:Item><cbc:Name>Consulting hours</cbc:Name></cac:Item>
<cac:Price><cbc:PriceAmount currencyID="AED">50.00</cbc:PriceAmount></cac:Price>
</cac:InvoiceLine>This is just one line. A full invoice can run to 200 lines of XML before signatures.
PINT AE versus other Peppol country profiles
| Country | Profile | Tax ID scheme | Model |
|---|---|---|---|
| UAE | PINT AE | 0235 TRN | 5-corner DCTCE |
| Singapore | PINT SG | 0195 UEN | 4-corner |
| Malaysia | PINT MY | 0230 TIN | 5-corner with CTC |
| Australia | PINT A-NZ | 0151 ABN | 4-corner |
The shared base means a UAE ASP can in theory exchange documents with any Peppol participant once cross-border rules are published. For the GCC angle, see our page on cross-border e-invoicing UAE.
Where to find the official spec
The full PINT AE technical artifacts, including XSD schemas, Schematron files, and code lists, are published on the Peppol UAE specification site. The regulatory framing sits with the UAE Ministry of Finance and the UAE Federal Tax Authority. Always check those sources for the current version before building integrations.
What this means for your ERP
Your ERP does not need to speak PINT AE natively. The ASP handles the XML conversion. Your ERP must hand over clean structured data: line items, tax codes, TRNs, dates, and totals. If those fields are missing or wrong in the ERP, the ASP cannot fix them. Garbage in, rejection out.
For implementation notes by ERP, see our ERP integration for UAE e-invoicing hub.
Common rejection reasons
- Buyer TRN missing on a B2B tax invoice.
- VAT category code does not match the rate (for example, S with 0%).
- Line totals do not add up to the header total within rounding tolerance.
- Issue date is in the future.
- Currency mismatch between header and line items.
- Invalid Emirate code.
Each rejection delays the invoice and risks fines under Cabinet Decision 106 of 2025, which sets penalties from AED 2,500 to AED 50,000 per invoice.
If you want a practical path from your current invoicing setup to PINT AE compliance, Massive's UAE e-invoicing software handles the schema mapping, ASP exchange, and FTA reporting so your finance team can stay focused on the books.