The short answer
BR-CL-14 fails when a cac:Country/cbc:IdentificationCode holds anything other than a code from the ISO 3166-1 alpha-2 list. In the recorded example the seller country is UK; the code for the United Kingdom is GB.
Every address country in the document is covered, whichever party it belongs to. The finding location gives the exact element to correct.
What the rule checks
It runs on each cbc:IdentificationCode inside a cac:Country: the seller, buyer and tax representative postal addresses and the deliver-to address. When tried, UK in the buyer, tax representative and deliver-to addresses was reported at each of those elements.
Surrounding spaces are removed and what is left must match a listed code exactly, in upper case. When tried, gb, GBR and United Kingdom all failed.
The list follows ISO 3166-1 alpha-2 and also accepts 1A and XI; XI, used for Northern Ireland, passed as a buyer country when tried. EL, the prefix Greece uses on VAT numbers, is not on the list, and as a buyer country it failed.
An empty code fails as well. When tried, an empty buyer code reported this rule together with BR-11 and PEPPOL-EN16931-R008.
The country of origin of an item is out of scope: when tried, UK in cac:Item/cac:OriginCountry was reported by BR-CL-15 instead.
| Term | Meaning | UBL element |
|---|---|---|
| BT-40 | Seller country code | cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode |
| BT-55 | Buyer country code | cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode |
| BT-69 | Tax representative country code | cac:TaxRepresentativeParty/cac:PostalAddress/cac:Country/cbc:IdentificationCode |
| BT-80 | Deliver to country code | cac:Delivery/cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode |
How an integration ends up here
Possible causes, from the shape of the rule rather than from measured usage:
- The country is stored as
UK, the familiar abbreviation, which is not the ISO code for the United Kingdom. - Country codes come from a system that uses ISO alpha-3 codes such as
GBR, or numeric codes. - The address holds a country name, and the mapping writes the name into
cbc:IdentificationCode. - Codes are typed by hand in lower case and sent as typed.
- The VAT prefix of the party, such as
ELfor Greece, is reused as its address country.
How to fix it
- Find the element from the finding location; it names the party and the address.
- Convert the stored value to its ISO 3166-1 alpha-2 code in upper case:
GBfor the United Kingdom,GRfor Greece,DEfor Germany. - Do the conversion where addresses are stored, or in one shared mapping, so that every party and the deliver-to address are treated alike.
- Keep the VAT identifier prefix separate from the address country. For Greece the two differ: the VAT number begins
ELand the country code isGR.
Validate your corrected invoice
Before and after
These are fragments, not complete documents. The complete synthetic documents they come from are linked below.
Fragment of the failing invoice: the seller address gives its country as UK
<cac:AccountingSupplierParty>
<cac:Party>
<!-- endpoint omitted from this fragment -->
<cac:PostalAddress>
<cbc:StreetName>1 Example Street</cbc:StreetName>
<cbc:CityName>London</cbc:CityName>
<cbc:PostalZone>SW1A 1AA</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>UK</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<!-- tax scheme and legal entity omitted from this fragment -->
</cac:Party>
</cac:AccountingSupplierParty>Fragment of the corrected invoice: the seller country is GB
<cac:AccountingSupplierParty>
<cac:Party>
<!-- endpoint omitted from this fragment -->
<cac:PostalAddress>
<cbc:StreetName>1 Example Street</cbc:StreetName>
<cbc:CityName>London</cbc:CityName>
<cbc:PostalZone>SW1A 1AA</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>GB</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<!-- tax scheme and legal entity omitted from this fragment -->
</cac:Party>
</cac:AccountingSupplierParty>Only the seller country code differs: UK in the failing invoice, GB in the corrected one. The failing document reports BR-CL-14 alone. The seller country rule BR-09 is satisfied, because it asks only for a value and UK is one.
What the validator reported
- The failing invoice reports BR-CL-14. The corrected document passes every layer with no findings.Download the failing XMLDownload the corrected XML
Recorded on phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, the engine behind the free validator, using synthetic data. A recorded result is regression evidence for these documents; it is not a certification.
Where it applies
- A credit note gets the same treatment: when tried,
UKas its seller country reported this rule alone. - Reported on the EN 16931 layer; the Peppol layer passed in the recorded example.
- Country codes are not compared with anything else. The rule does not check that a seller whose VAT number begins
GBhas aGBaddress.
Related rules
- BR-11 requires a country code in the buyer address, which this rule then checks
- BR-57 requires a country code element in the deliver-to address
- BR-CO-09 checks VAT number prefixes against a similar list that also accepts EL
- BR-08 requires the seller postal address that holds the country code
- Browse every rule in the reference
- Background: Understanding EN 16931 validation errors
Scope and source
Written for Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, as applied to UBL 2.1 Invoice and CreditNote documents. Other profiles, syntaxes and releases can define this identifier differently. Guidance version 2026-09-24.1: source checked 2026-09-24, explanation last updated 2026-09-24.
The official definition of BR-CL-14 carries the normative wording and test. This page is our explanation of it, not a copy.
Guidance does not change the engine verdict. Fixing this finding does not mean the document passes every layer, and validation does not certify legal or tax compliance or transmit a document over Peppol.
