Rule at a Glance
| ID | Severity | Context (XPath) |
|---|---|---|
| Series ref. BR-48 | Fatal (error) | cac:Delivery/cac:DeliveryLocation/cac:Address |
Schematron ID: ibr-057 | Field: cac:Country/cbc:IdentificationCode (Deliver to country code, IBT-080) |
||
Classification
Contextual — the rule applies only when the invoice includes a Deliver to address (IBG-15). Invoices with no delivery block pass without ever meeting it; invoices that state where goods went must state which country that was.
What the Rule Is Checking
Any cac:Address inside cac:Delivery/cac:DeliveryLocation must contain a cac:Country/cbc:IdentificationCode. Street, city and emirate details can be as complete as the seller likes; without the two-letter country code the address structure fails validation. The code comes from the ISO 3166-1 alpha-2 list — AE for the United Arab Emirates.
Why This Rule Exists
The delivery country is the one component of a delivery address that carries tax consequence rather than logistics detail. Where goods are delivered determines how a supply is treated — a domestic delivery, an export and a movement involving a free trade zone are different tax events, and the country code is the machine-readable anchor for that distinction. Free-text address lines cannot be evaluated by a validation engine or an authority's risk analysis; a coded country can. The rule ensures that whenever a delivery location is disclosed at all, its country is disclosed in the one field automated processing can use.
Standard / Code List
Country codes follow ISO 3166-1 alpha-2, the same list used for seller and buyer addresses. The UAE-relevant subset and the list's role across PINT-AE fields are covered in ISO 3166 Country Codes in UAE E-Invoicing.
UAE Data Example
PASSES ✓: <cac:DeliveryLocation><cac:Address><cbc:CityName>Dubai</cbc:CityName><cac:Country><cbc:IdentificationCode>AE</cbc:IdentificationCode></cac:Country></cac:Address></cac:DeliveryLocation>.
FAILS ✗: A delivery address populated from a shipping module carries street and city text but the country element is missing — frequent where the logistics master data holds country as free text ("UAE", "U.A.E.") that the extract cannot map to a code, so the field is silently dropped.
What Your ERP / IT Team Must Ensure
Store delivery countries as ISO codes in the shipping and plant master data, not as free text. If the invoice extract includes a delivery block conditionally, confirm the condition also checks that a mappable country exists — emitting a delivery address without a country fails faster than emitting no delivery block. Export, free trade zone and cross-emirate delivery scenarios all belong in the UAT scope, because those are the flows where delivery data is populated from systems outside the billing module.
Related Rules
Seller and buyer postal addresses carry their own country code requirements, covered earlier in this series. The ISO 3166 reference post linked above maps the code list across all address groups in PINT-AE.
