qmetrics
Fatal — invoice rejected Amounts & totals Shared Peppol rule PINT-AE 2026.5

How to fix ibr-co-12 in UAE e-invoicing

What is ibr-co-12?

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

What the official rule says

Sum of charges on document level (ibt-108) = Σ Document level charge amount (ibt-099).
UAE impact: this is a fatal rule from the shared Peppol layer, enforced in the UAE 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 document totals of your UBL 2.1 invoice:

cac:LegalMonetaryTotal

Business terms referenced

Term ID Field Other rules
IBT-108 Sum of charges on document level view →
IBT-099 MUST have a charge amount view →

Field names are derived automatically from the official rule corpus.

Technical test condition (Schematron)
xs:decimal(cbc:ChargeTotalAmount) = (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator=true()]/xs:decimal(cbc:Amount)) * 10 * 10) div 100) or (not(cbc:ChargeTotalAmount) and not(../cac:AllowanceCharge[cbc:ChargeIndicator=true()]))

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