> ## 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 abhängig vom Lagerbestand

> Einen Gutschein nur für Produkte gelten lassen, deren Ampelstatus grün, gelb oder rot ist, und die Ablehnung im Shop erklären.

Mit dieser Funktion knüpfen Sie einen Gutschein an die Verfügbarkeit. Er gilt dann nur für Produkte, deren Ampelstatus zu einer von Ihnen festgelegten Liste passt.

Der praktische Nutzen liegt meist im Abverkauf: Ein Gutschein, der nur auf grüne Produkte wirkt, lenkt Nachfrage auf das, was reichlich am Lager liegt, statt auf das, was ohnehin knapp ist.

## Wie die Prüfung wirkt

Der Shop bestimmt für jede Warenkorbposition den aktuellen Ampelstatus und vergleicht ihn mit Ihrer Liste. **Eine passende Position genügt**, damit der Gutschein angenommen wird. Passt keine, lehnt der Shop ihn ab.

| Status | Bedeutung |
| - | - |
| `green` | Bestand über der Gelb-Schwelle |
| `yellow` | Bestand über der Rot- und bis zur Gelb-Schwelle |
| `red` | Bestand auf oder unter der Rot-Schwelle |

> [!WARNING]
>
> Der Status wird im Moment der Einlösung berechnet, nicht beim Anlegen des Gutscheins. Ein Gutschein, der gestern noch funktioniert hat, kann heute abgelehnt werden, weil das Produkt inzwischen von grün auf gelb gefallen ist. Planen Sie solche Aktionen deshalb mit Abstand zu den Schwellenwerten.
>
> Ist im Shop eingestellt, dass die bestellte Menge den Lieferstatus beeinflusst, verschiebt eine höhere Menge den Status nach unten. Derselbe Kunde kann seinen Gutschein dann bei einem Stück einlösen und bei zehn Stück nicht mehr.

Produkte, für die sich kein Ampelstatus bestimmen lässt, erfüllen die Bedingung nie. Ein Warenkorb aus lauter solchen Produkten führt immer zur Ablehnung.

Die feineren Abstufungen `red-hard` und `red-soft`, die es bei der Anzeige im Template gibt, kennt dieser Filter nicht. Hier zählt nur `red`.

## Voraussetzung

Der Gutschein-Generator muss freigeschaltet sein. Wenden Sie sich dafür 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`.

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 Filter im Gutschein anlegen

Beim Anlegen des Gutscheins im Gutschein-Generator tragen Sie im Feld **Kundenspezifische Features** ganz unten eine Zeichenkette nach dem folgenden Schema ein.

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<g><t>InventoryState</t><setbehavior>asUnit</setbehavior><valueList>green,yellow</valueList></g>
```

In diesem Beispiel gilt der Gutschein für Produkte mit grünem und gelbem Ampelstatus.

| Klammer | Bedeutung |
| - | - |
| `<g>…</g>` | umschließt die gesamte Funktion |
| `<t>…</t>` | der Typ, hier `InventoryState` |
| `<setbehavior>…</setbehavior>` | Verhalten bei Setprodukten, optional |
| `<valueList>…</valueList>` | kommagetrennte Liste der zulässigen Ampelstatus aus `green`, `yellow` und `red`, ohne Leerzeichen |

> [!WARNING]
>
> Bleibt `<valueList>` leer, ist die Funktion nicht aktiv und der Gutschein gilt ohne Einschränkung. Der Shop meldet das nicht. Wer den Filter setzen wollte und sich vertippt, verschenkt den Rabatt auf das gesamte Sortiment.

### Das Verhalten bei Setprodukten

| Wert | Wirkung |
| - | - |
| `asUnit` | Set-Unterprodukte werden als Einheit betrachtet, geprüft wird das Set-Oberprodukt. Der Gutschein gilt für das ganze Set oder für keinen seiner Teile. Voreinstellung |
| `single` | Set-Unterprodukte werden einzeln geprüft. Der Gutschein gilt dann je nach Lagerbestand für alle, einige oder keine Teile des Sets |

Ausgewertet wird ausschließlich der Wert `single`. Jeder andere Wert und ein leerer Eintrag bedeuten `asUnit`. Ein Tippfehler in `single` führt damit stillschweigend zum Verhalten als Einheit.

## Schritt 2: Die Fehlermeldung ergänzen

Passt keine Warenkorbposition zum Filter, lehnt der Shop den Gutschein mit dem Grund **22** ab. Ergänzen Sie diesen Grund dort, wo Sie die Gutscheineingabe eingebaut haben, also auf der Warenkorbseite `ws_basket.htm` oder der Bestellübersichtsseite `ws_place_order.htm`.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{MSG-Voucher_error(22)}
   Dieser Gutschein gilt nur für Produkte mit bestimmter Verfügbarkeit
   und lässt sich auf Ihren Warenkorb nicht anwenden.<br>
   Bitte entfernen Sie den Gutschein oder legen Sie ein passendes Produkt in den Warenkorb.
{/MSG-Voucher_error(22)}
```

> [!WARNING]
>
> Formulieren Sie diesen Text mit Bedacht. Anders als bei einem produktabhängigen Gutschein kann der Kunde die Bedingung nicht sehen, denn der Ampelstatus steht nicht überall im Shop. Ein Hinweis, welche Produkte gemeint sind, hilft ihm mehr als die bloße Ablehnung.

Referenz: [MSG-Voucher\_error](https://dokumentation.websale.de/v8s/referenz/tags/msg-meldungen.md#gutscheine)

## Schritt 3: Die Konfiguration im Template ausgeben (optional)

Zur Kontrolle lässt sich anzeigen, an welche Lagerbestände ein eingegebener Gutschein geknüpft ist.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{VOUCHER-SpecialFeatures_InventoryState}
   Dieser Gutschein ist an den Lagerbestand geknüpft.

   {VOUCHER-SpecialFeatures_InventoryState_ValueList}
      Gültig für Produkte mit folgendem Lagerbestand:
      ~VOUCHER-SpecialFeatures_InventoryState_ValueList~
   {/VOUCHER-SpecialFeatures_InventoryState_ValueList}

   Verhalten bei Setprodukten:
   {VOUCHER-SpecialFeatures_InventoryState_SetBehavior(0)}Set als Einheit{/VOUCHER-SpecialFeatures_InventoryState_SetBehavior(0)}
   {VOUCHER-SpecialFeatures_InventoryState_SetBehavior(1)}Set-Unterprodukte einzeln{/VOUCHER-SpecialFeatures_InventoryState_SetBehavior(1)}

{/VOUCHER-SpecialFeatures_InventoryState}

{!VOUCHER-SpecialFeatures_InventoryState}
   Dieser Gutschein ist nicht an den Lagerbestand geknüpft.
{/!VOUCHER-SpecialFeatures_InventoryState}
```

`VOUCHER-SpecialFeatures_InventoryState_SetBehavior` gibt als Einzeltag eine Zahl aus, `0` für `asUnit` und `1` für `single`. Im Beispiel übersetzt die Abfrage mit Parameter die Zahl in Klartext, damit auf der Seite nicht "Verhalten bei Setprodukten: 0" steht.

`VOUCHER-SpecialFeatures_InventoryState_ValueList` gibt die Liste mit führendem und abschließendem Komma aus, also `,green,yellow,`. So liegt sie intern vor, damit der Shop auf ganze Werte prüfen kann. Für eine Anzeige entfernen Sie die äußeren Kommas.

Referenz: [VOUCHER-SpecialFeatures\_InventoryState](https://dokumentation.websale.de/v8s/referenz/tags/voucher-gutschein.md#sonderfunktionen) · [VOUCHER-SpecialFeatures\_InventoryState\_SetBehavior](https://dokumentation.websale.de/v8s/referenz/tags/voucher-gutschein.md#abhangigkeit-vom-lagerbestand) · [VOUCHER-SpecialFeatures\_InventoryState\_ValueList](https://dokumentation.websale.de/v8s/referenz/tags/voucher-gutschein.md#abhangigkeit-vom-lagerbestand)

## 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: [Gutschein-Eingabe vorsehen](https://dokumentation.websale.de/v8s/gutscheine-anbieten/gutschein-eingabe-vorsehen.md)
* Wegweiser: [Gutscheine abhängig von Produktdaten](https://dokumentation.websale.de/v8s/gutscheine-anbieten/gutscheine-abhaengig-von-produktdaten.md)


## Related topics

- [Gutscheine abhängig von Produktdaten](https://dokumentation.websale.de/v8s/gutscheine-anbieten/gutscheine-abhaengig-von-produktdaten.md)
- [Gutscheine anbieten: Übersicht](https://dokumentation.websale.de/v8s/gutscheine-anbieten/gutscheine-anbieten-uebersicht.md)
- [Erweiterte Einstellungen beim Anlegen von Versandarten](https://dokumentation.websale.de/v8s/versandarten-anlegen/erweiterte-einstellungen.md)
- [VOUCHER- (Gutschein)](https://dokumentation.websale.de/v8s/referenz/tags/voucher-gutschein.md)
- [API-Referenz Produkte](https://dokumentation.websale.de/schnittstellen/admin-interface-api/api-referenz-produkte.md)


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