How to fix ibr-126 in UAE e-invoicing
What is ibr-126?
ibr-126 is a fatal validation rule in the UAE's Peppol PINT-AE e-invoicing specification, inherited from the shared Peppol layer. It is checked against the VAT totals and belongs to the Amounts & totals rule group. An e-invoice that fails ibr-126 is rejected by the Accredited Service Provider gateway before it reaches the FTA.
What the official rule says
Where it applies
This rule is checked against the VAT totals of your UBL 2.1 invoice:
cbc:Amount | cbc:BaseAmount | cbc:PriceAmount | cbc:LineExtensionAmount | cbc:TaxExclusiveAmount | cbc:TaxInclusiveAmount | cbc:AllowanceTotalAmount | cbc:ChargeTotalAmount | cbc:PrepaidAmount | cbc:PayableRoundingAmount | cbc:PayableAmount | cac:TaxTotal[cbc:TaxAmount/@currencyID=/*/cbc:DocumentCurrencyCode]/cbc:TaxAmount | cac:TaxTotal[cbc:TaxAmount/@currencyID=/*/cbc:DocumentCurrencyCode]/cac:TaxSubtotal/cbc:TaxableAmount | cac:TaxTotal[cbc:TaxAmount/@currencyID=/*/cbc:DocumentCurrencyCode]/cac:TaxSubtotal/cbc:TaxAmount
Business terms referenced
| Term ID | Field | Other rules |
|---|---|---|
| IBT-005 | Invoice currency code | view → |
| IBT-006 | Tax accounting currency | view → |
Field names are derived automatically from the official rule corpus.
Technical test condition (Schematron)
ancestor::cac:ItemPriceExtension or @currencyID = //cbc:DocumentCurrencyCode
Worried your invoices fail ibr-126?
Upload your UBL XML — qmetrics runs 40+ core PINT-AE pre-submission checks (TRN, VAT math, addresses, totals and more) 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.