# BR-31 Belge düzeyi indirim tutarı zorunludur

Her belge düzeyi indirim (BG-20), bir belge düzeyi indirim tutarı (BT-92) içermelidir.

## Sorun açıklaması

> **HATA**: EN 16931 temel iş kuralı (CEN)

## Bağlam ve önem

Bu bir EN 16931 temel kuralıdır. Belge düzeyi indirim (BG-20) KDV hariç fatura toplamını (BT-109) ve KDV matrahını düşürür; tutar olmadan alıcı toplamları yeniden hesaplayamaz. UBL şeması cac:AllowanceCharge içinde cbc:Amount öğesini zaten zorunlu kıldığından BR-31 çoğunlukla indirimi yalnızca yüzde (ram:CalculationPercent) veya neden içeren CII faturalarında görülür; örneğin yalnızca indirim oranı bilindiğinde.

## Çözüm

cbc:ChargeIndicator değeri false olan belge düzeyi cac:AllowanceCharge öğesine cbc:Amount ekleyin (CII: ram:SpecifiedTradeAllowanceCharge içinde ram:ActualAmount). Yalnızca yüzde biliniyorsa tutarı matrah × yüzde ÷ 100 olarak hesaplayın.

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

## Geçerli örnekler

- Belge düzeyi indirimde BT-92 = 20.00

## Geçersiz örnekler

- Nedeni ve yüzdesi olan ancak ram:ActualAmount (BT-92) içermeyen CII belge düzeyi indirimi; UBL’de cbc:Amount içermeyen cac:AllowanceCharge zaten bir XML şema hatasıdır

## Kod örnekleri

### Geçerli XML
```
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:CalculationPercent>2.00</ram:CalculationPercent>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:ActualAmount>20.00</ram:ActualAmount>
  <ram:Reason>Loyalty discount</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
```

### Geçersiz XML
```
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:CalculationPercent>2.00</ram:CalculationPercent>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:Reason>Loyalty discount</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
```

## Etkilenen alanlar

- [BT-92 Belge düzeyi indirim tutarı](/resources/xrechnung/bt-92-document-level-allowance-amount)

## İlgili kurallar

- [BR-32](/resources/kosit-validator-errors/br-32-document-allowance-vat-category-required)
- [BR-33](/resources/kosit-validator-errors/br-33-document-allowance-reason-required)
- [BR-36](/resources/kosit-validator-errors/br-36-document-charge-amount-required)

## 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-tc434/)
- [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ış.
