qmetrics
Fatal — invoice rejected Amounts & totals UAE-specific rule PINT-AE 2026.5

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

What is ibr-147-ae?

ibr-147-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 each invoice line and belongs to the Amounts & totals rule group. An e-invoice that fails ibr-147-ae is rejected by the Accredited Service Provider gateway before it reaches the FTA.

What the official rule says

Invoice line net amount (IBT-131) MUST equal (Invoiced quantity (IBT-129) * (Item net price (IBT-146)/item price base quantity (IBT-149)) + Sum of invoice line charge amount (IBT-141) - sum of invoice line allowance amount (IBT-136).
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 each invoice line of your UBL 2.1 invoice:

cac:InvoiceLine | cac:CreditNoteLine

Business terms referenced

Term ID Field Other rules
IBT-131 Invoice line net amount view →
IBT-129 Invoiced quantity view →
IBT-146 Item net price view →
IBT-149 Base quantity view →
IBT-141 Sum of invoice line charge amount view →
IBT-136 MUST have an Invoice line allowance amount view →

Field names are derived automatically from the official rule corpus.

Technical test condition (Schematron)
round(cbc:LineExtensionAmount * 100) div 100 = round((((cbc:InvoicedQuantity | cbc:CreditedQuantity) * (cac:Price/cbc:PriceAmount div cac:Price/cbc:BaseQuantity)) + sum(cac:AllowanceCharge[cbc:ChargeIndicator="true"]/cbc:Amount) - sum(cac:AllowanceCharge[cbc:ChargeIndicator="false"]/cbc:Amount)) * 100) div 100

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