BR-CL-14:Country codes in an invoice MUST be coded using ISO code list 3166-1
Fix: Replace the invalid country value with the correct ISO 3166-1 alpha-2 code in uppercase. Invoice Navigator auto-fixes the common cases — lowercase codes, three-letter ISO codes, and recognised English or local-language country names — at 0.90 confidence, and flags anything ambiguous for review instead of guessing. Upload your invoice to fix this automatically.
BR-CL-14 fires when a country identification code in the invoice is not a valid ISO 3166-1 alpha-2 value. It applies to every address in the document — seller, buyer, delivery, and tax representative — and the check is a strict membership test against a fixed code list. Anything that is not exactly two uppercase letters from that list is rejected, including full country names, three-letter codes, and lowercase variants.
Engine Classification
Map common invalid schemeID values to valid EAS codes
Confidence: 90% · Applied automatically in pipeline
What is BR-CL-14?
BR-CL-14 is a fatal validation rule defined in the Peppol BIS 3.0 specification. It validates the @schemeID element in the UBL invoice XML.
When this rule fires, the invoice is rejected by Peppol access points and never reaches the buyer.
Target path: //cbc:EndpointID/@schemeID
Why This Error Matters
The country code drives VAT treatment. It determines whether a supply is domestic, intra-community, or an export, and it feeds the routing and reporting logic on the receiving side. A wrong or unparseable code means the receiver cannot determine the correct tax jurisdiction, so the invoice is rejected rather than booked with a guess.
BR-CL-14 is a hard failure — the invoice must be corrected and re-sent before it can reach the recipient.
Rejected invoices delay payment, and a systematically wrong country code in master data silently affects every invoice to that partner. Where the code drives reverse-charge determination, an incorrect value can also produce a misstated VAT return.
Invoice Navigator can automatically correct this error in your pipeline. The fix is applied with full audit evidence, so your compliance trail remains intact.
Validator Behavior
- ·Causes invoice rejection
- ·Rejected by PEPPOL Access Points
- ·Error returned: BR-CL-14
- ·Specification: Peppol BIS 3.0
How to Fix It
Find every country element
Check cac:Country/cbc:IdentificationCode under the seller address, buyer address, delivery location, and tax representative address. More than one can be wrong in the same document.
Convert to alpha-2 uppercase
DE not DEU or de, NL not NLD or Netherlands, FR not FRA. The comparison is case-sensitive and exact.
Handle the two special cases
Use XI for Northern Ireland (not GB) on goods invoices under the Windsor Framework, and 1A for Kosovo. Both are in the BR-CL-14 list even though they are not standard ISO 3166-1 assignments.
Fix the source data
Country codes almost always come from a master data table. Correct the record in the ERP rather than patching the XML, or the next invoice to the same partner fails again.
Before / After
<cac:PostalAddress>
<cbc:CityName>Amsterdam</cbc:CityName>
<cbc:PostalZone>1011 AB</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>Netherlands</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress><cac:PostalAddress>
<cbc:CityName>Amsterdam</cbc:CityName>
<cbc:PostalZone>1011 AB</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>Technical Reference
//cbc:EndpointID/@schemeIDCommon Causes
- ·Country stored as a full name (Germany, Deutschland) rather than a code
- ·Three-letter ISO 3166-1 alpha-3 code used (DEU, NLD, FRA)
- ·Lowercase code emitted (de, nl) because no uppercasing is applied on export
- ·Free-text country field in master data with typos or trailing whitespace
- ·GB used for a Northern Ireland goods supply where XI is required
Seeing this in production? The API handles BR-CL-14 automatically. See the fix response →
Commonly Seen In
Frequently Asked Questions
It means a cac:Country/cbc:IdentificationCode value in your invoice is not on the ISO 3166-1 alpha-2 code list. The Schematron performs a literal membership test against a fixed list of two-letter codes.
DEU is the ISO 3166-1 alpha-3 code. EN 16931 requires alpha-2, so the correct value is DE. Alpha-3 codes are not in the rule's code list and always fail.
Use XI, not GB, for goods supplies under the Windsor Framework. XI is explicitly included in the BR-CL-14 code list alongside 1A for Kosovo, even though neither is a standard ISO 3166-1 assignment.
Yes, in most cases. Invoice Navigator maps lowercase codes, alpha-3 codes and recognised country names to the correct alpha-2 value at 0.90 confidence. Ambiguous values are flagged for review rather than guessed.
All of them: seller postal address, buyer postal address, delivery location address, and tax representative address. A single invoice can fail BR-CL-14 more than once.
Related Errors
Related Content
Last updated: 18 August 2026
Validate your invoice
Drop your XML here to check for BR-CL-14
Auto-fix BR-CL-14 in seconds
Upload your invoice and we fix this error automatically. Financial fields are never touched.