Sur cette page
La réponse courte
BR-S-03 échoue lorsque le document porte une remise dont la cac:TaxCategory est S sous le schéma VAT, et que le document ne porte ni identifiant fiscal du vendeur, sous quelque schéma que ce soit, ni identifiant TVA de représentant fiscal. Placez le numéro de TVA du vendeur dans cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID sous le schéma VAT : GB123456789 dans l'exemple enregistré.
Une remise sur des livraisons ou prestations au taux normal réduit la TVA que facture un vendeur immatriculé. La ligne au taux normal à laquelle s'applique la remise de fidélité déclenche BR-S-02 pour la même lacune, et une seule correction lève les deux.
Ce que la règle vérifie
La règle part de la racine du document et cherche tout cac:AllowanceCharge dont le cbc:ChargeIndicator vaut false et dont la cac:TaxCategory a un cbc:ID égal à S et un schéma fiscal VAT. S'il en existe un, le vendeur doit avoir un cac:PartyTaxScheme/cbc:CompanyID, ou cac:TaxRepresentativeParty doit en avoir un sous le schéma VAT.
Le schéma fiscal propre du vendeur n'est pas examiné. Lors d'un essai sur la facture avec remise de fidélité, un cac:PartyTaxScheme du vendeur portant GB123456789 sous le schéma TAX a passé toutes les étapes ; c'est ainsi qu'un identifiant d'enregistrement fiscal du vendeur (BT-32) satisfait la règle.
La recherche ne se limite pas aux remises au niveau du document. Lors d'un essai, une remise placée dans une ligne de facture avec sa propre catégorie S, dans une facture au taux zéro sans identifiant du vendeur, a signalé cette règle à côté de BR-Z-02 et BR-S-01, plus l'avertissement UBL-CR-558 pour une catégorie sur une remise de ligne.
Seule la présence de cbc:CompanyID est testée. Un cbc:CompanyID du vendeur vide sur la facture avec remise de fidélité a passé à la fois BR-S-02 et cette règle lors d'un essai, et l'étape Peppol l'a rejeté comme PEPPOL-EN16931-R008 à la place.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-95 | Code de catégorie de TVA de la remise au niveau du document | cac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:ID |
| 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 |
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 partie vendeur est construite à partir d'une fiche entreprise dont le numéro de TVA est vide pour cette entité, si bien que
cac:PartyTaxSchemeest omis. - L'export écrit le numéro de TVA dans
cac:PartyLegalEntity/cbc:CompanyIDoucac:PartyIdentification, dont aucun n'est accepté par la règle. - Un vendeur représenté pour la TVA envoie
cac:TaxRepresentativePartyavec un nom et une adresse mais sanscac:PartyTaxScheme, ou avec un schéma autre queVAT. - Une remise ou un avoir de fidélité est comptabilisé par défaut sous un code de taxe au taux normal, alors que le vendeur n'est pas immatriculé à la TVA et que rien dans le document ne devrait porter la catégorie
S.
Comment corriger le document
- Recherchez le numéro de TVA du vendeur, avec son préfixe pays, dans la fiche entreprise du vendeur.
- Écrivez-le dans
cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyIDaveccac:TaxScheme/cbc:IDàVAT, en plaçantcac:PartyTaxSchemeaprèscac:PostalAddresset avantcac:PartyLegalEntity. - Si le vendeur est représenté pour la TVA, envoyez plutôt le numéro de TVA du représentant dans
cac:TaxRepresentativeParty/cac:PartyTaxScheme/cbc:CompanyIDsous le schémaVAT. - Si le vendeur n'a aucune immatriculation à la TVA, la remise au taux normal est elle-même erronée. Réglez le traitement TVA de la remise, et des lignes qu'elle réduit, avec la personne responsable du paramétrage fiscal plutôt que d'emprunter un autre identifiant.
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 remise de fidélité au taux normal, et une partie vendeur sans PartyTaxScheme
<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>100</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Loyalty rebate</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">5.00</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>20</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 entre l'adresse postale et l'entité juridique
<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>La facture corrigée a un cac:PartyTaxScheme du vendeur contenant GB123456789 sous le schéma VAT ; la facture en échec n'en a aucun, et rien d'autre ne diffère. Le document en échec signale aussi BR-S-02, car sa ligne unique est au taux normal de 20 et exige le même identifiant. La remise de fidélité de 5.00 et la ventilation au taux normal de 20.00 de base imposable et 4.00 de TVA sont identiques dans les deux documents.
Ce que le validateur a signalé
- La facture en erreur signale BR-S-02 et BR-S-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 aux documents UBL
InvoiceetCreditNote. Un avoir construit à partir de l'exemple enregistré a signaléBR-S-02etBR-S-03lors d'un essai. - Signalée par l'étape EN 16931 comme constat fatal à la racine du document.
- Les frais ont la règle correspondante
BR-S-04, et les remises au taux zéroBR-Z-03. Un seul identifiant TVA du vendeur répond à toutes. - Savoir si la remise a un taux supérieur à zéro est une autre question, à laquelle répond
BR-S-06.
Règles liées
- BR-S-02 demande le même identifiant du vendeur lorsqu'une ligne est au taux normal
- BR-S-04 est l'équivalent pour les frais au niveau du document au taux normal
- BR-S-06 exige que la remise au taux normal porte un taux supérieur à zéro
- BR-Z-03 applique la même exigence aux remises au niveau du document au taux zéro
- 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-S-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.

