Aller au contenu

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

BR-Z-07 : Donner le taux de TVA 0 à des frais au niveau du document au taux zéro

Des frais au niveau du document dans la catégorie de TVA Z doivent indiquer un taux de 0 dans cbc:Percent. Omettre le taux échoue, comme toute autre valeur.

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

Sur cette page

La réponse courte

BR-Z-07 échoue sur chaque ensemble de frais dont la cac:TaxCategory a un cbc:ID égal à Z sous le schéma VAT et un cbc:Percent absent ou différent de 0. Écrivez <cbc:Percent>0</cbc:Percent> après le code de catégorie ; dans l'exemple enregistré, les frais de livraison n'avaient aucun élément de taux.

Le taux zéro doit être indiqué, pas sous-entendu. Une catégorie Z sans taux est incomplète, pas nulle.

Ce que la règle vérifie

La règle contrôle chaque cac:TaxCategory au taux zéro sous le schéma VAT dans des frais, y compris des frais placés dans une ligne de facture. Lors d'un essai, des frais de ligne dans la catégorie Z à 20 ont signalé cette règle sur le cac:AllowanceCharge de la ligne, à côté de l'avertissement UBL-CR-558.

Le taux doit valoir zéro en tant que nombre. Lors d'un essai, les frais de livraison à 5 et à 20 ont chacun signalé cette règle, tandis que -0.0 a passé.

Un taux absent n'est pas lu comme zéro, et c'est l'échec de l'exemple enregistré.

Rien d'autre ne réagit au taux manquant. La règle de la base imposable au taux zéro compte les frais par leur seule catégorie, si bien que la facture en échec ne signale que cette règle.

TermeSignificationÉlément UBL
BT-102Code de catégorie de TVA des charges ou frais au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = true]/cac:TaxCategory/cbc:ID
BT-103Taux de TVA des charges ou frais au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = true]/cac:TaxCategory/cbc:Percent

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 :

  • Les frais de livraison sont créés avec un indicateur de catégorie et sans taux, et l'export n'écrit que les champs remplis.
  • Le sérialiseur supprime les éléments dont la valeur est zéro, et omet donc cbc:Percent chaque fois que le taux est 0.
  • Les frais prennent leur taux d'un code de taxe par défaut, le taux normal, tandis que leur catégorie est copiée des marchandises.
  • Les frais ont été reclassés du taux normal au taux zéro et leur taux n'a pas été mis à jour.

Comment corriger le document

  1. Retrouvez les frais à partir du constat : dans l'exemple enregistré, il s'agit de cac:AllowanceCharge[1], le premier cac:AllowanceCharge sous la racine.
  2. Confirmez à partir du code de taxe des frais qu'ils sont au taux zéro.
  3. Écrivez cbc:Percent avec 0 juste après cbc:ID dans leur cac:TaxCategory, avant cac:TaxScheme.
  4. Faites écrire le taux par l'export pour chaque catégorie, taux de 0 compris, au lieu de sauter les valeurs nulles.
  5. Si les frais sont en réalité taxés, déplacez-les vers la bonne catégorie et le bon taux, et reconstruisez les deux ventilations.

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 : les frais de livraison sont dans la catégorie Z mais n'ont pas de taux

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>DL</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Delivery</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">4.00</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>Z</cbc:ID>
    <cac:TaxScheme>
      <cbc:ID>VAT</cbc:ID>
    </cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>

Fragment de la facture corrigée : les frais de livraison indiquent leur taux de 0

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>DL</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Delivery</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">4.00</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>

Il manque cbc:Percent dans la cac:TaxCategory des frais de livraison de la facture en échec, et la facture corrigée y a 0 ; rien d'autre ne diffère. Le document en échec ne signale que BR-Z-07. La ventilation au taux zéro de 29.00 reste juste, puisque les frais y entrent par leur catégorie Z.

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. Un avoir construit à partir de l'exemple enregistré a signalé cette seule règle lors d'un essai.
  • Signalée par l'étape EN 16931 comme constat fatal sur la cac:TaxCategory des frais.
  • Les remises ont la même règle avec BR-Z-06. Les frais au taux normal exigent un taux supérieur à zéro selon BR-S-07, et des frais sans aucune catégorie échouent sur BR-37.

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-07 (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.