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

# Prozentuale Gutscheine

> Für prozentuale Gutscheine einen maximalen Einlösungsbetrag festlegen oder den Rabatt je Warenkorbposition statt auf den Gesamtwarenwert ausweisen.

Beim Anlegen eines Gutscheins entscheiden Sie, ob er einen festen Betrag abzieht oder einen Prozentsatz des Warenwerts. Diese Seite behandelt ausschließlich den zweiten Fall und zwei Stellschrauben, die es nur dort gibt.

| Stellschraube | Wozu sie dient |
| - | - |
| Maximaler Einlösungsbetrag | begrenzt die Ersparnis nach oben, damit ein Prozentsatz bei großen Warenkörben nicht beliebig teuer wird |
| Ausweisung auf Positionsebene | zeigt den Rabatt je Warenkorbposition statt als einen Abzug vom Gesamtwarenwert |

> [!WARNING]
>
> Die beiden schließen einander aus. Sobald ein Gutschein einen maximalen Einlösungsbetrag trägt, wird er immer global ausgewiesen, niemals je Position. Der Abschnitt "Warum sich die beiden ausschließen" am Ende der Seite erklärt, was der Shop in diesem Fall tut.

## Voraussetzungen für beides

**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.** Bietet Ihr Shop noch keine Gutscheine an, fehlt das Eingabefeld auf der Warenkorbseite `ws_basket.htm` und der Bestellübersichtsseite `ws_place_order.htm`.

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)

## Maximaler Einlösungsbetrag

Ein Prozentsatz wächst mit dem Warenkorb. Zehn Prozent auf 50 Euro kosten Sie fünf Euro, dieselben zehn Prozent auf 3.000 Euro kosten 300. Mit einem maximalen Einlösungsbetrag deckeln Sie diese Ersparnis.

| Warenkorbwert | Gutschein 10 Prozent, Maximum 15,00 EUR | Abgezogen |
| - | - | - |
| 80,00 EUR | 8,00 EUR errechnet, unter dem Maximum | 8,00 EUR |
| 150,00 EUR | 15,00 EUR errechnet, genau das Maximum | 15,00 EUR |
| 300,00 EUR | 30,00 EUR errechnet, über dem Maximum | 15,00 EUR |

Den Betrag legen Sie beim Anlegen des Gutscheins im Gutschein-Generator im Online-Servicebereich fest.

### Den Hinweis im Warenkorb anzeigen

Für den Käufer ist die Deckelung nur nachvollziehbar, wenn Sie sie benennen. Dafür gibt es zwei Abschnitte.

| Abschnitt | Wann er greift |
| - | - |
| `BASKET-VoucherMaxDiscount` | ein gültiger prozentualer Gutschein liegt vor und hat einen Maximalbetrag. Als Einzeltag gibt er den Betrag im Preisformat des Shops aus |
| `BASKET-VoucherMaxDiscountReached` | die Deckelung greift gerade, der errechnete Rabatt wurde also gekürzt |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{BASKET-VoucherMaxDiscount}
   Der maximale Einlösungsbetrag des Gutscheins beträgt ~BASKET-VoucherMaxDiscount~ ~WS-CurrencySymbol~.
{/BASKET-VoucherMaxDiscount}

{BASKET-VoucherMaxDiscountReached}
   Der maximale Einlösungsbetrag von ~BASKET-VoucherMaxDiscount~ ~WS-CurrencySymbol~ ist erreicht.<br>
   Es werden Ihnen deshalb nur ~BASKET-VoucherMaxDiscount~ ~WS-CurrencySymbol~ vom Warenwert abgezogen.
{/BASKET-VoucherMaxDiscountReached}
```

Die beiden gehören zusammen und sollten beide gesetzt werden. Der erste Hinweis erscheint, sobald der Gutschein eingelöst ist, und nimmt dem Käufer die Überraschung vorweg. Der zweite erscheint erst in dem Moment, in dem tatsächlich gekürzt wird, und erklärt die Differenz zwischen erwartetem und tatsächlichem Abzug.

> [!WARNING]
>
> Ohne diese Hinweise rechnet der Käufer bei einem 300-Euro-Warenkorb mit 30 Euro Ersparnis und sieht 15. Das ist der klassische Abbruchgrund im letzten Bestellschritt.

Referenz: [BASKET-VoucherMaxDiscount](https://dokumentation.websale.de/v8s/referenz/tags/basket/gutscheine-im-warenkorb.md#der-gutschein-in-der-rechnung) · [BASKET-VoucherMaxDiscountReached](https://dokumentation.websale.de/v8s/referenz/tags/basket/gutscheine-im-warenkorb.md#der-gutschein-in-der-rechnung)

## Prozentualen Gutschein je Position ausweisen

Standardmäßig zieht ein prozentualer Gutschein einen Betrag vom Gesamtwarenwert ab und erscheint als eine Zeile in der Summenaufstellung. Alternativ lässt er sich auf jede Warenkorbposition einzeln umlegen. Der Käufer sieht dann je Position den Originalpreis, den Rabattbetrag und den rabattierten Preis.

### Schritt 1: Die Berechnung aktivieren

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<Voucher-Txt>
   ShowPercentalVoucherDiscountForPosition-Allow = yes   # [yes|no], Voreinstellung: no
</Voucher-Txt>
```

### Schritt 2: Die Preise im Warenkorb ausgeben

Ergänzen Sie in der Warenkorbschleife den Originalpreis und den Rabattbetrag. Derselbe Block gehört zusätzlich in die Schleife der Set-Unterprodukte, sonst bleiben deren Positionen ohne Rabattangabe.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{@BASKET-PR-Data}

   {BASKET-PR-Price}
      {BASKET-PR-PriceWithoutDiscounts}
         Originalpreis ~BASKET-PR-PriceWithoutDiscounts~ ~WS-CurrencySymbol~
         abzüglich ~BASKET-PR-Discount~ ~WS-CurrencySymbol~
      {/BASKET-PR-PriceWithoutDiscounts}
      <!-- Preis des Produkts beziehungsweise des Set-Oberprodukts -->
      ~BASKET-PR-Price~ ~WS-CurrencySymbol~
   {/BASKET-PR-Price}

   {@BASKET-PR-SetChildData}
      {BASKET-PR-Price}
         {BASKET-PR-PriceWithoutDiscounts}
            Originalpreis ~BASKET-PR-PriceWithoutDiscounts~ ~WS-CurrencySymbol~
            abzüglich ~BASKET-PR-Discount~ ~WS-CurrencySymbol~
         {/BASKET-PR-PriceWithoutDiscounts}
         <!-- Preis des Set-Unterprodukts -->
         ~BASKET-PR-Price~ ~WS-CurrencySymbol~
      {/BASKET-PR-Price}
   {/@BASKET-PR-SetChildData}

{/@BASKET-PR-Data}
```

| Tag | Inhalt |
| - | - |
| `BASKET-PR-PriceWithoutDiscounts` | der Originalpreis der Position, ohne Rabatt |
| `BASKET-PR-Discount` | der Rabatt dieser Position als absoluter Betrag |
| `BASKET-PR-Price` | der Preis der Position nach Abzug |

`BASKET-PR-PriceWithoutDiscounts` ist zugleich Abschnitt und Einzeltag. Als Abschnitt blendet er die Original-Zeile aus, solange es nichts abzuziehen gibt, sodass unrabattierte Positionen nicht mit einer sinnlosen Zeile "Originalpreis 20,00 EUR abzüglich 0,00 EUR" dastehen.

> [!WARNING]
>
> Setzen Sie ein Warenwirtschaftssystem ein, klären Sie vor der Aktivierung, ob es prozentuale Gutscheine auf Positionsebene überhaupt verarbeiten kann. Der Shop übergibt die Bestellung dann anders aufgeteilt als gewohnt. Ist das Vorsystem darauf nicht vorbereitet, fällt es erst bei der Rechnungsstellung auf.

Referenz: [BASKET-PR-PriceWithoutDiscounts](https://dokumentation.websale.de/v8s/referenz/tags/basket/besondere-produktarten-im-warenkorb.md) · [BASKET-PR-Discount](https://dokumentation.websale.de/v8s/referenz/tags/basket/besondere-produktarten-im-warenkorb.md)

## Warum sich die beiden ausschließen

Der Shop weist einen prozentualen Gutschein nur dann je Position aus, wenn alle drei Bedingungen zutreffen:

1. Der Gutschein ist prozentual.
2. `ShowPercentalVoucherDiscountForPosition-Allow` steht auf `yes`.
3. Der Gutschein hat **keinen** maximalen Einlösungsbetrag.

Trägt der Gutschein einen Maximalbetrag, entfällt die dritte Bedingung und der Gutschein wird global ausgewiesen, als wäre `ShowPercentalVoucherDiscountForPosition-Allow` auf `no` gesetzt. Die Einstellung in der Konfiguration bleibt unverändert, sie greift für diesen einen Gutschein nur nicht.

Der Grund liegt in der Rechnung. Eine Deckelung wirkt auf den Gesamtbetrag, nicht auf einzelne Positionen. Sobald gekürzt wird, ließe sich die Kürzung nicht mehr verursachungsgerecht auf die Positionen verteilen, ohne willkürlich zu werden.

> [!WARNING]
>
> Planen Sie beides zusammen, entscheiden Sie sich pro Gutscheincharge. Ein Deckel und eine Ausweisung je Position sind in einem Gutschein nicht zu haben.

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


## Related topics

- [Mehrere Gutscheine einlösen](https://dokumentation.websale.de/v8s/gutscheine-anbieten/mehrere-gutscheine-einloesen.md)
- [Gutscheine mit mehreren Währungen](https://dokumentation.websale.de/v8s/gutscheine-anbieten/gutscheine-mit-mehreren-waehrungen.md)
- [Alternative Produktdaten](https://dokumentation.websale.de/v8s/produkte/alternative-produktdaten.md)
- [Gutscheine im Warenkorb](https://dokumentation.websale.de/v8s/referenz/tags/basket/gutscheine-im-warenkorb.md)
- [$wsVoucher - Gutscheine](https://dokumentation.websale.de/frontend/referenz/module/wsvoucher.md)


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