# BR-38 Belge düzeyi masraf nedeni veya neden kodu zorunludur

Her belge düzeyi masraf (BG-21), bir belge düzeyi masraf nedeni (BT-104) veya bir belge düzeyi masraf neden kodu (BT-105) içermelidir.

## Sorun açıklaması

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

## Bağlam ve önem

Bu bir EN 16931 temel kuralıdır ve BR-33’ün masraf tarafındaki karşılığıdır. Alıcı masrafın ne için alındığını anlayabilmelidir; örneğin navlun, sigorta veya ambalaj. Hata, dışa aktarım yalnızca masraf tutarını neden metni veya UNCL7161 kodu olmadan yazdığında ortaya çıkar; en az birini belirtin. İkisi de verilirse BR-CO-06 uyarınca aynı nedeni tanımlamalıdır.

## Çözüm

Masrafa cbc:AllowanceChargeReason metnini veya cbc:AllowanceChargeReasonCode (UNCL7161) kodunu ekleyin; ikisi de verilirse aynı nedeni tanımlamalıdır.

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

## Geçerli örnekler

- BT-104 = "Navlun"
- BT-105 = FC (navlun ücreti)

## Geçersiz örnekler

- Yalnızca tutarı olan, nedeni veya neden kodu olmayan masraf

## Kod örnekleri

### Geçerli XML
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Freight</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">9.90</cbc:Amount>
</cac:AllowanceCharge>
```

### Geçersiz XML
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">9.90</cbc:Amount>
</cac:AllowanceCharge>
```

## Etkilenen alanlar

- [BT-104 Belge düzeyi masraf nedeni](/resources/xrechnung/bt-104-document-level-charge-reason)
- [BT-105 Belge düzeyi masraf neden kodu](/resources/xrechnung/bt-105-document-level-charge-reason-code)

## İlgili kurallar

- [BR-36](/resources/kosit-validator-errors/br-36-document-charge-amount-required)
- [BR-37](/resources/kosit-validator-errors/br-37-document-charge-vat-category-required)
- [BR-CO-06](/resources/kosit-validator-errors/br-co-06-charge-reason-code-match)

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