# BR-CO-09

Quoted from a public specification. This page is not a validator, and it is not tax, legal, or accounting advice.

- Country: EU
- Syntax: UBL
- Severity: fatal
- Statement language: en
- Last verified: 2026-10-18

## Official statement

> The Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) shall have a prefix in accordance with ISO code ISO 3166-1 alpha-2 by which the country of issue may be identified. Nevertheless, Greece may use the prefix ‘EL’.

Source: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-CO-09/

Peppol BIS Billing 3.0, May 2026 release, EN 16931 model bound to UBL

Severity note: fatal, from the Flag column of the Peppol BIS Billing 3.0 UBL rules index retrieved 2026-10-18.

## Plain-language reading

The seller VAT identifier (BT-31), the seller tax representative VAT identifier (BT-63), and the buyer VAT identifier (BT-48) shall have an ISO 3166-1 alpha-2 prefix, and Greece may use the prefix ‘EL’. The statement writes ISO code ISO 3166-1, ends with a period, and quotes EL with U+2018 and U+2019. The context is any party tax scheme whose id is VAT, written cbc:ID))='VAT' with no space before =. The test takes the first two characters of the company id. It keeps a missing space after each of three commas: before substring, and inside substring(cbc:CompanyID,1,2). A single space sits after contains( and before each of two closing parentheses. The list includes EL, GR, XI, and 1A. The test does not call exists.

## What to change

Start BT-31, BT-63, and BT-48 with an ISO 3166-1 alpha-2 prefix from the published list. Greece may use EL.

## Illustration

Illustration of the condition in the official statement. Not an example published by the source.

**Fails the stated condition.** A VAT company identifier starts with XX.

**Passes the stated condition.** A VAT company identifier starts with DE, or it starts with EL.

## Published context and test

Copied from the source. Not reimplemented on this page.

```
//cac:PartyTaxScheme[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']
```

```
( contains( ' 1A AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH EL ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR SS ST SV SX SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS XI YE YT ZA ZM ZW ',substring(cbc:CompanyID,1,2) ) )
```

[All rule notes](https://einvoicegoblin.com/rules/index.md) · [JSON](https://einvoicegoblin.com/rules/BR-CO-09.json) · [HTML](https://einvoicegoblin.com/rules/BR-CO-09/) · [llms.txt](https://einvoicegoblin.com/llms.txt) · [Invoice page](https://einvoicegoblin.com/) · [Privacy](https://einvoicegoblin.com/privacy.html)
