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

# Gutscheine mit mehreren Währungen

> Einem Gutschein je Währung einen eigenen Wert zuweisen, damit er in Subshops mit unterschiedlichen Währungen gilt, und die Werte im Template ausgeben.

Betreiben Sie Subshops mit unterschiedlichen Währungen, wäre ein Gutschein über 20 Euro im US-Shop wertlos. Deshalb lässt sich einem Gutschein eine Liste von Währungen mit jeweils eigenen Werten zuweisen.

Löst der Kunde den Gutschein ein, bestimmt die Währung des Subshops, welcher Wert gilt. Ein Umrechnungskurs kommt dabei nicht zum Einsatz, Sie legen die Beträge je Währung selbst fest.

## Wie der Shop den Wert bestimmt

Der Shop vergleicht die Währung des aktuellen Subshops mit der Währungsliste des Gutscheins und verwendet den passenden Eintrag.

> [!WARNING]
>
> Steht die Währung des Subshops nicht in der Liste, lässt sich der Gutschein dort nicht einlösen. Der Kunde bekommt dann die allgemeine Meldung "Ungültige Gutscheinnummer" und erfährt nicht, dass es an der Währung liegt. Hinterlegen Sie deshalb jede Währung, in der der Gutschein gelten soll, und rechnen Sie bei einer Aktion über mehrere Länder mit Rückfragen, wenn eine Währung fehlt.

## Was sich je Währung hinterlegen lässt

| Angabe | Gilt für |
| - | - |
| Gutscheinwert | absolute Gutscheine |
| Mindestbestellwert | alle Gutscheine |
| Maximaler Einlösungsbetrag | prozentuale Gutscheine |
| Gedeckelter Wert für Setunterartikel | gedeckelte Gutscheine |

Prozentsätze brauchen keine Währungsliste. Zehn Prozent sind in jeder Währung zehn Prozent. Währungsabhängig ist bei einem prozentualen Gutschein nur der maximale Einlösungsbetrag.

## Restbeträge

Ein nicht vollständig eingelöster Gutschein behält seinen Restbetrag, und der lässt sich auch in einem anderen Subshop mit anderer Währung weiterverwenden.

> [!WARNING]
>
> Der bereits verbrauchte Betrag wird je Währung getrennt geführt. Ein Gutschein über 50 EUR und 60 USD, von dem 20 EUR eingelöst wurden, hat danach noch 30 EUR **und** weiterhin die vollen 60 USD. Kalkulieren Sie den Wert einer Aktion deshalb nicht als den höchsten Einzelwert, sondern als Summe aller hinterlegten Währungswerte.

## Voraussetzungen

**Der Gutschein-Generator muss freigeschaltet sein.** Wollen Sie ihn nutzen, wenden Sie sich an Ihren WEBSALE-Ansprechpartner.

Kommen die Gutscheine aus einem externen System und liegen deshalb nicht im WEBSALE-Format vor, ergänzen Sie im Abschnitt `<Voucher-Txt>` der `shop.config` den Eintrag `ExternalVouchers-Allow = yes`.

**Die Gutscheineingabe muss im Shop integriert sein**, und zwar in jedem Subshop, in dem der Gutschein gelten soll.

Wegweiser: [Gutschein-Eingabe vorsehen](https://dokumentation.websale.de/v8s/gutscheine-anbieten/gutschein-eingabe-vorsehen.md) · Referenz: [Abschnitt Voucher-Txt](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/preise-steuern-und-waehrung.md#voucher-txt)

## Schritt 1: Den Gutschein anlegen

Legen Sie den Gutschein im Online-Servicebereich im Gutschein-Generator an und wählen Sie dort die gewünschten Währungen aus. Zu jeder ausgewählten Währung tragen Sie die zugehörigen Beträge ein.

## Schritt 2: Die Gutscheindaten im Shop anzeigen

Die Daten eines Gutscheins lassen sich auf jeder Shopseite ausgeben, beispielsweise auf einer Aktionsseite, damit der Besucher sieht, was sein Code in seiner Währung wert ist.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{VOUCHER-LoadData(123)}
   {VOUCHER-DataExists}

      {VOUCHER-MultiCurrency_CurrenciesData}
         Gültige Währungen: ~VOUCHER-MultiCurrency_CurrenciesData~
      {/VOUCHER-MultiCurrency_CurrenciesData}

      {VOUCHER-MultiCurrency_AbsoluteAmountData}
         Gutscheinwerte: ~VOUCHER-MultiCurrency_AbsoluteAmountData~
      {/VOUCHER-MultiCurrency_AbsoluteAmountData}

      {VOUCHER-MultiCurrency_AbsoluteAmountUsedData}
         Bereits eingelöst: ~VOUCHER-MultiCurrency_AbsoluteAmountUsedData~
      {/VOUCHER-MultiCurrency_AbsoluteAmountUsedData}

      {VOUCHER-MultiCurrency_MinOrderData}
         Mindestbestellwerte: ~VOUCHER-MultiCurrency_MinOrderData~
      {/VOUCHER-MultiCurrency_MinOrderData}

      {VOUCHER-MultiCurrency_MaxDiscountData}
         Maximale Einlösungsbeträge: ~VOUCHER-MultiCurrency_MaxDiscountData~
      {/VOUCHER-MultiCurrency_MaxDiscountData}

   {/VOUCHER-DataExists}
{/VOUCHER-LoadData(123)}
```

`123` steht im Beispiel für die Gutscheinnummer. `VOUCHER-LoadData` lädt die Daten, `VOUCHER-DataExists` greift nur, wenn es den Gutschein gibt. Ohne diese Klammer stehen auf der Seite leere Zeilen, sobald eine Nummer nicht mehr existiert.

### Das Ausgabeformat

Diese fünf Tags geben ihre Daten **im technischen Format** aus, nicht als lesbaren Text. Die Ausgabe erfolgt außerdem ohne HTML-Maskierung.

| Tag | Format |
| - | - |
| `VOUCHER-MultiCurrency_CurrenciesData` | `<c>EUR</c><c>USD</c>` |
| die übrigen vier | `<g><a>10.00</a><c>EUR</c></g><g><a>20.00</a><c>USD</c></g>` |

> [!WARNING]
>
> Die Währungsliste hat ein anderes Format als die vier Wertelisten. Sie enthält nur `<c>`-Einträge, ohne `<g>`-Klammer und ohne Betrag. Wer beide mit derselben Schleife verarbeitet, bekommt bei der Währungsliste keine Treffer.

Weil die Ausgabe nicht maskiert wird, sieht der Besucher bei direkter Ausgabe nichts: Der Browser hält `<g>` und `<c>` für unbekannte HTML-Elemente und blendet sie samt Inhalt aus. Setzen Sie den Wert deshalb erst in ein Design-Control-Feld und geben Sie ihn von dort aus, dann wird er maskiert und damit sichtbar.

### Die Daten aufbereiten

Für die Aufbereitung zerlegen Sie die Liste mit einer dynamischen Schleife und holen aus jedem Eintrag Währung und Betrag heraus.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{VOUCHER-MultiCurrency_AbsoluteAmountData}

   Unmaskiert: ~VOUCHER-MultiCurrency_AbsoluteAmountData~<br>
   Maskiert:   ~DC-FP1_set($VOUCHER-MultiCurrency_AbsoluteAmountData$)~~DC-FP1~

   ~DC-DynamicLoop1_setSeparatorTags(<g>,</g>)~
   ~DC-DynamicLoop1_setTaggedData($VOUCHER-MultiCurrency_AbsoluteAmountData$)~

   {@DC-DynamicLoop1}

      ~DC-FP1_set($DC-DynamicLoop1_data$)~
      ~DC-FP1_extractTaggedData(<c>,</c>)~
      ~DC-FP1~:

      ~DC-FP1_set($DC-DynamicLoop1_data$)~
      ~DC-FP1_extractTaggedData(<a>,</a>)~
      ~DC-FP1~

   {/@DC-DynamicLoop1}

{/VOUCHER-MultiCurrency_AbsoluteAmountData}
```

Die Reihenfolge innerhalb eines Eintrags spielt keine Rolle. `DC-FP1_extractTaggedData` sucht nach dem Namen der Klammer, nicht nach der Position. Sie können Betrag und Währung also in beliebiger Reihenfolge herausholen und ausgeben.

Das Feld wird vor jedem Herausholen neu gesetzt, weil `DC-FP1_extractTaggedData` den Inhalt des Feldes ersetzt. Ohne das erneute Setzen liefert der zweite Aufruf nichts mehr.

Es stehen drei dynamische Schleifen und mehrere Design-Control-Felder zur Verfügung. Wollen Sie Werte und Mindestbestellwerte in einer Tabelle nebeneinander zeigen, verwenden Sie zwei verschiedene Schleifen, weil eine Schleife jeweils nur eine Liste hält.

Referenz: [VOUCHER-MultiCurrency\_CurrenciesData](https://dokumentation.websale.de/v8s/referenz/tags/voucher-gutschein.md#mehrere-wahrungen) · [VOUCHER-MultiCurrency\_MinOrderData](https://dokumentation.websale.de/v8s/referenz/tags/voucher-gutschein.md#mehrere-wahrungen) · [VOUCHER-MultiCurrency\_MaxDiscountData](https://dokumentation.websale.de/v8s/referenz/tags/voucher-gutschein.md#mehrere-wahrungen) · [VOUCHER-MultiCurrency\_AbsoluteAmountData](https://dokumentation.websale.de/v8s/referenz/tags/voucher-gutschein.md#mehrere-wahrungen) · [VOUCHER-MultiCurrency\_AbsoluteAmountUsedData](https://dokumentation.websale.de/v8s/referenz/tags/voucher-gutschein.md#mehrere-wahrungen) · [DC-DynamicLoop1…3](https://dokumentation.websale.de/v8s/referenz/tags/dc/schleifen.md) · [DC-FPX](https://dokumentation.websale.de/v8s/referenz/tags/dc/parameter.md#die-tags-im-uberblick) · [DC-FPX\_extractTaggedData()](https://dokumentation.websale.de/v8s/referenz/tags/dc/parameter.md#die-tags-im-uberblick) · [WS-DisableXSSProtectionOnce](https://dokumentation.websale.de/v8s/referenz/tags/ws/shop-seite-und-technik.md#die-tags-im-uberblick)

## Weitere Gutscheindaten

Über die hier gezeigten Angaben hinaus stellt die Tag-Familie `VOUCHER-` Zugriff auf nahezu alle Felder bereit, die der Gutschein-Generator erzeugt, beispielsweise Gültigkeitszeitraum, Chargenkennung und die Einschränkungen auf Produkte oder Kunden.

Referenz: [VOUCHER-](https://dokumentation.websale.de/v8s/referenz/tags/voucher-gutschein.md)

## Verwandte Themen

* Wegweiser: [Gutscheine anbieten: Übersicht](https://dokumentation.websale.de/v8s/gutscheine-anbieten/gutscheine-anbieten-uebersicht.md)
* Wegweiser: [Gutscheine anlegen oder importieren](https://dokumentation.websale.de/v8s/gutscheine-anbieten/gutscheine-anlegen-oder-importieren.md)
* Wegweiser: [Prozentuale Gutscheine](https://dokumentation.websale.de/v8s/gutscheine-anbieten/prozentuale-gutscheine.md)


## Related topics

- [Gutscheine anbieten: Übersicht](https://dokumentation.websale.de/v8s/gutscheine-anbieten/gutscheine-anbieten-uebersicht.md)
- [DC- (Schleifen)](https://dokumentation.websale.de/v8s/referenz/tags/dc/schleifen.md)
- [Gutscheine](https://dokumentation.websale.de/admin-interface/marketing/gutscheine.md)
- [WS-SFTP-Gutscheindaten (to-Shop)](https://dokumentation.websale.de/v8s/schnittstellen/marketing-seo-und-portale/ws-sftp-gutscheindaten-to-shop.md)
- [Währungen](https://dokumentation.websale.de/v8s/preise/waehrungen.md)


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