Texte officiel de la règle
[PEPPOL-EN16931-R053] Only one tax total with tax subtotals MUST be provided.
Le texte normatif est en anglais ; il est cité tel quel.
Pourquoi cette erreur apparaît
Peppol exige exactement un bloc de total de TVA portant la ventilation : en UBL un seul cac:TaxTotal contenant des éléments cac:TaxSubtotal, en CII exactement un ram:TaxTotalAmount dont le currencyID est égal à la devise de facture. Un second bloc n'est admis que pour le total de TVA dans la devise de comptabilisation (BT-111) et ne doit comporter aucun sous-total. La règle échoue lorsque le logiciel émet un cac:TaxTotal par taux de TVA, lorsque les sous-totaux sont totalement absents ou, en CII, lorsque ram:TaxTotalAmount n'a pas d'attribut currencyID.
Comment corriger
En UBL, construisez un seul cac:TaxTotal avec cbc:TaxAmount (somme, BT-110) et un cac:TaxSubtotal par catégorie et taux de TVA ; si vous utilisez une devise de comptabilisation de la TVA, ajoutez un second cac:TaxTotal contenant uniquement cbc:TaxAmount dans cette devise. En CII, écrivez exactement un ram:TaxTotalAmount avec un currencyID égal à ram:InvoiceCurrencyCode dans ram:SpecifiedTradeSettlementHeaderMonetarySummation, plus éventuellement un dans la devise fiscale ; la ventilation elle-même figure dans les éléments ram:ApplicableTradeTax. N'omettez jamais le currencyID sur ces montants.
Exemple (valide)
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">26.00</cbc:TaxAmount>
<cac:TaxSubtotal>...19 %...</cac:TaxSubtotal>
<cac:TaxSubtotal>...7 %...</cac:TaxSubtotal>
</cac:TaxTotal>
Ce que le validateur vérifie
Élément vérifié (contexte):
UBL
ubl-creditnote:CreditNote | ubl-invoice:InvoiceTest (XPath):
count(cac:TaxTotal[cac:TaxSubtotal]) = 1CII
ram:ApplicableHeaderTradeSettlementTest (XPath):
count(ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID = $documentCurrencyCode]) = 1
Vérifier votre facture
Déposez votre XML ou PDF dans le validateur : chaque règle en échec renvoie vers sa page ici. Gratuit, sans compte, le fichier n'est pas conservé.
La même vérification par API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRègles liées
PEPPOL-EN16931-R001Identifiant du processus métier (BT-23) absentPEPPOL-EN16931-R002Une seule note autorisée au niveau document, sauf si l'acheteur et le vendeur…PEPPOL-EN16931-R003Ni référence acheteur ni référence de bon de commandePEPPOL-EN16931-R004Identifiant de spécification autre que Peppol BIS Billing 3.0PEPPOL-EN16931-R005Devise de comptabilisation de la TVA identique à la devise de facturePEPPOL-EN16931-R006Un seul objet facturé autorisé au niveau documentPEPPOL-EN16931-R007Identifiant du processus métier au format incorrectPEPPOL-EN16931-R008Le document contient des éléments vides
Questions fréquentes
Que signifie PEPPOL-EN16931-R053 ?
PEPPOL-EN16931-R053 est une règle peppol bis billing 3.0 : Only one tax total with tax subtotals MUST be provided.
Ma facture sera-t-elle rejetée à cause de PEPPOL-EN16931-R053 ?
Oui. PEPPOL-EN16931-R053 est classée « bloquante » ; les validateurs (plateformes agréées, points d'accès Peppol, KoSIT, KSeF) rejettent la facture tant qu'elle n'est pas corrigée.
À quels formats s'applique PEPPOL-EN16931-R053 ?
Factures et avoirs transmis via le réseau Peppol (UBL) et, XRechnung reprenant ces règles, toute XRechnung. Syntaxe : UBL et CII.
Source: Peppol BIS Billing 3.0.20 (November 2025). Catalogue généré à partir des jeux de règles officiels le 2026-10-15.