Compte
Français

PEPPOL-EN16931-R061: Prélèvement sans référence de mandat (BT-89)

Règle Peppol BIS Billing 3.0 · Erreur · UBL, CII

NormePeppol BIS Billing 3.0 (OpenPeppol)GravitéErreur: la facture est rejetéeSyntaxeUBL, CIIS'applique àFactures et avoirs transmis via le réseau Peppol (UBL) et, XRechnung reprenant ces règles, toute XRechnung.

Texte officiel de la règle

[PEPPOL-EN16931-R061] Mandate reference MUST be provided for direct debit.

Le texte normatif est en anglais ; il est cité tel quel.

Pourquoi cette erreur apparaît

Si le code du moyen de paiement (BT-81) est 49 (prélèvement) ou 59 (prélèvement SEPA), Peppol exige la référence du mandat afin que l'acheteur puisse rapprocher le prélèvement du mandat qu'il a signé. La règle recherche cac:PaymentMeans/cac:PaymentMandate/cbc:ID (UBL) ou ram:SpecifiedTradePaymentTerms/ram:DirectDebitMandateID (CII) dès que le code est 49 ou 59. Elle échoue lorsque la référence du mandat est stockée dans l'ERP mais non mappée, ou lorsque le code 59 est utilisé alors que le client paie en réalité par virement.

Comment corriger

En UBL, ajoutez cac:PaymentMandate avec cbc:ID (référence du mandat) dans cac:PaymentMeans, ainsi que cac:PayerFinancialAccount/cbc:ID avec l'IBAN débité (BT-91) s'il est connu. En CII, placez ram:DirectDebitMandateID dans ram:SpecifiedTradePaymentTerms et le compte débité dans ram:PayerPartyDebtorFinancialAccount/ram:IBANID. En l'absence de mandat, remplacez le code du moyen de paiement par 58 (virement SEPA) et indiquez le compte du bénéficiaire.

Exemple (valide)

<cac:PaymentMeans>
  <cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>
  <cac:PaymentMandate>
    <cbc:ID>MANDATE-2024-0815</cbc:ID>
    <cac:PayerFinancialAccount><cbc:ID>DE02120300000000202051</cbc:ID></cac:PayerFinancialAccount>
  </cac:PaymentMandate>
</cac:PaymentMeans>

Ce que le validateur vérifie

Élément vérifié (contexte):

UBL

cac:PaymentMeans[some $code in tokenize('49 59', '\s')
          satisfies normalize-space(cbc:PaymentMeansCode) = $code]
cac:PaymentMeans[some $code in tokenize('49 59', '\s')           satisfies normalize-space(cbc:PaymentMeansCode) = $code]

Test (XPath):

cac:PaymentMandate/cbc:ID

CII

ram:SpecifiedTradeSettlementPaymentMeans[some $code in tokenize('49 59', '\s')
                    satisfies normalize-space(ram:TypeCode) = $code]
ram:SpecifiedTradeSettlementPaymentMeans[some $code in tokenize('49 59', '\s')                     satisfies normalize-space(ram:TypeCode) = $code]

Test (XPath):

../ram:SpecifiedTradePaymentTerms/ram:DirectDebitMandateID

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é.

Vérifier votre facture →

La même vérification par API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Règles liées

Questions fréquentes

Que signifie PEPPOL-EN16931-R061 ?

PEPPOL-EN16931-R061 est une règle peppol bis billing 3.0 : Mandate reference MUST be provided for direct debit.

Ma facture sera-t-elle rejetée à cause de PEPPOL-EN16931-R061 ?

Oui. PEPPOL-EN16931-R061 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-R061 ?

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.