# BR-47 Her KDV dökümünde KDV kategori kodu bulunmalıdır

EN 16931 kuralı BR-47 uyarınca, her KDV döküm grubu (BG-23), BT-118 (TaxCategory ID) alanında normun izin verdiği UNTDID 5305 alt kümesinden (UBL’de BR-CL-17 / CII’de BR-CL-18) bir KDV kategori kodu belirtmelidir: standart oran için "S" (indirimli oranlar için de kullanılır; oran BT-119’dadır), sıfır oran için "Z", muafiyet için "E", sorumlu sıfatıyla KDV için "AE", topluluk içi teslimat için "K", AB dışına ihracat için "G", vergi kapsamı dışı işlemler için "O", Kanarya Adaları IGIC vergisi için "L", Ceuta ile Melilla IPSI vergisi için "M" ve bölünmüş ödeme (yalnızca İtalya) için "B". Her döküm, bir kategori ve oran için matrahı (BT-116) ve KDV tutarını (BT-117) gruplandırır.

## Sorun açıklaması

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

## Bağlam ve önem

Bu bir EN 16931 temel kuralıdır. BT-118 olmadan ne alıcı ne de vergi idaresi matrahı ve KDV tutarını bir kategoriye atayabilir ve kategori kuralları (BR-S, BR-AE, BR-E vb.) uygulanamaz. Hata çoğunlukla bir dışa aktarım cac:TaxCategory içine yalnızca yüzdeyi yazdığında ortaya çıkar. İndirimli oran için "AA" gibi izin verilen liste dışındaki bir kod BR-47’yi değil BR-CL-17’yi (UBL) veya BR-CL-18’i (CII) tetikler.

## Çözüm

ERP vergi yapılandırmanızda TaxTotal içindeki her KDV dökümünün vergi kategori kodunu içerdiğinden emin olun. UBL 2.1 sözdiziminde <cac:TaxTotal> altında <cac:TaxSubtotal><cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19.00</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory></cac:TaxSubtotal> bloğunu doldurun. CII sözdiziminde <ram:ApplicableTradeTax> içine <ram:CategoryCode>S</ram:CategoryCode> ekleyin.

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

## Geçerli örnekler

- BT-118 = "S" olan BG-23 KDV dökümü (%19 Standart KDV oranı)
- BT-118 = "AE" olan BG-23 KDV dökümü (sorumlu sıfatıyla KDV işlemi)

## Geçersiz örnekler

- cac:TaxSubtotal vergi matrahı ve tutar bildiriyor ancak cac:TaxCategory içinde cbc:ID öğesini atlıyor
- ram:TypeCode VAT, ram:BasisAmount ve ram:CalculatedAmount içeren ancak ram:CategoryCode içermeyen CII ram:ApplicableTradeTax

## Kod örnekleri

### Geçerli XML
```
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>19.00</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>
```

### Geçersiz XML
```
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:Percent>19.00</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>
```

## Etkilenen alanlar

- [BT-118 KDV kategori kodu](/resources/xrechnung/bt-118-vat-category-code)
- [BG-23 KDV dökümü](/resources/xrechnung/bt-116-vat-category-taxable-amount)
- [BT-116 Kategori bazında vergi matrahı](/resources/xrechnung/bt-116-vat-category-taxable-amount)
- [BT-117 Kategori bazında vergi tutarı](/resources/xrechnung/bt-117-vat-category-tax-amount)

## İlgili kurallar

- [BR-CO-17](/resources/kosit-validator-errors/br-co-17-vat-category-tax-amount-must-match-base-times-rate)
- [BR-48](/resources/kosit-validator-errors/br-48-vat-breakdown-category-rate-required)
- [BR-CL-17](/resources/kosit-validator-errors/br-cl-17-uncl5305-document-tax-category)
- [BR-CL-18](/resources/kosit-validator-errors/br-cl-18-uncl5305-line-tax-category)

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