Sur cette page
La réponse courte
BR-Z-03 échoue lorsqu'une remise porte une cac:TaxCategory dont le cbc:ID vaut Z sous le schéma VAT et que le document n'a ni identifiant fiscal du vendeur, sous quelque schéma que ce soit, ni identifiant TVA de représentant fiscal. Rétablissez le cac:PartyTaxScheme du vendeur avec son numéro de TVA, ou ajoutez le représentant qui déclare la TVA.
Dans l'exemple enregistré, la remise sur quantité de 2.50 réduit des livraisons ou prestations au taux zéro, et la ligne au taux zéro à côté déclenche BR-Z-02 pour le même identifiant manquant. Un seul cac:PartyTaxScheme du vendeur lève les deux.
Ce que la règle vérifie
La règle cherche une remise, c'est-à-dire un cbc:ChargeIndicator à false, dont la cac:TaxCategory a un cbc:ID égal à Z et un schéma fiscal qui se lit VAT une fois les espaces supprimés et les lettres passées en majuscules. Lors d'un essai, la remise avec son schéma écrit vat a toujours signalé cette règle, avec BR-Z-02.
Côté vendeur, un cbc:CompanyID dans n'importe quel cac:PartyTaxScheme du vendeur la satisfait, tout comme un cac:TaxRepresentativeParty/cac:PartyTaxScheme/cbc:CompanyID sous VAT. Lors d'un essai, ajouter à la facture en échec un représentant avec GB987654321 sous VAT l'a rendue valide.
Un représentant sous un autre schéma ne compte pas. Avec TAX comme schéma du représentant, la facture avec remise a signalé cette règle, BR-Z-02 et BR-56.
La remise n'a pas besoin d'être au niveau du document. Lors d'un essai, une facture au taux zéro sans identifiant du vendeur, dont la seule remise au taux zéro se trouvait dans sa ligne, a signalé cette règle et BR-Z-02, avec l'avertissement UBL-CR-558.
| 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 écrite à partir d'une fiche sans numéro de TVA, et sur une facture au taux zéro rien dans les totaux n'attire l'attention sur la lacune.
- Une remise sur quantité ou commerciale est ajoutée par une étape de tarification distincte qui copie la catégorie au taux zéro des lignes, tandis que les données du vendeur proviennent d'un modèle incomplet.
- Le numéro de TVA du représentant fiscal est envoyé sous un nom de schéma local.
- Le numéro de TVA du vendeur est placé dans
cac:PartyLegalEntity/cbc:CompanyIDplutôt que danscac:PartyTaxScheme.
Comment corriger le document
- Confirmez l'immatriculation du vendeur à la TVA et prenez le numéro, avec son préfixe pays, dans la fiche du vendeur.
- Ajoutez à la partie vendeur un
cac:PartyTaxSchemeavec cecbc:CompanyIDet uncac:TaxScheme/cbc:IDàVAT, entrecac:PostalAddressetcac:PartyLegalEntity. - Si un représentant déclare la TVA, envoyez
cac:TaxRepresentativePartyavec son nom, son adresse postale et uncac:PartyTaxSchemesous le schémaVAT. - Validez de nouveau : la même modification lève
BR-Z-02pour les lignes au taux zéro, etBR-Z-04si le document comporte aussi des frais au taux zéro.
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 sur quantité au taux zéro, 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>95</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Volume discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">2.50</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>Z</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 rétabli dans la partie vendeur
<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 avec GB123456789 sous le schéma VAT, qui manque à la facture en échec ; rien d'autre ne diffère. Le document en échec signale aussi BR-Z-02 pour sa ligne au taux zéro. La remise, la ventilation au taux zéro de 22.50 et les totaux sont les mêmes dans les deux documents.
Ce que le validateur a signalé
- La facture en erreur signale BR-Z-02 et BR-Z-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. L'avoir construit à partir de l'exemple enregistré a signaléBR-Z-02etBR-Z-03lors d'un essai. - Signalée par l'étape EN 16931 comme constat fatal à la racine du document.
- Les frais sont couverts par
BR-Z-04, et les remises au taux normal parBR-S-03. - Le taux de la remise est un contrôle distinct : une remise au taux zéro doit être à 0 selon
BR-Z-06.
Règles liées
- BR-Z-02 signale le même identifiant manquant pour les lignes au taux zéro
- BR-Z-06 exige que la remise au taux zéro elle-même soit au taux de 0
- BR-S-03 est l'équivalent au taux normal pour les remises au niveau du document
- BR-56 exige qu'un représentant fiscal, une fois envoyé, porte un identifiant TVA
- 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-Z-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.

