# BR-57 Le code pays de livraison doit être présent lorsqu’une adresse de livraison est utilisée

Selon la règle EN 16931 BR-57, lorsqu’une adresse de livraison distincte (BG-15) est renseignée, le code pays de livraison (BT-80) doit obligatoirement être fourni selon la norme ISO 3166-1 alpha-2 à deux lettres (ex. DE, FR, NL, AT, IT). Ce code est indispensable pour valider la fiscalité applicable aux opérations transfrontalières.

## Description du problème

Selon la règle EN 16931 BR-57, lorsqu’une adresse de livraison distincte (BG-15) est renseignée, le code pays de livraison (BT-80) doit obligatoirement être fourni selon la norme ISO 3166-1 alpha-2 à deux lettres (ex. DE, FR, NL, AT, IT). Ce code est indispensable pour valider la fiscalité applicable aux opérations transfrontalières.

> **ERREUR**: XRechnung 3.0

## Contexte et importance

Une adresse de livraison incomplète sans code pays échoue au test de la règle Schematron BR-57 et bloque le contrôle fiscal transfrontalier.

## Solution

Dans votre module d’expédition, vérifiez que l’adresse de livraison comporte le code pays ISO à deux lettres. En UBL 2.1, renseignez <cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country> sous <cac:Delivery><cac:DeliveryLocation><cac:Address>. En CII, renseignez <ram:CountryID> sous <ram:ShipToTradeParty><ram:PostalTradeAddress>. Si la livraison a lieu à l’adresse de facturation, omettez BG-15.

- validate
- convert

## Exemples valides

- Adresse de livraison BG-15 avec BT-80 = « DE » (Livraison en Allemagne)
- Adresse de livraison BG-15 avec BT-80 = « FR » (Livraison transfrontalière vers la France)

## Exemples invalides

- L’adresse de livraison inclut la rue et la ville mais omet l’élément Country
- L’élément cac:Country est instancié avec un code pays vide (<cbc:IdentificationCode/>)

## Exemples de code

### XML valide
```
<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>
```

### XML invalide
```
<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>
```

## Champs concernés

- [BT-80 Code pays de livraison](/resources/xrechnung/bt-80-deliver-to-country-code)
- [BG-15 Adresse de livraison](/resources/xrechnung)

## Règles associées

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

## Outils de validation

- [Validateur KoSIT officiel](https://erechnungsvalidator.service-bw.de/): Validez vos fichiers XRechnung par rapport à toutes les règles BR-DE.
- [Convertir un PDF en XRechnung](/pdf-to-xrechnung): Correction automatique des erreurs de validation lors de la conversion.

## Ressources associées

- [Spécification officielle](https://xeinkauf.de/xrechnung/)
- [Suite de tests](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Liste complète des erreurs](/resources/kosit-validator-errors): Aperçu de toutes les règles de validation XRechnung en Allemagne.
