qmetrics
Fatal — invoice rejected Invoice lines & items Shared Peppol rule PINT-AE 2026.5

How to fix ibr-042 in UAE e-invoicing

What is ibr-042?

ibr-042 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 Invoice lines & items rule group. An e-invoice that fails ibr-042 is rejected by the Accredited Service Provider gateway before it reaches the FTA.

What the official rule says

Each Invoice line allowance (ibg-27) MUST have an Invoice line allowance reason (ibt-139) or an Invoice line allowance reason code (ibt-140).
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-27 Invoice line allowance view →
IBT-139 MUST have an Invoice line allowance reason view →
IBT-140 Invoice line allowance reason code view →

Field names are derived automatically from the official rule corpus.

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

Worried your invoices fail ibr-042?

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.