# PEPPOL-EN16931-R061 Otomatik tahsilat, talimat referans kimliğini (BT-89) gerektirir

PEPPOL-EN16931-R061 kuralı uyarınca, BT-81 alanında otomatik tahsilat kodu (49 = otomatik tahsilat, 59 = SEPA otomatik tahsilat) taşıyan her ödeme yöntemi talimat referans kimliği BT-89’u belirtmelidir. Kural Peppol BIS Billing 3.0’dan gelir; XRechnung 3.0.2 için KoSIT kural paketi de bu kuralı UBL ve CII için uygular. UBL’de doğrulayıcı aynı cac:PaymentMeans içinde cac:PaymentMandate/cbc:ID arar; CII’de başlık ödeme bölümündeki ram:SpecifiedTradePaymentTerms içinde ram:DirectDebitMandateID arar. Kural ölümcül (fatal) olarak işaretlidir; fatura geçerli sayılmaz.

## Sorun açıklaması

> **HATA**: Peppol BIS Billing 3.0 kuralı (OpenPeppol)

## Bağlam ve önem

Hata, bir fatura otomatik tahsilat olarak işaretlendiğinde ancak talimat referansı ERP müşteri kaydında kaldığında veya yalnızca bir notta yazıldığında ortaya çıkar. BT-89 olmadan alıcı tahsilatı bir talimatla eşleştiremez. R061 yalnızca talimat referansını kapsar. Ancak BT-89, kod 49’da da kod 59’da da otomatik tahsilat grubu BG-19’u oluşturur. BG-19 bulunduğu anda XRechnung 3.0.2, BR-DE-30 uyarınca ayrıca alacaklı kimliği BT-90’ı, BR-DE-31 uyarınca da borçlandırılacak hesap BT-91’i zorunlu kılar.

## Çözüm

Talimat referansını imzalı otomatik tahsilat talimatından alın (SEPA’da alıcıyla kararlaştırılan benzersiz talimat referansı) ve BT-89 alanına aktarın. UBL 2.1’de kodu 49 veya 59 olan <cac:PaymentMeans> içine <cac:PaymentMandate><cbc:ID>MANDATE-2026-001</cbc:ID></cac:PaymentMandate> ekleyin. CII’de <ram:ApplicableHeaderTradeSettlement> altındaki <ram:SpecifiedTradePaymentTerms> içine <ram:DirectDebitMandateID>MANDATE-2026-001</ram:DirectDebitMandateID> ekleyin. Talimat yoksa alıcının hesabından tahsilat yapılamaz: Bu durumda satıcı hesabı BG-17’de olacak şekilde bir havale kodu (30 veya 58) kullanın.

- [XML doğrula](/tr/xrechnung-validator?source=resource&rule=PEPPOL-EN16931-R061)
- [Faturayı dönüştür](/tr/pdf-to-xrechnung?source=resource&rule=PEPPOL-EN16931-R061)

## Geçerli örnekler

- cac:PaymentMandate/cbc:ID içinde BT-89 = "MANDATE-2026-001" ile BT-81 = 59
- CII: Başlık ödeme koşullarında ram:DirectDebitMandateID = "M-7781" ile TypeCode 49

## Geçersiz örnekler

- cac:PaymentMandate/cac:PayerFinancialAccount içinde borçlandırılacak IBAN ile BT-81 = 59, ancak cac:PaymentMandate/cbc:ID yok
- BT-81 = 49 ve talimat referansı yalnızca fatura notunda (BT-22) yer alıyor

## Kod örnekleri

### Geçerli XML
```
<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>
```

### Geçersiz XML
```
<cac:PaymentMeans>
  <cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>
  <cac:PaymentMandate>
    <cac:PayerFinancialAccount>
      <cbc:ID>DE89370400440532013000</cbc:ID>
    </cac:PayerFinancialAccount>
  </cac:PaymentMandate>
</cac:PaymentMeans>
```

## Etkilenen alanlar

- [BT-89 Talimat referans kimliği](/resources/xrechnung/bt-89-mandate-reference-identifier)
- [BG-19 Otomatik tahsilat](/resources/xrechnung/bt-89-mandate-reference-identifier)
- [BT-81 Ödeme yöntemi tür kodu](/resources/xrechnung/bt-81-payment-means-type-code)

## İlgili kurallar

- [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)

## Doğrulama araçları

- [Resmi KoSIT doğrulayıcı](https://github.com/itplr-kosit/validator): EN 16931 ve XRechnung kurallarını denetlemek için resmi KoSIT doğrulayıcısını XRechnung yapılandırmasıyla çalıştırın.
- [PDF’yi XRechnung’e dönüştür](/pdf-to-xrechnung): Dönüştürme sırasında doğrulama hatalarını bulun ve her düzeltmeyi inceleyin.

## İlgili kaynaklar

- [Resmi spesifikasyon](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-peppol/)
- [Test paketi](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Tüm doğrulama hataları](/resources/kosit-validator-errors): Burada açıklanan EN 16931, XRechnung ve Peppol doğrulama kurallarına genel bakış.
