Aller au contenu principal

Référence

Export Markdown

PEPPOL-EN16931-R061 Le prélèvement exige la référence du mandat (BT-89)

Selon la règle PEPPOL-EN16931-R061, chaque moyen de paiement dont BT-81 porte un code de prélèvement (49 = prélèvement, 59 = prélèvement SEPA) doit indiquer la référence du mandat BT-89. La règle provient de Peppol BIS Billing 3.0 et le jeu de règles KoSIT pour XRechnung 3.0.2 l’applique aussi, en UBL comme en CII. En UBL, le validateur recherche cac:PaymentMandate/cbc:ID dans le même cac:PaymentMeans ; en CII, ram:DirectDebitMandateID dans ram:SpecifiedTradePaymentTerms du règlement d’en-tête. La règle est classée fatale : la facture n’est pas valide.

Description du problème

ERREUR

Règle Peppol BIS Billing 3.0 (OpenPeppol)

Contexte et importance

L’erreur apparaît lorsqu’une facture est marquée comme prélèvement mais que la référence du mandat reste dans la fiche client de l’ERP ou n’apparaît que dans une note. Sans BT-89, l’acheteur ne peut pas rapprocher le prélèvement d’un mandat. R061 ne porte que sur la référence du mandat. Mais BT-89 crée le groupe de prélèvement BG-19, pour le code 49 comme pour le code 59. Dès que BG-19 est présent, XRechnung 3.0.2 exige en outre l’identifiant créancier BT-90 selon BR-DE-30 et le compte débité BT-91 selon BR-DE-31.

Solution

Reprenez la référence du mandat signé (pour le SEPA, la référence unique de mandat convenue avec l’acheteur) et exportez-la dans BT-89. En UBL 2.1, ajoutez <cac:PaymentMandate><cbc:ID>MANDATE-2026-001</cbc:ID></cac:PaymentMandate> dans le <cac:PaymentMeans> portant le code 49 ou 59. En CII, ajoutez <ram:DirectDebitMandateID>MANDATE-2026-001</ram:DirectDebitMandateID> dans <ram:SpecifiedTradePaymentTerms> sous <ram:ApplicableHeaderTradeSettlement>. Sans mandat, l’acheteur ne peut pas être prélevé : utilisez alors un code de virement (30 ou 58) avec le compte du vendeur dans BG-17.

Actions rapides

Exemples valides

  • BT-81 = 59 avec BT-89 = « MANDATE-2026-001 » dans cac:PaymentMandate/cbc:ID
  • CII : TypeCode 49 avec ram:DirectDebitMandateID = « M-7781 » dans les conditions de paiement de l’en-tête

Exemples invalides

  • BT-81 = 59 avec l’IBAN débité dans cac:PaymentMandate/cac:PayerFinancialAccount, mais sans cac:PaymentMandate/cbc:ID
  • BT-81 = 49 et la référence du mandat figure uniquement dans la note de facture (BT-22)

Exemples de code

XML valide
<cac:PaymentMeans>
  <cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>
  <cac:PaymentMandate>
    <cbc:ID>MANDATE-2026-001</cbc:ID>
    <cac:PayerFinancialAccount>
      <cbc:ID>DE89370400440532013000</cbc:ID>
    </cac:PayerFinancialAccount>
  </cac:PaymentMandate>
</cac:PaymentMeans>
XML invalide
<cac:PaymentMeans>
  <cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>
  <cac:PaymentMandate>
    <cac:PayerFinancialAccount>
      <cbc:ID>DE89370400440532013000</cbc:ID>
    </cac:PayerFinancialAccount>
  </cac:PaymentMandate>
</cac:PaymentMeans>

Champs concernés

Outils de validation