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

# Lagerbestand anzeigen

> Wie Sie in WEBSALE V8s die Lagerbestandsverwaltung aktivieren und Lieferstatus, Bestand und Lieferzeittexte auf Produktseite und im Warenkorb ausgeben.

Zu jedem Produkt lässt sich ein Lagerbestand führen und im Shop anzeigen, wahlweise als Text, als Ampelgrafik oder als konkrete Stückzahl.

Der Bestand wird nicht erst bei der Bestellung reduziert, sondern bereits, während das Produkt im Warenkorb liegt. Bestellt der Käufer nicht innerhalb der von Ihnen festgelegten Reservierungszeit, gibt WEBSALE V8s die Menge wieder frei.

## Die fünf Lieferbarkeitsstatus

| Status | Übliche Bedeutung |
| - | - |
| `green` | ausreichend vorhanden, sofort lieferbar |
| `yellow` | nur noch wenige Stück, begrenzt verfügbar |
| `red` | derzeit ausverkauft, in einigen Tagen wieder lieferbar |
| `red-soft` | ausverkauft, aber trotzdem bestellbar, Lieferzeit eventuell länger |
| `red-hard` | ausverkauft und nicht mehr bestellbar, keine Nachlieferung möglich |

Der Unterschied zwischen `red-soft` und `red-hard` entscheidet darüber, ob der Käufer noch bestellen kann. Er bestimmt damit auch, ob Sie an dieser Stelle sinnvoll einen Warenkorb-Button, eine Benachrichtigungsfunktion oder Ersatzprodukte anbieten.

Intern kennt der Shop drei Zustände, nämlich grün, gelb und rot, dazu ein Kennzeichen, ob ein rotes Produkt noch bestellbar ist. `red-soft` und `red-hard` sind also zwei Ausprägungen desselben roten Zustands. Für das Template spielt das keine Rolle, alle fünf Werte lassen sich gleichermaßen abfragen.

Die Grenzwerte, ab denen der Shop von grün auf gelb und von gelb auf rot wechselt, pflegen Sie je Produkt. Die rote Grenze wird dabei nicht als verfügbar ausgewiesen: Ein als Reserve gehaltener Restbestand erscheint im Shop nicht als bestellbare Menge.

## Lagerbestandsverwaltung aktivieren

Setzen Sie in der `shop.config` im Abschnitt `<Inventory>` den Parameter `Allow` auf `yes`. Fehlt der Abschnitt, legen Sie ihn an.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<Inventory>
   ...
   Allow = yes
   ...
</Inventory>
```

Derselbe Abschnitt nimmt alle weiteren Einstellungen auf: die Lagerbestandsgrafiken, die Beschriftungen für Lieferstatus, Ausverkauft-Hinweis und Höchstmenge sowie die Einstellungen der [Lagerbestandsmeldung](https://dokumentation.websale.de/v8s/lagerbestand/lagerbestandsmeldung.md) per E-Mail.

Referenz: [Abschnitt Inventory](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/produkte-katalog-und-suche.md#inventory)

### Ampelgrafiken zuweisen

Für die grafische Anzeige haben Sie zwei Möglichkeiten.

| Weg | Vorteil |
| - | - |
| Icon-Schriftart, beispielsweise Glyphicons, über die Textpflege | Vektorgrafik, auf jedem Display scharf |
| Bilddateien als GIF oder JPEG | keine zusätzliche Schriftart nötig |

Entscheiden Sie sich für Bilddateien, legen Sie diese im Verzeichnis `benutzer/navigation/grafiken` ab und weisen sie im Abschnitt `<Inventory>` zu.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<Inventory>
   ...
   Img-Green           = ampel_gruen.gif
   Img-Yellow          = ampel_gelb.gif
   Img-Red-Deliverable = ampel_rot.gif
   Img-Red-SoldOut     = ampel_rot.gif
   ...
</Inventory>
```

`Img-Red-Deliverable` steht für `red-soft`, `Img-Red-SoldOut` für `red-hard`. Im Beispiel zeigen beide dieselbe Grafik, unterscheidbar sind sie aber.

### Lieferstatustexte pflegen

Neben der Grafik können Sie je Status einen Text ausgeben, typischerweise die zu erwartende Lieferzeit. Diese Texte pflegen Sie global im WSPManager oder einzeln in den Produktdaten.

Ausgegeben werden sie mit [`PR-DeliveryText`](https://dokumentation.websale.de/v8s/referenz/tags/pr/grundlagen-und-produktdaten) beziehungsweise [`BASKET-PR-DeliveryText`](https://dokumentation.websale.de/v8s/referenz/tags/basket/besondere-produktarten-im-warenkorb).

## Anzeige auf der Produktdetailansicht

Der gesamte Block gehört in die Klammerung [`PR-Inventory`](https://dokumentation.websale.de/v8s/referenz/tags/pr/grundlagen-und-produktdaten), die nur bei Produkten mit aktiver Lagerbestandsverwaltung zutrifft. Darin unterscheidet [`PR-InventoryState()`](https://dokumentation.websale.de/v8s/referenz/tags/pr/grundlagen-und-produktdaten) die einzelnen Status.

![20180116 Lagerbestand Produktseite](https://mintcdn.com/websaleag-44ee7ea6/98HtpcQDYdzjmpoC/images/20180116_lagerbestand_produktseite.png?fit=max\&auto=format\&n=98HtpcQDYdzjmpoC\&q=85\&s=8fe0847f99f202e62899ef18d07b99a1)

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

         {PR-InventoryState(green)}
            <div class="bestand-gruen">
               ~PR-DeliveryText~
               Bestand aktuell: ~PR-AvailableInventory~ ~PR-Unit~
            </div>
         {/PR-InventoryState(green)}

         {PR-InventoryState(yellow)}
            <div class="bestand-gelb">
               ~PR-DeliveryText~
               Bestand aktuell: ~PR-AvailableInventory~ ~PR-Unit~
            </div>
         {/PR-InventoryState(yellow)}

         {PR-InventoryState(red)}
            <div class="bestand-rot">
               ~PR-DeliveryText~
               Bestand aktuell: ~PR-AvailableInventory~ ~PR-Unit~
            </div>
         {/PR-InventoryState(red)}

      {/PR-DepVariations}
   {/PR-Inventory}

   {!PR-Inventory}
      Für dieses Produkt wird kein Lagerbestand geführt.
   {/!PR-Inventory}
   ...
{/PR-Data}
```

[`~PR-AvailableInventory~`](https://dokumentation.websale.de/v8s/referenz/tags/pr/grundlagen-und-produktdaten) gibt die verfügbare Stückzahl aus, [`~PR-InventoryImage~`](https://dokumentation.websale.de/v8s/referenz/tags/pr/grundlagen-und-produktdaten) die zugewiesene Ampelgrafik.

### Grenze in Produktlisten

![20180116 Lagerbestand Kategorieseite](https://mintcdn.com/websaleag-44ee7ea6/98HtpcQDYdzjmpoC/images/20180116_lagerbestand_kategorieseite.png?fit=max\&auto=format\&n=98HtpcQDYdzjmpoC\&q=85\&s=2332f2e195fbcb1415eaff0975095701)

Innerhalb einer `{@PR-Data}`-Schleife lassen sich keine Lagerbestände von **Varianten** anzeigen. Das betrifft Kategorieseiten, Angebotslisten und Suchergebnisse gleichermaßen.

Der Grund liegt in der Sache: Ein Produkt mit abhängigen Varianten hat keinen einheitlichen Bestand, sondern je Kombination einen eigenen. Welcher davon in der Liste stehen sollte, ist nicht entscheidbar.

Für Produkte **ohne** abhängige Varianten funktioniert die Anzeige dagegen. Unterscheiden Sie die beiden Fälle über `PR-DepVariations` und verweisen Sie bei Variantenprodukten auf die Produktseite.

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

      {!PR-DepVariations}
         Lieferstatus: ~PR-DeliveryText~
         <img src="~PR-InventoryImage~" alt="~PR-DeliveryText~">
         Verfügbar: ~PR-AvailableInventory~ ~PR-Unit~
      {/!PR-DepVariations}

      {PR-DepVariations}
         <a href="~PR-Link~">Verfügbarkeit je Variante ansehen</a>
      {/PR-DepVariations}

   {/PR-Inventory}

   {!PR-Inventory}
      <a href="~PR-Link~">Zum Produkt</a>
   {/!PR-Inventory}
   ...
{/@PR-Data}
```

## Anzeige im Warenkorb

Im Warenkorb gelten dieselben Tags mit dem Präfix `BASKET-`. Die Klammerung `{![ST-PlacedOrder](/v8s/referenz/tags/st/seitenzustand-und-navigation#die-tags-im-uberblick)}` sorgt dafür, dass der Lieferstatus nur vor dem Bestellabschluss erscheint, nicht mehr auf der Bestätigungsseite.

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

            {!BASKET-PR-SplitDelivery}
               Lieferstatus: ~BASKET-PR-DeliveryText~
            {/!BASKET-PR-SplitDelivery}

            {BASKET-PR-InventoryState(green)}
               Sofort lieferbar.
            {/BASKET-PR-InventoryState(green)}

            {BASKET-PR-InventoryState(yellow)}
               Nur noch wenige verfügbar.
            {/BASKET-PR-InventoryState(yellow)}

            {BASKET-PR-InventoryState(red)}
               Derzeit nicht auf Lager.
            {/BASKET-PR-InventoryState(red)}

         {/BASKET-PR-Inventory}
      {/!ST-PlacedOrder}
   {/@BASKET-PR-Data}
{/BASKET-PR-Data}
```

## Lieferbarkeitsanzeige splitten

Bei `red-soft` darf der Käufer mehr bestellen, als vorrätig ist. Die Menge zerfällt dann in zwei Teile mit unterschiedlichen Lieferzeiten.

> [!WARNING]
>
> Der Split greift nur unter zwei Bedingungen: Der Lieferbarkeitsstatus muss `red-soft` sein, also bestellbar, und das Produkt muss einen dynamischen Lagerbestand führen. Bei fest zugewiesenem Status entfällt die Aufteilung, weil der Shop dort keine Stückzahlen kennt.

Liegen 5 Stück auf Lager und bestellt der Käufer 8, entsteht diese Aufteilung:

| Menge | Lieferzeit | Verwendeter Text |
| - | - | - |
| 5 | sofort | Text des Status `green` |
| 3 | nach Nachbestellung | Text des Status `red` |

### Schritt 1: Funktion aktivieren

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<BasketEntries>
   ...
   SplitDeliveryText-Allow = yes
   ...
</BasketEntries>
```

Referenz: [Abschnitt BasketEntries](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/warenkorb-und-bestellprozess.md#basketentries)

### Schritt 2: Warenkorbseite erweitern

[`BASKET-PR-SplitDelivery`](https://dokumentation.websale.de/v8s/referenz/tags/basket/mehrfach-lieferadressen-und-belegexemplare#basket-pr-splitdelivery) trifft zu, sobald sich eine Position aufteilt. Die negierte Klammerung zeigt den gewohnten einzelnen Lieferstatustext, die positive die aufgeteilte Darstellung.

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

            {!BASKET-PR-SplitDelivery}
               Lieferstatus: ~BASKET-PR-DeliveryText~
            {/!BASKET-PR-SplitDelivery}

            {BASKET-PR-SplitDelivery}
               ~BASKET-PR-DeliveryTextInStock~: ~BASKET-PR-InventoryInStock~ ~BASKET-PR-Unit~<br>
               ~BASKET-PR-DeliveryTextOutOfStock~: ~BASKET-PR-InventoryOutOfStock~ ~BASKET-PR-Unit~
            {/BASKET-PR-SplitDelivery}

         {/BASKET-PR-Inventory}
      {/!ST-PlacedOrder}
   {/@BASKET-PR-Data}
{/BASKET-PR-Data}
```

## Weitere Funktionen rund um den Lagerbestand

| Funktion | Wofür |
| - | - |
| Lagerbestandsmeldung | E-Mail an Sie, sobald ein Produkt eine festgelegte Menge unterschreitet |
| [BackInStockMail (OrderNow-Service)](https://dokumentation.websale.de/v8s/produkte/backinstockmail-ordernow-service.md) | E-Mail an den Käufer, sobald sich der Status verbessert |
| [Reservierungszeit im Warenkorb anzeigen](https://dokumentation.websale.de/v8s/warenkorb/reservierungszeit-im-warenkorb-anzeigen.md) | Anzeige, wie lange die Reservierung noch gilt |
| Teillieferung anbieten | getrennte Lieferung der sofort verfügbaren Produkte |
| [Ersatzprodukte (Subst-Links)](https://dokumentation.websale.de/v8s/zusatz-produkte/ersatzprodukte-subst-links.md) | Alternativen bei ausverkauftem Produkt |


## Related topics

- [Reservierungszeit im Warenkorb anzeigen](https://dokumentation.websale.de/v8s/warenkorb/reservierungszeit-im-warenkorb-anzeigen.md)
- [Lagerbestandsmeldung](https://dokumentation.websale.de/v8s/lagerbestand/lagerbestandsmeldung.md)
- [BackInStockMail (OrderNow-Service)](https://dokumentation.websale.de/v8s/produkte/backinstockmail-ordernow-service.md)
- [Warenkorb anzeigen und löschen](https://dokumentation.websale.de/v8s/warenkorb/warenkorb-anzeigen-loeschen.md)
- [Bekleidungsmodul](https://dokumentation.websale.de/v8s/kategorien/bekleidungsmodul.md)


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