How to fix aligned-ibrp-ae-08-ae in UAE e-invoicing
What is aligned-ibrp-ae-08-ae?
aligned-ibrp-ae-08-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 VAT totals and belongs to the VAT categories & rates rule group. An e-invoice that fails aligned-ibrp-ae-08-ae 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:
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']
Business terms referenced
| Term ID | Field | Other rules |
|---|---|---|
| IBG-23 | VAT breakdown | view → |
| IBT-118 | VAT category code | view → |
| IBT-119 | VAT category rate | view → |
| IBT-116 | VAT category taxable amount | view → |
| IBT-131 | Invoice line net amount | view → |
| IBT-99 | Document level charge amounts | view → |
| IBT-92 | Document level allowance amounts | view → |
| IBT-151 | Invoiced item VAT category code | view → |
| IBT-102 | Document level charge VAT category code | view → |
| IBT-095 | Document level allowance VAT category code | view → |
| IBT-152 | Invoiced item VAT rate | view → |
| IBT-103 | Document level charge VAT rate | view → |
| IBT-096 | Document level allowance VAT rate | view → |
Field names are derived automatically from the official rule corpus.
Technical test condition (Schematron)
(exists(//cac:InvoiceLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount))))) or (exists(//cac:CreditNoteLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount)))))
Worried your invoices fail aligned-ibrp-ae-08-ae?
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.