qmetrics
Fatal — invoice rejected TRN & registration UAE-specific rule PINT-AE 2026.5

How to fix ibr-135-ae in UAE e-invoicing

What is ibr-135-ae?

ibr-135-ae is a fatal validation rule in the UAE's Peppol PINT-AE e-invoicing specification — one of the UAE-specific rules. It is checked against the buyer (customer) party block and belongs to the TRN & registration rule group. An e-invoice that fails ibr-135-ae is rejected by the Accredited Service Provider gateway before it reaches the FTA.

What the official rule says

Either Buyer identifier (IBT-046) or Buyer VAT identifier (IBT-048 ) MUST be present when the Invoice transaction type code [BTAE-02] is other than XXXXXXX1 (Exports) and scheme identifier (IBT-049-1) is '0235' and buyer electronic address (IBT-049) is not '1XXXXXXXXX'
UAE impact: this is a fatal rule specific to the UAE PINT-AE profile — an invoice failing it is rejected at the Accredited Service Provider gateway before it ever reaches the FTA. A rejected invoice means resubmission delays, and late transmission risks the AED 100-per-invoice penalty under Cabinet Decision No. 106 of 2025.

Where it applies

This rule is checked against the buyer (customer) party block of your UBL 2.1 invoice:

cac:AccountingCustomerParty/cac:Party

Business terms referenced

Term ID Field Other rules
IBT-046 Buyer identifier view →
IBT-048 Buyer VAT identifier view →
BTAE-02 Invoice transaction type code view →
IBT-049-1 scheme identifier view →
IBT-049 Buyer electronic address view →

Field names are derived automatically from the official rule corpus.

Why this happens

For the invoice transaction types that require it, at least one of the buyer identifier (IBT-046) or the buyer VAT identifier / TRN (IBT-048) must be present. A B2B invoice with a completely anonymous buyer is not accepted.

How to fix it

1. Add the buyer's TRN if they are VAT-registered. 2. Otherwise provide a buyer identifier (e.g. their registration number). 3. Only simplified (B2C) transaction types may omit both — verify your BTAE-02 flags.

Technical test condition (Schematron)
((cac:PartyIdentification/cbc:ID or cac:PartyTaxScheme/cbc:CompanyID) and (not(matches(../../cbc:ProfileExecutionID, "^[01]{7}1$")) and cbc:EndpointID/@schemeID = "0235" and not(matches(cbc:EndpointID, "^1\d{9}$")))) or not(not(matches(../../cbc:ProfileExecutionID, "^[01]{7}1$")) and cbc:EndpointID/@schemeID = "0235" and not(matches(cbc:EndpointID, "^1\d{9}$")))

Test your invoice against ibr-135-ae now

Upload your UBL XML — we check all 302 PINT-AE rules including this one, in one second. Your file is validated in memory and never stored.

Related rules

Rule text sourced from the official OpenPeppol PINT-AE validation artifacts (version 2026.5), refreshed weekly. Explanations are qmetrics' own guidance, not official FTA/MoF text.