Texte officiel de la règle
[PEPPOL-EN16931-R005] VAT accounting currency code MUST be different from invoice currency code when provided.
Le texte normatif est en anglais ; il est cité tel quel.
Pourquoi cette erreur apparaît
Le code de devise de comptabilisation de la TVA (BT-6) sert uniquement à déclarer la TVA dans une devise différente de celle de la facture (BT-5) ; si les deux sont identiques, l'élément n'a pas de sens et Peppol l'interdit. La règle compare cbc:TaxCurrencyCode à cbc:DocumentCurrencyCode (UBL) ou ram:TaxCurrencyCode à ram:InvoiceCurrencyCode (CII). La cause est presque toujours un logiciel qui émet systématiquement l'élément de devise fiscale, renseigné avec la devise du document.
Comment corriger
Supprimez cbc:TaxCurrencyCode / ram:TaxCurrencyCode lorsqu'il est égal à la devise de facture ; supprimez aussi le second cac:TaxTotal (UBL) ou le second ram:TaxTotalAmount (CII) qui portait BT-111 dans cette devise. Ne conservez BT-6 que pour de véritables cas multidevises (par ex. facture en USD, TVA déclarée en EUR), et indiquez alors le total de TVA dans cette devise (BR-53).
Exemple (valide)
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>PO-55821</cbc:BuyerReference>
Ce que le validateur vérifie
Élément vérifié (contexte):
UBL
cbc:TaxCurrencyCodeTest (XPath):
not(normalize-space(text()) = normalize-space(../cbc:DocumentCurrencyCode/text()))CII
ram:ApplicableHeaderTradeSettlementTest (XPath):
not(ram:TaxCurrencyCode) or normalize-space(ram:TaxCurrencyCode/text()) != normalize-space(ram:InvoiceCurrencyCode/text())
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-R006Un seul objet facturé autorisé au niveau documentPEPPOL-EN16931-R007Identifiant du processus métier au format incorrectPEPPOL-EN16931-R008Le document contient des éléments videsPEPPOL-EN16931-R010Adresse électronique de l'acheteur (BT-49) absente
Questions fréquentes
Que signifie PEPPOL-EN16931-R005 ?
PEPPOL-EN16931-R005 est une règle peppol bis billing 3.0 : VAT accounting currency code MUST be different from invoice currency code when provided.
Ma facture sera-t-elle rejetée à cause de PEPPOL-EN16931-R005 ?
Oui. PEPPOL-EN16931-R005 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-R005 ?
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.