BT-31Seller VAT identifierBT-48Buyer VAT identifierBT-63Seller tax representative VAT identifier
Texte officiel de la règle
[BR-CO-09] 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’.
Le texte normatif est en anglais ; il est cité tel quel.
Pourquoi cette erreur apparaît
Le numéro de TVA du vendeur (BT-31), celui de son représentant fiscal (BT-63) et celui de l'acheteur (BT-48) doivent commencer par le code ISO 3166-1 alpha-2 du pays émetteur ; la Grèce peut utiliser EL. La règle contrôle les deux premiers caractères de cac:PartyTaxScheme/cbc:CompanyID lorsque cac:TaxScheme/cbc:ID vaut VAT (UBL), ou de ram:SpecifiedTaxRegistration/ram:ID avec schemeID VA (CII). Elle se déclenche lorsqu'un numéro fiscal national (Steuernummer allemand, SIREN français) est saisi comme numéro de TVA, ou lorsque le préfixe est absent ou en minuscules.
Comment corriger
Saisissez le numéro de TVA intracommunautaire tel qu'il a été attribué, avec son préfixe pays à deux lettres et sans espace, par exemple DE123456789, ATU12345678, NL123456789B01, EL123456789. Un Steuernummer allemand n'est pas un numéro de TVA : en UBL, placez-le dans un cac:PartyTaxScheme distinct avec cac:TaxScheme/cbc:ID = FC (BT-32), en CII dans ram:SpecifiedTaxRegistration/ram:ID avec schemeID="FC". Si la partie n'a pas de numéro de TVA, omettez l'élément TVA plutôt que d'y mettre une valeur fictive.
Exemple (valide)
<cac:PartyTaxScheme>
<cbc:CompanyID>DE123456789</cbc:CompanyID>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:PartyTaxScheme>
Ce que le validateur vérifie
Élément vérifié (contexte):
UBL
//cac:PartyTaxScheme[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']Test (XPath):
( 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) ) )CII
//ram:SpecifiedTaxRegistration/ram:ID[@schemeID='VA']Test (XPath):
contains(' 1A AD AE AF AG AI AL AM AN AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BL BJ 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 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 ', concat(' ', substring(.,1,2), ' '))
Vérifier votre facture
Déposez votre XML ou PDF dans le validateur : chaque règle en échec renvoie vers sa page ici. Gratuit, sans compte, le fichier n'est pas conservé.
La même vérification par API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRègles liées
BR-AE-02Une facture contenant une ligne dont le code de catégorie de TVA de l'article est…BR-AE-03Une facture contenant une remise au niveau document dont la remise…BR-AE-04Une facture contenant une charge au niveau document dont la TVA de la charge…BR-IC-02Une facture contenant une ligne dont le code de catégorie de TVA de l'article est…BR-IC-03Une facture contenant une remise au niveau document dont la remise…BR-IC-04Une facture contenant une charge au niveau document dont la TVA de la charge…BR-O-02Une facture contenant une ligne dont le code de catégorie de TVA de l'article est…BR-O-03Une facture contenant une remise au niveau document dont la remise…
Questions fréquentes
Que signifie BR-CO-09 ?
BR-CO-09 est une règle de base en 16931 : 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’.
Ma facture sera-t-elle rejetée à cause de BR-CO-09 ?
Oui. BR-CO-09 est classée « bloquante » ; les validateurs (plateformes agréées, points d'accès Peppol, KoSIT, KSeF) rejettent la facture tant qu'elle n'est pas corrigée.
À quels formats s'applique BR-CO-09 ?
Toute facture EN 16931 : Factur-X / ZUGFeRD 2.x (profils EN 16931, EXTENDED, XRECHNUNG), XRechnung, Peppol BIS Billing 3.0 et les CIUS nationales. Syntaxe : UBL et CII.
Source: EN 16931-1:2017 schematron (CEN TC434, via Peppol BIS 3.0.20). Catalogue généré à partir des jeux de règles officiels le 2026-10-15.