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

- [Valider le XML](/fr/xrechnung-validator?source=resource&rule=PEPPOL-EN16931-R061)
- [Convertir la facture](/fr/pdf-to-xrechnung?source=resource&rule=PEPPOL-EN16931-R061)

## 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

- [BT-89 Référence du mandat](/resources/xrechnung/bt-89-mandate-reference-identifier)
- [BG-19 Prélèvement](/resources/xrechnung/bt-89-mandate-reference-identifier)
- [BT-81 Code du type de moyen de paiement](/resources/xrechnung/bt-81-payment-means-type-code)

## Règles associées

- [BR-DE-30](/resources/kosit-validator-errors/br-de-30-direct-debit-requires-creditor-identifier)
- [BR-DE-31](/resources/kosit-validator-errors/br-de-31-direct-debit-requires-debited-account)
- [BR-DE-23-b](/resources/kosit-validator-errors/br-de-23-b-credit-transfer-excludes-card-and-direct-debit)

## Outils de validation

- [Validateur KoSIT officiel](https://github.com/itplr-kosit/validator): Exécutez le validateur officiel du KoSIT avec la configuration XRechnung pour contrôler les règles EN 16931 et XRechnung.
- [Convertir un PDF en XRechnung](/pdf-to-xrechnung): Repérez les erreurs de validation pendant la conversion et vérifiez chaque correction.

## Ressources associées

- [Spécification officielle](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-peppol/)
- [Suite de tests](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Toutes les erreurs de validation](/resources/kosit-validator-errors): Vue d’ensemble des règles de validation EN 16931, XRechnung et Peppol expliquées ici.
