Rule reference

BR-20 The seller tax representative's postal address (BG-12) has no country code (BT-69)

The seller tax representative's postal address (BG-12) has no country code (BT-69). Of everything in that address, the country is the only element with legal effect: it is what identifies the member state in which the representation is registered, and so which authority's rules govern the VAT this invoice reports. A street and a city without a country name a place that the receiving system cannot resolve to a tax jurisdiction.

This rule is implemented and its error payload below is real, but the long-form write-up — normative text, worked example, divergence note — is not written yet. Everything the library knows about this rule is on this page. Ask and we will prioritise it.

Business term
BT-69
Severity
fatal

What the library returns

The exact object in result.errors when this rule fires. Generated by running @attestwire/en16931, not transcribed:

TeachingError
{
  "rule": "BR-20",
  "field": "BT-69",
  "severity": "fatal",
  "message": "The seller tax representative's postal address (BG-12) has no country code (BT-69). Of everything in that address, the country is the only element with legal effect: it is what identifies the member state in which the representation is registered, and so which authority's rules govern the VAT this invoice reports. A street and a city without a country name a place that the receiving system cannot resolve to a tax jurisdiction.",
  "fix": "Set taxRepresentative.address.countryCode to the ISO 3166-1 alpha-2 code of the member state where the representative is established — \"FR\", \"IT\", \"ES\" and so on. It is normally the country of the VAT identifier in taxRepresentative.vatId.",
  "example": "\"address\": { \"city\": \"Lyon\", \"postalCode\": \"69001\", \"countryCode\": \"FR\" }",
  "xpath": "/ubl:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cac:Country/cbc:IdentificationCode",
  "docsUrl": "https://attestwire.com/rules/BR-20"
}

xpath locates the element in the generated UBL document, which is where a KoSIT or Peppol validator will report the same problem.

A passing value

the shape this field expects
"address": { "city": "Lyon", "postalCode": "69001", "countryCode": "FR" }

The fix

Set taxRepresentative.address.countryCode to the ISO 3166-1 alpha-2 code of the member state where the representative is established — "FR", "IT", "ES" and so on. It is normally the country of the VAT identifier in taxRepresentative.vatId.

Arrived from a stack trace? The docsUrl on every error links straight here. Something wrong on this page — tell us.