Rule at a Glance
| ID | Severity | Context (XPath) |
|---|---|---|
| BR-12 | Fatal (error) | ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress |
| Series reference: BR-12 | Schematron ID: ibr-011 | ||
Classification
Master Data — The buyer postal address country code (BT-55) is a conditional mandatory field: it is required whenever a buyer postal address block is present on the invoice. Unlike the seller postal address (which is mandatory), the buyer postal address is optional — but when included, it must carry a valid country code.
What the Rule Is Checking
BR-12 fires when the cac:AccountingCustomerParty/cac:Party/cac:PostalAddress block is present but does not contain a non-empty cac:Country/cbc:IdentificationCode (BT-55). The rule structure mirrors BR-10 for the seller: a postal address block without a country code is an incomplete structure that fails the schematron regardless of which other address components (street, city, postal zone) are populated.
The conditional logic is important: if no buyer postal address block is included at all, BR-12 does not fire. The rule only activates when the cac:PostalAddress element exists within the customer party block. This means a minimal invoice where the buyer is identified only by name and VAT number, with no address, is valid from a BR-12 perspective.
Why This Rule Exists
For UAE e-invoicing, the buyer's country code (BT-55) is significant in two contexts. First, for exports and B2B cross-border supplies, BT-55 provides the jurisdictional evidence needed to support zero-rating under UAE VAT. Second, for import reverse-charge scenarios, the buyer's UAE address (AE country code) confirms that the supply is received in the UAE, triggering the buyer's obligation to account for VAT under the reverse charge mechanism.
Within the Continuous Controls Environment™ framework, the buyer address country code enables the FTA's platform to apply automated place-of-supply rules at transaction level. An invoice where the buyer address is present but the country code is missing creates a data gap that prevents automated classification and forces manual intervention — contradicting the real-time assurance objective of the UAE e-invoicing mandate.
Standard / Code List
BT-55 must be a valid ISO 3166-1 alpha-2 code. For UAE-based buyers, the correct value is AE. For GCC buyers, the codes are SA (Saudi Arabia), BH (Bahrain), QA (Qatar), KW (Kuwait), OM (Oman). See ISO 3166 Country Codes in UAE E-Invoicing for the full UAE-relevant list.
The same alpha-2 vs alpha-3 issue that affects BT-40 (seller country code) applies here: "UAE" is the alpha-3 code and will fail. Only the two-letter "AE" is valid.
UAE Data Example
PASSES ✓ — Buyer address with country code:
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyName><cbc:Name>ADNOC Distribution PJSC</cbc:Name></cac:PartyName>
<cac:PostalAddress>
<cbc:CityName>Abu Dhabi</cbc:CityName>
<cac:Country>
<cbc:IdentificationCode>AE</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
</cac:Party>
</cac:AccountingCustomerParty>
PASSES ✓ — Buyer address absent entirely (BR-12 does not fire):
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyName><cbc:Name>ADNOC Distribution PJSC</cbc:Name></cac:PartyName>
<!-- No PostalAddress — BR-12 conditional rule does not apply -->
</cac:Party>
</cac:AccountingCustomerParty>
FAILS ✗ — Buyer address present but no country code:
<cac:PostalAddress>
<cbc:StreetName>Corniche Road</cbc:StreetName>
<cbc:CityName>Abu Dhabi</cbc:CityName>
<!-- No cac:Country element —> BR-12 fires fatally -->
</cac:PostalAddress>
FAILS ✗ — Country code uses alpha-3 format:
<cac:Country>
<cbc:IdentificationCode>UAE</cbc:IdentificationCode>
</cac:Country>
<!-- Must be "AE" not "UAE" -->
What Your ERP / IT Team Must Ensure
- Audit your UBL output template to confirm that if the customer address block is emitted, it always includes the
cac:Country/cbc:IdentificationCodeelement. This is the most common cause of BR-12 failures: the address structure is mapped but the country derivation logic is missing or broken for certain customer master configurations. - If your ERP emits the buyer postal address block by default for all invoices (even when address data is incomplete), ensure the country code field in the customer master is mandatory. A customer record with an address but no country will produce a valid-looking UBL structure that fails BR-12.
- For international (non-UAE) buyers, verify that the country code in the customer master is stored as ISO 3166-1 alpha-2. Legacy ERP configurations often store country as full name ("United Kingdom") or alpha-3 ("GBR"). A mapping table is needed at the UBL output layer.
- Consider whether the buyer postal address is needed at all for each invoice type. For standard domestic UAE B2B invoices, the buyer is identified by name and VAT/CT TIN — the postal address is optional and may be omitted if it reduces data quality risk. Omitting an incomplete address is preferable to including one that triggers BR-12.
- In regression testing, include a scenario where the buyer customer master has an address with a missing or blank country field. This catches mapping gaps that would otherwise only surface at go-live.
Related Rules
BR-10 (Seller country code mandatory — the seller-side parallel rule), BR-11 (Buyer name mandatory), BR-13 (Seller's tax representative name), ISO 3166 Country Codes in UAE E-Invoicing
