# BR-57 Teslimat adresi kullanıldığında teslimat ülke kodu belirtilmelidir

EN 16931 kuralı BR-57 uyarınca, faturada ayrı bir teslimat adresi (BG-15) yer aldığında teslimat ülke kodu (BT-80) ISO 3166-1 alpha-2 iki harfli ülke kodu (ör. DE, FR, NL, AT, IT) olarak mutlaka belirtilmelidir. Vergi ve gümrük denetim algoritmaları, sınır ötesi KDV muamelelerini ve ihracat muafiyetlerini doğrulamak için teslimat ülkesine dayanır.

## Sorun açıklaması

EN 16931 kuralı BR-57 uyarınca, faturada ayrı bir teslimat adresi (BG-15) yer aldığında teslimat ülke kodu (BT-80) ISO 3166-1 alpha-2 iki harfli ülke kodu (ör. DE, FR, NL, AT, IT) olarak mutlaka belirtilmelidir. Vergi ve gümrük denetim algoritmaları, sınır ötesi KDV muamelelerini ve ihracat muafiyetlerini doğrulamak için teslimat ülkesine dayanır.

> **HATA**: XRechnung 3.0

## Bağlam ve önem

Ülke kodu bulunmayan eksik teslimat adresi BR-57 kuralının başarısız olmasına yol açar ve sınır ötesi vergi kontrolünü engeller.

## Çözüm

Sevkiyat yapılandırmanızda teslimat adresinin iki harfli ISO ülke kodunu içerdiğini doğrulayın. UBL 2.1 sözdiziminde <cac:Delivery><cac:DeliveryLocation><cac:Address> altına <cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country> ekleyin. CII sözdiziminde <ram:ShipToTradeParty><ram:PostalTradeAddress> içine <ram:CountryID>DE</ram:CountryID> ekleyin. Teslimat fatura adresine yapılıyorsa BG-15 grubunu tamamen kaldırın.

- validate
- convert

## Geçerli örnekler

- BT-80 = "DE" olan BG-15 teslimat adresi (Almanya içi teslimat)
- BT-80 = "FR" olan BG-15 teslimat adresi (Fransa’ya sınır ötesi teslimat)

## Geçersiz örnekler

- Teslimat adresi sokak ve şehir içeriyor ancak Country öğesini tamamen atlıyor
- cac:Country öğesi boş IdentificationCode ile oluşturulmuş (<cbc:IdentificationCode/>)

## Kod örnekleri

### Geçerli XML
```
<cac:Delivery>
  <cac:DeliveryLocation>
    <cac:Address>
      <cbc:CityName>Köln</cbc:CityName>
      <cbc:PostalZone>50667</cbc:PostalZone>
      <cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country>
    </cac:Address>
  </cac:DeliveryLocation>
</cac:Delivery>
```

### Geçersiz XML
```
<cac:Delivery>
  <cac:DeliveryLocation>
    <cac:Address>
      <cbc:CityName>Köln</cbc:CityName>
      <cbc:PostalZone>50667</cbc:PostalZone>
      <!-- cac:Country (BT-80) missing from delivery address -->
    </cac:Address>
  </cac:DeliveryLocation>
</cac:Delivery>
```

## Etkilenen alanlar

- [BT-80 Teslimat ülke kodu](/resources/xrechnung/bt-80-deliver-to-country-code)
- [BG-15 Teslimat adresi](/resources/xrechnung)

## İlgili kurallar

- [BR-DE-10](/resources/kosit-validator-errors/br-de-10-deliver-to-city-required)
- [BR-DE-11](/resources/kosit-validator-errors/br-de-11-deliver-to-post-code-required)

## Doğrulama araçları

- [Resmi KoSIT doğrulayıcı](https://erechnungsvalidator.service-bw.de/): XRechnung dosyalarınızı tüm BR-DE kurallarına göre doğrulayın.
- [PDF’yi XRechnung’e dönüştür](/pdf-to-xrechnung): Dönüştürürken doğrulama hatalarını otomatik olarak düzeltir.

## İlgili kaynaklar

- [Resmi spesifikasyon](https://xeinkauf.de/xrechnung/)
- [Test paketi](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Tam hata listesi](/resources/kosit-validator-errors): Tüm Alman XRechnung doğrulama kurallarına genel bakış.
