FinchContext
Run with

Generate PINT AE Invoice XML (UAE 5-corner)

Skill: Convert invoice data into a PINT AE (Peppol) invoice XML

Region: United Arab Emirates Category: E-Invoicing — DCTCE (5-corner model) Does: Takes ordinary invoice data and produces a PINT AE UBL Invoice — the UAE Peppol specification exchanged through Accredited Service Providers under the 5-corner (DCTCE) model, with data reported to the Federal Tax Authority. Standard: PINT AE (Peppol International model, UBL 2.1)

Invoices are exchanged via Accredited Service Providers (corners 2–4) and reported to the FTA (corner 5). The seller's TRN (Tax Registration Number, 15 digits) is required. Validate against the current PINT AE schematron before sending.


Input data required

Input Used for
Invoice number, issue date, type code header
Seller TRN (15 digits), name, address, emirate AccountingSupplierParty
Buyer TRN (if registered), name, address AccountingCustomerParty
Currency (AED) DocumentCurrencyCode
Line items: name, quantity, net price, VAT category & rate InvoiceLine
VAT breakdown per category (5% standard, 0%, exempt) TaxTotal

Namespaces

Prefix URI
default urn:oasis:names:specification:ubl:schema:xsd:Invoice-2
cac urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2
cbc urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2

Identification:


Document structure to emit

Invoice
├── cbc:CustomizationID / cbc:ProfileID
├── cbc:ID / cbc:IssueDate / cbc:InvoiceTypeCode (380) / cbc:DocumentCurrencyCode (AED)
├── cac:AccountingSupplierParty  (name, address+emirate, TRN)
├── cac:AccountingCustomerParty  (TRN if registered)
├── cac:TaxTotal                 (TaxAmount + TaxSubtotal per category)
├── cac:LegalMonetaryTotal
└── cac:InvoiceLine ...

TRN placement

<cac:PartyTaxScheme>
  <cbc:CompanyID>100123456700003</cbc:CompanyID>
  <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:PartyTaxScheme>

VAT category codes

Code Meaning Rate
S Standard rate 5%
Z Zero-rated (e.g. exports, certain supplies) 0%
E Exempt
O Out of scope

Calculation rules


Worked example (single 5% line)

<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cbc:CustomizationID>urn:peppol:pint:billing-1@ae-1</cbc:CustomizationID>
  <cbc:ProfileID>urn:peppol:bis:billing</cbc:ProfileID>
  <cbc:ID>2024-001</cbc:ID>
  <cbc:IssueDate>2024-01-15</cbc:IssueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>AED</cbc:DocumentCurrencyCode>
  <cac:AccountingSupplierParty><cac:Party>
    <cac:PartyName><cbc:Name>Acme LLC</cbc:Name></cac:PartyName>
    <cac:PostalAddress><cbc:StreetName>Sheikh Zayed Rd</cbc:StreetName><cbc:CityName>Dubai</cbc:CityName><cbc:CountrySubentity>Dubai</cbc:CountrySubentity><cac:Country><cbc:IdentificationCode>AE</cbc:IdentificationCode></cac:Country></cac:PostalAddress>
    <cac:PartyTaxScheme><cbc:CompanyID>100123456700003</cbc:CompanyID><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:PartyTaxScheme>
  </cac:Party></cac:AccountingSupplierParty>
  <cac:AccountingCustomerParty><cac:Party>
    <cac:PartyName><cbc:Name>Client FZE</cbc:Name></cac:PartyName>
    <cac:PostalAddress><cbc:CityName>Abu Dhabi</cbc:CityName><cbc:CountrySubentity>Abu Dhabi</cbc:CountrySubentity><cac:Country><cbc:IdentificationCode>AE</cbc:IdentificationCode></cac:Country></cac:PostalAddress>
    <cac:PartyTaxScheme><cbc:CompanyID>100987654300003</cbc:CompanyID><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:PartyTaxScheme>
  </cac:Party></cac:AccountingCustomerParty>
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="AED">500.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="AED">10000.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="AED">500.00</cbc:TaxAmount>
      <cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>5</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="AED">10000.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="AED">10000.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="AED">10500.00</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="AED">10500.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="AED">10000.00</cbc:LineExtensionAmount>
    <cac:Item><cbc:Name>Consulting services</cbc:Name>
      <cac:ClassifiedTaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>5</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price><cbc:PriceAmount currencyID="AED">10000.00</cbc:PriceAmount></cac:Price>
  </cac:InvoiceLine>
</Invoice>

Validation checklist


Last updated: 2026-05-26 — the UAE programme and PINT AE specification are evolving; confirm the customization identifier, mandatory fields, rollout phase, and ASP/FTA reporting flow against the current Ministry of Finance / FTA publication before use.