Aller au contenu

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

BR-O-14 : Garder en catégorie O les frais au niveau du document sur une facture non soumise à la TVA

Sur un document ayant une ventilation de la TVA O, tous les frais au niveau du document doivent aussi être en O. Des frais de livraison laissés en S à 20 y sont rejetés.

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

Sur cette page

La réponse courte

BR-O-14 échoue lorsqu'une ventilation de la TVA O est présente et que des frais, un cac:AllowanceCharge avec cbc:ChargeIndicator true, ont une cac:TaxCategory dans une autre catégorie sous le schéma VAT. Les frais Delivery enregistrés de 4.00 sont en S à 20 sur une facture dont la ligne et la ventilation sont en O. Recodez les frais en O, ou, s'ils sont réellement taxables, facturez-les sur une facture distincte.

Dans la facture enregistrée, la ventilation ne trahit pas les frais : ils n'ont pas de ventilation S propre et la base imposable O les laisse de côté, si bien qu'en dehors de cette règle, seules les règles du taux normal que les frais déclenchent les remarquent.

Ce que la règle vérifie

La règle part d'une catégorie O dans cac:TaxTotal/cac:TaxSubtotal, puis compte les catégories de taxe de frais sous le schéma VAT dont le cbc:ID n'est pas O, à toute profondeur dans le document. Un seul constat est émis à la racine.

Des frais de ligne comptent aussi. Lors d'un essai, des frais de 0.00 à l'intérieur de la ligne O, codés S à 20, ont signalé cette règle, BR-S-01, BR-S-04 et l'avertissement UBL-CR-558.

La catégorie choisie ne change que les compagnons de cette règle : codés E à 0, les frais de livraison ont fait apparaître BR-E-01 et BR-E-04, et codés Z à 0, BR-Z-01 et BR-Z-04, lors d'essais.

Le montant de la ventilation décide si BR-O-08 s'y ajoute. Recoder les frais seuls, avec la base imposable O laissée à 29.00, a aussi signalé cette règle lors d'un essai, puisque le contenu O était tombé à 25.00.

TermeSignificationÉlément UBL
BG-21Charges ou frais au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = true]
BT-102Code de catégorie de TVA des charges ou frais au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = true]/cac:TaxCategory/cbc:ID
BT-118Code de catégorie de TVAcac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID

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 un article standard du système de facturation, avec le taux normal attaché, utilisé sur chaque facture.
  • Le vendeur a passé ses factures en O mais n'a mis à jour que le catalogue de produits, pas la liste des frais.
  • Un transporteur ou une place de marché ajoute les frais avec ses propres paramètres de TVA après la construction du document.

Comment corriger le document

  1. Décidez du traitement TVA des frais. S'ils se rattachent à des fournitures hors du champ de la TVA, comme ici la livraison de l'article hors champ, ils sont aussi en O.
  2. Mettez la cac:TaxCategory/cbc:ID des frais à O et retirez leur cbc:Percent, que BR-O-07 interdit en O.
  3. Incluez les frais dans la ventilation O : la base imposable devient 25.00 + 4.00 = 29.00, le même montant que cbc:TaxExclusiveAmount.
  4. Si les frais sont taxables, facturez-les séparément avec leur propre ventilation au taux normal et l'identifiant TVA du vendeur qu'exige cette catégorie, et retirez leurs 4.00 des totaux de cette facture.

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 : des frais de livraison au taux normal sur un document dont l'unique ventilation est O

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Delivery</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">4.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>
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>O</cbc:ID>
      <!-- reason code and text omitted from this fragment -->
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

Fragment de la facture corrigée : les frais de livraison sont en O et comptés dans la ventilation O

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Delivery</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">4.00</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>O</cbc:ID>
    <cac:TaxScheme>
      <cbc:ID>VAT</cbc:ID>
    </cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">29.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>O</cbc:ID>
      <!-- reason code and text omitted from this fragment -->
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

La facture en échec code les frais Delivery de 4.00 en S avec cbc:Percent 20 et les laisse hors de la base imposable O, qui indique 25.00 ; la facture corrigée a les frais en O sans taux et une base imposable O de 29.00. Les deux différences sont voulues : la base imposable O a été abaissée à 25.00, le contenu O qui reste une fois les frais recodés, pour que BR-O-08 ne s'ajoute pas aux constats. En plus de BR-O-14, le document en échec signale BR-S-01, parce qu'un contenu au taux normal exige une ventilation au taux normal, et BR-S-04, parce que des frais au taux normal exigent un identifiant TVA du vendeur, un identifiant d'immatriculation fiscale ou un représentant fiscal.

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. Réécrite en avoir, la facture en échec a signalé les trois mêmes règles lors d'un essai.
  • L'ensemble est complet avec BR-O-11 pour les ventilations, BR-O-12 pour les lignes et BR-O-13 pour les remises ; un document O qui passe les quatre ne contient aucune autre catégorie de TVA.

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-O-14 (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.