Sur cette page
La réponse courte
BR-E-03 échoue lorsque le document contient une remise dont le cac:TaxCategory/cbc:ID vaut E et que le vendeur n'a ni cac:PartyTaxScheme/cbc:CompanyID ni identifiant TVA d'un représentant fiscal. La correction porte sur la partie vendeur, pas sur la remise : ajoutez le numéro de TVA du vendeur, GB123456789 dans l'exemple enregistré, ou un autre numéro d'enregistrement fiscal du vendeur.
Lorsque les lignes sont exonérées elles aussi, BR-E-02 échoue à côté de cette règle pour le même identifiant manquant, et l'ajouter fait disparaître les deux constats.
Ce que la règle vérifie
Tout cac:AllowanceCharge avec cbc:ChargeIndicator à false et un cac:TaxCategory E sous le schéma VAT déclenche la règle, où qu'il se trouve. Lors d'un essai, une remise placée dans une ligne exonérée avec sa propre catégorie E a déclenché cette règle aussi, avec l'avertissement UBL-CR-558 selon lequel une remise de ligne ne devrait pas avoir de catégorie de taxe.
Le vendeur passe avec un cbc:CompanyID dans son propre cac:PartyTaxScheme, quel que soit le schéma, ou par un identifiant de représentant fiscal sous VAT. Lors d'un essai, la facture avec la remise a passé avec le schéma du vendeur mis à TAX, et a passé avec le schéma fiscal du vendeur remplacé par un représentant ; avec le schéma du représentant mis lui aussi à TAX, elle a signalé cette règle, BR-E-02 et BR-56.
La catégorie des lignes décide quelle règle accompagne celle-ci. Avec la ligne exonérée de l'exemple enregistré, c'est BR-E-02 ; lors d'un essai avec une ligne au taux normal et une remise exonérée, l'identifiant du vendeur manquant a amené BR-S-02 à la place.
Une coquille vide ne compte pas. Lors d'un essai, conserver le cac:PartyTaxScheme du vendeur sur la facture avec la remise mais en supprimer le cbc:CompanyID a signalé cette règle, BR-E-02 et UBL-SR-53.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-31 | Identifiant à la TVA du vendeur | cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (tax scheme VAT) |
| BT-32 | Identifiant d'enregistrement fiscal du vendeur | cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (a tax scheme other than VAT) |
| BT-63 | Identifiant à la TVA du représentant fiscal du vendeur | cac:TaxRepresentativeParty/cac:PartyTaxScheme/cbc:CompanyID |
| BT-95 | Code de catégorie de TVA de la remise au niveau du document | cac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:ID |
Comment une intégration en arrive là
Causes possibles, déduites de la forme de la règle et non d'une utilisation mesurée :
- La remise au niveau du document est créée en catégorie
Epour correspondre aux lignes qu'elle réduit, tandis que la partie vendeur provient d'une routine qui n'ajoute un schéma fiscal qu'aux documents facturant de la TVA. - Le numéro de TVA du vendeur est enregistré mais omis dès que le document affiche 0.00 de TVA.
- Un vendeur qui ne réalise que des opérations exonérées n'a pas de numéro de TVA, et son numéro fiscal national n'est pas repris.
- L'identifiant du vendeur a été placé dans
cac:PartyIdentificationoucac:PartyLegalEntityau lieu decac:PartyTaxScheme.
Comment corriger le document
- Laissez la remise telle quelle : la catégorie
Eà 0 convient à une remise sur des opérations exonérées, et le constat ne la concerne pas. - Ajoutez l'identifiant fiscal du vendeur dans
cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID, sousVATpour un numéro de TVA ou sous un autre schéma pour un numéro fiscal national, entrecac:PostalAddressetcac:PartyLegalEntity. - Si le vendeur est représenté à la TVA, envoyez plutôt
cac:TaxRepresentativePartyavec l'identifiant TVA du représentant. - Faites de l'identifiant fiscal du vendeur une partie de chaque document qu'il émet, pas seulement de ceux qui facturent de la TVA, afin que les lignes, remises et frais exonérés soient couverts de la même manière.
Valider votre facture corrigée
Avant et après
Ce sont des extraits, pas des documents complets. Les documents synthétiques complets dont ils proviennent sont liés ci-dessous.
Fragment de la facture en échec : une partie vendeur sans PartyTaxScheme, et une remise exonérée de 5.00
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
<!-- postal address omitted from this fragment -->
<cac:PartyLegalEntity>
<cbc:RegistrationName>Example Supplier Ltd</cbc:RegistrationName>
<cbc:CompanyID>12345678</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">5.00</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>Fragment de la facture corrigée : l'identifiant TVA du vendeur est revenu, et la remise est inchangée
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
<!-- postal address omitted from this fragment -->
<cac:PartyTaxScheme>
<cbc:CompanyID>GB123456789</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Example Supplier Ltd</cbc:RegistrationName>
<cbc:CompanyID>12345678</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
<!-- the exempt discount of 5.00 is the same as in the failing invoice -->La facture corrigée donne au vendeur un cac:PartyTaxScheme contenant GB123456789 sous le schéma VAT, et la facture en échec n'en a pas ; la remise exonérée de 5.00 et la ventilation exonérée de 20.00 sont identiques dans les deux. Le document en échec signale aussi BR-E-02, parce que son unique ligne est exonérée et bute sur le même identifiant manquant. L'ajout du schéma fiscal du vendeur fait disparaître les deux constats.
Ce que le validateur a signalé
- La facture en erreur signale BR-E-02 et BR-E-03. Le document corrigé passe toutes les étapes de validation sans constat.Télécharger le XML en erreurTélécharger le XML corrigé
Enregistré avec phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, le moteur du validateur gratuit, sur des données synthétiques. Un résultat enregistré est une preuve de non-régression pour ces documents ; ce n'est pas une certification.
Où la règle s'applique
- S'applique à UBL
InvoiceetCreditNote. Lors d'un essai, un avoir exonéré avec la même remise et sans schéma fiscal du vendeur a signalé cette règle etBR-E-02. - Signalé par l'étape EN 16931 comme un seul constat fatal à la racine du document, quel que soit le nombre de remises exonérées.
- Les frais ont la règle parallèle
BR-E-04. Une remise au taux normal relève deBR-S-03, et une remise en autoliquidation deBR-AE-03, qui demande aussi un identifiant de l'acheteur.
Règles liées
- BR-E-02 est signalé à côté de cette règle lorsque les lignes sont aussi exonérées
- BR-E-06 exige un taux de TVA de 0 sur la remise exonérée
- BR-S-03 demande l'identifiant du vendeur lorsqu'une remise au niveau du document est au taux normal
- BR-AE-03 est la règle des remises en autoliquidation, qui exige aussi un identifiant de l'acheteur
- Parcourir toutes les règles de la référence
- Contexte (en anglais) : Understanding EN 16931 validation errors
Portée et source
Rédigé pour Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, tel qu'appliqué aux documents Invoice et CreditNote en UBL 2.1. D'autres profils, syntaxes et versions peuvent définir cet identifiant autrement. Version du catalogue d'aide 2026-09-28.1 : source vérifiée le 2026-09-28, explication mise à jour le 2026-09-28.
La définition officielle de BR-E-03 (en anglais) contient le texte normatif et le test. Cette page en est notre explication, pas une copie.
Cette aide ne modifie pas le verdict du moteur. Corriger ce constat ne signifie pas que le document passe toutes les étapes de validation, et la validation ne certifie pas la conformité juridique ou fiscale et ne transmet aucun document via Peppol.

