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

How to fix ibr-031 in UAE e-invoicing

What is ibr-031?

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

What the official rule says

Allowance (ibg-20) MUST have an allowance amount (ibt-092).
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 allowances and charges of your UBL 2.1 invoice:

cac:AllowanceCharge[cbc:ChargeIndicator = false()]

Business terms referenced

Term ID Field Other rules
IBG-20 Document level allowance view →
IBT-092 MUST have an allowance amount view →

Field names are derived automatically from the official rule corpus.

Technical test condition (Schematron)
((exists(cbc:Amount) and  not(ancestor::cac:InvoiceLine | ancestor::cac:CreditNoteLine))) or (ancestor::cac:InvoiceLine | ancestor::cac:CreditNoteLine)

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