Aller au contenu

Ironfang Finance - Référence des règles

BR-Z-03 : Ajouter un identifiant TVA du vendeur lorsqu'une remise au niveau du document est au taux zéro

Une remise au niveau du document dans la catégorie de TVA Z exige un identifiant fiscal dans la partie vendeur ou l'identifiant TVA d'un représentant fiscal.

EN 16931Erreur : le document n'est pas valideTVAParties et adressesRemises et frais

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.

TermeSignificationÉlément UBL
BT-95Code de catégorie de TVA de la remise au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:ID
BT-31Identifiant à la TVA du vendeurcac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (tax scheme VAT)
BT-32Identifiant d'enregistrement fiscal du vendeurcac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (a tax scheme other than VAT)
BT-63Identifiant à la TVA du représentant fiscal du vendeurcac: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:CompanyID plutôt que dans cac:PartyTaxScheme.

Comment corriger le document

  1. Confirmez l'immatriculation du vendeur à la TVA et prenez le numéro, avec son préfixe pays, dans la fiche du vendeur.
  2. Ajoutez à la partie vendeur un cac:PartyTaxScheme avec ce cbc:CompanyID et un cac:TaxScheme/cbc:ID à VAT, entre cac:PostalAddress et cac:PartyLegalEntity.
  3. Si un représentant déclare la TVA, envoyez cac:TaxRepresentativeParty avec son nom, son adresse postale et un cac:PartyTaxScheme sous le schéma VAT.
  4. Validez de nouveau : la même modification lève BR-Z-02 pour les lignes au taux zéro, et BR-Z-04 si 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é

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 Invoice et CreditNote. L'avoir construit à partir de l'exemple enregistré a signalé BR-Z-02 et BR-Z-03 lors 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 par BR-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.

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.