Rule at a Glance
| ID | Severity | Context (XPath) |
|---|---|---|
| BR-04 | Fatal (error) | ubl:Invoice |
| Series reference: BR-04 | Schematron ID: ibr-004 | ||
Classification
Transaction Data — The invoice type code is a transaction-level field that classifies the document as a specific type of commercial invoice or note.
What the Rule Is Checking
BR-04 requires that every invoice contains a non-empty cbc:InvoiceTypeCode element at the invoice header level. This is BT-3 in the PINT-AE data model. The element must be present and must contain one of the permitted UNCL1001 code values. The rule fails fatally if the element is absent or empty.
BT-3 classifies what type of commercial document this is: a standard tax invoice, a credit note, a debit note, a prepayment invoice, a self-billing invoice, or a partial invoice. The code drives how the receiving system — and the FTA's data platform — interprets and processes the document.
Why This Rule Exists
In the UAE e-invoicing framework, different document types carry different legal and accounting implications. A credit note (code 381) reverses a previous invoice and requires a reference to the original document number (BT-25). A prepayment invoice (code 386) is settled against a final invoice. A self-billing invoice (code 875) is issued by the buyer on the seller's behalf under MD No. 243 Article 8. Without BT-3, a receiving system cannot determine how to process the document, and the FTA cannot categorise the transaction correctly in its real-time data platform.
The UAE PINT-AE profile restricts BT-3 to six permitted values from the UNCL1001 code list. This is a tighter restriction than the full UNCL1001 list — systems sending codes outside the permitted set will fail not just BR-04 but also the PINT-AE-specific rule that validates the permitted value subset.
Standard / Code List
PINT-AE permits only these 6 UNCL1001 values for BT-3. See the full reference post: UNCL1001 Invoice Type Codes in PINT-AE.
| Code | Document Type |
|---|---|
| 380 | Tax Invoice (standard) |
| 381 | Credit Note |
| 383 | Debit Note |
| 386 | Prepayment Invoice |
| 875 | Self-Billing Invoice |
| 876 | Partial Invoice |
UAE Data Example
PASSES ✓ — Standard tax invoice:
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
PASSES ✓ — Credit note:
<cbc:InvoiceTypeCode>381</cbc:InvoiceTypeCode>
FAILS ✗ — Element absent:
<!-- No cbc:InvoiceTypeCode present -->
FAILS ✗ — Non-permitted UNCL1001 code:
<cbc:InvoiceTypeCode>388</cbc:InvoiceTypeCode>
FAILS ✗ — Text description instead of code:
<cbc:InvoiceTypeCode>Tax Invoice</cbc:InvoiceTypeCode>
What Your ERP / IT Team Must Ensure
- The UBL mapping must translate ERP document categories to PINT-AE permitted codes — many ERP systems have a wider range of document types internally (proforma, recurring, intercompany) that must each be mapped to one of the 6 permitted codes or excluded from e-invoicing scope.
- Credit notes must use code 381 and must also populate BT-25 (reference to the original invoice number) — BR-04 and the credit note reference rule apply together.
- Self-billing invoices (code 875) require compliance with MD No. 243 Article 8: the buyer-as-issuer arrangement must be documented, and the seller's TIN must still appear as BT-29 in the document.
- ERP systems that combine debit adjustments into standard invoices (e.g., line items with negative quantities) may need to be reconfigured to issue separate debit notes (code 383) for UAE e-invoicing compliance.
Related Rules
BR-01 (Specification identifier), BR-05 (Invoice currency code), UNCL1001 Invoice Type Codes in PINT-AE, PINT-AE Transaction Type Flags
