Codes d'erreur Peppol

PEPPOL-EN16931-R053 : plus d’un TaxTotal avec sous-totaux de TVA

Le code d’erreur PEPPOL-EN16931-R053 signifie : la facture contient plus d’un total de TVA (TaxTotal) avec des sous-totaux.

Jeu de règles: Peppol BIS Billing 3.0 · Gravité: erreur (fatal) : un point d’accès rejette la facture · Vérifié avec les règles officielles de mai 2026

Que signifie PEPPOL-EN16931-R053 ?

Le validateur affiche ce message (en anglais, comme dans les règles officielles) :

[PEPPOL-EN16931-R053]-Only one tax total with tax subtotals MUST be provided.

Une facture Peppol a exactement un cac:TaxTotal avec sous-totaux de TVA. Il contient le montant total de TVA (BT-110) et un cac:TaxSubtotal par catégorie et taux de TVA. Si votre facture a 6 % et 21 %, les deux sous-totaux vont dans le même TaxTotal. Un second TaxTotal n’est permis que sans sous-totaux, et seulement pour indiquer la TVA dans une autre devise comptable. Dans notre test, un second TaxTotal a aussi provoqué BR-CO-15 : le total TVA comprise ne tombe alors plus juste.

Causes fréquentes

  • Le logiciel crée un TaxTotal distinct par taux de TVA, au lieu d’un seul TaxTotal avec plusieurs sous-totaux.
  • Un modèle ajoute un second TaxTotal pour la TVA en euros, mais y place aussi des sous-totaux.
  • Lors de la fusion de deux documents, les deux blocs de TVA ont été conservés.

Comment corriger en tant qu’émetteur

  1. Créez un seul cac:TaxTotal avec le montant total de TVA de la facture.
  2. Placez-y un cac:TaxSubtotal par combinaison de catégorie et de taux de TVA.
  3. N’utilisez un second TaxTotal que si vous indiquez une devise comptable (BT-6), et alors sans sous-totaux. Validez à nouveau.

Vous avez reçu une facture avec cette erreur ?

Une facture avec cette erreur n’est pas conforme. Demandez une facture corrigée au fournisseur et ne modifiez pas le XML vous-même.

Exemple dans le XML

❌ Incorrect

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">42.00</cbc:TaxAmount>
  <cac:TaxSubtotal>...21 %...</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">6.00</cbc:TaxAmount>
  <cac:TaxSubtotal>...6 %...</cac:TaxSubtotal>
</cac:TaxTotal>

✅ Correct

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">48.00</cbc:TaxAmount>
  <cac:TaxSubtotal>...21 %...</cac:TaxSubtotal>
  <cac:TaxSubtotal>...6 %...</cac:TaxSubtotal>
</cac:TaxTotal>

Les deux extraits proviennent d’une facture de test complète vérifiée avec notre validateur : la version incorrecte donne exactement ce message, la version correcte aucune erreur.

Bon à savoir

La règle liée PEPPOL-EN16931-R054 porte sur ce second TaxTotal : si vous indiquez une devise comptable, il faut exactement un TaxTotal sans sous-totaux, avec le montant de TVA dans cette devise.

Vérifiez votre facture

Déposez votre XML dans le validateur gratuit. Vous voyez tout de suite si cette erreur se produit encore, avec un lien vers l’explication pour chaque message.

Règle officielle

La règle complète avec son test technique (Schematron) figure dans la documentation officielle Peppol :

Codes d’erreur liés

  • BR-CO-18: La facture ne contient aucun récapitulatif TVA.
  • BR-CO-15: Le total TVA comprise n’est pas égal au total hors TVA plus le montant de TVA.

Questions fréquentes sur PEPPOL-EN16931-R053

Puis-je créer un TaxTotal par taux de TVA ?

Non. Tous les taux vont dans un seul TaxTotal, sous forme de blocs TaxSubtotal distincts.

Pourquoi la même facture donne-t-elle aussi BR-CO-15 ?

Avec deux blocs TaxTotal, la règle ne peut pas additionner le montant total de TVA de façon univoque. Par conséquent, le contrôle du total TVA comprise (BR-CO-15) échoue. Avec un seul TaxTotal, les deux erreurs disparaissent.

← Tous les codes d’erreur Peppol