> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Konfiguration country.dat und country_deliv.dat

> Aufbau und Wirkung der Länderlisten country.dat und country_deliv.dat: welche Länder im Bestellformular wählbar sind, wie der Shop die Dateien liest und worauf die Listen sonst noch wirken.

Die Konfiguration `country.dat` bestimmt, welche Länder der Käufer bei der Bestellung für seine Rechnungsadresse auswählen kann. Was hier nicht steht, kann er nicht wählen und nicht abschicken.

Soll für die abweichende Lieferadresse eine andere Länderliste gelten, legen Sie diese in der zusätzlichen Datei `country_deliv.dat` fest. Das ist der übliche Weg für Shops, die weltweit Rechnungen stellen, aber nur in bestimmte Länder versenden.

![Konfig Land](https://mintcdn.com/websaleag-44ee7ea6/qpKXKLTjn0wDjacH/images/konfig_land.png?fit=max\&auto=format\&n=qpKXKLTjn0wDjacH\&q=85\&s=b1035e1a067282671fd052ce52410982)

Wegweiser: [Grundeinstellungen für Rechnungs- und Lieferadresse festlegen, Auswahllisten der Adressdaten](https://dokumentation.websale.de/v8s/adressdaten/einstellungen-fuer-rechnungs-und-lieferadressen-festlegen.md) · Grundlagen: [Grundlagen zu Konfigurationen](https://dokumentation.websale.de/v8s/grundlagen-konfiguration/konfiguration-grundlagen.md)

## Wo die Dateien liegen

Beide Dateien liegen im Konfigurationsverzeichnis des Subshops, und dort getrennt je Sprache:

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
konfiguration/<Subshop-ID>/<Sprache>/country.dat
konfiguration/<Subshop-ID>/<Sprache>/country_deliv.dat
```

Ein mehrsprachiger Shop pflegt die Listen also mehrfach. Das ist auch der Sinn der Trennung, denn die Ländernamen in der Datei sind der Anzeigetext, den der Käufer im Auswahlfeld liest.

> [!WARNING]
>
> Die `country.dat` ist eine Pflichtdatei. Fehlt sie oder lässt sie sich nicht lesen, bricht der Shop mit einer Fehlermeldung ab. Die `country_deliv.dat` ist dagegen optional. Fehlt sie, verwendet der Shop für die Lieferadresse dieselbe Liste wie für die Rechnungsadresse.
>
> Dass die \`country.

## Aufbau

Beide Dateien sind gleich aufgebaut, im TSV-Format mit tabulatorgetrennten Spalten. Die erste Zeile enthält die Spaltennamen, ab der zweiten Zeile folgen die Daten.

| Spalte | Inhalt |
| - | - |
| 1 | Name des Landes, so wie er im Auswahlfeld erscheinen soll |
| 2 | international gültiger ISO-Code nach 3166 mit drei Buchstaben, beispielsweise `DEU` für Deutschland |

Auszug aus einer `country.dat` oder `country_deliv.dat`. Das Tabulatorzeichen ist hier als `(TAB)` dargestellt:

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
Name (TAB)               ISO
DEUTSCHLAND (TAB)        DEU
ÖSTERREICH (TAB)         AUT
SCHWEIZ (TAB)            CHE
AFGHANISTAN (TAB)        AFG
ALBANIA (TAB)            ALB
ALGERIA (TAB)            DZA
AMERICAN SAMOA (TAB)     ASM
ANDORRA (TAB)            AND
ANGOLA (TAB)             AGO
ANGUILLA (TAB)           AIA
ANTARCTICA (TAB)         ATA
ANTIGUA (TAB)            ATG
ARGENTINA (TAB)          ARG
ARMENIA (TAB)            ARM
ARUBA (TAB)              ABW
AUSTRALIA (TAB)          AUS
AUSTRIA (TAB)            AUT
AZERBAIJAN (TAB)         AZE
...
```

### Wie der Shop die Datei liest

Drei Regeln bestimmen, was aus Ihrer Datei tatsächlich im Shop ankommt.

**Die Kopfzeile wird übersprungen, ihr Inhalt wird nicht ausgewertet.** Der Shop überliest die erste Zeile unabhängig davon, was darin steht. Die Spaltenzuordnung ergibt sich aus der Position, nicht aus dem Namen in der Kopfzeile. Die erste Spalte ist immer der Name, die zweite immer der ISO-Code.

**Der ISO-Code wird hart auf drei Zeichen gekürzt.** Steht in der zweiten Spalte etwas Längeres, schneidet der Shop stillschweigend ab. Das ist kein Fehler, sondern Absicht, denn am Ende des Codes stehen in der Praxis oft Leerzeichen.

**Die Reihenfolge der Zeilen ist die Reihenfolge im Auswahlfeld.** Der Shop sortiert nicht. Wenn die wichtigsten Länder oben stehen sollen, sortieren Sie die Datei entsprechend. Im Auszug oben stehen deshalb Deutschland, Österreich und die Schweiz vor der alphabetischen Liste.

> [!WARNING]
>
> Die Spaltenreihenfolge dürfen Sie nicht vertauschen. Der Shop liest streng nach Position. Das Modul für Formulare und Anfragen dagegen sucht die Spalten über die Namen `Name` und `Iso` in der Kopfzeile und bricht mit einer Warnung ab, wenn eine davon fehlt.
>
> Halten Sie sich deshalb an beides: die Spaltenreihenfolge Name, dann ISO, und eine Kopfzeile, die genau diese beiden Namen enthält.

> [!NOTE]
>
> Der Auszug oben enthält Österreich zweimal, einmal als `ÖSTERREICH` und einmal als `AUSTRIA`, beide mit dem ISO-Code `AUT`. Im Auswahlfeld erscheinen dann auch beide Einträge.
>
> Für die Rückübersetzung eines ISO-Codes in einen Ländernamen, etwa in Bestätigungsmails oder auf der Rechnung, gewinnt der erste passende Eintrag in der Datei. Wenn Sie doppelte ISO-Codes vermeiden wollen, löschen Sie den jeweils unerwünschten Eintrag.

## Worauf die Listen sonst noch wirken

Die Länderlisten sind nicht nur die Quelle für zwei Auswahlfelder. Sie wirken an mehreren Stellen weiter, und das erklärt einige Effekte, die sonst überraschen.

**Eingabeprüfung.** Der Shop prüft das übermittelte Land gegen die Liste. Ein Land, das nicht darin steht, wird abgewiesen, auch wenn es über einen manipulierten Formularwert hereinkommt. Für die Lieferadresse prüft der Shop gegen die `country_deliv.dat`, sofern diese existiert.

**Ländernamen in Ausgaben.** Gespeichert wird der ISO-Code. Überall dort, wo stattdessen der Ländername erscheint, löst der Shop ihn über die Liste auf. Fehlt der Code in der Liste, bleibt die Ausgabe leer.

**Grundgesamtheit für Liefer- und Zahlungsregeln.** Wenn Sie in der `shop.config` für eine Versandart oder eine Zahlungsart eine Länderregel hinterlegen, baut der Shop die Gegenliste, also "alle übrigen Länder", aus der `country_deliv.dat` auf. Ein Land, das dort fehlt, taucht deshalb auch in der automatisch erzeugten Gegenliste nicht auf.

Referenz: [shop.config, Zahlungsarten](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/zahlungsarten.md) · [shop.config, Versand und Lieferung](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/versand-und-lieferung.md)

Für die Umrechnung zwischen dem dreistelligen ISO-Code, dem zweistelligen Code und dem numerischen Ländercode verwendet der Shop eine eingebaute Tabelle, nicht die `country.dat`. Ein selbst erfundener dreistelliger Code lässt sich deshalb nicht umrechnen. Verwenden Sie ausschließlich echte Codes nach ISO 3166.

## Änderungen an der Länderliste

Ein Land, das Sie aus der Datei entfernen, verschwindet aus allen Auswahlfeldern. Umgekehrt erscheint ein neu eingetragenes Land überall, auch dort, wo Sie vielleicht gar nicht liefern wollen. Wenn Sie Rechnungs- und Lieferländer unterschiedlich führen wollen, ist die `country_deliv.dat` dafür der richtige Ort und nicht eine Einschränkung in der `country.dat`.

Der Shop liest beide Dateien einmal je Aufruf. Änderungen wirken also mit dem nächsten Seitenaufruf, ein Neustart ist nicht nötig.


## Related topics

- [Konfigurations-Typen](https://dokumentation.websale.de/v8s/grundlagen-konfiguration/konfigurations-typen.md)
- [Konfiguration-Migration](https://dokumentation.websale.de/migration/migration-websale-v8s-neue-version/konfiguration-migration.md)
- [Validierungs- und Prüfservices](https://dokumentation.websale.de/konfiguration/validierungs-und-prufservices.md)
- [Einstellungen für Rechnungs- und Lieferadressen festlegen](https://dokumentation.websale.de/v8s/adressdaten/einstellungen-fuer-rechnungs-und-lieferadressen-festlegen.md)
- [Konfiguration: Grundlagen](https://dokumentation.websale.de/v8s/grundlagen-konfiguration/konfiguration-grundlagen.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.