Sur cette page
La réponse courte
PEPPOL-EN16931-R005 échoue lorsque cbc:TaxCurrencyCode indique la même devise que cbc:DocumentCurrencyCode, et le constat pointe vers cbc:TaxCurrencyCode. Si la TVA est comptabilisée dans la devise de la facture, supprimez cet élément ; le total de TVA dans la devise de la facture le couvre déjà.
N'envoyez cbc:TaxCurrencyCode que lorsque le vendeur doit comptabiliser la TVA dans une autre devise, et ajoutez alors le total de TVA dans cette devise sous la forme d'un total de taxe distinct.
Ce que la règle vérifie
La règle s'exécute sur cbc:TaxCurrencyCode directement sous la racine, s'il existe, et compare son texte à celui de cbc:DocumentCurrencyCode. Les espaces en début et en fin sont d'abord retirés, si bien qu'un GBP entouré d'espaces face à GBP échoue quand même ; lors d'un essai, ce code entouré d'espaces a été signalé ici.
La casse n'est pas normalisée. Lors d'un essai, gbp sur une facture en GBP n'a pas signalé cette règle. Il a signalé à la place BR-CL-05, car gbp n'est pas un code de devise valide, ainsi que BR-53, PEPPOL-EN16931-R054 et PEPPOL-EN16931-R055, qui n'ont trouvé aucun total dans la devise de comptabilisation.
Lorsque cbc:TaxCurrencyCode est absent, la règle n'a rien à tester. Elle ne juge jamais si la devise de comptabilisation est la bonne pour le vendeur, seulement qu'elle diffère de la devise de la facture.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-6 | Code de devise de comptabilisation de la TVA | cbc:TaxCurrencyCode |
| BT-5 | Code de devise de la facture | cbc:DocumentCurrencyCode |
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 :
- L'export renseigne
cbc:TaxCurrencyCodeà partir de la devise de base de l'entreprise sur chaque document, y compris ceux émis dans cette même devise. - Le mapping copie la devise de la facture dans
cbc:TaxCurrencyCodeparce que les deux champs sont libellés comme une devise dans le modèle source. - Un modèle conçu pour les factures en devise étrangère, qui a besoin de l'élément, est réutilisé pour les factures nationales.
Comment corriger le document
- Comparez la devise de la facture avec la devise dans laquelle le vendeur comptabilise la TVA.
- Si elles sont identiques, supprimez
cbc:TaxCurrencyCode, ainsi que toutcac:TaxTotalsupplémentaire ajouté uniquement pour porter la TVA dans cette devise. Sans le code, un total de taxe sans ventilation est lui-même une erreur au titre dePEPPOL-EN16931-R054. - Si elles diffèrent, le code était faux plutôt qu'inutile : écrivez la vraie devise de comptabilisation et ajoutez un
cac:TaxTotalne contenant quecbc:TaxAmountdans cette devise, comme l'exigeBR-53. - Faites décider l'export, à partir des deux paramètres de devise, s'il doit écrire l'élément, au lieu de l'écrire sur chaque document.
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 : une facture en GBP déclare GBP comme devise de comptabilisation de la TVA
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>GBP</cbc:TaxCurrencyCode>
<cbc:BuyerReference>BUYER-REF-001</cbc:BuyerReference>Fragment de la facture corrigée : la devise de comptabilisation de la TVA est omise
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>BUYER-REF-001</cbc:BuyerReference>La facture en échec a <cbc:TaxCurrencyCode>GBP</cbc:TaxCurrencyCode> après sa devise de document GBP ; la facture corrigée n'a pas cet élément et est identique par ailleurs. Le document en échec signale aussi PEPPOL-EN16931-R054, car une devise de comptabilisation déclarée exige exactement un total de taxe sans ventilation, et cette facture n'en a aucun. Supprimer le code lève les deux. L'étape EN 16931 réussit : BR-53 trouve le total de taxe en GBP existant, dont la devise correspond au code déclaré.
Ce que le validateur a signalé
- La facture en erreur signale PEPPOL-EN16931-R005 et PEPPOL-EN16931-R054. Le document corrigé passe toutes les étapes de validation sans constat.Télécharger le XML en erreurTélécharger le XML corrigé
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 à UBL
InvoiceetCreditNote. Lors d'un essai, un avoir avec uncbc:TaxCurrencyCodeGBP sur un document en GBP a signalé cette règle etPEPPOL-EN16931-R054. - Signalée uniquement par l'étape Peppol ; l'étape EN 16931 accepte l'exemple enregistré.
- Ajouter un second total de taxe dans la devise de la facture ne permet pas de la contourner. Lors d'un essai, cela a levé
PEPPOL-EN16931-R054, mais laissé cette règle et ajoutéBR-CO-15, qui attend exactement un total de TVA dans la devise de la facture. - La validité du code
cbc:DocumentCurrencyCodelui-même est contrôlée parBR-CL-04.
Règles liées
- PEPPOL-EN16931-R054 lie le total de taxe supplémentaire à la devise de comptabilisation et est signalé avec cette règle
- BR-53 exige le total de TVA dans la devise de comptabilisation lorsqu'une telle devise est réellement déclarée
- BR-CL-04 contrôle le code de devise de la facture auquel cette règle compare
- PEPPOL-EN16931-R055 contrôle le signe du total de TVA dans la devise de comptabilisation
- Parcourir toutes les règles de la référence
- Contexte (en anglais) : How Peppol invoice validation actually works
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-24.1 : source vérifiée le 2026-09-24, explication mise à jour le 2026-09-24.
La définition officielle de PEPPOL-EN16931-R005 (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.

