Free tool
PINT-AE XML Validator
Paste a PINT-AE invoice XML to check well-formedness, UBL 2.1 conformance, mandatory field presence, seller/buyer TRN format, and monetary totals. Everything runs in your browser — the XML never leaves your device.
What is PINT-AE and why validate?
PINT-AE is the UAE Federal Tax Authority's e-invoicing format — a UBL 2.1 XML profile of the Peppol International Invoice standard. Every VAT-registered business will need to submit invoices in this format from January 2027 (Phase 1) or July 2027 (Phase 2).
This validator runs the format-level checks that catch the majority of avoidable rejections before the invoice reaches your Accredited Service Provider (ASP) or the FTA network — malformed XML, missing namespaces, wrong TRN length, missing mandatory fields, invalid currency codes.
It is not a substitute for the FTA's authoritative validation, which runs inside your ASP's sandbox after appointment. Use this tool as the first-pass filter in your development loop; use your ASP sandbox for the final go/no-go signal.
What we check
The validator runs 14 checks that map directly to the top rejection reasons observed in ASP sandbox submissions:
Well-formed XML · UBL 2.1 root element and namespaces · Invoice ID · Issue date (YYYY-MM-DD) · Invoice type code (tax invoice 380/388/389) · Document currency code (ISO 4217) · Supplier and buyer party blocks · Supplier and buyer TRN (15-digit format) · At least one InvoiceLine · TaxTotal block · LegalMonetaryTotal with a PayableAmount.
Warnings vs errors: missing buyer TRN produces a warning (valid for B2C simplified invoices) rather than an error. Non-standard invoice type codes downgrade to warnings so you're not blocked from testing exotic scenarios.
Frequently asked questions
Does this replace my ASP's PINT-AE validator?+
No — it complements it. Your ASP runs the FTA's authoritative validator, which includes cross-field business rules, tax-calculation checks, and Peppol network routing checks that require server-side context. Use this tool for the fast in-browser round-trip during development; use your ASP sandbox for the compliance signal.
Is my invoice XML uploaded anywhere?+
No. Parsing runs entirely in your browser using the built-in DOMParser. Nothing is uploaded, logged, or sent to any third-party endpoint. You can verify this by opening browser DevTools → Network while pasting.
Which 14 checks does the tool run?+
Well-formedness, UBL 2.1 root + namespaces, cbc:ID, cbc:IssueDate, cbc:InvoiceTypeCode, cbc:DocumentCurrencyCode, AccountingSupplierParty presence, supplier TRN (15 digits), AccountingCustomerParty presence, buyer TRN (15 digits, warning if absent), at least one InvoiceLine, TaxTotal presence, and LegalMonetaryTotal with a PayableAmount.
What are the valid UAE invoice type codes?+
PINT-AE uses UN/CEFACT 1001 codes: 380 (commercial invoice), 388 (tax invoice), 389 (self-billed invoice), 381 (credit note), 383 (debit note). The tool warns if a different code is used but does not fail — the FTA has extended the accepted list in past guidance revisions.
The validator says my XML is well-formed but my ASP still rejects it. What now?+
The most common causes of downstream rejection after format-level validation passes are (1) TRN not found in the FTA register even though the format is correct, (2) tax-total mismatch between line-item VAT and header TaxTotal, (3) missing PEPPOL customization identifier for the AE profile. Check the ASP's rejection code against the PINT-AE business rules document.