Aller au contenu

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

BR-Z-09 : Mettre à 0.00 le montant de taxe de la ventilation de la TVA au taux zéro

Les livraisons ou prestations au taux zéro sont taxées à 0, donc le montant de taxe d'une ventilation de la TVA de catégorie Z doit être exactement nul. Même 0.01 échoue.

EN 16931Erreur : le document n'est pas valideTVATotaux

Sur cette page

La réponse courte

BR-Z-09 échoue lorsque le cbc:TaxAmount à côté d'une cac:TaxCategory égale à Z dans la ventilation de la TVA n'est pas nul. Mettez-le à 0.00, et retirez le même montant du total de TVA, du total TVA comprise et du montant à payer ; dans l'exemple enregistré, cela retire 4.50 de chacun.

Les 4.50 représentent 20 pour cent de la base imposable au taux zéro de 22.50, la marque d'un calcul de taxe qui a appliqué le taux normal à toutes les ventilations. Si de la TVA est réellement due, les livraisons ou prestations ne sont pas au taux zéro et la catégorie doit changer à la source.

Ce que la règle vérifie

La règle s'exécute sur chaque cac:TaxCategory au taux zéro sous le schéma VAT dans le cac:TaxTotal de la racine et lit le cbc:TaxAmount de son cac:TaxSubtotal. Ce montant doit valoir zéro en tant que nombre, si bien que -0.00 a passé lors d'un essai.

Aucun arrondi n'est admis. Lors d'un essai, 0.01 dans la ventilation au taux zéro, avec les totaux relevés en conséquence, a échoué sur cette seule règle.

BR-CO-17 est plus tolérant au taux de 0 et n'échoue que lorsque le montant s'arrondit à un nombre entier autre que 0. À 0.50, il s'est ajouté à cette règle lors d'un essai, et aux 4.50 enregistrés il se déclenche aussi.

Le total de TVA est hors du champ de cette règle. Avec 4.50 dans la ventilation au taux zéro mais un total de TVA laissé à 0.00, la facture a signalé BR-CO-14 à côté de cette règle et de BR-CO-17.

TermeSignificationÉlément UBL
BT-117Montant de la TVA de la catégoriecac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount
BT-118Code de catégorie de TVAcac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID
BT-110Montant total de la TVA de la facturecac:TaxTotal/cbc:TaxAmount

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 :

  • Chaque ventilation est taxée au taux par défaut du document au lieu de son propre cbc:Percent.
  • L'article était au taux normal à la prise de commande et au taux zéro à la facturation, et le montant de TVA enregistré a survécu au changement.
  • La TVA de la facture est calculée une fois et répartie entre les ventilations au prorata de la base imposable.
  • Les écarts d'arrondi au penny des ventilations au taux normal sont reportés sur la dernière ventilation écrite, qui se trouve être celle au taux zéro.

Comment corriger le document

  1. Vérifiez le code de taxe des lignes, remises et frais au taux zéro. S'ils sont au taux zéro, le montant de taxe de leur ventilation est 0.00.
  2. Mettez cbc:TaxAmount du cac:TaxSubtotal au taux zéro à 0.00.
  3. Refaites la somme de cac:TaxTotal/cbc:TaxAmount à partir des ventilations, puis recalculez cbc:TaxInclusiveAmount et cbc:PayableAmount : 27.00 devient 22.50 dans l'exemple enregistré.
  4. Si de la TVA est vraiment due sur ces livraisons ou prestations, déplacez-les vers la catégorie et le taux applicables, par exemple S à 20, et construisez cette ventilation au lieu de taxer une ventilation 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 : 4.50 de TVA dans la ventilation au taux zéro, reportés dans les totaux

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">4.50</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">22.50</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">4.50</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>Z</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
  <!-- line and tax exclusive amounts omitted from this fragment -->
  <cbc:TaxInclusiveAmount currencyID="GBP">27.00</cbc:TaxInclusiveAmount>
  <!-- allowance, charge, prepaid and rounding amounts omitted from this fragment -->
  <cbc:PayableAmount currencyID="GBP">27.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Fragment de la facture corrigée : aucune TVA dans la ventilation au taux zéro, et des totaux sans elle

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">22.50</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>Z</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
  <!-- line and tax exclusive amounts omitted from this fragment -->
  <cbc:TaxInclusiveAmount currencyID="GBP">22.50</cbc:TaxInclusiveAmount>
  <!-- allowance, charge, prepaid and rounding amounts omitted from this fragment -->
  <cbc:PayableAmount currencyID="GBP">22.50</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Le cbc:TaxAmount au taux zéro et le total de TVA valent 4.50 dans la facture en échec et 0.00 dans la facture corrigée, et le total TVA comprise et le montant à payer 27.00 contre 22.50 ; rien d'autre ne diffère. Le document en échec signale aussi BR-CO-17, qui n'accepte un montant de taxe au taux de 0 que s'il s'arrondit à zéro, ce que 4.50 ne fait pas. Les totaux concordent entre eux, donc BR-CO-14 et BR-CO-15 restent silencieux.

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 tiré de l'exemple enregistré a signalé BR-CO-17 et BR-Z-09 lors d'un essai.
  • Signalée par l'étape EN 16931 comme constat fatal sur la cac:TaxCategory de la ventilation au taux zéro.
  • Les ventilations exonérées et en autoliquidation ont la même exigence de zéro, selon BR-E-09 et BR-AE-09.

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