Dynamische Verpackungseinheiten
Verpackungseinheiten aus einem Lagerbestand: Verkaufe Einzelstück, Karton oder Palette, ohne drei Bestände zu pflegen. Gebinde, die der Bestand nicht deckt, bietet dein Shop nicht an.
Auf dieser Seite
- Einleitung
- Was du mit diesem Plugin erreichst
- Für wen ist dieses Plugin?
- Installation
- Erste Schritte
- Einstellungen
- Verkaufskanal
- Dokumentation öffnen
- Plugin für diesen Verkaufskanal aktivieren
- So legst du Verpackungseinheiten an
- Schritt für Schritt
- Gewicht und Maße für die Versandkosten
- So bietest du ein Produkt in Verpackungseinheiten an
- Schritt für Schritt
- Zuweisungen anpassen
- So teilen sich Varianten einen gemeinsamen Bestand
- Schritt 1: Gemeinsamen Bestand einschalten und Pool anlegen
- Schritt 2: Varianten dem Pool zuordnen
- So arbeitet der gemeinsame Bestand
- Abverkauf entscheidet, ob der Pool die Menge begrenzt
- Eine einzelne Variante aus dem gemeinsamen Bestand nehmen
- So sieht es für deine Kunden aus
- Verpackung und Anzahl wählen
- Preis live mitrechnen
- Nur lieferbare Verpackungen werden angeboten
- Gemeinsamer Bestand bei Varianten
- Im Warenkorb
- Auf dem Smartphone
- Fehlerbehebung
- Die Verpackungsauswahl erscheint auf der Produktseite nicht
- Die Verpackungsauswahl erscheint nur in einer Sprache
- Eine Verpackung fehlt in der Auswahl
- Eine Variante mit gemeinsamem Bestand ist nicht kaufbar
- Die Versandkosten werden nach Einzelgewicht berechnet
- Die Reiter „Verpackungseinheiten” und „Gemeinsamer Bestand” fehlen im Produkt
- FAQ
- Für Administratoren / Technische Details
- Systemanforderungen
- Installation über die Kommandozeile
- Hintergrundverarbeitung
- Entfernte Datenbankspalte
- Benutzerrechte
- Deinstallation
Einleitung
Mit Dynamische Verpackungseinheiten verkaufst du ein Produkt in mehreren Verpackungsgrößen — zum Beispiel als Einzelstück, im 6er-Pack, im Karton oder auf der Palette — und alle Größen greifen auf einen gemeinsamen Lagerbestand zu.
Was du mit diesem Plugin erreichst
- Du legst deine Verpackungsgrößen einmal zentral an und weist sie beliebigen Produkten zu.
- Deine Kunden wählen auf der Produktseite die Verpackung und die Anzahl der Pakete. Preis pro Paket, Preis pro Stück und Gesamtmenge sehen sie sofort.
- Du pflegst nur einen Bestand. Wer einen Karton mit 12 Stück kauft, verbraucht 12 Stück aus diesem Bestand.
- Verpackungsgrößen, die dein Bestand nicht mehr deckt, verschwinden von selbst aus der Auswahl. Bei 20 Stück auf Lager wird ein Gebinde mit 24 Stück gar nicht erst angeboten.
- Im Warenkorb steht klar, was bestellt wurde, zum Beispiel „3× Karton (36 Stück)”.
- Mehrere Varianten eines Produkts können sich einen gemeinsamen Bestand teilen — etwa Einzeldose, 6er-Tray und 12er-Karton aus demselben Vorrat.
- Hinterlegst du Gewicht und Maße einer Verpackung, rechnen gewichts- und volumenbasierte Versandarten mit dem Paket statt mit dem Einzelstück.
- Du schaltest das Plugin je Verkaufskanal ein oder aus.
Für wen ist dieses Plugin?
Für Shops, die dieselbe Ware in unterschiedlichen Mengen verkaufen: Getränke, Lebensmittel, Verbrauchsmaterial, Großhandel und B2B — überall dort, wo Kunden sowohl einzeln als auch kartonweise bestellen.
Installation
Nach dem Kauf steht dir das Plugin direkt in deiner Administration zur Verfügung — du musst nichts herunterladen.
- Melde dich in deiner Shopware-Administration an (
DeinShop.de/admin). - Öffne Erweiterungen → Meine Erweiterungen.
- Klicke neben Dynamische Verpackungseinheiten auf Installieren.
- Aktiviere das Plugin über den Schalter neben dem Eintrag — fertig.
Abb. 1: Dynamische Verpackungseinheiten ist installiert und aktiv. Über „Konfigurieren” gelangst du direkt zu den Einstellungen.
Taucht Dynamische Verpackungseinheiten nicht in der Liste auf, ist dein Shopware-Account noch nicht mit dem Shop verbunden. Das erledigst du unter Erweiterungen → Meine Erweiterungen über die Anmeldung mit deinem Shopware-Konto.
Erste Schritte
In vier Schritten bietest du dein erstes Produkt in mehreren Verpackungsgrößen an:
- Plugin im Verkaufskanal prüfen: Öffne Erweiterungen → Meine Erweiterungen und klicke beim Plugin auf Konfigurieren. Der Schalter Plugin für diesen Verkaufskanal aktivieren ist von Haus aus eingeschaltet. Mehr dazu in Einstellungen.
- Verpackungseinheiten anlegen: Unter Kataloge → Verpackungseinheiten legst du deine Größen an, zum Beispiel „6er-Pack” mit 6 Stück und „Karton” mit 12 Stück. Siehe So legst du Verpackungseinheiten an.
- Produkt einrichten: Öffne das Produkt, wechsle in den Reiter Verpackungseinheiten, schalte Dynamische Verpackungseinheiten aktivieren ein, weise die gewünschten Einheiten zu und klicke oben rechts auf Speichern. Siehe So bietest du ein Produkt in Verpackungseinheiten an.
- Ergebnis prüfen: Öffne das Produkt in deinem Shop. Über dem Warenkorb-Button erscheinen jetzt Verpackung wählen und Anzahl Pakete. Siehe So sieht es für deine Kunden aus.
Einstellungen
Die Einstellungen findest du unter Erweiterungen → Meine Erweiterungen beim Plugin über Konfigurieren.
Abb. 2: Die Konfigurationsseite mit Verkaufskanal-Auswahl, dem Button „Dokumentation öffnen” und dem Schalter „Plugin für diesen Verkaufskanal aktivieren”.
Verkaufskanal
Ganz oben wählst du unter Verkaufskanal, für welchen Shop die Einstellung gilt. Mit Alle Verkaufskanäle legst du den Wert für alle Kanäle gemeinsam fest. Wählst du einen bestimmten Kanal, kannst du dort einen abweichenden Wert setzen.
Dokumentation öffnen
Der Button Dokumentation öffnen führt dich direkt zu dieser Anleitung auf unserer Webseite.
Plugin für diesen Verkaufskanal aktivieren
Mit dem Schalter Plugin für diesen Verkaufskanal aktivieren legst du fest, ob das Plugin im gewählten Verkaufskanal wirkt. Standardmäßig ist er eingeschaltet.
Schaltest du ihn aus, sehen deine Kunden in diesem Verkaufskanal keine Verpackungsauswahl und keine Angaben zum gemeinsamen Bestand, und die Bestellmenge wird dort nicht begrenzt. Bestellungen aus diesem Kanal buchen trotzdem vom gemeinsamen Variantenbestand ab — der Pool ist der Bestand für alle Verkaufskanäle, sonst würden Verkäufe aus dem abgeschalteten Kanal im Bestand fehlen. Andere Verkaufskanäle bleiben davon unberührt.
Wozu das gut ist: Du betreibst zum Beispiel einen B2B-Shop für Großkunden und einen Endkunden-Shop. Im B2B-Shop bietest du Karton und Palette an, im Endkunden-Shop verkaufst du weiter nur Einzelstücke — ohne das Plugin zu deinstallieren.
Klicke nach jeder Änderung auf Speichern.
So legst du Verpackungseinheiten an
Was dir das bringt: Du definierst deine Verpackungsgrößen einmal an zentraler Stelle und verwendest sie danach bei beliebig vielen Produkten. Änderst du eine Einheit, gilt die Änderung überall, wo sie zugewiesen ist.
Die Übersicht findest du unter Kataloge → Verpackungseinheiten.
Abb. 3: Die Übersicht „Verpackungseinheiten” mit den Einheiten 6er-Pack, Karton, Großgebinde und Palette.
Die Liste zeigt dir zu jeder Einheit Name, Menge (Stück), Position und ob sie Aktiv ist.
Schritt für Schritt
- Gehe zu Kataloge → Verpackungseinheiten.
- Klicke auf Verpackungseinheit erstellen.
- Trage die gewünschten Angaben ein:
- Name: So heißt die Verpackung später in deinem Shop, zum Beispiel „Karton” oder „6er-Pack”. Den Namen kannst du je Sprache übersetzen, indem du oben die Sprache wechselst.
- Menge (Stück pro Verpackungseinheit): Wie viele Einzelstücke in dieser Verpackung stecken. Diese Zahl wird beim Kauf vom Bestand abgezogen und bestimmt den Paketpreis.
- Position: Legt die Reihenfolge fest, in der die Einheiten angezeigt werden. Kleinere Zahlen stehen weiter oben.
- Aktiv: Nur aktive Einheiten werden verwendet. So nimmst du eine Verpackung vorübergehend aus dem Angebot, ohne sie zu löschen.
- Optional füllst du im Bereich Gewicht & Maße die Felder Gewicht (kg), Breite (cm), Höhe (cm) und Länge (cm) aus — mehr dazu unten.
- Klicke auf Speichern.
Abb. 4: Die Detailseite der Einheit „6er-Pack” mit den Bereichen „Verpackungseinheit Detail” und „Gewicht & Maße”.
Gewicht und Maße für die Versandkosten
Was dir das bringt: Rechnest du Versandkosten nach Gewicht oder Volumen ab, braucht Shopware das Gewicht des ganzen Pakets. Ohne diese Angabe würde ein Karton mit 10 Flaschen so berechnet, als wären es 10 einzeln verpackte Flaschen.
Trägst du bei Gewicht (kg) das Gesamtgewicht des Pakets ein und bei Bedarf die Maße, nutzt Shopware diese Werte für die Versandkostenberechnung. Bleiben die Felder leer, rechnet Shopware wie ohne Plugin mit den Werten des Einzelprodukts.
Versandarten, die nach Warenwert berechnet werden, funktionieren ohne weitere Angaben.
Tipp: Über die Spalte Aktiv in der Übersicht kannst du eine Einheit direkt in der Liste ein- und ausschalten. Eine Meldung bestätigt dir die Änderung.
So bietest du ein Produkt in Verpackungseinheiten an
Was dir das bringt: Deine Kunden wählen auf der Produktseite zwischen den Verpackungen, die du dem Produkt zugewiesen hast. Mengen, Preise und Bestand rechnet das Plugin selbst.
Abb. 5: Der Reiter „Verpackungseinheiten” am Produkt „Bio-Mineralwasser Naturell 0,75 l” mit drei zugewiesenen Einheiten.
Schritt für Schritt
- Gehe zu Kataloge → Produkte und öffne das gewünschte Produkt.
- Wechsle in den Reiter Verpackungseinheiten.
- Schalte Dynamische Verpackungseinheiten aktivieren ein. Damit wählen deine Kunden künftig eine Verpackungsgröße, statt die Menge frei einzugeben.
- Wähle im Bereich Zugewiesene Verpackungseinheiten über das Feld Verpackungseinheit auswählen… eine oder mehrere Einheiten aus.
- Klicke auf Verpackungseinheit hinzufügen. Die Einheiten erscheinen in der Liste darunter mit Verpackungseinheit, Stück, Position und Aktiv.
- Klicke oben rechts auf Speichern, damit der Schalter aus Schritt 3 übernommen wird.
Zuweisungen anpassen
- Reihenfolge und Aktiv-Status änderst du direkt in der Liste: Doppelklicke auf eine Zeile, passe Position an oder setze bzw. entferne den Haken bei Aktiv und bestätige.
- Eine Einheit entfernen kannst du über das Menü mit den drei Punkten am Zeilenende und Löschen. Bestätige die Rückfrage Zuordnung entfernen mit Löschen. Die Verpackungseinheit selbst bleibt erhalten und kann anderen Produkten weiter zugewiesen sein.
Wichtig: Der Schalter Dynamische Verpackungseinheiten aktivieren wird für jede Sprache einzeln gespeichert. Pflegst du das Produkt in mehreren Sprachen, wähle oben in der Sprachauswahl die weitere Sprache aus und schalte ihn dort ebenfalls ein. Siehe auch Fehlerbehebung.
Tipp: Bei Produkten mit Varianten übernehmen die Varianten die Zuweisungen des Hauptprodukts. Du richtest die Verpackungen also nur einmal am Hauptprodukt ein.
So teilen sich Varianten einen gemeinsamen Bestand
Was dir das bringt: Verkaufst du dieselbe Ware als Varianten in unterschiedlichen Mengen — etwa Einzeldose, 6er-Tray und 12er-Karton —, liegt im Lager trotzdem nur ein Vorrat. Statt drei Bestände getrennt zu pflegen, legst du einen gemeinsamen Bestand an (im Plugin „Pool” genannt). Jede Variante verbraucht beim Kauf so viele Einheiten daraus, wie sie enthält.
Diese Funktion richtest du am Hauptprodukt im Reiter Gemeinsamer Bestand ein.
Schritt 1: Gemeinsamen Bestand einschalten und Pool anlegen
Abb. 6: Der Reiter „Gemeinsamer Bestand” am Produkt „Kokosmilch Bio 400 ml” mit dem Pool „Pool 400 ml” und einem Gesamtbestand von 240.
- Gehe zu Kataloge → Produkte und öffne das Hauptprodukt mit den Varianten.
- Wechsle in den Reiter Gemeinsamer Bestand.
- Schalte Gemeinsamen Variantenbestand aktivieren ein. Damit teilen sich die Varianten dieses Produkts die Pools, die du hier anlegst.
- Klicke im Bereich Pools auf Pool hinzufügen. Ein neuer Pool erscheint in der Liste.
- Öffne über die drei Punkte am Zeilenende Bearbeiten und trage im Fenster Pool bearbeiten ein:
- Pool-Bezeichnung: Ein Name für diesen Vorrat, zum Beispiel „Pool 400 ml”. Er wird deinen Kunden auf der Produktseite angezeigt.
- Gesamtbestand: Wie viele Einzeleinheiten aktuell auf Lager sind.
- Anfangsbestand: Obergrenze, bis zu der eine Stornierung den Bestand höchstens zurückbucht. Lässt du das Feld leer, wird eine Rückbuchung nie begrenzt.
- Aktiv: Nur aktive Pools werden verwendet. Ist ein Pool nicht aktiv, laufen seine Varianten über ihren eigenen Lagerbestand, und neue Bestellungen ziehen nichts vom Pool ab.
- Klicke auf Speichern.
- Klicke oben rechts im Produkt auf Speichern, damit der Schalter aus Schritt 3 übernommen wird.
Die Werte eines Pools kannst du auch direkt in der Liste ändern: Doppelklicke auf die Zeile, passe die Werte an (bei Aktiv über den Haken) und bestätige. Einen Pool entfernst du über die drei Punkte und Löschen; bestätige die Rückfrage mit Löschen. Dabei werden auch alle Varianten-Zuordnungen dieses Pools entfernt. Der Lagerbestand des Hauptprodukts wird danach aus den verbleibenden aktiven Pools neu berechnet (zum Beispiel 100 + 40 → nach dem Löschen des 40er-Pools 100). Die Varianten des gelöschten Pools behalten ihren zuletzt angezeigten Lagerbestand als eigenen Bestand — prüfe und pflege ihn danach selbst.
Schritt 2: Varianten dem Pool zuordnen
Abb. 7: Die Varianten-Zuordnung — 12er-Karton verbraucht 12, 6er-Tray 6 und Einzeldose 1 Einheit pro Kauf.
- Scrolle zum Bereich Varianten-Zuordnung. Dort stehen alle Varianten des Produkts.
- Wähle für jede Variante in der Spalte Pool den passenden Pool aus.
- Trage in der Spalte Einheiten pro Kauf ein, wie viele Einheiten ein Kauf dieser Variante aus dem Pool verbraucht — beim 12er-Karton also 12, bei der Einzeldose 1.
- Mit dem Schalter in der Spalte Aktiv setzt du die Pool-Steuerung einer Variante vorübergehend aus: Der Pool begrenzt ihre Bestellmenge nicht mehr, im Shop erscheint kein Pool-Hinweis, und ihr Lagerbestand wird nicht mehr aus dem Pool befüllt. Neue Bestellungen dieser Variante ziehen nichts vom Pool ab, es zählt ihr eigener Lagerbestand (zunächst der zuletzt abgeglichene Wert). Bereits gebuchte Bestellungen bleiben gebucht und werden bei einer Stornierung in den Pool zurückgebucht. Soll eine Variante dauerhaft ohne Pool laufen, schalte stattdessen ihr Zusatzfeld aus (siehe Eine einzelne Variante aus dem gemeinsamen Bestand nehmen).
Deine Änderungen werden sofort gespeichert.
So arbeitet der gemeinsame Bestand
- Bei jeder Bestellung zieht das Plugin die verbrauchten Einheiten vom Pool ab.
- Wird eine Bestellung storniert, bucht es die Einheiten zurück — höchstens bis zum Anfangsbestand, falls du einen eingetragen hast.
- Bearbeitest du eine Bestellung in der Administration (Menge ändern, Position hinzufügen oder entfernen) und speicherst sie, führt das Plugin den Pool nach: Es bucht nur die Differenz ab oder zurück, genau wie Shopware beim Lagerbestand. Solange du nicht speicherst, ändert sich nichts. Eine stornierte Bestellung wird erst beim Wiedereröffnen wieder gebucht.
- Reicht der Pool für eine Bestellung nicht, bucht das Plugin trotzdem die volle Menge ab. Der Pool wird dann negativ (Rückstand) — genau wie der Lagerbestand eines normalen Shopware-Artikels ohne Abverkauf. Eine Stornierung bucht genau die abgebuchte Menge zurück, auch nach einer Bearbeitung der Bestellung (höchstens bis zum Anfangsbestand, falls du einen eingetragen hast), wird sie wieder geöffnet, bucht das Plugin erneut ab.
- Das Plugin hält die Bestandsfelder in der Administration aktuell: Der Lagerbestand des Hauptprodukts zeigt die Einheiten aller aktiven Pools zusammen, der Lagerbestand jeder Pool-Variante, wie oft sie noch bestellbar ist. Bei 25 Einheiten im Pool steht also beim Hauptprodukt 25, bei der Einzelkartusche 25 und beim 25er-Karton 1. Ist der Pool negativ, sind es auch diese Werte: Bei −12 Einheiten zeigt das Hauptprodukt −12 und der 6er-Tray −2.
- Wann abgeglichen wird: Gibt eine Aktion Bestand an den Pool zurück — Stornierung, Menge verringert, Position entfernt oder gegen einen anderen Artikel getauscht —, werden alle Varianten des Pools sofort aktualisiert. Verbraucht eine Aktion Bestand — neue Bestellung, Menge erhöht, Position hinzugefügt, Bestellung wiedereröffnet —, werden das Hauptprodukt und die bestellten Varianten sofort aktualisiert, die übrigen Varianten des Pools wenige Sekunden später im Hintergrund. So bleiben Bestellabschluss und Bestellbearbeitung auch bei Pools mit vielen Varianten schnell. In dieser kurzen Zeit kann ihr angezeigter Lagerbestand nur zu hoch sein, nie zu niedrig. Änderst, deaktivierst oder löschst du einen Pool oder eine Zuordnung oder schaltest du das Zusatzfeld Gemeinsamer Variantenbestand aktiv um, läuft der Abgleich ebenfalls im Hintergrund. Die Mengenprüfung im Warenkorb rechnet immer mit dem aktuellen Pool, nicht mit den angezeigten Lagerbeständen; durch die kurze Verzögerung wird also nichts über den Pool hinaus verkauft. Ändere den Bestand deshalb immer im Pool: Ein Lagerbestand, der am Hauptprodukt oder an einer Pool-Variante von Hand, per Import, Schnittstelle oder Warenwirtschaft eingetragen wird, wird beim nächsten Abgleich überschrieben. Nimmst du eine Variante aus dem Pool oder löschst den Pool, behält sie ihren zuletzt abgeglichenen Bestand — trage ihn dann selbst ein.
Abverkauf entscheidet, ob der Pool die Menge begrenzt
Das Plugin richtet sich nach dem Shopware-Standard. Ob eine Variante nur so oft verkauft wird, wie der Pool reicht, legst du mit dem Schalter Abverkauf fest — am Hauptprodukt im Reiter Allgemein unter Lieferbarkeit. Die Varianten übernehmen diesen Wert.
| Abverkauf | Was im Shop passiert |
|---|---|
| aus | Die Variante ist frei bestellbar, auch wenn der Pool leer ist. Jede Bestellung zieht trotzdem vom Pool ab, der Pool darf ins Minus gehen. Deine Kunden sehen keine Angabe, wie viel noch verfügbar ist, und alle Verpackungen stehen zur Wahl. |
| ein | Die Variante ist höchstens so oft bestellbar, wie der Pool Einheiten für sie hat (Poolbestand ÷ Einheiten pro Kauf). Legt ein Kunde mehr in den Warenkorb, kürzt der Shop die Menge und zeigt einen Hinweis. Mehrere Gebinde desselben Pools im Warenkorb teilen sich den Bestand. Auf der Produktseite sieht dein Kunde, wie viel noch im Pool ist und wie viel er höchstens bestellen kann (siehe So sieht es für deine Kunden aus). Ist der Pool leer oder negativ, ist die Variante nicht kaufbar. |
Wichtig — Abverkauf nur am Hauptprodukt pflegen: Du kannst Abverkauf an einzelnen Varianten abweichend vom Hauptprodukt setzen. Das Plugin respektiert das, wie Shopware auch. Teilen sich aber Varianten mit und ohne Abverkauf denselben Pool, führt das im Shop zu schwer nachvollziehbaren Verfügbarkeiten: Die Variante ohne Abverkauf verkauft weiter und zieht den Pool ins Minus, die Variante mit Abverkauf ist dadurch plötzlich nicht mehr kaufbar — obwohl sich an ihr selbst nichts geändert hat. Setze Abverkauf deshalb einheitlich am Hauptprodukt und lass die Varianten den Wert übernehmen.
Wichtig — Warenwirtschaft darf den Bestand von Pool-Varianten nicht schreiben: Kein ERP- oder Warenwirtschaftssystem weiß, dass es den Pool gibt. Gleicht es Lagerbestände mit Shopware ab, überschreibt es den Lagerbestand des Hauptprodukts und der Pool-Varianten mit seinen eigenen Werten — meist 0, weil es diese Varianten als eigene Artikel ohne Vorrat führt. Das Plugin korrigiert diese Werte erst beim nächsten Abgleich des Pools (nächste Bestellung, Stornierung oder Pool-Änderung). Bis dahin zeigt die Administration falsche Bestände, und ist Abverkauf eingeschaltet, kann der Kunde die Variante nicht bestellen, obwohl der Pool genug Einheiten hat. Nimm das Hauptprodukt und alle Pool-Varianten deshalb vom Bestandsabgleich deiner Warenwirtschaft aus und übertrage den Vorrat stattdessen in den Gesamtbestand des Pools — von Hand oder per Schnittstelle in den Pool (Entität
swp_shared_variant_stock, FeldtotalStock).
Eine einzelne Variante aus dem gemeinsamen Bestand nehmen
Soll eine Variante ganz normal mit eigenem Lagerbestand laufen, schaltest du den gemeinsamen Bestand nur für sie aus:
- Öffne die Variante, wechsle in den Reiter Spezifikationen und scrolle zur Karte Zusatzfelder, Reiter Dynamische Verpackungseinheiten.
- Klicke beim Feld Gemeinsamer Variantenbestand aktiv auf das Kettensymbol, um die Vererbung vom Hauptprodukt aufzuheben, und lass den Schalter aus.
- Klicke auf Speichern.
Diese Variante verhält sich dann wie jeder Shopware-Artikel: Sie zieht nichts vom Pool ab, zeigt keine Pool-Angaben, und ihr eigener Lagerbestand zählt — mit oder ohne Abverkauf, wie du es an ihr eingestellt hast. Ihren Lagerbestand pflegst du ab jetzt selbst; er steht zunächst auf dem zuletzt abgeglichenen Wert.
Hinweis: Wie beim Schalter für Verpackungseinheiten wird auch Gemeinsamen Variantenbestand aktivieren je Sprache gespeichert.
So sieht es für deine Kunden aus
Verpackung und Anzahl wählen
Auf der Produktseite erscheint über dem Warenkorb-Button die Auswahl Verpackung wählen. Darunter legt dein Kunde unter Anzahl Pakete fest, wie viele Pakete er möchte. Die Zeile Gesamtmenge zeigt jederzeit, wie viele Einzelstücke das ergibt.
Abb. 8: Die Produktseite im Ausgangszustand — „Verpackung wählen” steht auf „Einzelstück (1 Stück)”.
Preis live mitrechnen
Sobald dein Kunde eine Verpackung wählt, zeigt die Produktseite den Gebindepreis für ein Paket, darunter den Preis je Stück und den Gesamtpreis für alle gewählten Pakete. So erkennt dein Kunde sofort, was ihn eine Verpackung und die gesamte Bestellung kosten.
Abb. 9: „Karton (12 Stück)” mit 3 Paketen — Gebindepreis 10,68 €, 0,89 € pro Stück, Gesamt 32,04 €, Gesamtmenge 36 Stück.
Nur lieferbare Verpackungen werden angeboten
Das Plugin bietet nur Verpackungen an, die dein aktueller Bestand vollständig decken kann. Reicht der Bestand für eine Verpackung nicht mehr aus, fehlt sie in der Auswahl — sie wird nicht nur ausgegraut, sondern gar nicht erst angezeigt. Füllst du den Bestand wieder auf, erscheint sie automatisch wieder.
Bei Varianten mit gemeinsamem Bestand gilt das nur, wenn Abverkauf eingeschaltet ist. Ohne Abverkauf stehen dort alle Verpackungen zur Wahl, weil die Variante auch über den Pool hinaus bestellbar ist (siehe So teilen sich Varianten einen gemeinsamen Bestand).
Abb. 10: Bei 20 Stück auf Lager steht „Karton (12 Stück)” zur Wahl, das Großgebinde mit 24 Stück wird nicht angeboten.
Ist keine einzige Verpackung mehr lieferbar, sieht dein Kunde den Hinweis „Aktuell ist keine Verpackungseinheit lieferbar.”
Gemeinsamer Bestand bei Varianten
Hast du einen gemeinsamen Bestand eingerichtet und Abverkauf eingeschaltet (siehe So teilen sich Varianten einen gemeinsamen Bestand), sieht dein Kunde bei der gewählten Variante den Pool mit dem aktuellen Vorrat und darunter, wie viel er höchstens bestellen kann und wie viele Einheiten ein Kauf verbraucht.
Abb. 11: Die Variante „6er-Tray” — „Pool 400 ml: 240 Einheiten” und „Max. 40 Stück bestellbar — 6 Einheiten pro Kauf”.
Im Warenkorb
Im Warenkorb steht jede Verpackung als eigene Position mit verständlicher Beschreibung, etwa „3× Karton (36 Stück)”. Mit Plus und Minus ändert dein Kunde die Anzahl der Pakete — die Menge bleibt dabei immer ein Vielfaches der Verpackungsgröße.
Abb. 12: Der Warenkorb mit „3× Karton (36 Stück)”, Stückpreis 0,89 € und Summe 32,04 €.
Passt eine Menge nicht zur Verpackungsgröße oder reicht der Bestand nicht mehr aus, weist der Warenkorb deinen Kunden mit einer Meldung darauf hin, zum Beispiel: „Die Menge muss ein Vielfaches von 12 Stück sein (Verpackungseinheit: Karton).”
Auf dem Smartphone
Verpackungsauswahl, Preisanzeige und Warenkorb funktionieren auch auf kleinen Bildschirmen.
Abb. 13: Die Produktseite mobil mit „Karton (12 Stück)”, Gebindepreis 10,68 € und Gesamtmenge 12 Stück.
Abb. 14: Der Warenkorb mobil mit „3× Karton (36 Stück)”.
Fehlerbehebung
Die Verpackungsauswahl erscheint auf der Produktseite nicht
Woran es liegen kann: Das Plugin ist im Verkaufskanal ausgeschaltet, der Schalter am Produkt ist nicht aktiv, oder dem Produkt sind keine aktiven Verpackungseinheiten zugewiesen.
So behebst du es:
- Prüfe unter Erweiterungen → Meine Erweiterungen → Konfigurieren, ob Plugin für diesen Verkaufskanal aktivieren für diesen Verkaufskanal eingeschaltet ist.
- Öffne das Produkt, Reiter Verpackungseinheiten: Ist Dynamische Verpackungseinheiten aktivieren eingeschaltet und hast du danach oben rechts auf Speichern geklickt?
- Prüfe in derselben Liste, ob mindestens eine Einheit Aktiv ist — und ob die Einheit auch unter Kataloge → Verpackungseinheiten aktiv ist.
- Leere den Cache: Einstellungen → System → Caches & Indizes → Cache leeren.
Die Verpackungsauswahl erscheint nur in einer Sprache
Woran es liegt: Der Schalter Dynamische Verpackungseinheiten aktivieren wird für jede Sprache einzeln gespeichert. Hast du ihn nur in der Hauptsprache eingeschaltet, fehlt die Auswahl in der Zweitsprache.
So behebst du es:
- Öffne das Produkt und wähle oben in der Sprachauswahl die betroffene Sprache.
- Wechsle in den Reiter Verpackungseinheiten und schalte Dynamische Verpackungseinheiten aktivieren auch hier ein.
- Klicke auf Speichern.
Dasselbe gilt für Gemeinsamen Variantenbestand aktivieren im Reiter Gemeinsamer Bestand.
Eine Verpackung fehlt in der Auswahl
Woran es liegt: Dein Bestand reicht für diese Verpackung nicht mehr aus. Das Plugin bietet nur Verpackungen an, die der Bestand vollständig deckt.
So behebst du es: Erhöhe den Lagerbestand des Produkts (bzw. den Gesamtbestand des Pools). Die Verpackung erscheint danach automatisch wieder. Ist der Bestand ausreichend, prüfe, ob die Einheit am Produkt und unter Kataloge → Verpackungseinheiten auf Aktiv steht.
Eine Variante mit gemeinsamem Bestand ist nicht kaufbar
Woran es liegen kann: Abverkauf ist eingeschaltet und der Pool ist leer oder negativ. Oder die Zuordnung der Variante bzw. der Pool ist nicht aktiv: Dann zählt der eigene Lagerbestand der Variante, und der steht auf dem zuletzt abgeglichenen Wert. Oder deine Warenwirtschaft hat den Lagerbestand der Variante überschrieben, obwohl der Pool genug Einheiten hat.
So behebst du es:
- Fülle den Gesamtbestand des Pools auf. Soll die Variante auch ohne Bestand bestellbar sein, schalte Abverkauf am Hauptprodukt aus (siehe So teilen sich Varianten einen gemeinsamen Bestand).
- Prüfe im Bereich Varianten-Zuordnung, ob der Variante ein Pool zugewiesen und sie Aktiv ist.
- Prüfe im Bereich Pools, ob der Pool Aktiv ist und noch genügend Gesamtbestand hat.
- Steht der Lagerbestand der Variante auf 0 oder einem anderen Wert, der nicht zum Pool passt, hat ihn vermutlich deine Warenwirtschaft gesetzt. Nimm Hauptprodukt und Pool-Varianten vom Bestandsabgleich aus (siehe So teilen sich Varianten einen gemeinsamen Bestand). Den richtigen Wert stellt das Plugin beim nächsten Abgleich des Pools wieder her — sofort, wenn du den Gesamtbestand des Pools änderst.
Die Versandkosten werden nach Einzelgewicht berechnet
Woran es liegt: Bei der Verpackungseinheit sind kein Gewicht und keine Maße hinterlegt.
So behebst du es: Öffne die Einheit unter Kataloge → Verpackungseinheiten und trage im Bereich Gewicht & Maße das Gesamtgewicht des Pakets und bei Bedarf die Maße ein.
Die Reiter „Verpackungseinheiten” und „Gemeinsamer Bestand” fehlen im Produkt
Woran es liegt: Deiner Benutzerrolle fehlen die Rechte für diese Bereiche, oder das Plugin ist nicht aktiv.
So behebst du es:
- Prüfe unter Erweiterungen → Meine Erweiterungen, ob das Plugin aktiv ist.
- Lass dir von einem Administrator in deiner Benutzerrolle die Rechte Verpackungseinheiten bzw. Gemeinsamer Variantenbestand freigeben.
FAQ
F: Kann ich eine Verpackungseinheit bei mehreren Produkten verwenden?
A: Ja. Du legst die Einheit einmal unter Kataloge → Verpackungseinheiten an und weist sie danach beliebig vielen Produkten zu.
F: Muss ich für jede Verpackungsgröße einen eigenen Bestand pflegen?
A: Nein. Alle Verpackungen eines Produkts greifen auf denselben Lagerbestand zu. Wer einen Karton mit 12 Stück kauft, verbraucht 12 Stück aus diesem Bestand.
F: Warum sieht mein Kunde eine Verpackung nicht, obwohl sie dem Produkt zugewiesen ist?
A: Wahrscheinlich reicht der Bestand nicht für diese Verpackung. Das Plugin zeigt nur Verpackungen an, die der Bestand vollständig deckt. Sobald genug Ware da ist, erscheint sie wieder.
F: Kann ich das Plugin nur in einem meiner Shops nutzen?
A: Ja. Wähle in der Konfiguration oben den Verkaufskanal aus und schalte dort Plugin für diesen Verkaufskanal aktivieren ein oder aus.
F: Was passiert mit dem gemeinsamen Bestand, wenn eine Bestellung storniert wird?
A: Das Plugin bucht die Einheiten in den Pool zurück — höchstens bis zum Anfangsbestand, falls du einen eingetragen hast.
F: Wie ändere ich die Reihenfolge der Verpackungen auf der Produktseite?
A: Über die Position. Kleinere Zahlen stehen weiter oben. Die Position änderst du in der Einheit selbst oder direkt in der Liste im Reiter Verpackungseinheiten des Produkts.
F: Bleiben meine Verpackungseinheiten erhalten, wenn ich das Plugin deinstalliere?
A: Wenn du bei der Deinstallation auswählst, die Daten zu behalten, bleiben alle Verpackungseinheiten, Zuweisungen und Pools erhalten.
Für Administratoren / Technische Details
Dieser Abschnitt richtet sich an technische Administratoren. Für die normale Nutzung brauchst du ihn nicht.
Systemanforderungen
- Shopware: 6.7
- PHP: 8.2 oder neuer
Installation über die Kommandozeile
Liegt das Plugin bereits in deinem Shop, kannst du es auch per Kommandozeile installieren und aktivieren:
php bin/console plugin:refresh
php bin/console plugin:install SwpDynamicPackagingUnitsSix --activate
php bin/console cache:clear
Hintergrundverarbeitung
Den Abgleich der Lagerbestände aller Pool-Varianten übernimmt Shopwares Hintergrundverarbeitung (Message Queue). In der Standardeinrichtung läuft sie automatisch, solange jemand in der Administration angemeldet ist; für Live-Shops empfiehlt Shopware einen dauerhaften Worker (php bin/console messenger:consume async). Läuft keine Hintergrundverarbeitung, bleiben die Lagerbestände der nicht bestellten Varianten auf dem zuletzt abgeglichenen Wert stehen — Pool, Bestellmenge und Warenkorbprüfung sind davon nicht betroffen.
Entfernte Datenbankspalte
Das frühere Pool-Feld „Einzelverkauf” hatte keine Wirkung und wurde entfernt. Die zugehörige Datenbankspalte allow_single_sale wird beim Update automatisch entfernt; es ist nichts zu tun.
Benutzerrechte
Für beide Bereiche gibt es eigene Rechte in der Rollenverwaltung: Verpackungseinheiten und Gemeinsamer Variantenbestand. Damit legst du fest, wer Einheiten und Pools ansehen, bearbeiten, anlegen oder löschen darf.
Deinstallation
Wählst du bei der Deinstallation, die Daten zu behalten, bleiben Verpackungseinheiten, Produktzuweisungen und Pools erhalten und stehen nach einer erneuten Installation wieder zur Verfügung.
Diese Anleitung wurde für Dynamische Verpackungseinheiten Version 6.7.0 erstellt.
Weitere Handbücher
Admin Passwort Erinnerung
Admin Passwort Erinnerung: Deine Backend-Benutzer erneuern ihre Passwörter rechtzeitig, mit Hinweis nach dem Login und täglicher E-Mail. Premium sperrt abgelaufene Zugänge.
Handbuch öffnen Shopware 6Altersprüfung
Tabak, Spirituosen, Messer: Wer sein Alter nicht bestätigt, sieht die geschützten Artikel gar nicht erst. Du markierst sie pro Produkt, das Plugin blendet sie aus.
Handbuch öffnen Shopware 6Ansprechpartner
Ansprechpartner im Shop zeigen: Ordne Personen Artikeln, Kategorien, Kunden und Kundengruppen zu, mit Kontaktwegen von Telefon bis WhatsApp und vCard zum Speichern.
Handbuch öffnenWer betreut deinen Shop, wenn es ernst wird?
Wir pflegen Shopware-Shops seit über 20 Jahren, inklusive Updates, Hotfixes und der Plugins, die du hier gerade einrichtest.