qmetrics
Fatal — invoice rejected Currency & exchange UAE-specific rule PINT-AE 2026.5

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

What is ibr-159-ae?

ibr-159-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 invoice document and belongs to the Currency & exchange rule group. An e-invoice that fails ibr-159-ae is rejected by the Accredited Service Provider gateway before it reaches the FTA.

What the official rule says

Currency exchange rate [BTAE-04] is MUST when then Invoice currency code [IBT-005] is different from 'AED'.
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 invoice document of your UBL 2.1 invoice:

/ubl:Invoice | /cn:CreditNote

Business terms referenced

Term ID Field Other rules
BTAE-04 Currency exchange rate view →
IBT-005 Invoice currency code view →

Field names are derived automatically from the official rule corpus.

Why this happens

When the invoice currency is anything other than AED, the currency exchange rate (BTAE-04) becomes mandatory — the FTA needs it to reconcile the foreign-currency amounts with the AED VAT figures.

How to fix it

1. Add a PricingExchangeRate block with source currency, target currency AED and the rate. 2. Keep the rate to at most 6 decimal places (rule ibr-002-ae).

Compliant XML

<cac:PricingExchangeRate>
  <cbc:SourceCurrencyCode>USD</cbc:SourceCurrencyCode>
  <cbc:TargetCurrencyCode>AED</cbc:TargetCurrencyCode>
  <cbc:CalculationRate>3.67285</cbc:CalculationRate>
</cac:PricingExchangeRate>
Technical test condition (Schematron)
(cbc:DocumentCurrencyCode != "AED" and (exists(//cac:TaxExchangeRate/cbc:CalculationRate))) or cbc:DocumentCurrencyCode = "AED"

Test your invoice against ibr-159-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.