# 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

> **ERREUR**: Règle métier de la norme EN 16931 (CEN)

## Contexte et importance

Une adresse de livraison incomplète sans code pays enfreint la règle Schematron BR-57 et empêche la détermination automatique de la TVA sur les livraisons transfrontalières.

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

- [Valider le XML](/fr/xrechnung-validator?source=resource&rule=BR-57)
- [Convertir la facture](/fr/pdf-to-xrechnung?source=resource&rule=BR-57)

## 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
- ram:ShipToTradeParty/ram:PostalTradeAddress (CII) avec un ram:CountryID vide ; en UBL, un <cbc:IdentificationCode/> vide ne déclenche pas BR-57 mais la règle de liste de codes BR-CL-14

## 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: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/bt-80-deliver-to-country-code)

## 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://github.com/itplr-kosit/validator): Exécutez le validateur officiel du KoSIT avec la configuration XRechnung pour contrôler les règles EN 16931 et XRechnung.
- [Convertir un PDF en XRechnung](/pdf-to-xrechnung): Repérez les erreurs de validation pendant la conversion et vérifiez chaque correction.

## Ressources associées

- [Spécification officielle](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Suite de tests](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Toutes les erreurs de validation](/resources/kosit-validator-errors): Vue d’ensemble des règles de validation EN 16931, XRechnung et Peppol expliquées ici.
