Aller au contenu principal
EN 16931 · identifiants

Erreur BR-CO-09 : le numéro de TVA du vendeur ou du client n'a pas de préfixe pays

Sur une facture électronique européenne, le numéro de TVA porte toujours les deux lettres du pays en tête : DE, FR, BE, NL… BR-CO-09 est la règle qui l'exige, et elle se déclenche presque toujours parce que le numéro de la fiche du contact a été saisi sans son préfixe. Autour d'elle, quatre autres règles exigent que ce numéro soit présent, selon le type de TVA de la facture.

FlexigoTech · Responsable : Víctor Gómez · Mis à jour le 4 novembre 2026

L'essentiel

Versions
Odoo 17, 18, 19 et 20
Vérifié
dans le code du module, version 17.0 et 20.0 · dans les sources citées à la fin
Lecture
3 min

Le texte de BR-CO-09 dans le Schematron EN 16931 (validation-1.3.17), gravité fatale : « 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’. »

Elle concerne trois numéros : le vôtre (BT-31), celui de votre représentant fiscal si vous en avez un (BT-63) et celui du client (BT-48). La Grèce fait exception : elle peut utiliser EL au lieu de GR.

Fiche de la règle BR-CO-09 de EN 16931
Le préfixe ISO 3166-1 sur les numéros de TVA du vendeur, du représentant et de l'acheteur.

Les règles qui exigent le numéro

BR-CO-09 vérifie le format. Les autres vérifient que le numéro est présent, et dépendent de la catégorie de TVA des lignes :

RègleQuand elle s'appliqueTexte
BR-CO-26ToujoursIn order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present.
BR-S-02Lignes au taux normalAn Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Standard rated" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).
BR-AE-02AutoliquidationAn Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Reverse charge" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47).
BR-IC-02Livraison intracommunautaireAn Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48).

Les quatre sont fatales. Remarquez la différence : pour une vente au taux normal, seul votre numéro est nécessaire ; pour une autoliquidation ou une livraison intracommunautaire, celui du client l'est aussi.

Ce que vérifie Odoo

Avant de générer le fichier, Odoo contrôle que le numéro de TVA de votre société et celui du client commencent par deux lettres. Sinon, il affiche l'avertissement « The VAT of the %s should be prefixed with its country code. », avec « supplier » ou « customer ». Sur Odoo 17, ce contrôle ne s'exécute que pour trois formats, Peppol BIS, XRechnung et NLCIUS (le format néerlandais) ; sur Odoo 18, 19 et 20, il se trouve dans la couche commune EN 16931.

Le contrôle vérifie seulement la présence de lettres en tête. Que ces lettres correspondent au bon pays, ou que le numéro soit valide, ce n'est pas ce que cette règle contrôle.

Comment le saisir dans Odoo

Bien
Le numéro tel que le publie le registre de TVA de chaque pays, avec ses deux lettres en tête : DE pour l'Allemagne, FR pour la France, BE pour la Belgique, NL pour les Pays-Bas.
Mal
Le numéro sans lettres, avec des espaces ou des points au milieu, ou avec le préfixe d'un autre pays.
Grèce
EL en tête, et non GR : l'exception que la règle elle-même prévoit.

Avec notre module XRechnung et ZUGFeRD

Fiche client dans Odoo 20 avec un numéro de TVA allemand préfixé et l'onglet E-Invoicing du module XRechnung
Le champ VAT avec le préfixe DE, comme l'exige BR-CO-09. Capture d'Odoo 20 avec des données de démonstration.

Sur Odoo 18, 19 et 20, avec l'abonnement FlexigoTech Cloud, chaque XRechnung et chaque ZUGFeRD EN 16931 généré par le module est validé avec les règles de KoSIT, qui incluent celles d'EN 16931 : un numéro de TVA sans préfixe apparaît comme BR-CO-09 dans Validation Errors et la facture n'est pas marquée Ready to send. Sur Odoo 17, la version publiée ne valide pas.

Que corriger

  1. Ouvrez la fiche que mentionne le message : votre société (supplier) ou le client (customer).
  2. Saisissez le numéro de TVA avec le préfixe du pays, sans espaces.
  3. Pour une autoliquidation ou une vente vers un autre pays de l'UE, vérifiez aussi le numéro du client.
  4. Générez de nouveau le fichier.

À lire aussi

Erreurs BR-09 et BR-11 : adresse du vendeur ou de l'acheteur sans code paysBR-09 et BR-11 exigent le code pays dans les adresses du vendeur et de l'acheteur ; BR-08 et BR-10, l'adresse elle-même. Message d'Odoo et quoi renseigner.Erreurs BR-E-10, BR-AE-10, BR-IC-10 et BR-G-10 : le motif d'exonération de TVABR-E-10, BR-AE-10, BR-IC-10, BR-G-10 et BR-O-10 exigent le motif d'exonération ; BR-S-10 et BR-Z-10 l'interdisent. Odoo 17 à 20 et où le modifier.XRechnung : erreurs BR-DE-2 à BR-DE-7, BR-DE-27 et BR-DE-28, le contact du vendeurBR-DE-2 à BR-DE-7 exigent dans XRechnung ville, code postal, contact, téléphone et e-mail du vendeur. Ce que dit chaque règle et comment les respecter dans Odoo.
Vérifié dans le code du module (version 17.0 et 20.0) et dans les sources citées

Sources