# codeenterprise Service — vollständige Plugin-Dokumentation
> Shopware-6-Plugins der codeenterprise GmbH. Web-Version: https://service.codeenterprise.de/
# Abo Produkte anbieten über Mollie und PayPal Vaulting (CoeAboSw6)
Abo-Commerce für Shopware 6
Kompatibel mit Shopware 6.6, 6.7.
## Abonnements im Admin verwalten
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/abonnements-verwalten
Unser Abo-Plugin bündelt alle laufenden Abonnements unter **Kataloge › Abonnements › Übersicht**. Von dort überwachst du den Status, öffnest einzelne Abos, führst sie manuell aus, kündigst oder reaktivierst sie.
### Übersicht und Statusfilter
Die Übersicht listet alle Abonnements mit Kunde, Intervall, Zahl- und Versandart, nächster und letzter Ausführung, Mandatsstatus und Status. Mögliche Status:
- **Aktiv**
- **Kündigung ausstehend**
- **Fehler**
- **Gekündigt**
Du filterst nach Status (Mehrfachauswahl möglich); gekündigte Abos sind standardmäßig ausgeblendet. Über das Kontextmenü einer Zeile öffnest du den Kunden oder das Abo, führst es sofort aus, kündigst oder löschst es. Fällige Abos stößt du sammelweise über **„Alle überfälligen Abonnements ausführen"** an.
### Detailansicht
Ein Abonnement öffnet sich mit vier Tabs:
- **Allgemein** – Kunde, Liefer- und Rechnungsadresse, Intervall, Zahl- und Versandart, Kundengruppe, Versandkosten und Mandatsstatus. Aktionen: **Abonnement kündigen**, **Abonnement löschen**, **Abonnement reaktivieren**, **Kündigung zurückziehen** und **Abonnement jetzt ausführen**.
- **Produkte** – Produkte hinzufügen oder entfernen (mit Vorschau der nächsten Bestellung); je Position ein Rabatt prozentual oder absolut.
- **Historie** – bisherige Ausführungen.
- **Logs** – Protokoll dieses Abonnements.
### Abonnement manuell anlegen
Über **„Abonnement anlegen"** erstellst du ein Abo direkt im Admin: Kunde, Verkaufskanal, Zahl- und Versandart, Liefer- und Rechnungsadresse, Intervall, erstes Ausführungsdatum, Versandkosten und Abo-Name.
Ein neu angelegtes Abo ist nicht sofort aktiv: Es setzt ein aktives Einziehungs-Mandat beim Zahlungsdienstleister voraus, das der Kunde in seinem Konto selbst erteilt.
### Abonnement im Status „Fehler" behandeln
Scheitert eine Ausführung, wechselt das Abo in den Status **Fehler** und wird nicht in jedem Lauf erneut automatisch versucht. Ein Hinweis in der Detailansicht erklärt, wie sich das Abo über eine **manuelle Ausführung** wieder aktivieren lässt. Fehlerursachen hält das Plugin im Protokoll fest.
### Protokolle
Unter **Kataloge › Abonnements › Logs** siehst du die Ausführungs- und Änderungsprotokolle mit Level und Status (erfolgreich/fehlgeschlagen). Über **„Alle Logs löschen"** leerst du sie. Wie lange Protokolle aufbewahrt werden, steuerst du in der Konfiguration (siehe [Benachrichtigungen und Protokolle konfigurieren](/docs/coe-abo-sw6/konfiguration/benachrichtigungen-und-logs)).
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/faq
Diese Seite beantwortet wiederkehrende Fragen zum Abo-Plugin. Ausführliche Beschreibungen findest du in den jeweils verlinkten Kapiteln.
### Warum verschwinden im Checkout Zahlarten?
Das Plugin kann Zahlarten automatisch aus dem Checkout entfernen: reguläre Zahlarten, sobald ein Abo-Artikel im Warenkorb liegt, und umgekehrt Abo-Zahlarten, wenn kein Abo-Artikel enthalten ist. Beides steuerst du in der [Generellen Abonnement-Konfiguration](/docs/coe-abo-sw6/konfiguration). Die Verfügbarkeitsregeln von Shopware bleiben davon unberührt.
### Warum wird ein Produkt nicht als Abo angeboten?
Prüfe der Reihe nach:
- Ist das **Abo-Produkt aktiv**?
- Ist die **Kundengruppe des Kunden** dem Abo-Produkt zugewiesen? Die Abo-Option erscheint nur für Kunden einer zugewiesenen Kundengruppe – ein Rabatt von 0 % zählt bereits als Zuordnung und macht das Produkt buchbar.
- Sind dem Abo-Produkt **Intervalle** zugewiesen, und ist das Basisprodukt regulär im **Verkaufskanal** sichtbar?
Fehlt eine dieser Voraussetzungen, wird die Abo-Auswahl nicht angezeigt.
### Ein Abo hat kein aktives Mandat oder eine Mollie-Zahlung schlägt fehl
Prüfe der Reihe nach:
- Passt das hinterlegte **Mandat** zur aktuell gewählten Zahlart? Test- und Live-Modus haben getrennte Mandate.
- Ist die **Mollie-Verbindung** erreichbar (Zugangsdaten über „API Verbindung prüfen" testen) und der Shop für den Mollie-Webhook erreichbar?
- Liegt der **Warenkorbwert über dem Höchstbetrag** der Zahlart?
- Speziell bei **PayPal über Mollie**: Sind **Reference Transactions** in Mollie aktiviert? Ohne sie entsteht ein Abo ohne Mandat (siehe [Zahlungsarten](/docs/coe-abo-sw6/konfiguration/zahlungsarten)).
Für die Fehlersuche aktivierst du den Mollie-Debug-Modus und prüfst die `dev.log`.
### Wie korrigiert ein Kunde fehlerhafte SEPA-Bankdaten nach einer fehlgeschlagenen Zahlung?
Schlägt eine Zahlung über **„Mollie: Wiederkehrend mit SEPA"** fehl, kann der Kunde sie über **„Meine Bestellungen"** im Kundenkonto erneut abschließen. Dabei werden Kontoinhaber, IBAN und BIC erneut abgefragt, sodass sich falsch eingegebene Bankdaten dort korrigieren lassen.
### Welcher Preis gilt bei einer Ausführung?
Standardmäßig wird bei jeder Ausführung der **aktuelle** Produktpreis verwendet. Mit der Option **Immer initialen Produkt-Preis verwenden** nutzt du stattdessen den Preis der Erstbestellung. Die Einstellung wirkt global auf neue und bestehende Abos.
### Warum greift eine Rabatt-Aktion nicht wie erwartet bei Abos?
Shopware-Promotions wirken auf Abo-Bestellungen, aber der **Abo-Rabatt** zählt nicht in die Promotion-Berechnung hinein – er ist ein eigener Positions-Typ. Eine Aktion mit Mindest-Warenkorbwert kann daher schon auf Basis des Werts *vor* Abo-Rabatt auslösen. Prüfe deine Schwellenwerte entsprechend.
### Warum hat sich der Rabattbetrag eines Abos in Fremdwährung geändert?
Bislang wurde ein prozentualer Abo-Rabatt in einer Fremdwährung fehlerhaft mit dem Währungsfaktor multipliziert – aus 10 % Rabatt konnten so z. B. 267 % werden, im Extremfall mit negativer Warenkorbsumme. Betroffen waren Warenkorb und das Rabatt-Widget auf der Produktdetailseite, sobald ein Kunde eine andere Währung als die Standardwährung nutzte – durch die Währungsumschaltung im Storefront oder über einen Verkaufskanal mit abweichender Standardwährung. Jetzt gilt in jeder Währung exakt der [konfigurierte Prozentsatz](/docs/coe-abo-sw6/produkte-als-abo); absolute Rabatte waren von diesem Fehler nie betroffen.
Bestehende Abonnements in einer solchen Fremdwährung wurden bis zur letzten Ausführung mit dem falschen Prozentsatz abgerechnet. Ab der nächsten Ausführung gilt der korrekte, konfigurierte Prozentsatz – die Folgebeträge dieser Abonnements ändern sich dadurch. Bereits erstellte Bestellungen bleiben unverändert. Prüfe die Rabattkonfiguration deiner Abo-Artikel, falls sie seinerzeit an den falschen Fremdwährungsbeträgen ausgerichtet wurde.
### Wie erkennen angebundene Systeme (ERP, Buchhaltung, Reporting) den Abo-Rabatt?
Der Abo-Rabatt wird am Rabatt-Posten zusätzlich im Shopware-Standardformat hinterlegt: maschinenlesbar, welcher Abo-Artikel mit welchem Betrag rabattiert wurde. Angebundene Systeme, die diesen Shopware-Standard auswerten – etwa Provisions-, Reporting-, Buchhaltungs- oder ERP-Schnittstellen –, können den Rabatt damit dem richtigen Artikel zuordnen, statt ihn zu übergehen. Ohne dieses Format wurde z. B. eine Affiliate-Provision auf den vollen Produktpreis statt auf den rabattierten Betrag berechnet. An Preisen, Summen oder der Darstellung im Checkout ändert sich dadurch nichts.
### Warum kann ein Kunde das Intervall nicht auf einen bestimmten Wert ändern?
Ein Kunde kann nur auf ein Intervall wechseln, in dem **jedes** Produkt seines Abos verfügbar ist. Fehlt ein Produkt in dem gewünschten Intervall, steht es nicht zur Auswahl.
### Warum wird das Abo-Badge in der Produktliste nicht angezeigt?
Das Badge erscheint nur, wenn **Zeige Badge bei den Produktboxen** aktiv ist (siehe [Darstellung im Storefront anpassen](/docs/coe-abo-sw6/konfiguration/storefront-darstellung)) und das Produkt tatsächlich als Abo verfügbar ist.
### Können Abos ohne Kundenkonto bestellt werden?
Das steuert die Option **Abo-Gast-Bestellungen erlauben**. Ist sie deaktiviert, wird bei einem Abo-Artikel im Warenkorb die Konto-Erstellung erzwungen.
### Warum wird ein Abo nicht automatisch ausgeführt?
Die Ausführungen laufen über eine zeitgesteuerte Aufgabe – der Shopware-Scheduler muss aktiv sein (siehe [Plugin installieren und aktivieren](/docs/coe-abo-sw6/installation)). Steht das Abo auf **Fehler**, wird es erst nach einer erfolgreichen manuellen Ausführung wieder regulär ausgeführt (siehe [Abonnements im Admin verwalten](/docs/coe-abo-sw6/abonnements-verwalten)).
## Abo-Ereignisse im Flow Builder automatisieren
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/flow-builder
Unser Abo-Plugin stellt eigene Auslöser und eine eigene Aktion für den Shopware **Flow Builder** bereit. Damit richtest du ohne Programmierung Automatisierungen ein – etwa Benachrichtigungen oder Folgeaktionen bei bestimmten Abo-Ereignissen. Die Auslöser feuern auch dann, wenn die Änderung in der Administration vorgenommen wird – nicht nur im Storefront.
### Verfügbare Auslöser
| Auslöser | Feuert, wenn … |
|---|---|
| `subscription.created` | ein Abo erstellt wurde |
| `subscription.executed` | ein Abo ausgeführt wurde |
| `subscription.cancelled` | ein Abo gekündigt wurde |
| `subscription.reactivated` | ein gekündigtes Abo reaktiviert wurde |
| `subscription.interval.changed` | das Intervall geändert wurde |
| `subscription.payment.changed` | die Zahlart geändert wurde |
| `subscription.next_execution.changed` | der nächste Liefertermin geändert wurde |
| `subscription.errored` | ein Abo in den Fehler-Status gewechselt ist |
| `subscription.execution.failed` | eine Abo-Ausführung fehlgeschlagen ist |
| `subscription.merged` | Abos zusammengeführt wurden |
| `subscription.chargeback` | die Zahlung einer Abo-Bestellung zurückgebucht wurde |
Jeder Auslöser liefert Kunden-, Verkaufskanal- und Abo-Bezug mit, sodass du z. B. E-Mails oder weitere Aktionen daran hängen kannst.
Der Auslöser „subscription.chargeback" feuert unabhängig von der Zahlart – etwa bei einer zurückgebuchten SEPA-Lastschrift über Mollie (siehe [Zahlungsarten für Abonnements einrichten](/docs/coe-abo-sw6/konfiguration/zahlungsarten)).
### Verfügbare Aktion: Abo pausieren
Die Flow-Aktion **„Abo pausieren"** setzt ein **aktives** Abo in den Status **Fehler** – das Abo wird dadurch von weiteren automatischen Ausführungen ausgeschlossen, bis du oder der Kunde es wieder manuell ausführt (siehe [Abonnement im Status „Fehler" behandeln](/docs/coe-abo-sw6/abonnements-verwalten)). Bei einem bereits gekündigten oder schon im Fehler-Status stehenden Abo tut die Aktion nichts.
Die Aktion braucht ein Abo im Flow-Kontext – wähle sie deshalb nur in einem Flow, dessen Auslöser eines der Abo-Ereignisse oben ist (z. B. „subscription.chargeback"). In einem Flow ohne Abo-Bezug hat sie keine Wirkung.
Ein typischer Anwendungsfall: Auslöser **„subscription.chargeback"** → Aktion **„Abo pausieren"** → Shopware-Aktion **„E-Mail versenden"**. So hältst du ein Abo automatisch an, sobald die Zahlung zurückgebucht wurde, und informierst gleichzeitig Shopbetreiber oder Kunde.
### Ausführung bei der Erstbestellung einbeziehen
Über die Einstellung **„Abo ausgeführt"-Flow auch bei der Erstbestellung triggern** (Bereich Generelle Abonnement-Konfiguration) legst du fest, ob `subscription.executed` bereits bei der initialen Erstbestellung auslöst oder erst ab der ersten wiederkehrenden Ausführung.
Die Vorab-Ankündigungsmail vor einer fälligen Ausführung verschickt das Plugin **nicht** über den Flow Builder, sondern über eine zeitgesteuerte Aufgabe (siehe [Benachrichtigungen und Protokolle konfigurieren](/docs/coe-abo-sw6/konfiguration/benachrichtigungen-und-logs)).
## Überblick
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/index
Unser Abo-Plugin erweitert Shopware 6 um ein vollständiges Abonnement-System: abonnierbare Produkte, wiederkehrende Zahlungen, eine Abo-Verwaltung im Admin sowie Selbstbedienungs-Funktionen im Kundenkonto.
### Was du damit umsetzt
- **Produkte als Abo verkaufen** – Einzelprodukte oder dynamische Produktgruppen mit Intervallen, Kundengruppen-Rabatten und optionalen Vertragslaufzeiten.
- **Wiederkehrende Zahlungen** – über Mollie und PayPal-Vaulting; fällige Abos werden automatisch ausgeführt.
- **Abos im Admin verwalten** – Übersicht mit Statusfilter, Detailansicht, manuelle Ausführung und Protokolle.
- **Selbstbedienung im Kundenkonto** – deine Kunden ändern Intervall und Liefertermin, überspringen Ausführungen, kündigen oder reaktivieren – soweit du es freigibst.
### Einstieg
Beginne mit [Plugin installieren und aktivieren](/docs/coe-abo-sw6/installation) und lege dann unter [Produkte als Abo anbieten](/docs/coe-abo-sw6/produkte-als-abo) dein erstes Abo-Produkt an.
## Plugin installieren und aktivieren
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/installation
Unser Abo-Plugin installierst und aktivierst du wie jede Shopware-Erweiterung im Admin. Diese Seite führt dich durch beide Schritte und zeigt, wo der Abonnement-Bereich danach erscheint.
### Plugin installieren und aktivieren
1. Öffne im Admin **Erweiterungen › Meine Erweiterungen**.
2. Lade das Plugin hoch oder installiere es aus dem Store.
3. Klicke auf **Installieren** und anschließend auf **Aktivieren**.
4. Leere danach den Shop-Cache (**Einstellungen › Caches & Indizes**).
### Wo du das Plugin nach der Aktivierung findest
- Der Abonnement-Bereich erscheint als eigener Menüpunkt **Abonnements** im Menü **Kataloge**. Dort verwaltest du laufende Abos, Abo-Produkte, Vertragslaufzeiten, geplante Ausführungen und Protokolle.
- Die Einstellungen erreichst du unter **Erweiterungen › Meine Erweiterungen** über das Kontextmenü **„…" › Konfiguration** des Plugins.
### Automatische Aufgaben prüfen
Das Plugin bringt drei zeitgesteuerte Aufgaben mit, die standardmäßig alle 12 Stunden laufen:
- **Fällige Abonnements ausführen** – erzeugt zu fälligen Abos die Folgebestellung samt Zahlung.
- **Vorab-Benachrichtigung senden** – verschickt die Ankündigungsmail vor der nächsten Ausführung.
- **Protokolle aufräumen** – löscht alte Admin-Protokolle.
Die Abo-Ausführungen laufen nur, wenn der Shopware-Scheduler aktiv ist. Prüfe unter **Einstellungen › System › Aufgaben**, dass die Aufgaben registriert sind und ausgeführt werden.
## Plugin-Konfiguration im Überblick
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/konfiguration
Die Einstellungen öffnest du im Admin unter **Erweiterungen › Meine Erweiterungen** – dort beim Abo-Plugin über das Kontextmenü **„…" › Konfiguration**, gegliedert in Themenkarten. Diese Seite beschreibt die **Generelle Abonnement-Konfiguration**; die übrigen Bereiche sind am Seitenende verlinkt.
### Generelle Abonnement-Konfiguration
- **Immer initialen Produkt-Preis verwenden** – bei Ausführung wird der Produktpreis der Erstbestellung genutzt statt des aktuellen Preises. Standard: aus. Gilt global für neue und bestehende Abos.
- **„Abo ausgeführt"-Flow auch bei der Erstbestellung triggern** – ob der Flow-Builder-Auslöser „Subscription Executed" auch bei der ersten Bestellung feuert. Standard: an.
- **Nicht-Abo-Zahlarten im Checkout automatisch entfernen** – blendet reguläre Zahlarten aus, sobald ein Abo-Artikel im Warenkorb liegt. Standard: an.
- **Abo-Zahlarten im Checkout automatisch entfernen** – blendet Abo-Zahlarten aus, wenn kein Abo-Artikel im Warenkorb liegt. Standard: an.
- **Produkte zusammenführen** – fasst bei einer Abo-Bestellung Produkte nach Möglichkeit zusammen (unter Berücksichtigung von Laufzeit und Intervall). Standard: an.
- **Bestandsführung bei Abo-Ausführungen deaktivieren** – Standard: aus.
- **Nur ein Intervall im Warenkorb zulassen** – Standard: aus.
- **„In den Warenkorb"-Button in der Produktliste anzeigen** – zeigt den Button auch bei Abo-Produkten (Ausnahme: „nur im Abo bestellbar"). Standard: aus.
- **Zahlarten nur für bestehende Abos** – Zahlarten, die ausschließlich bei Ausführungen bestehender Abos verfügbar sein sollen (siehe [Zahlungsarten](/docs/coe-abo-sw6/konfiguration/zahlungsarten)).
- **Leeres Session-Objekt im Cronjob-Lauf** – für die Kompatibilität mit Drittanbieter-Plugins. Standard: aus.
Das automatische Entfernen von Zahlarten setzt die Verfügbarkeitsregeln von Shopware **nicht** außer Kraft. Vorkasse, Rechnung und Nachnahme gelten dabei ebenfalls als Abo-Zahlarten.
### Weitere Themenbereiche
- [Kunden-Selbstbedienung konfigurieren](/docs/coe-abo-sw6/konfiguration/kundenoptionen)
- [Zahlungsarten für Abonnements einrichten](/docs/coe-abo-sw6/konfiguration/zahlungsarten)
- [Darstellung im Storefront anpassen](/docs/coe-abo-sw6/konfiguration/storefront-darstellung)
- [Geplante Ausführungen einrichten](/docs/coe-abo-sw6/konfiguration/geplante-ausfuehrungen)
- [Benachrichtigungen und Protokolle konfigurieren](/docs/coe-abo-sw6/konfiguration/benachrichtigungen-und-logs)
- [Versandarten für Abonnements](/docs/coe-abo-sw6/konfiguration/versandarten)
- [Affiliate- und Kampagnen-Tracking für Abo-Folgebestellungen](/docs/coe-abo-sw6/konfiguration/affiliate-kampagnen-tracking)
## Affiliate- und Kampagnen-Tracking für Abo-Folgebestellungen
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/konfiguration/affiliate-kampagnen-tracking
Shopware trägt Affiliate- und Kampagnen-Code nur bei einer Bestellung ein, die ein Kunde selbst im Checkout abschließt. Automatisch erzeugte Abo-Folgebestellungen bleiben daher standardmäßig ohne diese Codes – Affiliate-, Kampagnen- oder BI-Auswertungen sehen dann nur die erste Bestellung eines Abonnements, nicht die wiederkehrenden. Im Bereich **Affiliate- und Kampagnen-Tracking** der Plugin-Konfiguration überträgst du beide Codes optional auf jede Folgebestellung.
### Affiliate-Code übertragen
Über **„Affiliate-Code auf Abo-Folgebestellungen übertragen"** erhält jede Folgebestellung eines Abos den Affiliate-Code der ersten Bestellung. Standardmäßig deaktiviert.
### Kampagnen-Code übertragen
Über **„Kampagnen-Code auf Abo-Folgebestellungen übertragen"** erhält jede Folgebestellung eines Abos den Kampagnen-Code der ersten Bestellung. Ebenfalls standardmäßig deaktiviert.
Ein Kampagnen-Code beschreibt einen einzelnen Kaufzeitpunkt. Überträgst du ihn auf jede Folgebestellung, kann das deine Kampagnen-Auswertung verzerren – aktiviere diesen Schalter nur, wenn deine Auswertung das berücksichtigt.
### Wie die Übertragung funktioniert
Beide Schalter sind unabhängig voneinander: Du aktivierst Affiliate- und Kampagnen-Tracking einzeln oder zusammen. Bei jeder Ausführung – automatisch per Zeitplan, manuell im Kundenkonto oder im Admin ausgelöst – ermittelt das Plugin den jeweils **aktuellen** Wert der ersten Bestellung des Abonnements neu; ein später geänderter Code wirkt sich also auch auf künftige Folgebestellungen aus. Fehlt der ersten Bestellung ein Code, bleibt das Feld auf der Folgebestellung leer – wie bisher.
Beide Schalter ändern nichts an bestehenden Bestellungen. Solange sie deaktiviert sind, bleibt das bisherige Verhalten unverändert. Aktiviere sie erst, nachdem du geprüft hast, wie deine Affiliate- oder Reporting-Anbindung wiederkehrende Bestellungen auswertet.
## Benachrichtigungen und Protokolle konfigurieren
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/konfiguration/benachrichtigungen-und-logs
Unser Abo-Plugin informiert deine Kunden per E-Mail über ihre Abonnements und protokolliert alle Ausführungen im Admin. Diese Seite beschreibt die Vorab-Benachrichtigung, die mitgelieferten E-Mail-Vorlagen und die automatische Protokoll-Löschung.
### Vorab-Benachrichtigung
Im Bereich **Benachrichtigungs-Konfiguration** legst du über **Sende Vorab-Ankündigungsmail X Tage vor Auslösung** fest, wie viele Tage vor einer fälligen Ausführung eine Ankündigungsmail verschickt wird. Der Wert **0** deaktiviert den Versand. Verwendet wird die Vorlage **Abonnement Vorabankündigung**; der Versand läuft über eine zeitgesteuerte Aufgabe und ist **nicht** mit dem Flow Builder verknüpft. Die Mail geht in der Sprache des Kunden raus.
### E-Mail-Vorlagen
Das Plugin liefert E-Mail-Vorlagen für die wichtigsten Abo-Ereignisse mit (jeweils in Deutsch und Englisch). Den Inhalt bearbeitest du unter **Einstellungen › E-Mail-Vorlagen**:
- Bestätigung beim Anlegen eines Abonnements,
- Bestätigung bei jeder Ausführung,
- Kündigungsbestätigung,
- Vorab-Ankündigung vor der nächsten Ausführung,
- Benachrichtigung bei fehlgeschlagener Ausführung.
### Protokolle automatisch löschen
Im Bereich **Logging-Konfiguration** steuerst du über **Admin-Logs löschen, die älter sind als X Tage**, wie lange Protokolle aufbewahrt werden (Standard: 90 Tage, **0** deaktiviert die automatische Löschung). Die Löschung übernimmt eine zeitgesteuerte Aufgabe.
## Geplante Ausführungen einrichten
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/konfiguration/geplante-ausfuehrungen
Mit geplanten Ausführungen legst du feste Ausführungstermine für Abonnements fest, statt dich allein am Intervall zu orientieren. Die Funktion aktivierst du in der Konfiguration; die Termine planst und prüfst du im Abonnement-Bereich.
### Funktion aktivieren
Im Bereich **Geplante Ausführungen** der Plugin-Einstellungen:
- **Aktiv** – schaltet geplante Ausführungen ein.
- **Abo-Intervall bei der Berechnung berücksichtigen** – ist die Option aktiv, wird nach einer Ausführung zunächst das reguläre Intervall angewendet und erst davon ausgehend die nächste geplante Ausführung bestimmt. Ist sie deaktiviert, wird das Intervall ignoriert und der nächste geplante Termin sofort festgelegt.
Ist die Funktion aktiv, werden Abos **ausschließlich an den geplanten Ausführungstagen** ausgeführt. An allen anderen Tagen passiert nichts – auch für fällige Abos wird **keine Zahlung ausgelöst und keine Folgebestellung für die Lieferung erzeugt**. Achte deshalb darauf, dass überhaupt Tage ausgewählt sind, die in der **Zukunft** liegen: Fehlt ein nächster geplanter Ausführungstag, bleiben die Abos stehen.
Aktiviere geplante Ausführungen daher nur, wenn du Abos tatsächlich auf bestimmte Tage bündeln willst (z. B. „nur dienstags ausführen"). Wer ohnehin täglich ausführt und versendet, braucht die Funktion nicht.
### Termine planen und validieren
Unter **Kataloge › Abonnements › Ausführungen planen** legst du die künftigen Ausführungstermine fest. Über **„Ausführungen validieren"** prüfst du die geplanten Termine.
## Kunden-Selbstbedienung konfigurieren
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/konfiguration/kundenoptionen
Im Bereich **Kunden-Konfiguration** der Plugin-Einstellungen legst du fest, welche Abo-Aktionen deine Kunden im Kundenkonto selbst ausführen dürfen. Jede Option blendet die zugehörige Funktion im Bereich „Meine Abonnements" ein oder aus (siehe [Abo-Verwaltung im Kundenkonto](/docs/coe-abo-sw6/kundenkonto)).
### Verfügbare Optionen
- **Manuelles Auslösen erlauben** – der Kunde darf sein Abo jederzeit selbst ausführen.
- **Ausführungsdatum ändern erlauben** – der Kunde darf den nächsten Termin verschieben (Auswahl aus den nächsten Ausführungen).
- **Modus zur Änderung des Ausführungsdatums** – wie die möglichen Termine berechnet werden:
- *ab letzter Ausführung* anhand des Intervalls,
- *ab heute* anhand des Intervalls,
- *gemischt* – der Kunde wählt die Berechnungsmethode im Frontend.
- **Kalender-Datumsauswahl** – erlaubt zusätzlich die Wahl des Termins über einen Kalender. Über einen **X-Tage-Versatz** legst du den frühesten wählbaren Termin fest, über einen **maximalen Versatz** den spätesten.
- **Maximale Anzahl an Terminänderungen** – wie oft der Kunde verschieben darf, bevor mindestens einmal ausgeführt werden muss (0 = unbegrenzt).
- **Intervall ändern erlauben** – der Kunde darf das Intervall wechseln (nur auf Werte, in denen alle Produkte verfügbar sind).
- **Reaktivierung erlauben** – der Kunde darf ein gekündigtes Abo selbst reaktivieren.
- **Produkte hinzufügen erlauben** – der Kunde darf einem laufenden Abo Produkte hinzufügen.
Die Optionen „Geplante Ausführung" und „Kalender-Datumsauswahl" haben Vorrang vor dem gewählten Berechnungs-Modus.
## Darstellung im Storefront anpassen
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/konfiguration/storefront-darstellung
Im Bereich **Storefront-Konfiguration** passt du an, wie das Abo im Shop erscheint – Farben, das Abo-Badge und einzelne Beschriftungen.
### Farben
- **Hintergrundfarbe** – Hauptfarbe für abo-bezogene Elemente (Standard: `#2745DB`).
- **Textfarbe** – Textfarbe für diese Elemente (Standard: `#FFFFFF`).
### Abo-Badge in der Produktliste
- **Zeige Badge bei den Produktboxen** – blendet bei verfügbaren Abos ein Badge in den Produktboxen ein (Standard: an).
- **Badge-Text** – der im Badge angezeigte Text.
### Beschriftungen
- **Name des Rabattes im Warenkorb** – Text, der zusammen mit dem Produktnamen erscheint, z. B. „Hauptprodukt – Abo-Rabatt".
- **Mollie: Text im Bezahlvorgang** – Verwendungszweck bei Mollie-Zahlungen. `%order%` wird durch die Bestellnummer, `%customer%` durch die Kundennummer ersetzt.
### Gast-Bestellungen
- **Abo-Gast-Bestellungen erlauben** – ist die Option deaktiviert, wird bei einem Abo-Artikel im Warenkorb die Konto-Erstellung erzwungen und der Checkout ohne Login auf die Startseite umgeleitet (Standard: an).
## Versandarten für Abonnements
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/konfiguration/versandarten
Versandarten pflegst du wie gewohnt unter **Einstellungen › Shop › Versandarten**. Das Plugin bringt keine eigenen Versandarten mit, gibt dir aber Regeln an die Hand, mit denen du Versandarten gezielt für Abos oder für Normalbestellungen verfügbar machst.
### Versandarten je nach Warenkorb steuern
Nutze die mitgelieferten Verfügbarkeitsregeln (siehe [Zahlungsarten](/docs/coe-abo-sw6/konfiguration/zahlungsarten)) auch bei Versandarten:
- **Cart contains subscription product** – Versandart nur, wenn ein Abo-Produkt im Warenkorb liegt.
- **Cart does not contain any subscription products** – Versandart nur für Normalbestellungen.
Für kostenlosen Abo-Versand legst du z. B. eine Versandart mit 0 € an und weist ihr die Regel „Cart contains subscription product" zu. Die mitgelieferten Regeln prüfen nur, ob Abo-Produkte im Warenkorb sind; für feinere Bedingungen legst du eigene Regeln mit der Bedingung „Mindestens ein Abo Produkt im Warenkorb" an.
### Individuelle Versandkosten je Abo
Beim Anlegen eines Abos kannst du individuelle Versandkosten hinterlegen. In der Detailansicht eines laufenden Abos lässt sich die **Versandart** weiterhin ändern.
Die individuellen Versandkosten eines Abos werden in der Detailansicht angezeigt, lassen sich nach dem Anlegen aber nicht mehr im Admin ändern. Ein reiner Erstbestellungs-Versand (kostenfrei nur bei der ersten Lieferung, danach kostenpflichtig) ist derzeit nicht möglich.
## Zahlungsarten für Abonnements einrichten
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/konfiguration/zahlungsarten
Abonnements brauchen eine Zahlart, die wiederkehrende Abbuchungen unterstützt. Unser Abo-Plugin arbeitet mit **Mollie** und **PayPal** (Vaulting) zusammen; auch die Shopware-Zahlarten Vorkasse, Rechnung und Nachnahme gelten als Abo-Zahlarten.
### Unterstützte Zahlarten
- **Mollie** – Kreditkarte, SEPA-Lastschrift, PayPal, iDEAL.
- **PayPal über PayPal-Vaulting** – über das PayPal-Plugin von Shopware.
- **Kredit- oder Debitkarte über PayPal** – Kartenzahlung ohne eigenen PayPal-Account, läuft ebenfalls über PayPal-Vaulting (nicht über Mollie).
- **SEPA-Lastschrift über CoeSepaMandateFields** – die Shopware-Standardzahlart SEPA-Lastschrift, eigenständig und unabhängig von Mollie (siehe unten).
- **Shopware-Standard** – Vorkasse, Rechnung, Nachnahme.
Bei den manuellen Shopware-Zahlarten (Vorkasse, Rechnung, Nachnahme) bleibt der Zahlungsstatus „offen" und wird bei einer Ausführung nicht automatisch aktualisiert – die Zahlungseingänge gleichst du selbst ab.
### Mollie einrichten
Im Bereich **Mollie API Konfiguration**:
- **Test- und Live-API-Schlüssel** hinterlegen.
- **Test-Modus** – im aktivierten Zustand werden keine echten Zahlungen ausgelöst (dann ist der Test-Schlüssel erforderlich, sonst der Live-Schlüssel).
- **Debug-Modus** – nur für Testumgebungen; in produktiven Shops deaktiviert lassen.
- **Webhook-Proxy** – optionale Proxy-URL, falls die Webhook-URL `/mollie/webhook` von außen nicht erreichbar ist.
- **Webhook-Debug** – protokolliert die Webhook-Anfragedaten.
- Über **„API Verbindung prüfen"** testest du die hinterlegten Zugangsdaten.
### Zahlungsstatus bei Rückbuchung und Erstattung
Über Mollie abgewickelte Zahlungen (Kreditkarte, SEPA-Lastschrift, PayPal, iDEAL) hält das Plugin per Webhook automatisch mit dem tatsächlichen Zahlungsstatus synchron:
- Bucht die Bank oder der Kunde eine Zahlung zurück – etwa eine SEPA-Lastschrift –, wechselt der Zahlungsstatus der Bestellung auf **„Rückbuchung"**. Darauf reagierst du automatisiert mit dem Flow-Builder-Auslöser „subscription.chargeback" (siehe [Abo-Ereignisse im Flow Builder automatisieren](/docs/coe-abo-sw6/flow-builder)).
- Erstellst du eine Erstattung direkt im **Mollie-Dashboard**, übernimmt das Plugin sie automatisch: Der Zahlungsstatus wechselt auf **„Erstattet"** bzw. bei einer Teilerstattung auf **„Teilweise erstattet"**.
### SEPA-Zahlung nach Fehlversuch korrigieren
Schlägt bei **„Mollie: Wiederkehrend mit SEPA"** die Zahlung fehl – etwa weil der Kunde IBAN oder BIC falsch eingegeben hat –, leitet Shopware ihn auf die Seite **„Zahlung abschließen"** im Kundenkonto um. Dort stehen die Felder für Kontoinhaber, IBAN und BIC erneut bereit, sodass der Kunde seine Bankdaten direkt korrigieren und die Zahlung erneut abschließen kann, ohne die Bestellung neu aufzugeben.
### PayPal über Mollie: Reference Transactions aktivieren
Bietest du PayPal **über Mollie** an, müssen in deinem Mollie-Konto **Reference Transactions** aktiviert sein. Nur damit kann für ein Abo ein Mandat für wiederkehrende Zahlungen hinterlegt werden. Fehlen sie, schließt der Kunde zwar ab, das Abo bleibt aber **ohne Mandat** und die Folgeausführungen scheitern.
Bietest du PayPal über Mollie im Abo-Checkout an, entsteht nach Abschluss ein Abo ohne Mandat. Weise der PayPal-Zahlart daher die Verfügbarkeitsregel **„Cart does not contain any subscription products"** zu, damit sie bei einem Abo-Artikel im Warenkorb nicht wählbar ist. Beachte: Das Sperren blendet den PayPal-Checkout-Button nicht aus und verhindert die Weiterleitung zu PayPal nicht – der Kunde wird erst nach der Rückkehr in den Shop gebeten, die Zahlart zu wechseln.
### PayPal über PayPal-Vaulting
Alternativ nutzt du PayPal direkt über **PayPal-Vaulting**. Voraussetzung: Das PayPal-Plugin von Shopware ist installiert und aktiviert – die Vaulting-Konfiguration stammt von dort.
Zusätzlich steht die Zahlart **Kredit- oder Debitkarte über PayPal** bereit. Damit zahlt der Kunde direkt per Karte, **ohne eigenen PayPal-Account**; die wiederkehrende Abbuchung läuft ebenfalls über PayPal-Vaulting – nicht über Mollie.
### SEPA-Lastschrift über CoeSepaMandateFields
Zusätzlich zu Mollie unterstützen Abonnements die Shopware-Standardzahlart **SEPA-Lastschrift** als eigenständige Zahlart. Voraussetzung: Unser SEPA-Lastschrift-Plugin **CoeSepaMandateFields** ist installiert und aktiv – es stellt die Mandatsfelder (Kontoinhaber, IBAN, BIC) im Checkout bereit. Ohne dieses Plugin bleibt SEPA-Lastschrift für Abos unsichtbar; alle übrigen Zahlarten und Abläufe sind davon nicht betroffen.
Ist die Zahlart aktiv, gilt für Abonnements:
- Das Mandat aus der ersten Bestellung wird in **jede** Folgebestellung übernommen und dort wie gewohnt angezeigt.
- Nutzt du dasselbe Mandat für **mehrere** Abonnements desselben Kunden, bleibt die Mandatsreferenz für jedes Abonnement korrekt zugeordnet – auch in dessen eigenen Folgebestellungen.
### Zahlarten-Grenzen bei Mollie beachten
Mollie setzt je Zahlart Höchstbeträge. Bisher bekannt sind:
- **Kreditkarte** – bis 10.000 €
- **SEPA-Lastschrift** – bis 1.000 €
- **PayPal** – bis 5.000 €
Diese Grenzen legt Mollie fest und können sich ändern – prüfe sie in deinem Mollie-Konto. Stelle über Verfügbarkeitsregeln sicher, dass eine Zahlart oberhalb ihres Höchstbetrags nicht angezeigt wird.
### Verfügbarkeitsregeln nutzen
Das Plugin legt bei der Installation vier Regeln an, mit denen du Zahl- und Versandarten steuerst:
- **Cart contains subscription product** – trifft zu, wenn mindestens ein Abo-Produkt im Warenkorb liegt.
- **Cart does not contain any subscription products** – trifft zu, wenn kein Abo-Produkt im Warenkorb liegt.
- **Is line-item subscription product** und **Is not line-item subscription product** – dasselbe auf Positionsebene.
Weise einer nur für Abos gedachten Zahlart die erste Regel als Verfügbarkeitsregel zu, einer nur für Normalbestellungen gedachten die zweite. Das automatische Entfernen von Zahlarten aus der [Generellen Abonnement-Konfiguration](/docs/coe-abo-sw6/konfiguration) ergänzt diese Regeln, ersetzt sie aber nicht.
### Zahlarten nur für bestehende Abos
Über **Zahlarten nur für bestehende Abos** beschränkst du ausgewählte Zahlarten so, dass sie ausschließlich bei der Ausführung bestehender Abonnements verfügbar sind – nicht beim Abschluss eines neuen Abos.
## Abo-Verwaltung im Kundenkonto
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/kundenkonto
Unser Abo-Plugin gibt deinen Kunden im Kundenkonto den Bereich **„Meine Abonnements"**, in dem sie ihre laufenden Abos einsehen und – soweit du es freigibst – selbst verwalten. Welche Aktionen sichtbar sind, steuerst du in der Konfiguration (siehe [Kunden-Selbstbedienung konfigurieren](/docs/coe-abo-sw6/konfiguration/kundenoptionen)).
### Übersicht und Detailansicht
Der Kunde sieht eine Liste seiner Abonnements und öffnet zu jedem eine Detailansicht mit Produkten, Intervall, nächstem Liefertermin und Status.
### Intervall ändern
Über **„Bearbeiten"** passt der Kunde den Namen und – wenn freigegeben – das Intervall an. Wählbar sind nur Intervalle, in denen **jedes** Produkt des Abos verfügbar ist.
### Nächsten Liefertermin ändern und Ausführungen überspringen
Über **„Ausführungsdatum ändern"** verschiebt der Kunde den nächsten Ausführungstermin. Je nach Konfiguration erfolgt die Auswahl über die nächsten möglichen Termine oder über eine **Kalender-Datumsauswahl**. Ein Modus bestimmt, ob sich die Termine aus der letzten Ausführung, ab heute oder wahlweise berechnen. Optional begrenzt du, wie oft der Termin vor einer verpflichtenden Ausführung verschoben werden darf.
Im selben Dialog kann der Kunde auch **eine oder mehrere Ausführungen überspringen** – der nächste Liefertermin rückt dann um die entsprechende Anzahl weiter.
### Manuell ausführen
Über **„Jetzt ausführen"** löst der Kunde sein Abo – wenn freigegeben – sofort aus. Dabei kann er wählen, die darauf folgende reguläre Ausführung zu überspringen.
### Kündigen und reaktivieren
Über **„Abonnement kündigen"** beendet der Kunde sein Abo. Ist eine **Vertragslaufzeit** hinterlegt, wirkt die Kündigung zum frühestmöglichen Vertragsende – das Abo läuft bis dahin weiter und steht so lange auf **Kündigung ausstehend**. Ohne Vertragslaufzeit wird sofort gekündigt. Über **„Abonnement reaktivieren"** holt der Kunde ein gekündigtes Abo zurück – nur, wenn du es freigegeben hast. (Das Zurückziehen einer laufenden Kündigung ist eine reine Admin-Aktion.)
### Produkte hinzufügen
Über **„Abonnement bearbeiten"** öffnet der Kunde den Dialog **„Artikel im Abonnement ändern oder hinzufügen"** und ergänzt – wenn freigegeben – weitere Produkte.
### Zahlart und Mandat aktualisieren
Über **„Mandat aktualisieren"** erneuert der Kunde sein Zahlungsmandat. Änderungen an Zahlart und Adresse laufen über den **Bearbeitungsmodus**, der die Neukonfiguration über eine echte Checkout-Bestätigungsseite abbildet.
### Abos aus Gast-Bestellungen
Hat ein Kunde sein Abo als **Gast** bestellt, kann er es zunächst nicht selbst verwalten: Der Bereich „Meine Abonnements" setzt ein echtes, eingeloggtes Kundenkonto voraus – ein Gast-Konto hat keine Login-Daten.
Registriert sich derselbe Kunde später mit **derselben E-Mail-Adresse** ein Konto, übernimmt das Plugin die Abos automatisch: Bei der Registrierung prüft es, ob ein Gast-Konto mit dieser E-Mail-Adresse Abonnements hält, und ordnet diese – samt Zahlungsmandat sowie Liefer- und Rechnungsadresse – dem neuen Konto zu. Danach verwaltet der Kunde seine Abos wie gewohnt selbst.
## Produkte als Abo anbieten
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/produkte-als-abo
Ein Produkt wird abonnierbar, indem du dafür ein **Abo-Produkt** anlegst. Das geschieht im Bereich **Kataloge › Abonnements › Produkte** – nicht im normalen Produkt-Tab. Ein Abo-Produkt verknüpft ein Basisprodukt (oder eine dynamische Produktgruppe) mit Intervallen, Rabatten je Kundengruppe und optional einer Vertragslaufzeit.
### Abo-Produkt anlegen
1. Öffne **Kataloge › Abonnements › Produkte** und klicke auf **„Abonnement Produkt anlegen"**.
2. Wähle ein **Produkt** oder eine **dynamische Produktgruppe** (Produkt-Stream), damit mehrere Produkte auf einmal abonnierbar werden.
3. Setze die Optionen im Konfigurations-Bereich:
- **Aktiv** – schaltet das Abo-Produkt scharf.
- **Produkt ist nur im Abonnement bestellbar** – das Produkt kann dann ausschließlich als Abo gekauft werden; in der Produktliste führt der Button zur Detailseite.
- **Abonnement auf Detailseite vorausgewählt** – auf der Produktseite ist die Abo-Variante voreingestellt.
- **Priorität** – steuert, welches Abo-Produkt greift, wenn ein Produkt über mehrere Regeln erfasst wird.
4. Weise unter **Verfügbare Intervalle** die gewünschten Intervalle zu (siehe unten).
### Intervalle zuweisen
Intervalle bestimmen den Lieferrhythmus eines Abos. Das Plugin liefert einen Satz vordefinierter Intervalle auf Tages-, Wochen- oder Monatsbasis aus. Du weist einem Abo-Produkt die gewünschten Intervalle zu; der Kunde wählt daraus auf der Produktseite. Gibt es nur ein Intervall, wird es automatisch gesetzt.
### Rabatte je Kundengruppe festlegen
Im **Rabatt-Bereich** des Abo-Produkts legst du unter **Verfügbar für Kundengruppen** fest, für welche Kundengruppen das Abo gilt und welchen Rabatt sie erhalten:
- **Rabatt-Wert** je Kundengruppe.
- **Rabatt-Modus** – prozentual (%) oder absolut (fester Betrag).
Den Rabattnamen im Warenkorb passt du in der Storefront-Konfiguration an (siehe [Darstellung im Storefront anpassen](/docs/coe-abo-sw6/konfiguration/storefront-darstellung)).
Die Kundengruppen-Zuordnung steuert zugleich die **Sichtbarkeit**: Das Abo wird nur Kunden angeboten, deren aktuelle Kundengruppe hier zugewiesen ist. Ein Rabatt von 0 % ist zulässig – das Produkt bleibt als Abo buchbar, zeigt dann nur keinen „Sie sparen"-Hinweis. Ohne passende Kundengruppe (oder bei inaktivem Abo-Produkt) erscheint keine Abo-Option.
Der Rabatt gilt je Kundengruppe am Hauptprodukt. Nicht möglich sind gestaffelte Rabatte nach Menge, unterschiedliche Rabatte je Intervall sowie eigene Rabatte je Produktvariante. Änderungen am Rabatt greifen nur für **neue** Abos – bestehende Abos passt du im jeweiligen Abonnement selbst an.
Für angebundene Provisions-, Reporting-, Buchhaltungs- oder ERP-Systeme hinterlegt das Plugin den Abo-Rabatt am Rabatt-Posten zusätzlich im Shopware-Standardformat (welcher Abo-Artikel mit welchem Betrag rabattiert wurde). So können solche Systeme den Rabatt dem richtigen Artikel zuordnen, statt ihn zu übergehen.
### Vertragslaufzeit zuweisen
Optional bindest du ein **Vertrags-Set** (Mindestlaufzeit, Kündigungsfrist, automatische Verlängerung) an das Abo-Produkt. Wie du diese Sets anlegst, beschreibt [Vertragslaufzeiten und Kündigungsfristen festlegen](/docs/coe-abo-sw6/produkte-als-abo/vertragslaufzeiten).
### Viele Abo-Produkte auf einmal pflegen
Für größere Kataloge legst du Abo-Produkte, Kundengruppen-Rabatte und Intervalle auch per Import/Export an, statt sie einzeln zu erfassen – siehe [Abo-Produkte importieren und exportieren](/docs/coe-abo-sw6/produkte-als-abo/import-export).
## Abo-Produkte importieren und exportieren
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/produkte-als-abo/import-export
Für viele Datensätze pflegst du Abo-Produkte nicht einzeln im Admin, sondern per **Import/Export** von Shopware. Das Plugin liefert dafür drei fertige Profile mit (unter **Einstellungen › Shop › Import/Export**), jeweils als CSV mit Semikolon als Trennzeichen.
### Mitgelieferte Profile
- **Abo Produkte** – die abonnierbaren Produkte samt Intervall-Zuweisung. Felder: `id`, `productId` (Pflicht), `active` (Standard 1), `aboProductOnly` (Standard 0), `detailPreselect` (Standard 0), `intervalIds` (Pflicht, mehrere durch `|` getrennt).
- **Abo Produkt Kundengruppen** – die Kundengruppen-Freigabe samt Rabatt. Felder: `id`, `customerGroupId` (Pflicht), `aboProductId` (Pflicht), `discountMode` (Pflicht), `discount` (Pflicht).
- **Abo Intervalle** – die Intervalle. Felder: `id`, `type` (Pflicht), `value` (Pflicht), `sortOrder`, `nameDe` (Pflicht), `nameEn` (Pflicht).
Nach dem Import eines Abo-Produkts ist es noch **nicht** verkaufsfertig: Erst mit einer **Kundengruppen-Zuordnung** (Profil „Abo Produkt Kundengruppen") wird es kaufbar. Ohne diese Zuordnung existiert das Abo-Produkt zwar, kann aber nicht bestellt werden.
### Empfohlenes Vorgehen
Lege zunächst ein Abo-Produkt (und eine Kundengruppen-Zuordnung) von Hand an und exportiere es mit dem passenden Profil. So erhältst du die korrekte Spaltenstruktur als Vorlage für deinen Import. Achte auf eindeutige, 32-stellige IDs.
## Vertragslaufzeiten und Kündigungsfristen festlegen
Quelle: https://service.codeenterprise.de/docs/coe-abo-sw6/produkte-als-abo/vertragslaufzeiten
Mit Vertrags-Sets bindest du Abonnements an eine Mindestlaufzeit, eine Kündigungsfrist und eine automatische Verlängerung. Du verwaltest die Sets unter **Kataloge › Abonnements › Verträge & Laufzeiten** und weist sie anschließend einem Abo-Produkt zu.
### Vertrags-Set anlegen
1. Öffne **Kataloge › Abonnements › Verträge & Laufzeiten** und klicke auf **„Neues Vertrags Set"**.
2. Lege die drei Bausteine fest – jeweils als Wert plus Einheit:
- **Mindestvertragslaufzeit** – wie lange das Abo mindestens läuft.
- **Kündigungsfrist** – Vorlauf, den eine Kündigung einhalten muss.
- **Automatische Verlängerung** – um welchen Zeitraum sich das Abo nach Ablauf verlängert.
3. Speichere das Set.
### Vertrags-Set zuweisen
Verknüpfe das Set beim Anlegen oder Bearbeiten eines Abo-Produkts (siehe [Produkte als Abo anbieten](/docs/coe-abo-sw6/produkte-als-abo)). Aus den Vorgaben berechnet das Plugin den frühestmöglichen Kündigungs- und Vertragsend-Termin. Kündigt ein Kunde sein Abo, sieht er den frühestmöglichen Kündigungstermin.
# Adressen Prüfung für Shopware6 (CoeAccountOrtPlzSw6)
## Häufige Fragen & Grenzen
Quelle: https://service.codeenterprise.de/docs/coe-account-ort-plz-sw6/faq
Hier findest du die wichtigsten Fragen zur Adressen Prüfung und die bewussten Grenzen des Plugins.
### Wo gelten meine Einstellungen?
- Die **Grundeinstellungen** (Städtename, Hausnummer) gelten **pro Verkaufskanal**. Wähle in der Konfiguration den passenden Verkaufskanal, um einzelne Kanäle unterschiedlich einzustellen.
- Die **Postleitzahl-Prüfung** gilt **pro Land** und wirkt in allen Verkaufskanälen gleich, in denen das Land verfügbar ist.
### Für welche Adressen greift die Prüfung?
Die Prüfung läuft immer dann, wenn ein Kunde eine Adresse eingibt: bei der Registrierung, beim Bearbeiten einer Adresse im Konto und im Bestellabschluss. Geprüft werden dabei sowohl die Rechnungs- als auch die Lieferadresse.
### Warum wird eine Postleitzahl gar nicht geprüft?
Die Postleitzahl-Prüfung greift nur, wenn du sie für das jeweilige Land eingerichtet **und** den Schalter **Aktiv** gesetzt hast. Ohne aktive Regel wird die Postleitzahl für dieses Land nicht geprüft. Siehe [Postleitzahl-Prüfung](/docs/coe-account-ort-plz-sw6/plz-validierung).
### Prüft das Plugin, ob eine Adresse wirklich existiert?
Nein. Das Plugin prüft die **Form** der Eingaben – Länge, erlaubte Zeichen und Muster. Es gleicht Adressen **nicht** mit einem externen Verzeichnis ab und erkennt daher nicht, ob eine formal korrekte Postleitzahl, Straße oder Stadt tatsächlich existiert.
### Muss ich reguläre Ausdrücke kennen?
Für die Postleitzahl-Prüfung ist ein Muster (RegEx) optional. Für viele Länder kannst du den mitgelieferten Vorschlag übernehmen, ohne selbst ein Muster zu schreiben. Ein Muster muss immer **vollständig** auf die Postleitzahl passen – Teiltreffer reichen nicht.
### Der Städtename wird abgewiesen, obwohl ich nichts eingestellt habe
Die Prüfung des Städtenamens ist mit einem Standardwert von **32** Zeichen von Anfang an aktiv. Erhöhe den Wert in den [Grundeinstellungen](/docs/coe-account-ort-plz-sw6/konfiguration), wenn du längere Ortsnamen zulassen möchtest.
## Adressen Prüfung für Shopware 6
Quelle: https://service.codeenterprise.de/docs/coe-account-ort-plz-sw6/index
Mit der **Adressen Prüfung** stellst du sicher, dass die Adressdaten deiner Kunden stimmen, bevor sie in deinem Shop landen. Das Plugin prüft die Eingaben direkt im Formular und weist unvollständige oder fehlerhafte Angaben ab – so vermeidest du unzustellbare Sendungen, Retouren und manuelle Nacharbeit.
### Was geprüft wird
Das Plugin bringt drei Prüfungen mit, die du unabhängig voneinander einsetzt:
- **Postleitzahl** – länderabhängig nach Länge, erlaubten Zeichen und einem frei wählbaren Muster. Details unter [Postleitzahl-Prüfung](/docs/coe-account-ort-plz-sw6/plz-validierung).
- **Städtename** – begrenzt die Zeichenanzahl, damit keine überlangen oder offensichtlich falschen Ortsnamen durchrutschen.
- **Hausnummer** – erzwingt bei Bedarf, dass die Straße eine Zahl enthält.
Die letzten beiden richtest du unter [Grundeinstellungen](/docs/coe-account-ort-plz-sw6/konfiguration) ein.
### Wann geprüft wird
Die Prüfung greift überall dort, wo ein Kunde eine Adresse eingibt:
- bei der **Registrierung** eines neuen Kontos,
- beim **Anlegen oder Bearbeiten** einer Adresse im Kundenkonto,
- im **Bestellabschluss**, bevor die Bestellung abgeschickt wird.
Schlägt eine Prüfung an, erhält der Kunde eine verständliche Fehlermeldung direkt am betroffenen Feld und kann die Angabe korrigieren.
### Für wen sich das Plugin eignet
Für alle Shops, in denen korrekte Adressen zählen – vom Versandhandel bis zu Dienstleistern mit Liefergebiets-Bezug. Du konfigurierst alles im Shopware-Admin; technisches Wissen brauchst du nicht.
Dieses Plugin ist mit **Shopware 6.7** kompatibel. Zur Installation geht es unter [Installation](/docs/coe-account-ort-plz-sw6/installation) weiter.
## Installation & Aktivierung
Quelle: https://service.codeenterprise.de/docs/coe-account-ort-plz-sw6/installation
### Plugin installieren
1. Öffne im Admin **Erweiterungen › Meine Erweiterungen**.
2. Suche den Eintrag der Adressen Prüfung und klicke auf **Installieren**.
3. Aktiviere das Plugin anschließend über den Schalter **Aktiv**.
Beim Installieren legt das Plugin eine eigene Tabelle für die länderabhängigen Postleitzahl-Regeln an. Du musst dafür nichts vorbereiten.
### Nächste Schritte
- Lege die allgemeinen Prüfungen für Städtename und Hausnummer unter [Grundeinstellungen](/docs/coe-account-ort-plz-sw6/konfiguration) fest.
- Richte die [Postleitzahl-Prüfung](/docs/coe-account-ort-plz-sw6/plz-validierung) pro Land ein.
### Deinstallieren
Beim Deinstallieren fragt Shopware, ob deine Plugin-Daten erhalten bleiben sollen:
- **Daten behalten** – deine eingerichteten Länder-Regeln bleiben gespeichert und stehen nach einer erneuten Installation wieder bereit.
- **Daten entfernen** – die Länder-Regeln werden vollständig gelöscht.
Die beiden Grundeinstellungen (Städtename, Hausnummer) sind Systemeinstellungen von Shopware und bleiben von dieser Auswahl unberührt.
## Grundeinstellungen
Quelle: https://service.codeenterprise.de/docs/coe-account-ort-plz-sw6/konfiguration
In den Grundeinstellungen steuerst du die beiden allgemeinen Prüfungen für den **Städtenamen** und die **Hausnummer**. Die länderabhängige Postleitzahl-Prüfung richtest du getrennt davon ein – siehe [Postleitzahl-Prüfung](/docs/coe-account-ort-plz-sw6/plz-validierung).
### Einstellungen öffnen
1. Öffne im Admin **Erweiterungen › Meine Erweiterungen**.
2. Klicke beim Eintrag der Adressen Prüfung auf das **⋯**-Menü und wähle **Konfiguration**.
3. Du findest die Optionen im Bereich **Grundeinstellungen**.
Die Einstellungen gelten pro Verkaufskanal. Wähle oben den gewünschten Verkaufskanal, wenn du für einzelne Kanäle unterschiedliche Regeln brauchst.
### Maximale Anzahl an Zeichen für Städte-Namen
Legt fest, wie viele Zeichen ein Städtename höchstens haben darf. Gibt ein Kunde einen längeren Ortsnamen ein, wird die Adresse abgewiesen mit dem Hinweis: *„Der Städte-Name darf nicht mehr als … Zeichen haben."*
Der Standardwert ist **32**. Diese Prüfung ist damit von Anfang an aktiv – passe den Wert an deine Anforderungen an, wenn du längere oder kürzere Ortsnamen zulassen möchtest.
### Straßen müssen eine Zahl enthalten
Ist dieser Schalter aktiv, muss das Straßenfeld mindestens eine Ziffer enthalten – in der Regel die Hausnummer. Fehlt die Zahl, wird die Adresse abgewiesen mit dem Hinweis: *„Die Straße muss eine Hausnummer enthalten."*
Standardmäßig ist diese Option **ausgeschaltet**. Aktiviere sie, wenn in deinem Shop keine Straße ohne Hausnummer erfasst werden soll.
Die Prüfung verlangt nur, dass **irgendeine** Ziffer im Straßenfeld steht. Ob die Hausnummer tatsächlich existiert, wird nicht geprüft – das Plugin gleicht keine Adressen mit einem externen Verzeichnis ab.
## Postleitzahl-Prüfung
Quelle: https://service.codeenterprise.de/docs/coe-account-ort-plz-sw6/plz-validierung
Die Postleitzahl-Prüfung richtest du **pro Land** ein. Für jedes Land legst du eigene Regeln fest – so passt du die Prüfung an die tatsächlichen Postleitzahl-Formate deiner Zielländer an.
### Prüfung für ein Land einrichten
1. Öffne im Admin **Einstellungen › Länder**.
2. Wähle das Land, für das du die Prüfung einrichten möchtest.
3. Auf dem Tab **Allgemein** findest du die Karte **Validierung der Postleitzahl**.
4. Stelle die gewünschten Regeln ein und **speichere** das Land.
### Die Felder im Überblick
- **Aktiv** – schaltet die Postleitzahl-Prüfung für dieses Land ein. Ist der Schalter aus, wird die Postleitzahl für dieses Land **nicht** geprüft.
- **Buchstaben erlaubt** – ist der Schalter aus, wird jede Postleitzahl mit einem Buchstaben abgewiesen. Für Länder mit Buchstaben in der Postleitzahl (z. B. Niederlande oder Großbritannien) musst du ihn einschalten.
- **Minimale Zeichenanzahl** – die Postleitzahl muss mindestens so viele Zeichen haben. Lässt du das Feld leer (oder `0`), wird keine Mindestlänge geprüft.
- **Maximale Zeichenanzahl** – die Postleitzahl darf höchstens so viele Zeichen haben. Leer (oder `0`) bedeutet keine Höchstlänge.
- **Regulärer Ausdruck (RegEx)** – ein Muster, dem die Postleitzahl vollständig entsprechen muss. Damit prüfst du das genaue Format, nicht nur die Länge.
Alle Felder wirken zusammen: Eine Postleitzahl wird nur akzeptiert, wenn sie **jede** aktive Regel erfüllt.
### Passendes Muster übernehmen
Für viele Länder schlägt dir das Plugin automatisch ein passendes Muster vor. Sobald ein Vorschlag vorliegt und vom aktuellen Wert abweicht, erscheint über dem Feld ein Hinweis mit dem vorgeschlagenen Muster. Über die Schaltfläche **Apply this pattern** übernimmst du es direkt in das Feld **Regulärer Ausdruck (RegEx)**.
Das übernommene Muster ist ein Vorschlag als Startpunkt. Prüfe es an ein paar echten Postleitzahlen des Landes und passe es bei Bedarf an, bevor du es scharf schaltest.
### Was der Kunde sieht
Weist die Prüfung eine Postleitzahl ab, erscheint direkt am Feld eine der folgenden Meldungen:
- zu kurz oder zu lang: *„Die Postleitzahl muss mindestens … und darf maximal … Zeichen enthalten"*
- Buchstaben nicht erlaubt: *„Die Postleitzahl darf keine Buchstaben enthalten"*
- Muster nicht erfüllt: *„Ungültige Postleitzahl"*
Vergiss bei Ländern mit Buchstaben in der Postleitzahl nicht den Schalter **Buchstaben erlaubt**. Ist er aus, greift die Buchstaben-Prüfung – selbst wenn dein Muster Buchstaben ausdrücklich zulässt – und gültige Postleitzahlen werden abgewiesen.
# Ausgehende Mails zusätzlich per CC/BCC an E-Mail Adresse senden (CoeEmailSendCopy)
## Empfänger pro E-Mail-Vorlage festlegen
Quelle: https://service.codeenterprise.de/docs/coe-email-send-copy/empfaenger-festlegen
Für jede E-Mail-Vorlage kannst du eine Adresse hinterlegen, die eine Kopie aller darüber verschickten Mails erhält. Nur Vorlagen mit eingetragenem Empfänger verschicken eine Kopie – alle anderen bleiben unverändert.
### Empfänger eintragen
1. Öffne im Admin **Einstellungen** und dort den Bereich **E-Mail-Templates**.
2. Wähle die Vorlage aus, die eine Kopie verschicken soll – zum Beispiel die Bestellbestätigung, eine Rechnung oder das Kontaktformular.
3. Scrolle zur Karte **„E-Mail Kopie senden an"**.
4. Trage im Feld **Empfänger** die gewünschte E-Mail-Adresse ein.
5. Speichere die Vorlage.
Ab sofort geht bei jedem Versand über diese Vorlage automatisch eine Kopie an die eingetragene Adresse – je nach [gewählter Versandart](/docs/coe-email-send-copy/konfiguration) als CC oder BCC.
### Empfänger ändern oder entfernen
Um die Zieladresse zu ändern, überschreibst du den Eintrag im Feld **Empfänger** und speicherst erneut. Leerst du das Feld und speicherst, verschickt die Vorlage keine Kopie mehr.
Pro Vorlage trägst du genau eine Adresse ein. Mehrere Adressen in einem Feld werden nicht unterstützt. Möchtest du mehrere Vorlagen abdecken, hinterlege den Empfänger in jeder dieser Vorlagen einzeln.
## Häufige Fragen und Grenzen
Quelle: https://service.codeenterprise.de/docs/coe-email-send-copy/faq
Hier findest du Antworten auf die häufigsten Fragen rund um die zusätzlichen Mail-Kopien.
### Kann ich mehrere Adressen pro Vorlage eintragen?
Nein. Pro Vorlage ist genau eine Empfänger-Adresse vorgesehen. Trägst du mehrere Adressen in ein Feld ein, wird der Versand der Kopie nicht zuverlässig funktionieren. Wenn mehrere Postfächer mitlesen sollen, richte dafür am besten einen Verteiler auf Seiten deines E-Mail-Systems ein und trage dessen Adresse ein.
### Gilt die Versandart CC/BCC je Vorlage?
Nein. Die [Versandart](/docs/coe-email-send-copy/konfiguration) legst du einmal global fest; sie gilt für alle Vorlagen gemeinsam. Nur die Zieladresse bestimmst du je Vorlage einzeln.
### Welche E-Mails sind betroffen?
Nur E-Mails, die über eine Vorlage mit eingetragenem Empfänger verschickt werden – etwa Bestellbestätigung, Rechnung oder Kontaktformular. Vorlagen ohne Empfänger bleiben unverändert.
### Sieht mein Kunde die Kopie-Adresse?
Das hängt von der Versandart ab: Bei **CC** steht die Adresse sichtbar in der E-Mail. Bei **BCC** erhält die Adresse die Nachricht, ohne dass der Hauptempfänger davon erfährt. Für interne Mitleser ist BCC daher meist die passende Wahl.
### Warum kommt keine Kopie an?
Prüfe der Reihe nach: Ist das Plugin aktiv? Ist in der betreffenden Vorlage im Feld **Empfänger** eine Adresse eingetragen und gespeichert? Wurde die E-Mail tatsächlich über genau diese Vorlage ausgelöst? Bei BCC erscheint die Kopie nicht in der sichtbaren Empfängerzeile – schau direkt im Postfach der hinterlegten Adresse nach.
## Ausgehende E-Mails zusätzlich per CC/BCC senden
Quelle: https://service.codeenterprise.de/docs/coe-email-send-copy/index
Mit dem Plugin „Ausgehende Mails zusätzlich per CC/BCC an E-Mail Adresse senden" hinterlegst du pro E-Mail-Vorlage eine zusätzliche Adresse, die bei jedem Versand automatisch eine Kopie erhält. So liest du Rechnungen, Bestellbestätigungen oder Kontaktanfragen lückenlos mit, ohne den bestehenden Versand zu verändern.
### Wofür du das Plugin nutzt
Deine Kunden bekommen ihre E-Mails wie gewohnt. Zusätzlich geht eine Kopie an eine von dir gewählte Adresse – zum Beispiel an deine Buchhaltung, den Support oder ein zentrales Postfach. Du entscheidest, ob diese Kopie als **CC** (für den Kunden sichtbar) oder als **BCC** (für den Kunden unsichtbar) verschickt wird.
### So funktioniert es
Die Einrichtung besteht aus zwei Schritten:
1. **Versandart wählen** – einmalig legst du fest, ob Kopien per CC oder BCC gehen. Das gilt für alle Vorlagen. Siehe [Versandart wählen: CC oder BCC](/docs/coe-email-send-copy/konfiguration).
2. **Empfänger eintragen** – in jeder Vorlage, die eine Kopie verschicken soll, trägst du die Zieladresse ein. Siehe [Empfänger pro E-Mail-Vorlage festlegen](/docs/coe-email-send-copy/empfaenger-festlegen).
Vorlagen ohne eingetragenen Empfänger bleiben unverändert – es wird nur dann eine Kopie verschickt, wenn du für die jeweilige Vorlage eine Adresse hinterlegt hast.
### Voraussetzungen
Das Plugin läuft ab Shopware 6.6; diese Version ist zusätzlich für Shopware 6.7 freigegeben. Nach der [Installation](/docs/coe-email-send-copy/installation) stehen dir das Empfänger-Feld und die Versandart-Einstellung ohne weitere Einrichtung zur Verfügung.
## Installation und Aktivierung
Quelle: https://service.codeenterprise.de/docs/coe-email-send-copy/installation
### Plugin installieren und aktivieren
1. Öffne im Admin **Einstellungen → System → Plugins**.
2. Lade das Plugin hoch bzw. installiere es aus deinen erworbenen Erweiterungen.
3. Klicke beim Plugin auf **Installieren** und anschließend auf **Aktivieren**.
Sobald das Plugin aktiv ist, legt es im Hintergrund die nötige Datenstruktur an. Du musst dafür nichts weiter tun.
### Was nach der Aktivierung bereitsteht
- In jeder E-Mail-Vorlage erscheint die Karte **„E-Mail Kopie senden an"** mit einem Feld für die Zieladresse. Wie du sie nutzt, liest du unter [Empfänger pro E-Mail-Vorlage festlegen](/docs/coe-email-send-copy/empfaenger-festlegen).
- In der Plugin-Konfiguration wählst du die Versandart CC oder BCC. Details unter [Versandart wählen: CC oder BCC](/docs/coe-email-send-copy/konfiguration).
Solange du in keiner Vorlage einen Empfänger einträgst, verschickt das Plugin keine Kopien. Der bestehende E-Mail-Versand bleibt unberührt.
### Deaktivieren
Deaktivierst du das Plugin, verschickt es keine Kopien mehr und das Empfänger-Feld verschwindet aus den Vorlagen. Die bereits eingetragenen Adressen bleiben gespeichert und stehen nach einer erneuten Aktivierung wieder zur Verfügung.
## Versandart wählen: CC oder BCC
Quelle: https://service.codeenterprise.de/docs/coe-email-send-copy/konfiguration
In der Plugin-Konfiguration entscheidest du, wie die Kopien verschickt werden: als **CC** (Kopie) oder als **BCC** (Blindkopie). Diese Einstellung gilt für alle E-Mail-Vorlagen gemeinsam.
### Versandart einstellen
1. Öffne **Einstellungen → System → Plugins**.
2. Klicke beim Plugin auf das Menü (drei Punkte) und wähle **Konfiguration**.
3. Wähle bei **Methode** einen der beiden Werte:
- **Kopie (cc)** – die Zieladresse steht sichtbar im CC-Feld der E-Mail.
- **Blindkopie (bcc)** – die Zieladresse erhält die E-Mail, ohne dass der Hauptempfänger sie sieht.
4. Speichere die Konfiguration.
Die Voreinstellung ist **Blindkopie (bcc)**.
### CC oder BCC – was passt für dich?
- Wähle **BCC**, wenn dein Kunde nicht erkennen soll, dass eine Kopie mitgeht. Das ist der übliche Fall für interne Mitleser wie Buchhaltung oder Support.
- Wähle **CC**, wenn die zusätzliche Adresse für den Kunden offen sichtbar sein soll – etwa, weil ein Ansprechpartner bewusst in Kopie gesetzt wird.
Die Methode gilt einheitlich für alle Vorlagen. Die Adresse, an die die Kopie geht, legst du dagegen je Vorlage einzeln fest – siehe [Empfänger pro E-Mail-Vorlage festlegen](/docs/coe-email-send-copy/empfaenger-festlegen).
# Belegübersicht in Administration / Dokument Management System (DMS) (CoeBelegePrintSw6)
## Belege exportieren
Quelle: https://service.codeenterprise.de/docs/coe-belege-print-sw6/belege-exportieren
Aus der [Belege-Übersicht](/docs/coe-belege-print-sw6/belege-uebersicht) exportierst du entweder die komplette gefilterte Liste oder eine gezielte Auswahl – in mehreren Formaten.
### Export starten
Oben rechts in der Kopfleiste findest du die Export-Schaltfläche:
- Ist **keine** Zeile markiert, heißt sie **Übersicht** – exportiert werden dann alle Belege, die deine aktuellen Filter ergeben.
- Hast du über die Kontrollkästchen Zeilen markiert, heißt sie **Auswahl** – exportiert wird dann nur die markierte Auswahl.
Ein Klick öffnet ein Menü mit den Export-Formaten. Die Datei wird erzeugt und direkt heruntergeladen.
### Die Formate
Es gibt zwei Arten von Export: die **Übersicht als Bericht** und die **Belege selbst als Datei**.
**Die Übersicht als Bericht** – die Tabellendaten (Belegnummer, Bestellnummer, Status usw.):
- **Als .CSV** – die Liste als CSV-Datei, z. B. zur Weiterverarbeitung in einer Tabellenkalkulation.
- **Als .Html** – die Liste als HTML-Tabelle.
- **Als Tabelle in .PDF** – die Liste als druckfertige PDF-Tabelle im Querformat.
**Die Belege selbst** – die eigentlichen Beleg-Dokumente:
- **Als .PDF** – alle ausgewählten Belege zu **einem** zusammengeführten PDF verbunden.
- **Als .Zip (einzelne PDFs)** – jeder Beleg als eigene PDF-Datei, gebündelt in einem ZIP-Archiv.
### Gut zu wissen
- Der Export berücksichtigt immer deine **aktiven Filter** bzw. deine **Auswahl** – so exportierst du gezielt z. B. nur die Rechnungen eines Monats.
- Fehlt zu einem Beleg die hinterlegte PDF-Datei (etwa weil sie nachträglich gelöscht wurde), wird dieser Beleg **übersprungen**; der Export bricht deshalb nicht ab.
Bei sehr vielen Belegen kann der Export – besonders das zusammengeführte PDF und das ZIP-Archiv – einen Moment dauern, da die einzelnen Dokumente dafür geladen werden. Grenze die Liste bei Bedarf über die Filter ein.
## Belege-Übersicht öffnen und filtern
Quelle: https://service.codeenterprise.de/docs/coe-belege-print-sw6/belege-uebersicht
Die Belege-Übersicht listet alle Belege deines Shops in einer Tabelle – unabhängig davon, in welcher Bestellung sie erzeugt wurden. Du erreichst sie in der Administration unter *Bestellungen → Belege Übersicht*.
### Die Tabelle
Jede Zeile ist ein einzelner Beleg. Angezeigt werden unter anderem:
- **Belegnummer** und **Bestellnummer**
- **Beleg-Typ** (z. B. Rechnung, Lieferschein, Storno, Gutschrift)
- **Beleg erstellt am**, **Bestellt am** und **Bezahlt am**
- **Bestellstatus**, **Zahlstatus** und **Versandstatus** – jeweils als farbige Statusmarkierung
- **Lieferland**, **Kundengruppe** und **Verkaufskanal**
- **Beleg versendet** – ob der Beleg bereits versendet wurde
Über die Spaltenköpfe sortierst du die Liste; die Seitengröße und das Blättern steuerst du unten über die Seitennavigation.
### Nach Belegen filtern
Öffne rechts die **Filter**-Leiste in der Seitenleiste. Dort stehen dir diese Filter zur Verfügung:
- **Belegnummer** und **Bestellnummer**
- **Dokumenten-Typ**
- **Dokument-Erstelldatum**, **Zahldatum** und **Bestelldatum** (jeweils als Zeitraum)
- **Kundengruppe** und **Verkaufskanal**
- **Bestellstatus**, **Bezahlstatus** und **Lieferstatus**
- **Dokument versendet** (ja/nein)
Die Filter lassen sich kombinieren – so erzeugst du z. B. eine Liste ausschließlich der Rechnungen eines bestimmten Monats. Die gesetzten Filter wirken sich unmittelbar auf die Liste **und** auf den [Export](/docs/coe-belege-print-sw6/belege-exportieren) aus.
Die Spalte *Lieferland* dient der Anzeige und Sortierung; ein eigener Filter für das Lieferland ist derzeit nicht vorhanden.
### Zu Beleg, Bestellung oder Kunde springen
Über das Kontextmenü am Ende jeder Zeile (drei Punkte) erreichst du direkt:
- **Dokument öffnen** – zeigt den Beleg als PDF in einem neuen Tab.
- **Bestellung öffnen** – wechselt zur zugehörigen Bestellung.
- **Kunden öffnen** – wechselt zum Kundenkonto (sofern der Kunde noch existiert).
Zusätzlich ist die **Bestellnummer** in der Tabelle direkt als Link zur Bestellung hinterlegt.
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-belege-print-sw6/faq
Kurze Antworten auf die Fragen, die beim Arbeiten mit der Belege-Übersicht am häufigsten aufkommen.
### Warum fehlen einzelne Belege im Export?
Wenn zu einem Beleg die hinterlegte PDF-Datei nicht mehr vorhanden ist (z. B. weil sie im Media-Verwaltung gelöscht wurde), wird dieser Beleg beim Export **übersprungen**. Das ist gewollt: So bricht der gesamte Export nicht ab, sondern liefert dir alle übrigen Belege.
### Welchen Zeitraum umfasst der automatische Mailversand?
Immer den **Vormonat**. Für einen frei wählbaren Zeitraum nutze stattdessen den [manuellen Export](/docs/coe-belege-print-sw6/belege-exportieren) mit den Datumsfiltern der Übersicht.
### Kann ich nach dem Lieferland filtern?
Das Lieferland wird als **Spalte** angezeigt und ist sortierbar, steht aber aktuell **nicht** als eigener Filter zur Verfügung. Alle verfügbaren Filter findest du unter [Belege-Übersicht öffnen und filtern](/docs/coe-belege-print-sw6/belege-uebersicht).
### Die Monatsmail kommt nicht an – woran liegt das?
Prüfe der Reihe nach:
- Ist **Aktiviere den Mailversand** in der Konfiguration eingeschaltet?
- Ist mindestens ein gültiger **Empfänger** eingetragen (mehrere mit `;` getrennt)?
- Ist ein **Anhang-Format** ausgewählt?
- Laufen in deinem Shop die **geplanten Aufgaben**? Der Versand hängt an der täglichen Aufgabe *coe.send\_documents\_mail\_task*.
- Ist der eingestellte **Versandtag** bereits erreicht? Die Mail geht nur an genau diesem Tag raus.
Alle Details dazu stehen unter [Belege automatisch per Mail versenden](/docs/coe-belege-print-sw6/mailversand).
### Der neue Menüpunkt erscheint nicht
Lade die Administration nach der Aktivierung **einmal neu** (Seite im Browser aktualisieren). Der Menüpunkt *Belege Übersicht* liegt unter *Bestellungen*.
## Belege-Übersicht und -Export für Shopware 6
Quelle: https://service.codeenterprise.de/docs/coe-belege-print-sw6/index
Unser Beleg-Plugin ergänzt die Shopware-Administration um eine zentrale **Belege-Übersicht** unter *Bestellungen*. Dort findest du alle Belege deines Shops – Rechnungen, Lieferscheine, Stornorechnungen, Gutschriften – an einer Stelle, statt sie einzeln in jeder Bestellung zu suchen.
### Was das Plugin für dich tut
- **Alle Belege auf einen Blick** – eine sortierbare Tabelle über alle Bestellungen hinweg, mit Belegnummer, Bestellnummer, Beleg-Typ, Status und mehr.
- **Gezielt filtern** – nach Belegnummer, Bestellnummer, Beleg-Typ, Bestell-, Zahlungs- und Lieferstatus, Kundengruppe, Verkaufskanal, Datum und dem Versand-Status.
- **Direkt weiterspringen** – aus jeder Zeile öffnest du mit einem Klick das Dokument, die zugehörige Bestellung oder den Kunden.
- **Flexibel exportieren** – die gefilterte Übersicht oder eine gezielte Auswahl als CSV, HTML oder PDF, und die Belege selbst gebündelt als PDF oder als ZIP.
- **Monatlich automatisch per Mail** – die Belege des Vormonats gehen auf Wunsch automatisch als Anhang an eine oder mehrere Adressen (z. B. an deine Steuerkanzlei).
### Für wen
Das Plugin richtet sich an Shop-Betreiber und ihr Backoffice. Du bedienst alles in der Administration; Kunden im Storefront bemerken nichts davon.
### Erste Schritte
Nach der [Installation](/docs/coe-belege-print-sw6/installation) findest du die Übersicht unter *Bestellungen → Belege Übersicht*. Wie du sie [filterst](/docs/coe-belege-print-sw6/belege-uebersicht), [exportierst](/docs/coe-belege-print-sw6/belege-exportieren) und den [automatischen Mailversand](/docs/coe-belege-print-sw6/mailversand) einrichtest, liest du auf den folgenden Seiten.
## Installation
Quelle: https://service.codeenterprise.de/docs/coe-belege-print-sw6/installation
Die Installation läuft über den normalen Shopware-Weg – du brauchst keine zusätzlichen Schritte auf dem Server.
### Plugin installieren
1. Öffne in der Administration *Erweiterungen → Meine Erweiterungen*.
2. Lade das Plugin hoch (falls du es als Datei erhalten hast) oder installiere es aus dem Shopware Store.
3. Klicke bei unserem Beleg-Plugin auf **Installieren** und anschließend auf **Aktivieren**.
4. **Lade die Administration einmal neu** (Seite im Browser aktualisieren), damit der neue Menüpunkt erscheint.
### Nach der Installation
Du findest die Übersicht danach unter *Bestellungen → Belege Übersicht*. Sofort einsatzbereit sind die [Übersicht mit Filtern](/docs/coe-belege-print-sw6/belege-uebersicht) und der [Export](/docs/coe-belege-print-sw6/belege-exportieren).
Den **automatischen Mailversand** der Monatsbelege richtest du separat ein – wie das geht, liest du unter [Belege automatisch per Mail versenden](/docs/coe-belege-print-sw6/mailversand). Ohne diese Einrichtung bleibt der Mailversand inaktiv; alle übrigen Funktionen stehen dir unabhängig davon zur Verfügung.
Das Plugin ist mit Shopware 6.7 kompatibel. Für Shopware 6.6 steht eine eigene Plugin-Version bereit – achte beim Update darauf, die zu deiner Shopware-Version passende Fassung zu verwenden.
## Belege automatisch per Mail versenden
Quelle: https://service.codeenterprise.de/docs/coe-belege-print-sw6/mailversand
Das Plugin kann dir die Belege des Vormonats **automatisch einmal im Monat** per E-Mail zuschicken – etwa gebündelt an deine Steuerkanzlei oder Buchhaltung. Die Einstellungen dafür findest du in der Plugin-Konfiguration.
### Konfiguration öffnen
Öffne *Erweiterungen → Meine Erweiterungen*, klicke bei unserem Beleg-Plugin auf die drei Punkte und wähle **Konfiguration**. Im Bereich *Dokumente per Mail versenden* stellst du ein:
- **Aktiviere den Mailversand** – Hauptschalter. Nur wenn er aktiv ist, wird überhaupt versendet.
- **Dokumente per Mail an Tag des Monats senden** – der Tag (1–31), an dem die Mail rausgeht. Gibst du **31** ein, wird automatisch der **letzte Tag des Monats** verwendet.
- **Mailempfänger** – eine oder mehrere Adressen. Mehrere Empfänger trennst du mit einem Semikolon (`;`).
- **Anhänge hinzufügen** – wähle ein oder mehrere Formate für die Anhänge:
- *PDFs im ZIP-Archiv* – jeder Beleg als eigene PDF in einem ZIP.
- *Alle Dokumente in einer PDF* – alle Belege zu einem PDF zusammengeführt.
- *Als CSV-Datei* – die Belegübersicht als CSV.
- *Als HTML-Datei* – die Belegübersicht als HTML.
- **Für jeden Anhang eine separate Mail senden** – ist die Option aktiv, geht pro gewähltem Format eine eigene Mail raus (nützlich, wenn einzelne Anhänge sonst zu groß würden).
### Welche Belege enthält die Mail?
Die Mail enthält immer die Belege des **Vormonats** – läuft der Versand also im Juli, sind die Belege aus dem Juni enthalten. Ein eigener Zeitraum lässt sich für den automatischen Versand nicht festlegen; für gezielte Zeiträume nutze den [manuellen Export](/docs/coe-belege-print-sw6/belege-exportieren).
### Voraussetzungen für den Versand
Damit die Mail zuverlässig rausgeht, müssen zwei Dinge stimmen:
1. Der Schalter **Aktiviere den Mailversand** ist aktiv und mindestens ein **Empfänger** ist eingetragen.
2. Shopware führt geplante Aufgaben aus. Der Versand hängt an der geplanten Aufgabe *coe.send\_documents\_mail\_task*, die täglich prüft, ob der eingestellte Versandtag erreicht ist. Stelle sicher, dass die geplanten Aufgaben in deinem Shop laufen (System/Cron).
### Mailvorlage anpassen
Betreff, Absendername und Text der Mail stecken in der Vorlage **Dokumente des Monats**. Du bearbeitest sie in der Administration unter *Einstellungen → E-Mail-Vorlagen*. So passt du Anrede und Text an dein Corporate Wording an, ohne am Plugin etwas zu ändern.
Fehlt zu einem Beleg die PDF-Datei, wird er beim Erzeugen der Anhänge übersprungen, statt den Versand abzubrechen – die Mail geht mit den verfügbaren Belegen raus.
# Benachrichtigung bei Artikel Bewertung (CoeNoticeOnRatingSw6)
## Die Benachrichtigungs-E-Mail
Quelle: https://service.codeenterprise.de/docs/coe-notice-on-rating-sw6/benachrichtigungs-e-mail
Jede Benachrichtigung basiert auf einer E-Mail-Vorlage, die das Plugin bei der Installation anlegt. Du kannst ihren Inhalt frei anpassen – Text, Betreff und Absendername.
### Wann wird die E-Mail verschickt?
Sobald in deinem Shop eine Produktbewertung gespeichert wird, stellt das Plugin die Benachrichtigung zusammen und verschickt sie an den [konfigurierten Empfänger](/docs/coe-notice-on-rating-sw6/konfiguration). Der Versand läuft automatisch im Hintergrund – du musst nichts weiter tun.
### Was steht in der E-Mail?
Standardmäßig enthält die Benachrichtigung:
- den **Produktnamen** des bewerteten Artikels,
- den **Titel** der Bewertung,
- die **Sterne-Anzahl**,
- den **Kommentartext** der Bewertung,
- einen **Link zur Rezensions-Übersicht** im Shopware-Admin, über den du die Bewertung direkt prüfen und freischalten kannst.
### E-Mail-Text anpassen
1. Öffne **Einstellungen › E-Mail-Vorlagen**.
2. Öffne die vom Plugin angelegte Vorlage mit dem Betreff **„Ein Artikel wurde bewertet"**.
3. Passe Betreff, HTML- und Plain-Text-Inhalt sowie den Absendernamen nach deinen Wünschen an und **speichere**.
#### Verfügbare Platzhalter
Im Vorlagentext kannst du diese Platzhalter verwenden – sie werden beim Versand automatisch mit den Bewertungsdaten gefüllt:
- `{{ recipientName }}` – der konfigurierte Empfänger-Name
- `{{ productName }}` – Name des bewerteten Produkts
- `{{ reviewTitle }}` – Titel der Bewertung
- `{{ reviewPoints }}` – Anzahl der Sterne
- `{{ reviewContent }}` – Kommentartext der Bewertung
- `{{ reviewURL }}` – Link zur Rezensions-Übersicht im Admin
Die Vorlage wird mehrsprachig ausgeliefert (Deutsch und Englisch). Welche Sprachfassung versendet wird, richtet sich nach der Sprache des jeweiligen Verkaufskanals. Passe den Text am besten in allen von dir genutzten Sprachen an.
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-notice-on-rating-sw6/faq
Hier findest du Antworten auf die Fragen, die beim Einsatz des Plugins am häufigsten aufkommen.
### Werden Bewertungen durch das Plugin freigeschaltet oder moderiert?
Nein. Das Plugin **informiert** dich nur über neue Bewertungen. Das Prüfen und Freischalten der Rezensionen nimmst du wie gewohnt im Shopware-Standard vor – am schnellsten über den Link in der Benachrichtigungs-E-Mail, der dich direkt zur Rezensions-Übersicht im Admin führt.
### An wen geht die Benachrichtigung, wenn ich keine Adresse eingetragen habe?
An die allgemeine Shop-E-Mail-Adresse aus deinen Grundeinstellungen. Trage in der [Konfiguration](/docs/coe-notice-on-rating-sw6/konfiguration) nur dann eine eigene Adresse ein, wenn die Benachrichtigungen an ein anderes Postfach gehen sollen.
### In welcher Sprache kommt die E-Mail?
Die Vorlage wird auf Deutsch und Englisch ausgeliefert. Welche Sprachfassung versendet wird, richtet sich nach der Sprache des Verkaufskanals, in dem die Bewertung abgegeben wurde. Den Text jeder Sprachfassung kannst du unter [Die Benachrichtigungs-E-Mail](/docs/coe-notice-on-rating-sw6/benachrichtigungs-e-mail) anpassen.
### Ich erhalte keine Benachrichtigungen – woran liegt das?
Prüfe der Reihe nach:
- Ist das Plugin **aktiviert**? (Erweiterungen › Meine Erweiterungen)
- Ist eine gültige **Empfänger-Adresse** hinterlegt – oder zumindest eine allgemeine Shop-E-Mail-Adresse gesetzt?
- Funktioniert der **E-Mail-Versand** deines Shops grundsätzlich? Die Benachrichtigung nutzt denselben Mailversand wie alle übrigen Shop-E-Mails. Prüfe im Zweifel deine Mailer-Einstellungen und den Spam-Ordner des Empfängers.
Die Benachrichtigung wird ausgelöst, sobald eine Bewertung gespeichert wird – unabhängig von der vergebenen Sterne-Zahl. Du wirst also über jede eingehende Rezension informiert.
## Benachrichtigung bei Artikel-Bewertung
Quelle: https://service.codeenterprise.de/docs/coe-notice-on-rating-sw6/index
Mit *Benachrichtigung bei Artikel Bewertung* verpasst du keine neue Produktbewertung mehr. Sobald ein Kunde in deinem Shop eine Bewertung zu einem Artikel abgibt, verschickt das Plugin automatisch eine E-Mail an eine von dir festgelegte Adresse – inklusive Produktname, Titel, Sternebewertung und Kommentartext.
### Für wen ist das Plugin gedacht?
Für alle Shop-Betreiber, die Kundenbewertungen aktiv begleiten möchten: Support-Teams, die zeitnah auf Feedback reagieren, oder Redakteure, die neue Rezensionen prüfen und freischalten. Statt regelmäßig manuell im Admin nachzusehen, kommt die Info direkt zu dir ins Postfach.
### Wie funktioniert es?
Das Plugin lauscht im Hintergrund auf neue Produktbewertungen. Wird eine Bewertung gespeichert, stellt es eine E-Mail mit den wichtigsten Details zusammen und versendet sie an den hinterlegten Empfänger. In der E-Mail findest du außerdem einen Link, der dich direkt zur Rezensions-Übersicht im Shopware-Admin führt – dort kannst du die Bewertung prüfen und freischalten.
Das Plugin **benachrichtigt** nur – das Freischalten und Verwalten der Bewertungen selbst übernimmst du wie gewohnt im Shopware-Standard.
### Erste Schritte
- [Installation](/docs/coe-notice-on-rating-sw6/installation) – Plugin installieren und aktivieren
- [Konfiguration](/docs/coe-notice-on-rating-sw6/konfiguration) – Empfänger festlegen
- [Die Benachrichtigungs-E-Mail](/docs/coe-notice-on-rating-sw6/benachrichtigungs-e-mail) – Inhalt anpassen und verstehen
## Installation & Aktivierung
Quelle: https://service.codeenterprise.de/docs/coe-notice-on-rating-sw6/installation
Du installierst das Plugin wie jede andere Shopware-Erweiterung über das Admin. Nach der Aktivierung ist die Benachrichtigung sofort aktiv – du musst nur noch den Empfänger hinterlegen.
### Plugin installieren
1. Öffne im Shopware-Admin **Erweiterungen › Meine Erweiterungen**.
2. Suche in der Liste den Eintrag *Benachrichtigung bei Artikel Bewertung*.
3. Klicke auf **Installieren** und anschließend auf **Aktivieren**.
Beim Installieren legt das Plugin automatisch eine eigene E-Mail-Vorlage an, die für den Versand der Benachrichtigung verwendet wird. Du findest sie danach unter **Einstellungen › E-Mail-Vorlagen** und kannst ihren Text jederzeit anpassen – mehr dazu unter [Die Benachrichtigungs-E-Mail](/docs/coe-notice-on-rating-sw6/benachrichtigungs-e-mail).
### Empfänger festlegen
Direkt nach der Installation solltest du festlegen, wer die Benachrichtigungen erhält. Das erledigst du in der [Konfiguration](/docs/coe-notice-on-rating-sw6/konfiguration).
Ist noch keine Empfänger-Adresse hinterlegt, verschickt das Plugin die Benachrichtigung an die allgemeine Shop-E-Mail-Adresse aus deinen Grundeinstellungen. So geht keine Bewertung verloren, auch bevor du die Konfiguration abgeschlossen hast.
### Deinstallieren
Beim Deinstallieren fragt Shopware, ob deine Daten erhalten bleiben sollen:
- **Daten behalten:** Die vom Plugin angelegte E-Mail-Vorlage bleibt bestehen. Installierst du das Plugin später erneut, kannst du sie weiterverwenden.
- **Daten löschen:** Die E-Mail-Vorlage und ihr Vorlagen-Typ werden entfernt. Deine Anpassungen am Vorlagentext gehen dabei verloren.
## Konfiguration
Quelle: https://service.codeenterprise.de/docs/coe-notice-on-rating-sw6/konfiguration
In der Konfiguration bestimmst du, an wen die Benachrichtigungen gehen. Es gibt nur zwei Felder – beide sind schnell ausgefüllt.
### Konfiguration öffnen
1. Öffne **Erweiterungen › Meine Erweiterungen**.
2. Klicke beim Eintrag *Benachrichtigung bei Artikel Bewertung* auf das **„…"-Menü** und wähle **Konfiguration**.
Du findest dort die Karte **Grundeinstellungen** mit den folgenden zwei Feldern.
### Empfänger Name
Der Name, der als Empfänger in der Benachrichtigung verwendet und in der E-Mail als Anrede angezeigt wird (zum Beispiel „Hallo Support-Team,"). Das Feld ist optional – lässt du es leer, bleibt die Anrede in der Standard-Vorlage entsprechend ohne Namen.
### Empfänger E-Mail Adresse
Die Adresse, an die jede Benachrichtigung geht, zum Beispiel `support@dein-shop.de`.
Lässt du dieses Feld leer, verwendet das Plugin automatisch die **allgemeine Shop-E-Mail-Adresse** aus *Einstellungen › Grundeinstellungen › Shop*. Trage hier nur dann eine Adresse ein, wenn die Benachrichtigungen an ein anderes Postfach gehen sollen als deine allgemeine Shop-Adresse.
Klicke abschließend auf **Speichern**. Die neue Empfänger-Adresse gilt ab der nächsten eingehenden Bewertung.
# Bestellungen aus der Übersicht heraus direkt stornieren (CoeStornoBestellungSw6)
## Bestellungen stornieren
Quelle: https://service.codeenterprise.de/docs/coe-storno-bestellung-sw6/bestellung-stornieren
Das Plugin fügt sowohl der allgemeinen Bestellübersicht als auch der Bestellliste eines Kunden einen neuen Eintrag **„Bestellung stornieren"** im Kontextmenü hinzu. Über eine kurze Sicherheitsabfrage stornierst Du die gewählte Bestellung, ohne sie öffnen zu müssen.
### Aus der Bestellübersicht stornieren
1. Öffne im Admin **Bestellungen › Übersicht**.
2. Klicke in der gewünschten Zeile rechts auf das Kontextmenü (das Symbol mit den drei Punkten).
3. Wähle den rot hervorgehobenen Eintrag **„Bestellung stornieren"**.
4. Bestätige die Sicherheitsabfrage mit **„Stornieren"** – oder brich mit **„Abbrechen"** ab.
Nach dem Bestätigen wird die Bestellung storniert und die Liste aktualisiert sich.
### Aus der Bestellliste eines Kunden stornieren
1. Öffne **Kunden**, wähle den gewünschten Kunden und wechsle auf den Reiter **Bestellungen**.
2. Öffne in der gewünschten Zeile das Kontextmenü und wähle **„Bestellung stornieren"**.
3. Bestätige die Sicherheitsabfrage mit **„Stornieren"**.
Anschließend öffnet sich die Detailseite der stornierten Bestellung, sodass Du das Ergebnis direkt prüfen kannst.
### Was beim Stornieren passiert
- Der **Bestellstatus** wechselt auf **„Abgebrochen"**.
- Der **Bestand** der enthaltenen Artikel wird von Shopware automatisch zurückgebucht.
Beim schnellen Stornieren werden **keine Dokumente** (etwa eine Storno-Rechnung) an den Kunden versendet. Möchtest Du zusätzlich Dokumente verschicken, storniere die Bestellung über ihre **Detailseite** oder automatisiere den Versand über den Shopware-Flow-Builder.
Ist eine Bestellung bereits storniert, ist der Eintrag **„Bestellung stornieren"** für diese Zeile ausgegraut und lässt sich nicht erneut auslösen.
Weitere Antworten findest Du unter [Häufige Fragen](/docs/coe-storno-bestellung-sw6/faq).
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-storno-bestellung-sw6/faq
Hier findest Du Antworten auf die häufigsten Fragen zum schnellen Stornieren.
### Wird der Bestand nach dem Stornieren zurückgebucht?
Ja. Sobald eine Bestellung auf „Abgebrochen" wechselt, bucht Shopware 6 den Bestand der enthaltenen Artikel automatisch zurück. Das Plugin bringt dafür keine eigene Funktion mit, weil Shopware das bereits von Haus aus erledigt.
### Werden Storno-Dokumente an den Kunden gesendet?
Nein. Das schnelle Stornieren aus der Übersicht versendet **keine Dokumente** wie eine Storno-Rechnung. Möchtest Du den Kunden mit einem Dokument informieren, storniere die Bestellung über ihre **Detailseite** und erstelle bzw. versende das Dokument dort.
### Kann ich Stornierungen automatisieren?
Ja – über den **Flow Builder** von Shopware. Dort kannst Du auf den Wechsel in den Status „Abgebrochen" reagieren und automatisiert weitere Aktionen auslösen, etwa eine Benachrichtigung. Diese Automatisierung ist eine Standardfunktion von Shopware und unabhängig von diesem Plugin nutzbar.
### Warum ist „Bestellung stornieren" ausgegraut?
Der Eintrag ist deaktiviert, wenn die Bestellung bereits den Status „Abgebrochen" hat. Eine bereits stornierte Bestellung lässt sich nicht erneut stornieren.
### Muss ich etwas konfigurieren?
Nein. Nach der [Installation](/docs/coe-storno-bestellung-sw6/installation) und einem Neuladen des Admins ist die Funktion sofort einsatzbereit – es gibt keine Einstellungen.
## Bestellungen direkt aus der Übersicht stornieren
Quelle: https://service.codeenterprise.de/docs/coe-storno-bestellung-sw6/index
Unser Plugin erweitert die Bestellübersicht Deines Shopware-6-Shops um eine Storno-Funktion: Du stornierst eine Bestellung mit einem einzigen Klick direkt aus der Liste heraus – in der allgemeinen Bestellübersicht ebenso wie in der Bestellliste eines Kunden. Das Öffnen jeder einzelnen Bestellung entfällt.
### Für wen ist das Plugin gedacht?
Für alle, die im Shop-Alltag häufig Bestellungen stornieren und dabei Zeit sparen möchten. Statt jede Bestellung zu öffnen und den Status manuell umzustellen, erledigst Du das direkt aus der Übersicht – mit einer kurzen Sicherheitsabfrage, damit nichts versehentlich abgebrochen wird.
### Dein Nutzen auf einen Blick
- **Ein-Klick-Storno** direkt aus der Bestellübersicht.
- **Ein-Klick-Storno** aus der Bestellliste eines Kunden.
- **Automatische Bestandsrückbuchung** – darum kümmert sich Shopware 6 beim Stornieren von selbst.
### Was das Plugin bewusst nicht tut
Der Vorgänger unter Shopware 5 hat den Bestand zusätzlich selbst korrigiert. Diese Aufgabe übernimmt Shopware 6 bereits von Haus aus – deshalb konzentriert sich unser Plugin allein auf die schnelle Stornierung und bringt keine eigene Bestandskorrektur mit. Es gibt auch keine Einstellungen: Nach der Installation ist die Funktion sofort einsatzbereit.
Wie Du loslegst, liest Du unter [Installation](/docs/coe-storno-bestellung-sw6/installation). Den eigentlichen Ablauf findest Du unter [Bestellungen stornieren](/docs/coe-storno-bestellung-sw6/bestellung-stornieren).
## Installation
Quelle: https://service.codeenterprise.de/docs/coe-storno-bestellung-sw6/installation
Die Einrichtung ist in wenigen Minuten erledigt: Du installierst das Plugin, aktivierst es und lädst den Admin einmal neu. Eine gesonderte Konfiguration gibt es nicht.
### Plugin installieren und aktivieren
1. Öffne im Shopware-Admin **Erweiterungen › Meine Erweiterungen**.
2. Suche unser Plugin in der Liste und klicke auf **Installieren**.
3. Aktiviere es anschließend über den Schalter, sodass der Status auf aktiv steht.
4. **Lade den Admin neu** (Seite im Browser aktualisieren), damit die neue Storno-Aktion in den Übersichten erscheint.
Das Plugin benötigt keine weitere Konfiguration. Sobald es aktiv ist und der Admin neu geladen wurde, steht die Storno-Aktion in der Bestellübersicht bereit.
### Voraussetzungen
Das Plugin ist für **Shopware 6.7** ausgelegt. Nach der Installation findest Du die Storno-Aktion an den unter [Bestellungen stornieren](/docs/coe-storno-bestellung-sw6/bestellung-stornieren) beschriebenen Stellen.
# CMS Universal Element: Eigene Vorlagen und Spalten-Layouts (CoeCmsUniversal)
Kompatibel mit Shopware 6.7, 6.6.
## Das Universal Element im Seiten-Baukasten
Quelle: https://service.codeenterprise.de/docs/universal-element/element
Das **Universal Element** ist der Baustein, mit dem du eine [Vorlage](/docs/universal-element/vorlagen) im Seiten-Baukasten mit Inhalten füllst. Du fügst es in einer Erlebniswelt über die Baustein-Kategorie **codeenterprise Elemente** ein – entweder als einzelnes Element oder über einen der [Grid-Layout-Blöcke](/docs/universal-element/layout-bloecke).
### Grundeinstellungen
Im oberen Bereich der Element-Konfiguration legst du fest, wie das Element insgesamt arbeitet:
- **Template auswählen** – die Vorlage, die das Aussehen bestimmt. Ist hier nichts gewählt, zeigt das Element im Shop nur den Hinweis *Kein Template ausgewählt*.
- **Interne Bezeichnung** – ein Name, der dir die Orientierung im Baukasten erleichtert. Er erscheint nicht im Shop.
- **CSS-Klasse** – eine zusätzliche CSS-Klasse für das gesamte Element, falls du gezielt eigene Stile ansetzen möchtest.
### Elemente pflegen
Darunter pflegst du die einzelnen **Elemente** (Einträge). Jeder Eintrag ist ein Datensatz, den deine Vorlage später darstellt – etwa eine Kachel, eine Slide oder eine Storytelling-Reihe. Über **Element hinzufügen** legst du weitere Einträge an.
Jeder Eintrag bietet dir folgende Felder:
- **Titel**, **Untertitel** und **Button-Text** für die Beschriftungen.
- **Url** – ein Link-Ziel. Du kannst auf eine Kategorie, ein Produkt oder eine Landingpage im Shop verweisen oder eine externe Adresse angeben.
- **Produkt** – ein direkt verknüpftes Produkt, dessen Daten (z. B. Name oder Preis) deine Vorlage nutzen kann.
- **Media 1 bis Media 4** – bis zu vier Bilder aus der Mediathek.
- **Farbe 1 bis Farbe 3** – drei frei wählbare Farben, etwa für Hintergründe oder Texte.
- **Inhalt** – ein formatierter Textbereich mit Editor.
- **Interne Bezeichnung** und **CSS-Klasse** – ein interner Name für den Eintrag sowie eine individuelle CSS-Klasse nur für diesen Eintrag.
Welche dieser Felder tatsächlich sichtbar werden, entscheidet deine Vorlage – sie greift gezielt auf die Felder zu, die sie darstellen soll.
### Einträge ordnen und verwalten
Über die Schalter am Kopf jedes Eintrags steuerst du dessen Zustand:
- **Aktiv** – nur aktive Einträge werden im Shop angezeigt. So blendest du einen Eintrag vorübergehend aus, ohne ihn zu löschen.
- **Nach oben / nach unten** – ändert die Reihenfolge der Einträge.
- **Duplizieren** – legt eine Kopie des Eintrags an, die du anschließend anpasst.
- **Löschen** – entfernt den Eintrag. Der letzte verbleibende Eintrag bleibt immer aktiv.
Willst du das Element im Shop sehen, brauchst du eine ausgewählte Vorlage und mindestens einen aktiven Eintrag. Änderst du Vorlage oder Einträge, speichere die Erlebniswelt und lade die Shop-Seite neu.
## Häufige Fragen und Grenzen
Quelle: https://service.codeenterprise.de/docs/universal-element/faq
### Im Shop steht „Kein Template ausgewählt" – warum?
Das Element zeigt diesen Hinweis, wenn ihm noch keine Vorlage zugeordnet ist. Öffne die Element-Konfiguration und wähle unter **Template auswählen** eine [Vorlage](/docs/universal-element/vorlagen) aus. Erst dann kann das Element deine Inhalte darstellen.
### Wo stelle ich das Plugin global ein?
Gar nicht – das Plugin bringt bewusst **keinen zentralen Konfigurationsbereich** mit. Alle Einstellungen triffst du direkt an der jeweiligen Vorlage und am jeweiligen Element im Seiten-Baukasten.
### Werden Vorlagen mitgeliefert?
Nein. Du legst deine Vorlagen selbst unter *Inhalte → CMS Vorlagen* an. Für drei gängige Muster (Bilderslider, Banner-Boxen, Storytelling) stehen dir jedoch fertige CSS-Stile zur Verfügung, auf die deine Vorlage aufsetzen kann.
### Brauche ich Programmierkenntnisse?
Für das **Anlegen einer Vorlage** sind Grundkenntnisse in HTML und CSS sinnvoll, da eine Vorlage aus HTML/Twig, CSS und optional JavaScript besteht. Das **Befüllen** eines Elements mit Inhalten – Titel, Bilder, Links, Produkte – funktioniert danach vollständig ohne Code.
### Ein Eintrag soll vorübergehend verschwinden
Setze den Schalter **Aktiv** am betreffenden Eintrag aus. Inaktive Einträge bleiben erhalten, werden im Shop aber nicht angezeigt. Löschen musst du sie dafür nicht.
### Bleiben meine Inhalte bei einem Plugin-Update erhalten?
Ja. Bereits eingerichtete Universal-Elemente bleiben nach einem Update funktionsfähig – nötige Anpassungen an der internen Datenstruktur nimmt das Plugin beim Update automatisch vor. Es ist keine manuelle Nacharbeit an bestehenden Elementen nötig.
### Was passiert bei der Deinstallation mit meinen Inhalten?
Das entscheidet der Schalter **Alle App-Daten endgültig entfernen** im Deinstallations-Dialog: Mit aktiviertem Schalter löscht das Plugin seine Bausteine samt Inhalten aus allen Erlebniswelten und dazu alle CMS Vorlagen, ohne Schalter bleibt alles in der Datenbank liegen. Die Einzelheiten – und was du vorher sichern solltest – findest du unter [Plugin deinstallieren](/docs/universal-element/installation).
### Beeinflussen sich mehrere Vorlagen gegenseitig?
Nein. Das CSS jeder Vorlage wird automatisch auf ihr eigenes Element begrenzt, und das JavaScript läuft gekapselt. Mehrere Elemente mit unterschiedlichen Vorlagen auf einer Seite stören sich dadurch nicht.
## Universal Element für die Erlebniswelten
Quelle: https://service.codeenterprise.de/docs/universal-element/index
Unser Universal-Element-Plugin erweitert die **Erlebniswelten** (Shopping Experiences) von Shopware um ein besonders flexibles CMS-Element und eine Reihe fertiger Layout-Bausteine. Statt für jedes Wunsch-Design ein eigenes Plugin zu bauen, gestaltest du deine Inhaltsbereiche einmal als **Vorlage** und befüllst sie anschließend beliebig oft mit Inhalten.
Das Plugin richtet sich an alle, die im Seiten-Baukasten mehr Gestaltungsfreiheit brauchen als die Standard-Bausteine bieten – etwa Agenturen und Shop-Betreiber, die eigene Teaser, Slider oder Storytelling-Strecken umsetzen möchten.
### So arbeitet das Plugin
Das Plugin besteht aus zwei Teilen, die zusammenspielen:
- **Vorlagen** bestimmen das *Aussehen*. Eine Vorlage ist ein wiederverwendbarer Baustein aus HTML, CSS und JavaScript, den du unter *Inhalte → CMS Vorlagen* anlegst. Sie legt fest, wie ein Inhaltsbereich später im Shop dargestellt wird.
- **Das Universal Element** liefert den *Inhalt*. Im Seiten-Baukasten wählst du eine Vorlage aus und füllst sie mit einzelnen Elementen – jedes mit Titel, Text, Bildern, Farben, Link oder Produkt.
So kannst du dieselbe Vorlage auf vielen Seiten mit unterschiedlichen Inhalten einsetzen. Ergänzend liefert das Plugin mehrere **Grid-Layout-Blöcke**, mit denen du mehrere Elemente sauber nebeneinander in Spalten anordnest.
### Erste Schritte
- [Installation und Einrichtung](/docs/universal-element/installation)
- [CMS Vorlagen anlegen und verwalten](/docs/universal-element/vorlagen)
- [Das Universal Element im Seiten-Baukasten](/docs/universal-element/element)
- [Grid-Layout-Blöcke nutzen](/docs/universal-element/layout-bloecke)
## Installation und Einrichtung
Quelle: https://service.codeenterprise.de/docs/universal-element/installation
Das Plugin setzt **Shopware 6.7** voraus. Du installierst es wie jede andere Erweiterung – entweder direkt aus dem Shopware Store oder über einen Upload deiner Plugin-Datei.
### Installieren und aktivieren
1. Öffne in der Administration *Erweiterungen → Meine Erweiterungen*.
2. Lade das Plugin hoch (falls du es nicht über den Store beziehst) und klicke auf **Installieren**.
3. Aktiviere das Plugin anschließend über den Schalter.
Nach der Aktivierung musst du nichts weiter einstellen: Das Plugin bringt **keinen eigenen Konfigurationsbereich** mit. Alle Einstellungen triffst du direkt an der jeweiligen Vorlage und am jeweiligen Element.
### Wo du das Plugin danach findest
Mit der Aktivierung erscheinen zwei neue Bereiche:
- **Im Seiten-Baukasten:** In den Erlebniswelten findest du beim Hinzufügen eines Bausteins die neue Kategorie **codeenterprise Elemente**. Darin liegen das *Universal Element* und mehrere Grid-Layout-Blöcke.
- **In der Hauptnavigation:** Unter *Inhalte* öffnet sich der neue Menüpunkt **CMS Vorlagen**. Hier verwaltest du deine wiederverwendbaren Vorlagen.
Lege am besten zuerst eine [Vorlage](/docs/universal-element/vorlagen) an – ohne ausgewählte Vorlage zeigt das Universal Element im Shop nur einen Platzhalter statt deines Inhalts.
### Plugin deinstallieren
Beim Deinstallieren fragt Shopware im Bestätigungsdialog nach, ob die Daten der Erweiterung verschwinden sollen. Den Ausschlag gibt der Schalter **Alle App-Daten endgültig entfernen** – er entscheidet, was mit deinen Bausteinen und Vorlagen passiert.
#### Mit aktiviertem Schalter: alles wird entfernt
Das Plugin räumt seine Daten vollständig aus deinem Shop:
- Alle Bausteine des Plugins – das *Universal Element* und die Grid-Layout-Blöcke (6-6, 6-3-3, 3-3-6, 8-4, 4-8, 4-4-4, 3-3-3-3) – werden samt ihren Inhalten aus allen Erlebniswelten gelöscht, auch aus noch nicht veröffentlichten Entwurfsständen.
- Die übrigen Bausteine einer Sektion rücken lückenlos auf, damit Reihenfolge und Verschieben im Editor weiter funktionieren.
- Hast du ein Universal Element per Element-Tausch in einen fremden Baustein gesetzt, bleibt dieser Baustein erhalten und bearbeitbar: Das Element wird zu einem leeren Text-Element, seine Konfiguration wird entfernt.
- Alle unter *Inhalte → CMS Vorlagen* angelegten Vorlagen werden gelöscht.
Dieser Schritt lässt sich nicht rückgängig machen. Lege ein Datenbank-Backup an, bevor du mit aktiviertem Schalter deinstallierst.
#### Ohne den Schalter: deine Daten bleiben liegen
Lässt du den Schalter aus, bleiben Vorlagen und Layout-Inhalte in der Datenbank – sinnvoll, wenn du das Plugin nur vorübergehend entfernst. Solange es nicht installiert ist, kann der Shop diese Bausteine allerdings nicht darstellen: Im Shop erscheinen sie als leere Bereiche, und in den Erlebniswelten lassen sie sich weder auswählen noch löschen. Erst nach einer erneuten Installation sind sie wieder bearbeitbar, deine Vorlagen inklusive.
Reines **Deaktivieren** entfernt übrigens nichts – dabei bleiben deine Inhalte in jedem Fall erhalten.
## Grid-Layout-Blöcke nutzen
Quelle: https://service.codeenterprise.de/docs/universal-element/layout-bloecke
Neben dem einzelnen [Universal Element](/docs/universal-element/element) liefert das Plugin mehrere **Grid-Layout-Blöcke** mit. Damit ordnest du mehrere Elemente nebeneinander in Spalten an, ohne die Spaltenbreiten selbst per CSS festlegen zu müssen. Du findest sie in der Baustein-Kategorie **codeenterprise Elemente**.
### Die verfügbaren Layouts
Die Zahlen im Namen stehen für die Spaltenbreiten im 12-spaltigen Raster – zusammen ergeben sie immer die volle Breite:
- **Universal Element** – eine einzelne, volle Spalte.
- **Grid 6-6** – zwei gleich breite Spalten.
- **Grid 8-4** und **Grid 4-8** – eine breite und eine schmale Spalte, je nach gewünschter Seite.
- **Grid 4-4-4** – drei gleich breite Spalten.
- **Grid 6-3-3** und **Grid 3-3-6** – eine breite und zwei schmale Spalten.
- **Grid 3-3-3-3** – vier gleich breite Spalten.
### So arbeitest du mit einem Grid-Block
Jede Spalte eines Grid-Blocks enthält bereits ein fertiges **Universal Element**. Du kannst also direkt loslegen: Klicke in eine Spalte und konfiguriere ihr Element wie gewohnt – jede Spalte wählt ihre eigene Vorlage und pflegt ihre eigenen Einträge, unabhängig von den anderen Spalten.
Auf schmalen Bildschirmen (z. B. Smartphones) werden die Spalten automatisch untereinander gestapelt und jeweils in voller Breite dargestellt. Erst ab größeren Bildschirmen erscheinen sie nebeneinander im gewählten Raster.
Wähle das Layout danach aus, wie viele Inhalte du nebeneinander zeigen möchtest. Brauchst du später mehr oder weniger Spalten, tauschst du den Grid-Block aus und überträgst die Konfiguration in den neuen Block.
## CMS Vorlagen anlegen und verwalten
Quelle: https://service.codeenterprise.de/docs/universal-element/vorlagen
Eine **Vorlage** bestimmt, wie ein Inhaltsbereich im Shop aussieht. Du legst sie einmal an und verwendest sie danach in beliebig vielen Universal-Elementen wieder. Die Verwaltung findest du in der Administration unter *Inhalte → CMS Vorlagen*.
Vorlagen bestehen aus HTML/Twig, CSS und optional JavaScript. Für diesen Bereich sind Grundkenntnisse in HTML und CSS sinnvoll. Ist deine Vorlage einmal angelegt, kann jede:r sie anschließend im Seiten-Baukasten ohne Code-Kenntnisse mit Inhalten befüllen.
### Eine Vorlage anlegen
1. Öffne *Inhalte → CMS Vorlagen* und klicke auf **Neue Vorlage**.
2. Vergib einen **Namen** – daran erkennst du die Vorlage später bei der Auswahl im Element.
3. Fülle die drei Editoren:
- **Inhalt** – das HTML/Twig-Markup, das die Darstellung erzeugt.
- **Stylesheet** – das CSS für die Vorlage.
- **JavaScript** – optionaler Code für interaktive Funktionen.
4. Klicke auf **Speichern**.
In der Übersicht siehst du zu jeder Vorlage den Namen sowie das Erstell- und Änderungsdatum. Über das Kontextmenü am Zeilenende kannst du eine Vorlage **bearbeiten** oder **löschen**. Das Löschen lässt sich nicht rückgängig machen.
Das Plugin liefert keine fertigen Vorlagen mit – du legst deine Vorlagen selbst an. Für den schnellen Einstieg stehen dir aber die weiter unten beschriebenen mitgelieferten Design-Stile zur Verfügung.
### Auf die Inhalte der Elemente zugreifen
Das eigentliche Zusammenspiel entsteht im **Inhalt**-Editor: Dort steht dir die Liste der im Element gepflegten Einträge als Variable `items` zur Verfügung. Jeder Eintrag bringt die Felder mit, die du am [Universal Element](/docs/universal-element/element) ausfüllst. Nur **aktive** Einträge landen in `items` – inaktive werden automatisch ausgelassen.
Ein Eintrag (`item`) stellt unter anderem diese Felder bereit:
- `item.title` – Titel
- `item.subtitle` – Untertitel
- `item.button` – Button-Text
- `item.url` – Link (Kategorie, Produkt, Landingpage oder externe Adresse)
- `item.text` – formatierter Inhalt (HTML; im Template mit dem Filter `raw` ausgeben)
- `item.color1` bis `item.color3` – die drei Farbwerte
- `item.media1` bis `item.media4` – die Bilder (die Bild-Adresse z. B. über `item.media1.url`)
- `item.product` – das verknüpfte Produkt
- `item.cssclass` – die individuelle CSS-Klasse des Eintrags
Ein einfaches Beispiel für den Inhalt-Editor:
```twig
```
### Wie CSS und JavaScript eingebunden werden
Damit sich die Vorlagen im Shop nicht gegenseitig beeinflussen, bindet das Plugin deinen Code gekapselt ein:
- **Stylesheet:** Dein CSS wird automatisch auf genau dieses eine Element begrenzt. Du kannst deine Regeln deshalb verschachtelt schreiben (z. B. `.teaser { color: red; }`), ohne einen Präfix zu setzen – sie wirken ausschließlich innerhalb deines Elements und stören den restlichen Shop nicht.
- **JavaScript:** Dein Code läuft in einem eigenen, gekapselten Bereich. Er wird beim Anzeigen der Seite einmal ausgeführt und stört keine anderen Skripte.
### Mitgelieferte Design-Stile
Für drei häufige Muster liefert das Plugin fertige, responsive CSS-Stile mit. Du nutzt sie, indem du dein Markup in ein Element mit der passenden Klasse hüllst – das übrige Aussehen übernimmt der mitgelieferte Stil:
- **Bilderslider** – Klasse `coe-cms-universal-image-slider`: großflächige Bilder mit zentriertem Titel, Untertitel und Button-Overlay. Innere Klassen u. a. `image-slider-item`, `image-slider-title`, `image-slider-subtitle`, `image-slider-cta`.
- **Banner-Boxen** – Klasse `coe-cms-universal-banner-boxes`: quadratische Kacheln mit halbtransparentem Textbereich über dem Bild. Innere Klassen `banner-box-item` und `banner-box-item-content`.
- **Storytelling** – Klasse `coe-cms-universal-story-telling`: abwechselnd angeordnete Bild-/Text-Reihen. Innere Klassen u. a. `storytelling-item`, `storytelling-left`, `storytelling-right`, `storytelling-content`.
Diese Stile sind ein optionaler Startpunkt. Du kannst sie unverändert verwenden, im Stylesheet der Vorlage anpassen oder ganz eigene Klassen einsetzen.
# E-Mail Adresse für Rechnungen oder andere Dokumente (CoeRechnungsMailSw6)
## Dokumente an die alternative Adresse senden
Quelle: https://service.codeenterprise.de/docs/coe-rechnungs-mail-sw6/e-mail-flow-einrichten
Damit die hinterlegte Adresse tatsächlich genutzt wird, wählst du sie in einem Flow als Empfänger. Ab dann verschickt die betreffende E-Mail-Aktion an die vom Kunden gespeicherte Dokumenten-Adresse statt an seine Konto-Adresse.
### Voraussetzung
Der Kunde muss eine alternative E-Mail-Adresse hinterlegt haben (siehe [Plugin-Einstellungen](/docs/coe-rechnungs-mail-sw6/konfiguration)). Ist keine gültige Adresse hinterlegt, verschickt der Flow wie gewohnt an die reguläre Empfängeradresse.
### Flow einrichten
1. Öffne im Admin **Einstellungen › Flow Builder** und lege einen neuen Flow an oder bearbeite einen bestehenden.
2. Wähle einen Auslöser, der im Kontext eines Kunden oder einer Bestellung greift — zum Beispiel beim Erstellen eines Rechnungsdokuments oder bei einer Bestellstatus-Änderung.
3. Füge die Aktion **E-Mail versenden** hinzu.
4. Öffne im Dialog der Aktion das Feld **Empfänger** und wähle **Alternative Dokumenten E-Mail Adresse**.
5. Vervollständige die Aktion wie gewohnt (E-Mail-Vorlage usw.) und speichere den Flow.
### Was danach passiert
Immer wenn dieser Flow ausgelöst wird, ersetzt das Plugin den Empfänger durch die vom Kunden hinterlegte Dokumenten-Adresse. Hat der Kunde **mehrere** Adressen mit `;` getrennt eingetragen, erhalten alle diese Adressen die E-Mail.
Die Empfänger-Ersetzung gilt genau für die E-Mail-Aktion, in der du „Alternative Dokumenten E-Mail Adresse" gewählt hast. Alle anderen E-Mail-Aktionen deiner Flows bleiben unverändert.
Findet das Plugin den Kunden nicht direkt am Auslöser, greift es auf den Kunden der zugehörigen Bestellung zurück — der Versand funktioniert also auch bei bestellbezogenen Auslösern.
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-rechnungs-mail-sw6/faq
Hier findest du Antworten auf die häufigsten Fragen rund um die alternative Dokumenten-E-Mail-Adresse.
### Kann ein Kunde mehrere Adressen hinterlegen?
Ja. Dein Kunde trägt mehrere Adressen in dasselbe Feld ein und trennt sie mit einem Semikolon `;`, zum Beispiel `rechnung@firma.de;buchhaltung@firma.de`. Beim Versand über einen [Flow](/docs/coe-rechnungs-mail-sw6/e-mail-flow-einrichten) erhalten alle eingetragenen Adressen die E-Mail.
### Das Feld erscheint nicht im Shop — woran liegt das?
Prüfe zwei Dinge in den [Plugin-Einstellungen](/docs/coe-rechnungs-mail-sw6/konfiguration):
- Ist die Anzeige für die jeweilige Stelle (Registrierung bzw. Kontoseite) aktiviert?
- Steht **Feld Sichtbarkeit** auf *Gewerblich*? Dann erscheint das Feld nur, wenn der Kunde den Kontotyp *Gewerblich* wählt — für Privatkunden bleibt es ausgeblendet. Für alle Kunden wählst du *Privat + Gewerblich*.
### Was passiert bei einer ungültigen Adresse?
Der Shop prüft jede eingegebene Adresse beim Speichern. Ist eine davon ungültig, erscheint ein Hinweis, und das Konto wird erst gespeichert, wenn die Eingabe korrigiert ist. Bei mehreren Adressen genügt eine fehlerhafte, damit die Prüfung anschlägt.
### Bekommt der Kunde seine E-Mails jetzt nur noch an die alternative Adresse?
Nein. Ersetzt wird der Empfänger nur bei genau der E-Mail-Aktion in deinem Flow, in der du **Alternative Dokumenten E-Mail Adresse** als Empfänger gewählt hast. Alle übrigen E-Mails gehen unverändert an die reguläre Adresse des Kunden.
## E-Mail-Adresse für Rechnungen und Dokumente
Quelle: https://service.codeenterprise.de/docs/coe-rechnungs-mail-sw6/index
Mit dem Plugin **„E-Mail Adresse für Rechnungen oder andere Dokumente"** hinterlegen deine Kunden eine zweite E-Mail-Adresse eigens für Rechnungen und andere Dokumente — getrennt von der Adresse, mit der sie sich in deinem Shop anmelden. So landet die Rechnung zum Beispiel direkt in der Buchhaltung, während Bestellbestätigungen weiterhin an die persönliche Adresse gehen.
### Wofür ist das Plugin?
Gerade bei Geschäftskunden gehört die Rechnung oft in andere Hände als die Bestellung selbst. Ohne das Plugin bekommst du dafür nur die eine Konto-E-Mail-Adresse. Mit dem Plugin gibt dein Kunde selbst eine oder mehrere alternative Adressen an, an die seine Dokumente gehen sollen — und du entscheidest über einen Flow, welche E-Mails diesen Weg nehmen.
### So funktioniert es
Das Plugin besteht aus zwei Teilen, die zusammenspielen:
1. **Der Kunde hinterlegt seine Adresse.** Bei der Registrierung oder später im Kundenkonto trägt er eine oder mehrere E-Mail-Adressen für Dokumente ein. Ob und wo das Feld erscheint, steuerst du in den Einstellungen.
2. **Du richtest den Versand ein.** In einem Flow wählst du bei der Aktion „E-Mail versenden" als Empfänger die hinterlegte Dokumenten-Adresse. Ab dann gehen die betroffenen E-Mails an genau diese Adresse.
### Nächste Schritte
- [Installation](/docs/coe-rechnungs-mail-sw6/installation) — das Plugin einrichten
- [Plugin-Einstellungen](/docs/coe-rechnungs-mail-sw6/konfiguration) — festlegen, wo das Feld erscheint
- [Dokumente an die alternative Adresse senden](/docs/coe-rechnungs-mail-sw6/e-mail-flow-einrichten) — den Versand über einen Flow einrichten
## Installation
Quelle: https://service.codeenterprise.de/docs/coe-rechnungs-mail-sw6/installation
Du installierst das Plugin wie jede andere Erweiterung über den Shopware-Admin.
### Plugin installieren und aktivieren
1. Öffne im Admin **Erweiterungen › Meine Erweiterungen**.
2. Suche das Plugin in der Liste und klicke auf **Installieren**.
3. Aktiviere es anschließend über den Schalter **Aktiv**.
Das Plugin ist mit Shopware 6.7 kompatibel.
### Was bei der Installation passiert
Sobald du das Plugin installierst, richtet es sich automatisch ein:
- Am Kunden wird ein zusätzliches Feld für die **alternative E-Mail-Adresse** angelegt. Darin speichert der Shop die Adresse, die dein Kunde einträgt.
- Im Storefront erscheint das Eingabefeld bei der Registrierung und im Kundenkonto. Ob es angezeigt wird, legst du in den [Plugin-Einstellungen](/docs/coe-rechnungs-mail-sw6/konfiguration) fest — standardmäßig ist es an beiden Stellen sichtbar.
- In den Flows steht dir bei der Aktion „E-Mail versenden" ein neuer Empfänger zur Verfügung: **Alternative Dokumenten E-Mail Adresse**.
Nach der Aktivierung passt du als Nächstes die [Einstellungen](/docs/coe-rechnungs-mail-sw6/konfiguration) an und richtest den [Versand über einen Flow](/docs/coe-rechnungs-mail-sw6/e-mail-flow-einrichten) ein.
### Deinstallation
Deinstallierst du das Plugin, kannst du im Dialog wählen, ob die von den Kunden hinterlegten Adressen erhalten bleiben. Entfernst du die Daten mit, wird das zusätzliche Kundenfeld wieder gelöscht.
## Plugin-Einstellungen
Quelle: https://service.codeenterprise.de/docs/coe-rechnungs-mail-sw6/konfiguration
In den Einstellungen bestimmst du, an welchen Stellen im Shop das Feld für die alternative E-Mail-Adresse erscheint und für welche Kunden es sichtbar ist.
### Einstellungen öffnen
Öffne **Erweiterungen › Meine Erweiterungen**, klicke beim Plugin auf die drei Punkte **⋮** und wähle **Konfiguration**. Du findest dort drei Einstellungen.
### Die Einstellungen im Einzelnen
#### Feld im Registrierungsformular anzeigen
Zeigt das Eingabefeld direkt bei der Registrierung an, sodass neue Kunden ihre Dokumenten-Adresse von Anfang an hinterlegen können. Standard: **an**.
#### Feld auf der Kontoseite anzeigen
Zeigt das Feld im Kundenkonto unter den persönlichen Angaben an. So können Kunden ihre Adresse jederzeit nachtragen oder ändern. Standard: **an**.
#### Feld Sichtbarkeit
Steuert, für welche Kunden das Feld erscheint:
- **Privat + Gewerblich** — das Feld ist für alle Kunden sichtbar (Standard).
- **Gewerblich** — das Feld erscheint nur, wenn der Kunde den Kontotyp *Gewerblich* (Firmenkonto) wählt. Für Privatkunden bleibt es ausgeblendet.
Diese Einstellung wirkt sich sowohl auf das Registrierungsformular als auch auf die Kontoseite aus.
### Wie das Feld für den Kunden aussieht
Das Feld trägt die Beschriftung **„Alternative E-Mail Adresse(n) für Dokumente (';' als Trennzeichen)"**. Dein Kunde kann darin auch **mehrere Adressen** eintragen und diese mit einem Semikolon `;` trennen — zum Beispiel `rechnung@firma.de;buchhaltung@firma.de`.
Beim Speichern prüft der Shop jede eingegebene Adresse. Ist eine davon ungültig, erscheint ein Hinweis, und das Konto wird nicht gespeichert, bis die Eingabe korrigiert ist. Wie du den Versand an diese Adresse einrichtest, liest du unter [Dokumente an die alternative Adresse senden](/docs/coe-rechnungs-mail-sw6/e-mail-flow-einrichten).
# Erlebniswelten Export / Transfer einfach von einer Entwicklungsumgebung zum Live-Shop (CoeShoppingExperiencesExport)
## Eine Erlebniswelt in einen anderen Shop exportieren
Quelle: https://service.codeenterprise.de/docs/coe-shopping-experiences-export/erlebniswelt-exportieren
Sobald der Zielshop konfiguriert und die Verbindung getestet ist, überträgst du eine Erlebniswelt direkt aus der Liste — Layout, Übersetzungen und Bilder werden im Zielshop neu angelegt.
### Voraussetzungen
- Der Zielshop ist [konfiguriert und die Verbindung getestet](/docs/coe-shopping-experiences-export/konfiguration).
- Dein Admin-Konto im Quellshop besitzt die Berechtigung, Erlebniswelten zu erstellen. Ohne diese Berechtigung ist die Export-Aktion nicht anwählbar.
### Erlebniswelt exportieren
1. Öffne im Admin des Quellshops **Inhalte › Erlebniswelten**.
2. Öffne bei der gewünschten Erlebniswelt das Kontextmenü (die drei Punkte am Zeilenende).
3. Wähle **Zu anderem Shop exportieren**.
Das Plugin überträgt das Layout nun an den Zielshop und legt es dort als neue Erlebniswelt an. Die in den Elementen verwendeten Bilder werden dabei gemäß deiner [Medien-Einstellung](/docs/coe-shopping-experiences-export/konfiguration) mit übertragen.
### Rückmeldungen
Nach dem Export erhältst du eine kurze Rückmeldung:
- **Export erfolgreich** — die Erlebniswelt wurde im Zielshop angelegt.
- **Konfiguration unvollständig** — Shop URL, Benutzername oder Passwort fehlen. Ergänze die [Konfiguration](/docs/coe-shopping-experiences-export/konfiguration) und teste die Verbindung erneut.
- **Export fehlgeschlagen** — die Übertragung konnte nicht abgeschlossen werden. Prüfe die Verbindung zum Zielshop und versuche es erneut.
Jeder Export legt im Zielshop eine neue Erlebniswelt an. Exportierst du dasselbe Layout mehrfach, entstehen im Zielshop mehrere Kopien — eine bestehende Erlebniswelt wird nicht aktualisiert.
### Nach dem Export
Die übertragene Erlebniswelt ist im Zielshop zunächst keiner Kategorie, keinem Produkt und keiner Landingpage zugewiesen. Weise sie im Zielshop der gewünschten Stelle zu, damit sie im Storefront erscheint. Welche Inhalte der Export nicht mitnimmt, liest du in den [häufigen Fragen](/docs/coe-shopping-experiences-export/faq).
## Häufige Fragen und Grenzen des Exports
Quelle: https://service.codeenterprise.de/docs/coe-shopping-experiences-export/faq
Hier findest du die Punkte, die beim Übertragen einer Erlebniswelt erfahrungsgemäß Fragen aufwerfen — vor allem, was der Export bewusst nicht mitnimmt.
### Was wird nicht mit übertragen?
Der Export überträgt das Layout selbst, nicht seine Zuweisung. Im Zielshop entscheidest du erneut, welcher Kategorie, welchem Produkt oder welcher Landingpage die Erlebniswelt zugeordnet wird.
Verknüpfte Inhalte innerhalb der Elemente — etwa Produkte, Produkt-Streams oder Kategorien — werden mit ihrer ursprünglichen Kennung übertragen. Existieren sie im Zielshop nicht unter derselben Kennung, bleibt das betroffene Element dort leer. Stelle sicher, dass solche Inhalte im Zielshop vorhanden sind, oder ergänze sie nach dem Export von Hand.
### Was passiert bei mehrfachem Export?
Jeder Export legt im Zielshop eine neue Erlebniswelt an. Überträgst du dasselbe Layout mehrfach, entstehen mehrere Kopien; eine bereits übertragene Erlebniswelt wird nicht aktualisiert. Möchtest du eine ältere Fassung ersetzen, entferne sie im Zielshop nach dem erneuten Export.
### Wie geht das Plugin mit Bildern um?
Bilder aus den Elementen werden in den Zielshop hochgeladen. Ist ein Bild dort bereits vorhanden — erkannt am Inhalt (Datei-Hash), ersatzweise am Dateinamen —, richtet sich das Verhalten nach deiner [Medien-Einstellung](/docs/coe-shopping-experiences-export/konfiguration): überschreiben, überspringen oder als zusätzliche Datei erneut hochladen.
### Warum ist die Export-Aktion ausgegraut?
Die Aktion **Zu anderem Shop exportieren** steht nur zur Verfügung, wenn dein Admin-Konto im Quellshop die Berechtigung zum Erstellen von Erlebniswelten besitzt. Fehlt sie, wende dich an einen Administrator, der die Rolle entsprechend erweitert.
### Der Export schlägt fehl — was tun?
Prüfe zuerst die [Verbindung zum Zielshop](/docs/coe-shopping-experiences-export/konfiguration): Ist die Shop URL korrekt und öffentlich erreichbar, stimmen Benutzername und Passwort? Über **API Verbindung testen** grenzt du ein, ob das Problem bei den Zugangsdaten liegt. Für eine genauere Fehlersuche kannst du in der Konfiguration den Debug-Modus einschalten.
## Erlebniswelten von Shop zu Shop übertragen
Quelle: https://service.codeenterprise.de/docs/coe-shopping-experiences-export/index
**Erlebniswelten Export / Transfer** überträgt eine fertige Erlebniswelt (Shopping Experience) aus einem Shopware-Shop in einen anderen — zum Beispiel von deinem Test- oder Entwicklungsshop in den Live-Shop. Du baust ein Layout nur einmal und schickst es anschließend mit wenigen Klicks in den Zielshop, statt es dort von Hand nachzubauen.
Das Plugin richtet sich an alle, die Erlebniswelten in einem separaten Shop vorbereiten und danach in den produktiven Shop überführen möchten. Die Übertragung läuft direkt aus der Erlebniswelten-Liste im Admin des Quellshops.
### Was übertragen wird
Beim Export nimmt das Plugin das komplette Layout mit:
- alle Sektionen, Blöcke und Elemente der Erlebniswelt
- mehrsprachige Inhalte, also die Übersetzungen der Elemente
- Section- und Block-Einstellungen: Namen, Hintergrundbilder, Sichtbarkeit, Mobil-Verhalten und individuelle CSS-Klassen
- die in den Elementen verwendeten Bilder, die dabei in den Zielshop hochgeladen werden
### Was du dafür brauchst
- Zugriff auf einen zweiten, öffentlich erreichbaren Shopware-Shop als Ziel
- Admin-Zugangsdaten für diesen Zielshop
- das Plugin im Quellshop installiert und aktiviert
### So kommst du zum Ziel
1. [Installiere und aktiviere das Plugin](/docs/coe-shopping-experiences-export/installation) im Quellshop.
2. [Hinterlege den Zielshop und teste die Verbindung](/docs/coe-shopping-experiences-export/konfiguration).
3. [Exportiere eine Erlebniswelt](/docs/coe-shopping-experiences-export/erlebniswelt-exportieren) direkt aus der Liste.
Details zu Grenzen und Sonderfällen findest du in den [häufigen Fragen](/docs/coe-shopping-experiences-export/faq). Das Plugin ist auf Shopware 6.7 ausgelegt; die Store-Seite findest du [hier](https://store.shopware.com/de/coe3072686364513m/erlebniswelten-export-transfer-einfach-von-einer-entwicklungsumgebung-zum-live-shop.html).
## Installation und Aktivierung
Quelle: https://service.codeenterprise.de/docs/coe-shopping-experiences-export/installation
Du installierst das Plugin in dem Shop, aus dem du Erlebniswelten übertragen möchtest — also im Quellshop. Im Zielshop ist keine Installation nötig; dort genügt ein Admin-Zugang.
### Plugin installieren
1. Öffne im Admin des Quellshops **Erweiterungen › Meine Erweiterungen**.
2. Lade das Plugin über den Shopware Store oder als Upload und installiere es.
3. Aktiviere das Plugin über den Schalter in der Liste.
Nach der Aktivierung stehen dir zwei Dinge zur Verfügung: die Konfigurationsseite des Plugins und die neue Export-Aktion in der Erlebniswelten-Liste.
### Konfiguration öffnen
Die Einstellungen erreichst du über **Erweiterungen › Meine Erweiterungen**. Klicke beim Plugin auf das Kontextmenü (die drei Punkte) und wähle **Konfiguration**.
Bevor du das erste Layout überträgst, hinterlegst du dort den Zielshop und prüfst die Verbindung. Wie das geht, liest du unter [Zielshop und Medien-Verhalten konfigurieren](/docs/coe-shopping-experiences-export/konfiguration).
## Zielshop und Medien-Verhalten konfigurieren
Quelle: https://service.codeenterprise.de/docs/coe-shopping-experiences-export/konfiguration
In der Konfiguration legst du fest, in welchen Shop übertragen wird und wie das Plugin mit Bildern umgeht, die im Zielshop schon vorhanden sind. Du öffnest sie über **Erweiterungen › Meine Erweiterungen**, das Kontextmenü des Plugins (drei Punkte) und **Konfiguration**.
### Zugang zum Zielshop
Im Bereich **Login** trägst du die Zugangsdaten des Shops ein, in den du exportieren möchtest:
- **Shop URL** — die Adresse des Zielshops. Er muss öffentlich erreichbar sein, zum Beispiel `https://mein-shop.de`.
- **Admin Benutzername** — der Benutzername eines Admin-Kontos im Zielshop.
- **Admin Passwort** — das zugehörige Passwort.
Das Plugin meldet sich mit diesen Daten am Zielshop an, um das Layout dort anzulegen. Verwende ein Konto mit ausreichenden Rechten zum Anlegen von Erlebniswelten und Medien.
### Verbindung testen
Über die Schaltfläche **API Verbindung testen** prüfst du, ob sich das Plugin mit den eingetragenen Daten am Zielshop anmelden kann. Bei Erfolg erscheint eine Bestätigung, andernfalls ein Hinweis auf die fehlgeschlagene Verbindung. Prüfe in diesem Fall Shop URL, Benutzername und Passwort sowie die Erreichbarkeit des Zielshops.
Teste die Verbindung, bevor du eine Erlebniswelt exportierst. So stellst du sicher, dass Adresse und Zugangsdaten stimmen.
### Debug-Modus
Der **Debug Modus** ist standardmäßig aus. Schaltest du ihn ein, schreibt das Plugin zu jeder Kommunikation mit dem Zielshop einen Log-Eintrag. Das hilft bei der Fehlersuche, ist im Normalbetrieb aber nicht nötig.
### Verhalten bei bereits vorhandenen Bildern
Im Bereich **Medien** legst du fest, was passiert, wenn ein Bild aus deinem Layout im Zielshop bereits vorhanden ist. Das Plugin erkennt ein vorhandenes Bild anhand seines Inhalts (Datei-Hash), ersatzweise anhand des Dateinamens. Du hast drei Möglichkeiten:
- **Überschreiben** (Standard) — das vorhandene Bild im Zielshop wird mit dem übertragenen Bild überschrieben. Das Layout verwendet anschließend das Bild des Zielshops.
- **Überspringen (Nicht neu hochladen)** — ein bereits vorhandenes Bild wird nicht erneut hochgeladen. Der Zielshop behält sein bestehendes Bild.
- **Erneut hochladen mit \_n Endung** — das Bild wird als neue Datei mit einem Zeitstempel im Namen zusätzlich hochgeladen. Nichts im Zielshop wird verändert, beide Fassungen bleiben erhalten.
Neu übertragene Bilder legt das Plugin im Medienordner für Erlebniswelten-Inhalte (CMS Media) des Zielshops ab. Dateiname, Alternativtext und Titel werden dabei mit übernommen.
# Facebook Pixel (CoeFacebookPixelSw6)
## Cookie-Zustimmung
Quelle: https://service.codeenterprise.de/docs/coe-facebook-pixel-sw6/cookie-zustimmung
Das Pixel wird **erst dann** geladen und sendet **erst dann** Daten an Meta, wenn der Besucher der zugehörigen Cookie-Gruppe aktiv zustimmt. Solange keine Zustimmung vorliegt, gibt der Shop keinen Tracking-Code aus. Damit ist das Tracking von Haus aus consent-konform an den Shopware-Cookie-Hinweis gekoppelt.
### Die Cookie-Gruppe
Das Plugin fügt dem Shopware-Cookie-Hinweis automatisch einen eigenen Eintrag hinzu:
- **Bezeichnung:** Facebook tracking
- **Beschreibung:** Benutzerdaten wie z.B. Klicks oder Anmeldungen werden getracked
- **Gültigkeit:** 30 Tage
Der Besucher sieht diesen Eintrag im Cookie-Banner deines Shops und kann ihn dort einzeln an- oder abwählen. Du musst dafür nichts konfigurieren – die Gruppe erscheint, sobald das Plugin aktiv ist.
### Ablauf
1. Ein Besucher öffnet deinen Shop und erhält den Cookie-Hinweis.
2. Stimmt er dem Eintrag **Facebook tracking** zu, wird das Pixel beim nächsten Seitenaufbau geladen.
3. Ohne Zustimmung bleibt das Pixel inaktiv – es werden weder Skript noch Ereignisse ausgegeben.
Widerruft ein Besucher seine Zustimmung im Cookie-Hinweis, wird das Pixel bei den folgenden Seitenaufrufen nicht mehr geladen.
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-facebook-pixel-sw6/faq
### Es kommen keine Daten bei Meta an – woran liegt das?
Prüfe der Reihe nach:
1. **Pixel-ID hinterlegt?** Ohne ID im Feld *Facebook tracking ID* wird kein Code ausgegeben.
2. **Plugin aktiv?** Die Einstellung *Aktiv* muss für den betreffenden Verkaufskanal eingeschaltet sein.
3. **Debug-Modus aus?** Ist der Debug-Modus an, wird bewusst nicht gesendet, sondern nur im Footer angezeigt.
4. **Cookie zugestimmt?** Das Pixel lädt erst nach Zustimmung zur Cookie-Gruppe *Facebook tracking*.
5. **Richtiger Verkaufskanal?** Alle Einstellungen gelten je Verkaufskanal – prüfe, ob du sie beim richtigen Kanal gesetzt hast.
### Wie prüfe ich, ob das Pixel korrekt arbeitet?
Schalte den **Debug-Modus** in der Konfiguration ein und öffne eine Storefront-Seite. Der erzeugte Pixel-Code wird dann als lesbarer Text im Footer der Seite ausgegeben, ohne dass etwas an Meta gesendet wird. So siehst du, welche Ereignisse eine Seite auslösen würde. Schalte den Debug-Modus danach wieder aus, damit das Tracking wieder sendet.
### Warum wird AddToCart bei Gästen nicht erfasst?
Die Ereignisse **AddToCart**, **CompleteRegistration** und **Lead** werden nur für angemeldete Kunden übertragen. Legt ein nicht angemeldeter Gast ein Produkt in den Warenkorb, wird dafür kein AddToCart gemeldet. Die Kauf-relevanten Ereignisse **InitiateCheckout** und **Purchase** sind davon nicht betroffen und feuern auch für Gäste.
### Wo finde ich meine Pixel-ID?
Deine Pixel-ID vergibt Meta. Du findest sie im **Meta Events Manager** deines Werbekontos. Trage genau diese ID in die Plugin-Konfiguration ein.
## Facebook Pixel
Quelle: https://service.codeenterprise.de/docs/coe-facebook-pixel-sw6/index
Mit unserem Plugin bindest du das **Facebook Pixel** (den Meta-Pixel) in deinen Shopware-Storefront ein. So misst du, was Besucher in deinem Shop tun, nachdem sie eine deiner Anzeigen auf Facebook oder Instagram gesehen haben – von der Produktansicht bis zum Kauf.
Das Pixel meldet die gängigen Standard-Ereignisse an Meta zurück. Damit wertest du im Werbeanzeigenmanager den Erfolg deiner Kampagnen aus, richtest Conversion-Optimierung ein und baust Remarketing-Zielgruppen auf.
### Für wen ist das Plugin gedacht
Für dich, wenn du deinen Shop über Facebook- oder Instagram-Werbung bewirbst und den Erfolg dieser Kampagnen messen möchtest. Du brauchst dafür ein Meta-Werbekonto mit einer Pixel-ID – die trägst du in der Plugin-Konfiguration ein, mehr ist im Shop nicht nötig.
### Was das Plugin erfasst
- **PageView** bei jedem Seitenaufruf
- **ViewContent** auf Produkt- und Kategorieseiten
- **AddToCart** beim Legen eines Produkts in den Warenkorb
- **InitiateCheckout** beim Start des Bestellabschlusses
- **Purchase** nach abgeschlossener Bestellung
- **CompleteRegistration** und **Lead** bei Registrierung und Newsletter-Anmeldung
Welches Ereignis wann ausgelöst wird, liest du unter [Tracking-Ereignisse](/docs/coe-facebook-pixel-sw6/tracking-ereignisse). Das Pixel wird dabei erst geladen, wenn der Besucher der Cookie-Nutzung zustimmt – siehe [Cookie-Zustimmung](/docs/coe-facebook-pixel-sw6/cookie-zustimmung).
## Installation
Quelle: https://service.codeenterprise.de/docs/coe-facebook-pixel-sw6/installation
Die Installation ist in wenigen Schritten erledigt. Alles Weitere stellst du danach in der [Konfiguration](/docs/coe-facebook-pixel-sw6/konfiguration) ein.
### Plugin installieren
1. Öffne im Shopware-Admin **Erweiterungen › Meine Erweiterungen**.
2. Suche das Plugin in der Liste und klicke auf **Installieren**.
3. Aktiviere es anschließend über den Schalter.
Nach der Aktivierung ist das Plugin sofort einsatzbereit – es fehlt nur noch deine Pixel-ID.
### Pixel-ID hinterlegen
Ohne Pixel-ID wird kein Tracking-Code ausgegeben. Deine ID findest du im **Meta Events Manager** deines Werbekontos.
1. Öffne **Erweiterungen › Meine Erweiterungen**, klicke beim Plugin auf die drei Punkte und wähle **Konfiguration**.
2. Trage deine ID in das Feld **Facebook tracking ID** ein.
3. Speichere die Konfiguration.
Sobald die ID gespeichert ist und ein Besucher der Cookie-Nutzung zustimmt, beginnt das Pixel zu senden.
Du kannst das Pixel je Verkaufskanal getrennt einrichten. Wähle dazu oben in der Konfiguration den gewünschten Verkaufskanal aus, bevor du die ID einträgst.
## Konfiguration
Quelle: https://service.codeenterprise.de/docs/coe-facebook-pixel-sw6/konfiguration
Die Konfiguration öffnest du über **Erweiterungen › Meine Erweiterungen › (drei Punkte) › Konfiguration**. Alle Einstellungen lassen sich pro Verkaufskanal getrennt setzen – wähle dazu oben den Verkaufskanal aus, bevor du speicherst. Lässt du den Verkaufskanal auf **Alle Verkaufskanäle**, gelten die Werte als Vorgabe für den gesamten Shop.
### Aktiv
Schaltet das Tracking für den gewählten Verkaufskanal ein oder aus. Standardmäßig ist die Einstellung aktiviert. Deaktivierst du sie, wird auf den Seiten dieses Verkaufskanals kein Pixel-Code mehr ausgegeben – die hinterlegte ID bleibt dabei erhalten.
### Facebook tracking ID
Deine Pixel-ID aus dem Meta Events Manager. Dies ist das einzige Pflichtfeld: Ohne ID wird kein Tracking-Code ausgegeben, auch wenn das Plugin aktiv ist. Da das Feld je Verkaufskanal gilt, kannst du verschiedenen Kanälen unterschiedliche Pixel zuweisen.
### Debug Modus
Standardmäßig ausgeschaltet. Ist der Debug-Modus aktiv, wird **kein** Ereignis an Meta gesendet – stattdessen gibt der Shop den erzeugten Pixel-Code als lesbaren Text im Footer aus. So prüfst du, welche Ereignisse auf einer Seite erzeugt würden, bevor du echte Daten überträgst.
Der Debug-Modus schaltet das Tracking komplett ab. Denke daran, ihn nach der Prüfung wieder auszuschalten, sonst werden keine Daten an Meta übertragen.
Wie du die Ausgabe im Debug-Modus liest und was zu tun ist, wenn keine Daten ankommen, steht in den [Häufigen Fragen](/docs/coe-facebook-pixel-sw6/faq).
## Tracking-Ereignisse
Quelle: https://service.codeenterprise.de/docs/coe-facebook-pixel-sw6/tracking-ereignisse
Das Plugin sendet die gängigen Facebook-Standard-Ereignisse automatisch. Du musst dafür nichts einstellen – sobald die Pixel-ID hinterlegt ist und der Besucher zugestimmt hat, feuern die passenden Ereignisse auf den jeweiligen Seiten. Alle Wertangaben nutzen die Währung des aktiven Verkaufskanals.
### PageView
Wird auf **jeder** Storefront-Seite ausgelöst, sobald das Pixel geladen ist. Das ist das Basis-Ereignis, das die reine Seitenansicht meldet.
### ViewContent
Meldet die Ansicht eines Inhalts:
- **Produktseite** – mit Produktnummer, Produktname und dem angezeigten Preis.
- **Kategorieseite** – mit dem Kategorienamen und den Produktnummern der gelisteten Produkte.
### AddToCart
Wird ausgelöst, wenn ein Produkt in den Warenkorb gelegt wurde. Das Ereignis feuert beim nächsten Seitenaufbau nach dem Hinzufügen und enthält die Produktnummer.
### InitiateCheckout
Wird auf der **Bestellabschluss-Seite** (Warenkorb-Bestätigung) ausgelöst. Enthält die Produktnummern, die Anzahl der Artikel und den Warenkorb-Gesamtwert.
### Purchase
Wird auf der **Abschlussseite** nach erfolgreicher Bestellung ausgelöst – das zentrale Conversion-Ereignis. Enthält die Produktnummern, die Artikelanzahl und den Bestellwert.
### CompleteRegistration
Wird nach einer erfolgreichen Kundenregistrierung ausgelöst und meldet die Kundennummer.
### Lead
Wird nach einer Newsletter-Anmeldung ausgelöst.
Die Ereignisse **AddToCart**, **CompleteRegistration** und **Lead** werden nur erfasst, wenn der Kunde angemeldet ist. Nach einer Registrierung ist der Kunde automatisch angemeldet, sodass **CompleteRegistration** zuverlässig feuert.
Damit überhaupt gesendet wird, muss der Besucher der Cookie-Nutzung zustimmen – siehe [Cookie-Zustimmung](/docs/coe-facebook-pixel-sw6/cookie-zustimmung).
# Google Remarketing Pixel für Shopware6 (CoeGoogleRemarketingPixelSw6)
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-google-remarketing-pixel-sw6/faq
### Der Pixel wird nicht ausgelöst — woran liegt das?
Prüfe die häufigsten Ursachen der Reihe nach:
- **Keine Conversion ID hinterlegt.** Ohne ID in der [Konfiguration](/docs/coe-google-remarketing-pixel-sw6/konfiguration) wird kein Pixel ausgegeben.
- **Cookie nicht akzeptiert.** Dein Besucher muss die Kategorie **Google Remarketing Pixel** im Cookie-Banner bestätigt haben.
- **Cache nicht geleert.** Nach einer Änderung an der Conversion ID musst du den Shopware-Cache leeren.
- **Für den Verkaufskanal deaktiviert.** Prüfe, ob die Einstellung **Aktiv** für den betroffenen Verkaufskanal gesetzt ist.
### Warum ist der Pixel an die Cookie-Zustimmung gekoppelt?
Google-Remarketing setzt Cookies, die eine Einwilligung erfordern. Das Plugin blendet den Tag deshalb erst ein, nachdem dein Besucher der Kategorie **Google Remarketing Pixel** zugestimmt hat. Mehr dazu unter [Zusammenspiel mit der Cookie-Zustimmung](/docs/coe-google-remarketing-pixel-sw6/funktionsweise).
### Muss ich den Tracking-Code im Theme einbauen?
Nein. Das Plugin fügt den Code automatisch in den Kopfbereich deiner Storefront-Seiten ein. Du hinterlegst lediglich die Conversion ID.
## Zusammenspiel mit der Cookie-Zustimmung
Quelle: https://service.codeenterprise.de/docs/coe-google-remarketing-pixel-sw6/funktionsweise
Der Remarketing-Pixel ist bewusst an die Cookie-Zustimmung deiner Besucher gekoppelt. Er wird nur geladen, wenn die Funktion aktiv ist, eine Conversion ID hinterlegt ist und dein Besucher der passenden Cookie-Kategorie zugestimmt hat.
### Der Eintrag im Cookie-Banner
Sobald die Funktion aktiv ist, ergänzt das Plugin im Shopware-Cookie-Banner eine eigene Kategorie:
- **Name:** Google Remarketing Pixel
- **Beschreibung:** Statistische Informationen für den Besuch im Online-Shop
Stimmt dein Besucher dieser Kategorie zu, wird das Cookie `coeGoogleRemarketingPixel` mit einer Laufzeit von 30 Tagen gesetzt. Erst danach lädt die Seite den Google-Remarketing-Tag.
### Wann der Pixel ausgeliefert wird
Der Pixel im Seitenkopf wird nur ausgegeben, wenn alle folgenden Punkte zutreffen:
1. Die Einstellung **Aktiv** ist für den Verkaufskanal gesetzt.
2. Es ist eine **Google Conversion ID** hinterlegt.
3. Der Besucher hat die Cookie-Kategorie **Google Remarketing Pixel** akzeptiert.
Fehlt eine dieser Bedingungen, bleibt der Pixel aus — so bleibt dein Tracking datenschutzkonform.
## Google Remarketing Pixel für Shopware6
Quelle: https://service.codeenterprise.de/docs/coe-google-remarketing-pixel-sw6/index
Mit dem Google Remarketing Pixel bindest du den Remarketing-Tag von Google Ads in deinen Shopware-Storefront ein — datenschutzkonform gekoppelt an die Cookie-Zustimmung deiner Besucher. So sprichst du Shop-Besucher in Google Ads erneut an und misst Conversions, ohne den Tracking-Code von Hand in dein Theme einzupflegen.
### Was das Plugin für dich übernimmt
- Es fügt den Google-Remarketing-Pixel automatisch in den Kopfbereich jeder Storefront-Seite ein.
- Der Pixel wird **erst dann** geladen, wenn dein Besucher der zugehörigen Cookie-Kategorie im Cookie-Banner zugestimmt hat.
- Du hinterlegst lediglich deine Google Conversion ID im Shopware-Admin — den Rest übernimmt das Plugin.
### Für wen es gedacht ist
Das Plugin richtet sich an Shop-Betreiber, die Google Ads für Remarketing-Kampagnen nutzen und den Tracking-Code sauber und DSGVO-konform in Shopware einbinden möchten.
### Erste Schritte
1. [Plugin installieren und aktivieren](/docs/coe-google-remarketing-pixel-sw6/installation)
2. [Google Conversion ID hinterlegen](/docs/coe-google-remarketing-pixel-sw6/konfiguration)
3. [Zusammenspiel mit der Cookie-Zustimmung verstehen](/docs/coe-google-remarketing-pixel-sw6/funktionsweise)
## Plugin installieren und aktivieren
Quelle: https://service.codeenterprise.de/docs/coe-google-remarketing-pixel-sw6/installation
Du installierst das Plugin wie jede andere Shopware-Erweiterung über die Plugin-Verwaltung im Administrationsbereich.
### Voraussetzungen
- Shopware 6.7 oder neuer
- Ein Google-Ads-Konto mit einer Remarketing- bzw. Conversion-ID
### Installation und Aktivierung
1. Öffne im Shopware-Admin **Erweiterungen › Meine Erweiterungen**.
2. Suche den Eintrag deines Google-Remarketing-Plugins und klicke auf **Installieren**.
3. Aktiviere die Erweiterung anschließend über den Schalter.
Nach der Aktivierung steht dir die Konfiguration zur Verfügung. Hinterlege dort deine Google Conversion ID, damit der Pixel ausgeliefert wird — siehe [Konfiguration](/docs/coe-google-remarketing-pixel-sw6/konfiguration).
## Google Conversion ID konfigurieren
Quelle: https://service.codeenterprise.de/docs/coe-google-remarketing-pixel-sw6/konfiguration
In der Plugin-Konfiguration legst du fest, ob der Pixel aktiv ist und mit welcher Google Conversion ID er arbeitet. Du erreichst sie im Shopware-Admin über **Erweiterungen › Meine Erweiterungen**, das Kontextmenü (drei Punkte) am Plugin und den Eintrag **Konfiguration**.
### Verfügbare Einstellungen
Die Einstellungen findest du auf der Karte **Einstellungen**:
- **Aktiv** — schaltet die Auslieferung des Pixels ein oder aus. Standardmäßig ist die Funktion aktiviert.
- **Google Conversion ID** — deine Remarketing- bzw. Conversion-ID aus Google Ads. Ohne einen hinterlegten Wert wird kein Pixel ausgeliefert, selbst wenn die Funktion aktiv ist.
### Cache nach Änderungen leeren
Nachdem du die Conversion ID geändert und gespeichert hast, leere den Shopware-Cache, damit die Änderung im Storefront wirksam wird. Andernfalls kann weiterhin der alte Wert ausgeliefert werden.
### Pro Verkaufskanal steuern
Du kannst die Funktion je Verkaufskanal getrennt aktivieren oder deaktivieren. Wähle dazu oben in der Konfiguration den gewünschten Verkaufskanal aus und setze die Einstellung **Aktiv** gezielt für einzelne Kanäle, während sie in anderen unverändert bleibt.
Die getrennte Steuerung pro Verkaufskanal steht ab Shopware 6.7.3 zur Verfügung.
# Google Website-Inhaberschaft bestätigen (CoeGoogleSiteVerificationSw6)
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-google-site-verification-sw6/faq
### Der Tag erscheint nicht auf meiner Seite — woran liegt das?
Meist wurde der Cache nach dem Speichern nicht geleert. Leere den Cache über **Einstellungen › System › Caches & Indizes › Cache leeren** und lade deine Storefront neu. Prüfe außerdem, ob im Feld **Google Content ID** ein Wert steht und ob du oben den richtigen Verkaufskanal ausgewählt hast.
### Welchen Wert muss ich als Content ID eintragen?
Nur den Wert aus dem `content`-Attribut des von Google angezeigten Meta-Tags — nicht das komplette Tag. Trägst du das ganze ``-Tag ein, ist die Verifizierung ungültig.
### Kann ich pro Verkaufskanal eine eigene Content ID hinterlegen?
Ja. Wähle oben auf der Konfigurationsseite den gewünschten Verkaufskanal und trage dort die passende Content ID ein. So verifizierst du mehrere Domains getrennt bei Google.
### Muss ich mein Theme oder den Quelltext anpassen?
Nein. Das Plugin fügt den Meta-Tag automatisch in den Kopfbereich jeder Storefront-Seite ein. Ein manueller Eingriff in Theme oder Quelltext ist nicht nötig.
### Beeinflusst das Plugin die Darstellung meines Shops?
Nein. Der Meta-Tag steht ausschließlich für Suchmaschinen im Seitenkopf und hat keine Auswirkung auf Layout oder Inhalte deiner Storefront.
## Google Website-Inhaberschaft bestätigen
Quelle: https://service.codeenterprise.de/docs/coe-google-site-verification-sw6/index
Mit unserem Plugin bestätigst du in wenigen Minuten die Inhaberschaft deines Shops bei Google — ohne den Quelltext deines Themes anzufassen.
Google verlangt für viele Dienste, etwa die Google Search Console, einen Nachweis, dass dir die Website gehört. Eine der einfachsten Methoden dafür ist ein Meta-Tag im Kopfbereich der Seite. Genau dieses Tag pflegt das Plugin für dich ein: Du hinterlegst einmalig deine Google Content ID in der Konfiguration, und das Tag erscheint automatisch auf jeder Storefront-Seite im Seitenkopf.
### Was das Plugin für dich übernimmt
- Fügt den Meta-Tag `google-site-verification` automatisch in den Kopfbereich ein
- Keine Änderung an Theme oder Quelltext nötig
- Ein einziges Eingabefeld — mehr brauchst du nicht
### Für wen
Für jeden Shop-Betreiber, der seinen Shop bei Google verifizieren möchte, zum Beispiel um die Google Search Console zu nutzen. Du brauchst dafür kein technisches Wissen; alle Schritte erledigst du im Shopware-Admin.
Wie du loslegst, liest du unter [Installation](/docs/coe-google-site-verification-sw6/installation) und [Konfiguration](/docs/coe-google-site-verification-sw6/konfiguration).
## Installation
Quelle: https://service.codeenterprise.de/docs/coe-google-site-verification-sw6/installation
Du installierst das Plugin wie jede andere Shopware-Erweiterung direkt im Admin.
### Plugin installieren und aktivieren
1. Öffne im Shopware-Admin **Erweiterungen › Meine Erweiterungen**.
2. Suche den Eintrag **Google Website-Inhaberschaft bestätigen** in der Liste.
3. Klicke auf **Installieren** und anschließend auf **Aktivieren**.
Nach der Aktivierung ist das Plugin einsatzbereit. Damit der Verifizierungs-Tag tatsächlich ausgegeben wird, hinterlegst du im nächsten Schritt deine Google Content ID — siehe [Konfiguration](/docs/coe-google-site-verification-sw6/konfiguration).
Solange keine Content ID hinterlegt ist, fügt das Plugin nichts in deine Seiten ein. Bis du die ID gespeichert hast, ändert sich an deiner Storefront also nichts.
## Konfiguration
Quelle: https://service.codeenterprise.de/docs/coe-google-site-verification-sw6/konfiguration
In der Konfiguration hinterlegst du deine **Google Content ID**. Sobald sie gespeichert und der Cache geleert ist, gibt dein Shop den Verifizierungs-Tag auf jeder Storefront-Seite aus.
### Konfiguration öffnen
1. Öffne im Shopware-Admin **Erweiterungen › Meine Erweiterungen**.
2. Klicke beim Eintrag **Google Website-Inhaberschaft bestätigen** auf das **...**-Menü und dann auf **Konfiguration**.
Oben auf der Seite legst du über die Verkaufskanal-Auswahl fest, ob die Content ID für **Alle Verkaufskanäle** oder nur für einen bestimmten gelten soll. So kannst du je Domain eine eigene Verifizierung hinterlegen.
### Google Content ID ermitteln
Die Content ID stammt aus der [Google Search Console](https://search.google.com/search-console):
1. Melde dich in der Google Search Console an und füge deine Domain als Property hinzu.
2. Wähle die Bestätigungsmethode **HTML-Tag**. Google zeigt dir ein Meta-Tag in dieser Form:
```html
```
3. Kopiere **nur den Wert** aus dem `content`-Attribut (im Beispiel `abcDEF123...`) — nicht das ganze Tag.
### Content ID speichern
1. Trage den kopierten Wert in das Feld **Google Content ID** ein.
2. Klicke auf **Speichern**.
3. Leere anschließend den Cache über **Einstellungen › System › Caches & Indizes › Cache leeren**.
Nach jeder Änderung an der Content ID musst du den Cache leeren. Andernfalls bleibt der alte Zustand aktiv und der Tag erscheint — oder verschwindet — nicht wie erwartet.
### Bestätigung abschließen
Kehre nach dem Leeren des Caches in die Google Search Console zurück und klicke dort auf **Bestätigen**. Google ruft deine Startseite auf, findet den Meta-Tag im Kopfbereich und schließt die Verifizierung ab.
Ob der Tag ausgegeben wird, kannst du auch selbst prüfen: Öffne deine Storefront, zeige den Seitenquelltext an (Rechtsklick › **Seitenquelltext anzeigen**) und suche nach `google-site-verification`.
# Gutschein via URL hinzufügen (CoeVoucherUrlSw6)
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-voucher-url-sw6/faq
Die häufigsten Fragen rund um das Einlösen von Gutscheinen per URL.
### Kann ich den Parameternamen ändern?
Nein. Der Parameter heißt fest `voucher` und lässt sich nicht umbenennen.
### Der Code wird nicht eingelöst — woran liegt das?
Prüfe der Reihe nach:
- Existiert in Shopware unter **Marketing › Promotions** eine **aktive** Promotion mit genau diesem Code?
- Sind die Bedingungen der Promotion erfüllt (z. B. Mindestbestellwert, Verkaufskanal, Gültigkeitszeitraum)?
- Wird der Link als normaler Seitenaufruf im Browser geöffnet? Der Parameter wird nur bei regulären Storefront-Aufrufen ausgewertet.
Ist der Code ungültig oder existiert nicht, zeigt dein Shop eine Meldung:
> Die Promotion konnte nicht hinzugefügt werden, da der Code nicht existiert
### Was passiert bei einem leeren Warenkorb?
Der Code wird gemerkt und automatisch eingelöst, sobald das erste Produkt im Warenkorb liegt. Ob dein Shop dazu einen Hinweis anzeigt, steuerst du in der [Konfiguration](/docs/coe-voucher-url-sw6/konfiguration).
### Wird derselbe Gutschein doppelt hinzugefügt?
Nein. Liegt der Code bereits im Warenkorb, wird er kein zweites Mal angewendet.
### Funktioniert das mit aktiviertem Seiten-Cache?
Ja. Ruft ein Kunde eine URL mit `voucher`-Parameter auf, liefert dein Shop diese Seite bewusst ohne Cache aus, damit der Gutschein zuverlässig verarbeitet wird. Alle übrigen Seitenaufrufe bleiben vom Cache unberührt.
## Gutschein per URL einlösen
Quelle: https://service.codeenterprise.de/docs/coe-voucher-url-sw6/gutschein-per-url-einloesen
Das Herzstück des Plugins ist der `voucher`-Parameter. Du hängst ihn an eine beliebige Storefront-URL an — beim Aufruf des Links wird der angegebene Code automatisch in den Warenkorb gelegt.
### Den Link aufbauen
Ergänze deine URL um `?voucher=DEINCODE` (oder `&voucher=DEINCODE`, falls die Adresse bereits Parameter enthält):
```
https://dein-shop.de/?voucher=SOMMER25
https://dein-shop.de/aktion/sommer?voucher=SOMMER25
```
Ersetze `SOMMER25` durch den Code der Promotion, die du in Shopware angelegt hast. Der Parameter heißt immer `voucher` und ist fest vorgegeben.
Der Link wirkt an jeder Storefront-Adresse — Startseite, Kategorie- oder Produktseite. Du bist also frei, worauf du deine Kampagne verlinkst.
### Was beim Aufruf passiert
- **Warenkorb enthält Produkte:** Der Code wird sofort angewendet. Dein Kunde sieht die Erfolgsmeldung von Shopware und der Rabatt erscheint im Warenkorb.
- **Warenkorb ist leer:** Der Code wird gemerkt und automatisch eingelöst, sobald das erste Produkt hinzukommt. Optional zeigt dein Shop dazu einen Hinweis an (siehe [Konfiguration](/docs/coe-voucher-url-sw6/konfiguration)):
> Promotion wird automatisch dem Warenkorb hinzugefügt, wenn mindestens ein Produkt im Warenkorb liegt.
- **Code bereits im Warenkorb:** Ein identischer Code wird nicht doppelt hinzugefügt.
### Feste und individuelle Codes
Beide Gutschein-Arten von Shopware funktionieren:
- **Feste Codes** — ein Code für alle Kunden (z. B. `SOMMER25`).
- **Individuelle Codes** — pro Kunde generierte Einmal-Codes. Setze den jeweils erzeugten Code als `voucher`-Wert ein.
Entscheidend ist nur, dass die zugehörige Promotion in Shopware aktiv ist und ihre Bedingungen (etwa ein Mindestbestellwert) erfüllt sind.
### Werden Bedingungen noch nicht erfüllt
Erreicht der Warenkorb zum Beispiel einen geforderten Mindestbestellwert noch nicht, kann der Code noch nicht greifen. Dein Kunde erhält beim Öffnen des Links einen entsprechenden Hinweis. Der Gutschein bleibt aber im Warenkorb hinterlegt und wird automatisch eingelöst, sobald die Bedingungen erfüllt sind — der Link muss nicht erneut aufgerufen werden.
## Gutschein via URL hinzufügen
Quelle: https://service.codeenterprise.de/docs/coe-voucher-url-sw6/index
Mit „Gutschein via URL hinzufügen" löst du Rabattcodes direkt über einen Link ein. Du hängst einen `voucher`-Parameter an eine beliebige Storefront-URL — der passende Gutschein landet automatisch im Warenkorb, ohne dass dein Kunde den Code manuell eingeben muss.
Das ist ideal überall dort, wo du einen fertigen Link teilst: Newsletter, Social-Media-Anzeigen, Affiliate-Kampagnen oder QR-Codes. Der Kunde klickt, der Rabatt greift.
### So sieht ein Link aus
```
https://dein-shop.de/?voucher=SOMMER25
```
Ruft dein Kunde diesen Link auf, versucht das Plugin, den Code `SOMMER25` sofort in den Warenkorb zu legen. Der Parameter funktioniert an jeder Shop-Adresse — an der Startseite genauso wie an einer Produkt- oder Kategorieseite.
### Was das Plugin für dich übernimmt
- **Automatisches Einlösen** — der Code wird beim Aufruf des Links direkt angewendet, ohne Eingabefeld.
- **Feste und individuelle Codes** — beides funktioniert, solange die zugehörige Promotion in Shopware angelegt und aktiv ist.
- **Merken bei leerem Warenkorb** — liegt noch kein Produkt im Warenkorb, wird der Code gespeichert und automatisch eingelöst, sobald das erste Produkt hinzukommt.
### Weiter zu den Details
- [Installation](/docs/coe-voucher-url-sw6/installation)
- [Gutschein per URL einlösen](/docs/coe-voucher-url-sw6/gutschein-per-url-einloesen)
- [Konfiguration](/docs/coe-voucher-url-sw6/konfiguration)
- [Häufige Fragen](/docs/coe-voucher-url-sw6/faq)
## Installation
Quelle: https://service.codeenterprise.de/docs/coe-voucher-url-sw6/installation
Du installierst das Plugin wie jede andere Shopware-Erweiterung über den Plugin-Manager. Eine weitere Einrichtung ist für den Grundbetrieb nicht nötig — sobald das Plugin aktiv ist, wertet dein Shop den `voucher`-Parameter aus.
### Plugin installieren und aktivieren
1. Öffne in der Administration **Erweiterungen › Meine Erweiterungen**.
2. Suche den Eintrag **Gutschein via URL hinzufügen** und klicke auf **Installieren**.
3. Aktiviere das Plugin anschließend über den Schalter.
Nach der Aktivierung ist das Plugin sofort einsatzbereit. Wie du Links aufbaust, liest du unter [Gutschein per URL einlösen](/docs/coe-voucher-url-sw6/gutschein-per-url-einloesen).
### Kompatibilität
Das Plugin ist mit Shopware 6.7 kompatibel.
Damit ein Link tatsächlich einen Rabatt auslöst, muss in Shopware unter **Marketing › Promotions** eine aktive Promotion mit dem passenden Code existieren. Das Plugin legt selbst keine Gutscheine an — es löst vorhandene ein.
## Konfiguration
Quelle: https://service.codeenterprise.de/docs/coe-voucher-url-sw6/konfiguration
Das Plugin kommt mit einer einzigen Einstellung aus. Du findest sie in der Administration unter **Erweiterungen › Meine Erweiterungen** beim Eintrag **Gutschein via URL hinzufügen** über das Menü **⋯ › Konfiguration**.
Die Einstellungen lassen sich pro Verkaufskanal setzen: Wähle oben den gewünschten Verkaufskanal, um von der Standardvorgabe abzuweichen.
### Hinweis bei leerem Warenkorb anzeigen
Öffnet dein Kunde einen Gutschein-Link, während der Warenkorb noch leer ist, merkt sich das Plugin den Code und löst ihn automatisch ein, sobald das erste Produkt hinzukommt. Standardmäßig zeigt dein Shop dazu einen Hinweis:
> Promotion wird automatisch dem Warenkorb hinzugefügt, wenn mindestens ein Produkt im Warenkorb liegt.
Über den Schalter **Hinweis bei leerem Warenkorb anzeigen** steuerst du, ob diese Meldung erscheint:
- **aktiv (Standard):** Der Hinweis wird angezeigt.
- **inaktiv:** Der Hinweis entfällt.
Der Schalter steuert ausschließlich die sichtbare Meldung. Der Gutscheincode wird in jedem Fall gespeichert und beim ersten hinzugefügten Produkt automatisch eingelöst — unabhängig davon, ob der Hinweis erscheint.
# Hermes Paketversand Adapter für Shopware 6 (CoeHermesDeliverySw6)
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-hermes-delivery-sw6/faq
Hier findest du Antworten auf wiederkehrende Fragen und die häufigsten Gründe, warum eine Label-Erstellung nicht wie erwartet läuft.
### Warum schlägt die Label-Erstellung für eine Bestellung fehl?
Erscheint eine Bestellung in der Ergebnistabelle als *Fehler*, ist meist eine dieser Bedingungen nicht erfüllt:
- **Versandart nicht freigegeben.** Die Bestellung nutzt keine der unter *Hermes Versandarten* konfigurierten Versandarten. Ergänze die Versandart in der [Konfiguration](/docs/coe-hermes-delivery-sw6/konfiguration/versand-und-abrechnung).
- **Straße oder Hausnummer fehlt.** Die Lieferadresse muss eine Straße mit Hausnummer enthalten, die das Plugin eindeutig trennen kann. Fehlt die Hausnummer oder ist die Schreibweise ungewöhnlich, bricht die Erstellung ab.
- **Paketgröße XL außerhalb Deutschlands.** XL ist nur für Sendungen innerhalb Deutschlands zulässig.
### Warum wird mir kein Retourenlabel angeboten?
Die Schaltfläche **Retourenlabel erstellen** erscheint nur, wenn deine Abrechnungsart auf **Gewicht** steht. Retourenlabels stehen damit nur Geschäftskunden zur Verfügung.
### Warum greift die Kompaktsendung nicht?
Die Kompaktsendung ist an mehrere Bedingungen geknüpft: Sie funktioniert nur bei Abrechnung über **Gewicht**, und das Paketgewicht muss zwischen **200 g und 1000 g** liegen. Nur Sendungen in diesem Bereich werden als Kompaktsendung an Hermes gemeldet.
### Kann ich ein Hermes-Label manuell über den Dokumente-Bereich erstellen?
Nein. Der Dokumenttyp *Hermes Label* ist bewusst aus der manuellen Dokument-Auswahl in den Bestelldetails ausgeblendet. Labels entstehen ausschließlich über die Aktion **Hermes Label erstellen** in der Bestellübersicht, damit gleichzeitig die Sendung bei Hermes angemeldet und die Tracking-Nummer gespeichert wird.
### Was passiert, wenn ich die Erstellung für dieselbe Bestellung erneut auslöse?
Das hängt von der Einstellung *Verhalten bei bereits vorhandenem Label* ab. In der Standardvorgabe **Erstellen** wird ein zusätzliches Label erzeugt. Stellst du auf **Übersprungen** um, überspringt das Plugin Bestellungen, die bereits ein Label haben, und weist dich darauf hin.
### Was passiert, wenn die gewählte Referenznummer fehlt?
Hast du als Referenz die Rechnungs- oder Lieferscheinnummer gewählt, das Dokument existiert für die Bestellung aber noch nicht, verwendet das Plugin automatisch die Bestellnummer als Referenz.
### Wie teste ich, ohne echte Sendungen zu erzeugen?
Aktiviere in der Karte *Login* den Schalter **Sandbox** und hinterlege deine Hermes-Test-Zugangsdaten. Das Plugin verbindet sich dann mit der Hermes-Testumgebung. Für den echten Versand schaltest du die Sandbox ab und trägst deine Live-Zugangsdaten ein.
## Hermes Paketversand Adapter für Shopware 6
Quelle: https://service.codeenterprise.de/docs/coe-hermes-delivery-sw6/index
Der **Hermes Paketversand Adapter für Shopware 6** verbindet deinen Shop direkt mit der Hermes-Versand-API. Du erstellst Versandlabels für deine Bestellungen direkt in der Shopware-Administration – ohne dich separat in das Hermes-System (HSI) einzuloggen.
### Was das Plugin für dich erledigt
- **Labels aus der Bestellübersicht.** Du wählst eine oder mehrere Bestellungen aus und erzeugst die Hermes-Versandlabels in einem Schritt. Jedes Label wird der Bestellung automatisch als PDF-Dokument angehängt.
- **Retourenlabels.** Für Geschäftskunden erstellst du auf demselben Weg auch Retourenlabels.
- **Tracking-Nummern zurück im Shop.** Die von Hermes vergebene Sendungsnummer wird automatisch in die Bestellung geschrieben – als Tracking-Code der Lieferung und als Zusatzfeld am Dokument, das du in E-Mail-Vorlagen nutzen kannst.
- **Flexible Abrechnung.** Selfservice-Kunden rechnen über Paketklassen ab, Geschäftskunden über das Gewicht. Beides wird unterstützt, inklusive Sperrgut, Nachnahme und Kompaktsendungen.
### Für wen es gedacht ist
Das Plugin richtet sich an Shop-Betreiber mit einem Hermes-Vertrag (Selfservice- oder Geschäftskunde), die ihre Paketlabels ohne Medienbruch direkt aus Shopware heraus erzeugen möchten. Die Zugangsdaten erhältst du von Hermes; im Plugin hinterlegst du sie einmalig und testest die Verbindung.
### So kommst du zum ersten Label
1. Du installierst und aktivierst das Plugin – siehe [Installation](/docs/coe-hermes-delivery-sw6/installation).
2. Du hinterlegst deine Zugangsdaten und legst fest, welche Versandarten Hermes-Labels auslösen – siehe [Konfiguration](/docs/coe-hermes-delivery-sw6/konfiguration).
3. Du erzeugst deine Labels aus der Bestellübersicht – siehe [Labels erstellen](/docs/coe-hermes-delivery-sw6/label-erstellung).
## Installation & Aktivierung
Quelle: https://service.codeenterprise.de/docs/coe-hermes-delivery-sw6/installation
Du installierst das Plugin wie jede Shopware-Erweiterung über **Erweiterungen › Meine Erweiterungen**. Nach der Installation aktivierst du es dort mit einem Klick.
### Voraussetzungen
- Ein aktiver **Hermes-Vertrag** (Selfservice- oder Geschäftskunde) mit Zugangsdaten für die Hermes-API. Diese Zugangsdaten bekommst du direkt von Hermes – das Plugin erzeugt sie nicht.
- Eine kompatible Shopware-6-Version. Das Plugin unterstützt Shopware 6.7; für ältere Shops steht eine passende Plugin-Version bereit.
### Installieren und aktivieren
1. Öffne **Erweiterungen › Meine Erweiterungen**.
2. Lade das Plugin hoch, falls du es nicht über den Shopware Store beziehst, und klicke bei *Hermes Paketversand Adapter* auf **Installieren**.
3. Aktiviere das Plugin über den Schalter.
4. Öffne anschließend die [Konfiguration](/docs/coe-hermes-delivery-sw6/konfiguration), um deine Zugangsdaten zu hinterlegen.
### Was bei der Installation angelegt wird
Damit du sofort loslegen kannst, richtet das Plugin bei der Installation im Hintergrund alles Nötige ein:
- **Zwei Zusatzfeld-Sets.** Am Bestell-Datensatz erscheinen die Felder *Paketgröße* und *Bestellungsgewicht überschreiben* (siehe [Labels erstellen](/docs/coe-hermes-delivery-sw6/label-erstellung)). An Dokumenten wird das Feld *Hermes Tracking-Code* angelegt.
- **Ein Dokumenttyp „Hermes Label".** Darüber werden die Label-PDFs als Bestell-Dokumente gespeichert. Der Typ erhält einen eigenen Nummernkreis, dessen Nummern automatisch hochgezählt werden.
Du musst diese Elemente nicht selbst anlegen – sie stehen nach der Aktivierung bereit.
### Deinstallation
Beim Deinstallieren kannst du wählen, ob deine Daten erhalten bleiben. Entscheidest du dich dafür, die Daten zu **entfernen**, löscht das Plugin die erzeugten Hermes-Label-Dokumente, den Dokumenttyp, den Nummernkreis und die Zusatzfelder wieder. Wählst du **Benutzerdaten behalten**, bleiben diese Elemente erhalten.
## Konfiguration & Zugangsdaten
Quelle: https://service.codeenterprise.de/docs/coe-hermes-delivery-sw6/konfiguration
Die Konfiguration öffnest du über **Erweiterungen › Meine Erweiterungen › Hermes Paketversand Adapter › ⋯ › Konfiguration**. Sie ist in zwei Karten unterteilt: **Login** für deine Zugangsdaten und **Label Erstellung** für alle Einstellungen rund um die Label-Ausgabe.
Alle Einstellungen kannst du je Verkaufskanal getrennt hinterlegen. Wähle dazu oben in der Konfiguration den gewünschten Verkaufskanal aus, bevor du speicherst. Die Zugangsdaten (Benutzername, Passwort, Sandbox) gelten dagegen kanalübergreifend.
### Zugangsdaten hinterlegen (Karte „Login")
- **Sandbox** – Ist der Schalter aktiv, verbindet sich das Plugin mit der Hermes-Testumgebung statt mit dem Live-System. Nutze die Sandbox zum Ausprobieren und schalte sie für den echten Versand ab. Standardmäßig ist sie aktiviert.
- **Benutzername** und **Passwort** – Deine Zugangsdaten aus deinem Hermes-Vertrag. Beide Felder sind Pflicht.
- **Access Token**, **Token Type** und **Refresh Token** – Diese Felder füllt das Plugin nach einer erfolgreichen Verbindung automatisch. Du musst hier nichts eintragen; sie sind schreibgeschützt und dienen nur der Anmeldung im Hintergrund.
### Verbindung testen
Unter den Zugangsdaten findest du die Schaltfläche **API Verbindung testen**. Ein Klick prüft mit den eingegebenen Zugangsdaten, ob eine Verbindung zu Hermes aufgebaut werden kann:
- Klappt es, erscheint die Meldung *Verbindung erfolgreich*, und deine Zugangsdaten werden gespeichert.
- Klappt es nicht, meldet das Plugin *Verbindung fehlgeschlagen*. Prüfe dann Benutzername, Passwort und den Sandbox-Schalter.
Achte darauf, dass der Sandbox-Schalter zu deinen Zugangsdaten passt: Test-Zugangsdaten funktionieren nur mit aktivierter Sandbox, deine echten Zugangsdaten nur mit abgeschalteter Sandbox.
### Einstellungen für die Label-Erstellung
Die zweite Karte **Label Erstellung** steuert, wie deine Pakete erzeugt und abgerechnet werden. Wegen des Umfangs sind diese Einstellungen auf zwei Themenseiten aufgeteilt:
- [Versandarten & Abrechnung](/docs/coe-hermes-delivery-sw6/konfiguration/versand-und-abrechnung) – welche Versandarten Hermes-Labels auslösen, Abrechnung über Paketklasse oder Gewicht, Sperrgut, Nachnahme und Kompaktsendung.
- [Referenzen & Sonderfälle](/docs/coe-hermes-delivery-sw6/konfiguration/referenz-und-optionen) – Referenznummer, Tracking-Quelle, abweichende Absenderadresse und weitere Optionen.
## Referenzen & Sonderfälle
Quelle: https://service.codeenterprise.de/docs/coe-hermes-delivery-sw6/konfiguration/referenz-und-optionen
Diese Einstellungen findest du ebenfalls in der Karte **Label Erstellung**. Sie bestimmen, welche Referenzen an Hermes übergeben und welche Sendungsnummer im Shop gespeichert wird.
### Referenznummer an Hermes
Über **Übergebene Referenz ID** legst du fest, welche Nummer als Referenz an Hermes übermittelt wird. Zur Wahl stehen:
- **Bestellnummer**
- **Rechnungsnummer**
- **Lieferscheinnummer**
Wählst du Rechnungs- oder Lieferscheinnummer, das entsprechende Dokument existiert für eine Bestellung aber noch nicht, greift das Plugin automatisch auf die Bestellnummer zurück.
#### Referenzfeld bei Einzelartikeln ergänzen
Mit **Referenzfeld ergänzen wenn nur ein Artikel in der Bestellung** hängst du bei Bestellungen mit **genau einem** Artikel eine zusätzliche Angabe an die Referenz an. Wählbar sind **EAN**, **Artikel-Nr.**, **Artikelname** oder **Herstellernummer**. Enthält die Bestellung mehr als einen Artikel, bleibt die Referenz unverändert. Die kombinierte Referenz wird auf maximal 20 Zeichen gekürzt.
### Welche Sendungsnummer gespeichert wird
Das Feld **Als Trackingnummer speichern** bestimmt, welche von Hermes zurückgegebene Nummer als Tracking-Code in der Bestellung hinterlegt wird:
- **Auftragsnummer** – die Auftragsnummer der Sendung (Standard).
- **Sendungs ID** – die Sendungs-ID von Hermes.
Die gewählte Nummer schreibt das Plugin in den Tracking-Code der Lieferung und zusätzlich in das Zusatzfeld *Hermes Tracking-Code* des erzeugten Dokuments.
### Nachnamen kürzen
Hermes begrenzt die Länge des Empfängernamens. Aktivierst du **Nachname/Firmenname nach maximaler Länge abschneiden (50 Zeichen)**, kürzt das Plugin einen zu langen Nach- oder Firmennamen automatisch auf 50 Zeichen, damit die Übertragung nicht scheitert. Standardmäßig ist die Option aus.
### Verhalten bei bereits vorhandenem Label
**Welches Verhalten soll greifen, wenn ein Label für eine Bestellung erzeugt werden soll, die bereits ein Label hat** steuert, was passiert, wenn du die Label-Erstellung für eine Bestellung erneut auslöst:
- **Erstellen (Add label)** – es wird ein zusätzliches Label erzeugt (Standard).
- **Übersprungen (Label nicht erstellen)** – die Bestellung wird übersprungen, und du erhältst einen entsprechenden Hinweis.
### Abweichende Absenderadresse
Standardmäßig nutzt Hermes die in deinem Vertrag hinterlegte Absenderadresse. Brauchst du für den Versand eine **abweichende** Absenderadresse, trägst du sie im Feld **Benutzerdefinierte Absenderadresse** im JSON-Format ein. Hermes verlangt, dass alle Felder gefüllt sind. Beispiel:
```json
{
"senderName": { "firstname": "Company", "lastname": "Name" },
"senderAddress": {
"street": "CompanyStreet",
"houseNumber": "1",
"zipCode": "98765",
"town": "SenderCity",
"countryCode": "DE"
}
}
```
Prüfe deine Eingabe vor dem Speichern mit einem JSON-Validator. Lässt du das Feld leer, wird die Absenderadresse aus deinem Hermes-Vertrag verwendet.
## Versandarten & Abrechnung
Quelle: https://service.codeenterprise.de/docs/coe-hermes-delivery-sw6/konfiguration/versand-und-abrechnung
Diese Einstellungen findest du in der Konfiguration in der Karte **Label Erstellung**. Sie bestimmen, für welche Bestellungen Hermes-Labels erzeugt werden und wie das Paket abgerechnet wird.
### Welche Versandarten Hermes auslösen
Im Feld **Hermes Versandarten** wählst du eine oder mehrere Versandarten aus. Nur Bestellungen mit einer dieser Versandarten lassen sich zu einem Hermes-Label verarbeiten – für alle anderen bricht die Erstellung mit einem Hinweis ab. Dieses Feld ist Pflicht.
Über **Versandarten für Sperrgut** hinterlegst du optional weitere Versandarten. Nutzt eine Bestellung eine dieser Versandarten, kennzeichnet das Plugin die Sendung gegenüber Hermes als Sperrgut.
### Abrechnung: Paketklasse oder Gewicht
Das Feld **Abrechnungsart** legt fest, wie deine Sendungen bei Hermes berechnet werden. Wähle die Variante, die zu deinem Vertrag passt:
- **Paketklasse** – für Selfservice-Kunden. Jedes Paket wird über seine Größenklasse (XS bis XL) abgerechnet.
- **Gewicht** – für Geschäftskunden. Die Abrechnung erfolgt über das Paketgewicht.
Auch dieses Feld ist Pflicht; die Standardvorgabe ist *Paketklasse*.
#### Standard-Paketgröße (bei Abrechnung über Paketklasse)
Über **Standard Paketgröße** wählst du die Größenklasse, die für jede Sendung gilt, sofern du sie an der einzelnen Bestellung nicht überschreibst (siehe [Labels erstellen](/docs/coe-hermes-delivery-sw6/label-erstellung)). Zur Wahl stehen **XS**, **S**, **M**, **L** und **XL**. Das Feld ist Pflicht.
Die Paketgröße **XL** ist nur für Sendungen innerhalb Deutschlands zulässig. Wählst du XL für eine Bestellung mit ausländischer Lieferadresse, weist das Plugin die Label-Erstellung für diese Bestellung mit einem Hinweis ab.
#### Gewichtsaufschlag (bei Abrechnung über Gewicht)
Rechnest du über Gewicht ab, kannst du im Feld **Gewicht Aufschlag (kg)** einen pauschalen Wert festlegen, der auf jede Bestellung addiert wird – zum Beispiel für Verpackungsmaterial. Das Plugin ermittelt das Paketgewicht sonst automatisch aus den Produktgewichten der Bestellung.
#### Kompaktsendung
Der Schalter **Kompaktsendung verwenden** ist nur für Geschäftskunden mit Abrechnung über Gewicht sinnvoll. Ist er aktiv, meldet das Plugin passende Sendungen als Kompaktsendung an Hermes. Eine Kompaktsendung muss zwischen **15×10×1 cm und 35×25×5 cm** groß und **200 g bis 1000 g** schwer sein – nur Sendungen in diesem Gewichtsbereich werden als Kompaktsendung übertragen.
### Nachnahme
Unter **Nachnahme Zahlungsart(en)** wählst du eine oder mehrere Zahlungsarten aus. Nutzt eine Bestellung eine dieser Zahlungsarten, überträgt das Plugin den Bestellbetrag als Nachnahme-Betrag an Hermes.
### Benachrichtigungsmail durch Hermes
Aktivierst du **E-Mail für Benachrichtigungsmail übertragen**, wird die E-Mail-Adresse deines Kunden an Hermes übermittelt, damit Hermes eine Versandbenachrichtigung verschicken kann. Standardmäßig ist die Option aus.
Beachte, dass mit dieser Option personenbezogene Daten (die Kunden-E-Mail-Adresse) an Hermes übertragen werden. Aktiviere sie nur, wenn dies mit deinen Datenschutz-Vorgaben vereinbar ist.
## Labels erstellen & herunterladen
Quelle: https://service.codeenterprise.de/docs/coe-hermes-delivery-sw6/label-erstellung
Sobald deine Zugangsdaten hinterlegt sind und die Verbindung steht, erzeugst du deine Labels direkt aus der **Bestellübersicht** unter **Bestellungen › Übersicht**. Ein separater Login in das Hermes-System ist nicht nötig.
### Labels für Bestellungen erzeugen
1. Setze in der Bestellübersicht bei den gewünschten Bestellungen das Häkchen in der ersten Spalte.
2. In der Aktionsleiste am unteren Rand erscheint der Eintrag **Hermes Label erstellen**. Klicke darauf.
Die Aktion ist nur sichtbar, wenn dein Benutzer die Berechtigung zum Bearbeiten von Bestellungen besitzt.
3. Es öffnet sich das Fenster **Hermes Label Generierung**. Das Plugin prüft zunächst die Verbindung zu Hermes. Schlägt sie fehl, siehst du einen Hinweis statt der Aktion – kontrolliere dann deine [Zugangsdaten](/docs/coe-hermes-delivery-sw6/konfiguration).
4. Bestätige mit **Label erstellen**. Steht dir zusätzlich **Retourenlabel erstellen** zur Verfügung, kannst du damit Retourenlabels erzeugen (siehe unten).
Für jede ausgewählte Bestellung führt das Plugin die Erstellung einzeln durch und zeigt dir das Ergebnis in einer Tabelle:
- **Erfolg** – das Label wurde erstellt.
- **Info** – das Label wurde erstellt, Hermes hat aber eine Meldung zurückgegeben. Fahre über den Hinweis, um sie zu lesen.
- **Fehler** – für diese Bestellung konnte kein Label erzeugt werden. Die Ursache steht daneben.
Schlägt eine einzelne Bestellung fehl, laufen die übrigen trotzdem weiter durch.
### Labels herunterladen
Nach erfolgreicher Erstellung wird die Schaltfläche zum Herunterladen aktiv (zum Beispiel **3 Labels runterladen**). Ein Klick fasst alle in diesem Durchlauf erzeugten Labels zu einer einzigen PDF-Datei zusammen und lädt sie herunter.
Jedes Label wird außerdem automatisch als Dokument vom Typ **Hermes Label** an die jeweilige Bestellung angehängt. Du findest es später in den Bestelldetails unter **Dokumente** und kannst es dort erneut herunterladen.
### Tracking-Nummern
Die von Hermes vergebene Sendungsnummer schreibt das Plugin nach der Erstellung automatisch zurück:
- als **Tracking-Code** der Lieferung in der Bestellung und
- als Zusatzfeld **Hermes Tracking-Code** am erzeugten Dokument.
Über das Dokument-Zusatzfeld lässt sich die Sendungsnummer auch in E-Mail-Vorlagen einbinden, um deine Kunden automatisch zu informieren. Welche Nummer gespeichert wird, legst du unter [Referenzen & Sonderfälle](/docs/coe-hermes-delivery-sw6/konfiguration/referenz-und-optionen) fest.
### Einzelne Bestellung anpassen
Die Vorgaben aus der Konfiguration gelten für alle Bestellungen. Bei Bedarf überschreibst du sie pro Bestellung über die Zusatzfelder in den Bestelldetails:
- **Paketgröße** – wählt für diese Bestellung eine andere Größenklasse als die Standard-Paketgröße. In der Bestellübersicht zeigt dir die Spalte *Paketgröße* den gesetzten Wert an; ist keiner gesetzt, steht dort *Default*.
- **Bestellungsgewicht überschreiben** – setzt für diese Bestellung ein festes Gewicht. Lässt du das Feld leer, berechnet das Plugin das Gewicht automatisch aus den Produktgewichten der Bestellung.
### Retourenlabels
Die Schaltfläche **Retourenlabel erstellen** steht dir nur zur Verfügung, wenn deine [Abrechnungsart](/docs/coe-hermes-delivery-sw6/konfiguration/versand-und-abrechnung) auf **Gewicht** steht – also für Geschäftskunden. Der Ablauf ist derselbe wie bei Versandlabels: auswählen, erstellen, herunterladen.
### Voraussetzungen an die Bestellung
Damit ein Label erzeugt werden kann, muss eine Bestellung ein paar Bedingungen erfüllen. Ist eine davon nicht erfüllt, erscheint die Bestellung in der Ergebnistabelle als *Fehler*:
- Die Bestellung nutzt eine der unter **Hermes Versandarten** konfigurierten Versandarten.
- Die Lieferadresse enthält eine erkennbare Straße **mit** Hausnummer.
- Bei Paketgröße **XL** liegt die Lieferadresse in Deutschland.
Details zu diesen Grenzfällen findest du in den [häufigen Fragen](/docs/coe-hermes-delivery-sw6/faq).
# Katalog Modus - deaktiviere Checkout / Login / Registrierung / Kundenkonto oder Urlaubs Modus (CoeDisableAccountSw6)
## Häufige Fragen und Grenzen
Quelle: https://service.codeenterprise.de/docs/coe-disable-account-sw6/faq
Hier findest du die Punkte, die beim Einrichten am häufigsten für Rückfragen sorgen.
### Ich habe nur „Anmelden" deaktiviert – warum ist die Login-Seite noch erreichbar?
Einzeln gesetzt, blenden **Anmelden deaktivieren** und **Registrierung deaktivieren** nur die zugehörigen Schaltflächen und Links aus. Die Seiten selbst bleiben über ihre direkte Adresse erreichbar. Erst wenn du **beide** Schalter gemeinsam einschaltest, werden Konto- und Registrierungsseiten auf die Startseite umgeleitet. Möchtest du allein den Kundenkonto-Bereich vollständig sperren, nutze **Profilbereich deaktivieren** – dieser Schalter leitet auch für sich um.
### Ich habe den Checkout deaktiviert – warum sehen Kunden noch ihren Warenkorb?
Das ist beabsichtigt. Bei deaktiviertem Checkout bleibt der Warenkorb bewusst sichtbar, damit deine Kunden Produkte sammeln und ansehen können. Gesperrt ist nur der Bestellabschluss: Die „Zur Kasse"-Schaltflächen verschwinden und die Kassen-Seiten leiten auf die Startseite um. So wirkt dein Shop wie ein Katalog.
### Wie richte ich einen reinen Katalog- oder Urlaubs-Modus ein?
Es gibt keinen einzelnen „Katalog"-Schalter – du stellst den Modus über die Kombination der Optionen zusammen:
- **Katalog-Modus:** Aktiviere **Checkout deaktivieren**. Produkte und Warenkorb bleiben sichtbar, bestellen ist nicht möglich. Optional schaltest du zusätzlich **Anmelden** und **Registrierung** ab, wenn auch kein Kundenkonto nötig ist.
- **Geschlossener Urlaubs-Modus:** Aktiviere **Anmelden deaktivieren**, **Registrierung deaktivieren** und **Checkout deaktivieren** gemeinsam. Der gesamte Konto- und Bestellbereich ist dann zu.
### Bleibt mein Admin erreichbar, wenn ich alles abschalte?
Ja. Sämtliche Optionen betreffen ausschließlich die Storefront. Dein Shopware-Admin bleibt uneingeschränkt erreichbar, sodass du die Schalter jederzeit wieder zurücknehmen kannst.
### Der Gutschein-Rabatt gilt trotzdem – ist das ein Fehler?
Nein. **Gutschein Eingabefeld deaktivieren** blendet nur das Eingabefeld für neue Codes aus. Rabatte, die bereits im Warenkorb liegen oder automatisch angewendet werden, bleiben unberührt. Der Schalter verhindert also nur die Neueingabe eines Codes.
## Katalog-Modus – Login, Registrierung, Konto und Checkout abschalten
Quelle: https://service.codeenterprise.de/docs/coe-disable-account-sw6/index
Mit dem Katalog-Modus betreibst du deinen Shopware-Shop wahlweise als reinen Produktkatalog oder schließt ihn vorübergehend – zum Beispiel während der Shop noch im Aufbau ist oder du im Urlaub bist. Du entscheidest über einzelne Schalter, welche Bereiche für deine Besucher sichtbar und nutzbar bleiben und welche du abschaltest.
Alle Funktionen betreffen ausschließlich die Storefront. Dein Admin bleibt jederzeit vollständig erreichbar, sodass du den Shop später mit einem Klick wieder öffnest.
### Wofür du das Plugin einsetzt
- **Katalog-Modus:** Deine Produkte bleiben sichtbar, aber niemand kann bestellen. Ideal, wenn du deinen Shop als Schaufenster nutzt.
- **Urlaubs- oder Wartungsmodus:** Login, Registrierung und Checkout sind vorübergehend zu, ohne dass du den Shop offline nehmen musst.
- **Gezielte Einschränkung:** Du blendest nur einzelne Bereiche aus – etwa das Kundenkonto oder das Gutscheinfeld – und lässt den Rest unberührt.
### So wirkt das Plugin
Die Optionen greifen auf zwei Wegen ineinander:
1. **Ausblenden:** Buttons, Links und Eingabefelder verschwinden aus der Storefront – zum Beispiel der „Zur Kasse"-Button oder das Anmelden-Feld.
2. **Umleiten:** Betroffene Seiten leiten Besucher auf die Startseite um, wenn sie eine gesperrte Adresse direkt aufrufen.
Welche Option was genau bewirkt, liest du unter [Konfiguration](/docs/coe-disable-account-sw6/konfiguration). Wenn du das Plugin zum ersten Mal einrichtest, starte bei der [Installation](/docs/coe-disable-account-sw6/installation).
Das Plugin ist mit Shopware 6.7 kompatibel.
## Plugin installieren und aktivieren
Quelle: https://service.codeenterprise.de/docs/coe-disable-account-sw6/installation
Du installierst das Plugin wie jede andere Shopware-Erweiterung direkt im Admin. Danach richtest du es über die Konfiguration nach deinen Wünschen ein.
### Installieren
1. Öffne im Admin **Erweiterungen › Meine Erweiterungen**.
2. Hast du das Plugin über den Shopware Store erworben, lädst du es dort herunter; ein hochgeladenes Plugin installierst du über **Erweiterung hochladen**.
3. Klicke beim Plugin auf **Installieren**.
### Aktivieren
Nach der Installation schaltest du das Plugin mit dem Schalter **Aktiv** ein. Solange das Plugin nicht aktiv ist, verhält sich deine Storefront unverändert – es wird nichts ausgeblendet oder umgeleitet.
### Konfiguration öffnen
Klicke beim Plugin auf das Drei-Punkte-Menü und wähle **Konfiguration**. Alle Optionen liegen in der Karte **Grundeinstellungen** und sind zunächst ausgeschaltet.
Was die einzelnen Schalter bewirken, erfährst du unter [Konfiguration](/docs/coe-disable-account-sw6/konfiguration).
## Bereiche abschalten und konfigurieren
Quelle: https://service.codeenterprise.de/docs/coe-disable-account-sw6/konfiguration
In der Konfiguration entscheidest du über sechs Schalter, welche Bereiche deiner Storefront aktiv bleiben. Jeder Schalter wirkt für sich; du kombinierst sie frei, um zum Beispiel einen reinen Katalog oder einen geschlossenen Urlaubs-Shop einzurichten.
### Wo du die Einstellungen findest
Öffne im Admin **Erweiterungen › Meine Erweiterungen**, klicke beim Plugin auf das Drei-Punkte-Menü und wähle **Konfiguration**. Alle Optionen findest du in der Karte **Grundeinstellungen**. Standardmäßig ist jeder Schalter aus, sodass sich ohne deine Änderung nichts verändert.
### Konto, Login und Registrierung
#### Anmelden deaktivieren
Blendet die Anmelden-Schaltflächen in der Storefront aus – im Konto-Menü, auf der Registrierungsseite und im Checkout. Setzt du **nur** diesen Schalter, verschwinden lediglich die Links; die Login-Seite selbst bleibt über ihre direkte Adresse erreichbar.
#### Registrierung deaktivieren
Blendet das Registrierungsformular und die zugehörigen Links aus – im Konto-Menü, auf der Registrierungsseite und im Checkout. Auch hier gilt: allein gesetzt, blendet der Schalter nur die Links aus, die Seite bleibt per Direktaufruf erreichbar.
Erst wenn du **Anmelden deaktivieren** und **Registrierung deaktivieren** gemeinsam einschaltest, leitet das Plugin Konto- und Registrierungsseiten aktiv auf die Startseite um. So sperrst du den gesamten Kundenbereich vollständig.
#### Profilbereich deaktivieren
Sperrt den Kundenkonto-Bereich sofort – auch ohne weitere Schalter. Kontoseiten leiten auf die Startseite um, und das Konto-Menü sowie das Konto-Symbol im Seitenkopf werden für angemeldete Kunden ausgeblendet.
### Checkout und Bestellung
#### Checkout deaktivieren
Sperrt den Bestellabschluss: Die „Zur Kasse"-Schaltflächen im Warenkorb und im Mini-Warenkorb verschwinden, und die Kassen-Seiten leiten auf die Startseite um.
Der Warenkorb selbst bleibt sichtbar. Deine Kunden können weiterhin Produkte in den Warenkorb legen und ansehen – nur der Weg zur Kasse ist versperrt. Das ist genau das Verhalten für einen Katalog-Modus.
### Warenkorb-Anzeige
#### Zum Warenkorb Link im Ajax Warenkorb dekativieren
Blendet den Link zur Warenkorb-Seite im Mini-Warenkorb (dem Ausklapp-Fenster oben rechts) aus. Die Warenkorb-Seite selbst bleibt über den normalen Weg erreichbar; nur diese eine Verknüpfung entfällt.
#### Gutschein Eingabefeld deaktivieren
Blendet das Eingabefeld für Gutschein- und Aktionscodes im Warenkorb und im Mini-Warenkorb aus. Deine Kunden können dann keinen Code mehr eingeben. Bereits gewährte oder automatisch angewendete Rabatte bleiben davon unberührt.
Stolpersteine und häufige Fragen findest du unter [Häufige Fragen und Grenzen](/docs/coe-disable-account-sw6/faq).
# Kunde direkt als Absender vom Kontakt Formular (CoeFormCustomerFromSw6)
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-form-customer-from-sw6/faq
Kurze Antworten auf die Fragen, die beim Einrichten am häufigsten auftauchen.
### Ich bekomme gar keine Kontakt-Mail mehr – liegt das am Plugin?
In aller Regel nein. Das Plugin verändert nur den Absender einer Kontakt-Mail, es löst den Versand nicht aus. Dafür ist der Shopware-Flow „Kontaktformular" mit einer **E-Mail-versenden**-Aktion zuständig. Kommt keine Mail an, prüfe zuerst, ob dieser Flow aktiv ist und eine gültige Empfängeradresse hinterlegt hat.
### Welche Mails ändert das Plugin?
Nur die Mail des **Kontaktformulars** (Flow-Trigger `contact_form.send`). Bestell-, Versand- oder Registrierungsmails und alle anderen Benachrichtigungen bleiben unverändert.
### Soll ich „Absender" oder „reply-to" wählen?
Zum Antworten kommst du mit beiden Modi gleich schnell ans Ziel. Möchtest du, dass die Kundenadresse sichtbar als Absender in deinem Postfach steht, wähle **Kunden E-Mail Adresse als Absender nutzen**. Legst du Wert auf zuverlässige Zustellung, wähle **Kunden E-Mail Adresse als reply-to nutzen** – dann bleibt dein Shop technischer Absender und die Mail passiert Spam-Prüfungen wie SPF oder DMARC unauffällig. Details dazu findest du unter [Konfiguration](/docs/coe-form-customer-from-sw6/konfiguration).
### Funktioniert das Plugin auch mit dem Flow Builder?
Ja. Es hängt sich an den Kontaktformular-Auslöser `contact_form.send` und arbeitet damit sowohl mit dem Standard-Kontaktformular als auch mit eigenen Flows, die auf diesem Trigger aufbauen.
### Der Absender stimmt nicht – woran liegt das?
Steht in der Kontakt-Mail weiterhin dein Shop als Absender, ist vermutlich noch der Modus **Shopware Standard nutzen** aktiv. Stelle den [Absender-Modus](/docs/coe-form-customer-from-sw6/konfiguration) auf „Absender" oder „reply-to" um.
## Kunde direkt als Absender vom Kontakt Formular
Quelle: https://service.codeenterprise.de/docs/coe-form-customer-from-sw6/index
Wenn ein Kunde dein Kontaktformular absendet, bekommst du als Shopbetreiber eine E-Mail mit seinen Angaben. Standardmäßig steht in dieser Mail dein eigener Shop als Absender – die Kundenadresse musst du von Hand herauskopieren, um zu antworten.
Unser Plugin nimmt dir diesen Schritt ab: Es trägt die vom Kunden eingegebene Adresse in die Kontakt-Mail ein, entweder direkt als **Absender** oder als **Antwortadresse (reply-to)**. Ein Klick auf „Antworten" in deinem Postfach geht dann direkt an den Kunden.
### Für wen
Für alle Shops, die Kontaktanfragen zügig beantworten oder direkt an ein CRM- bzw. Ticketsystem weiterleiten wollen – ohne bei jeder Anfrage die Kundenadresse manuell zu übertragen.
### Was du davon hast
- Du antwortest direkt aus deinem Mailprogramm, ohne die Adresse zu kopieren.
- Weiterleitungen an CRM oder Ticketsystem behalten die echte Kundenadresse.
- Du entscheidest pro Shop, ob die Kundenadresse als Absender oder nur als Antwortadresse dient.
Das Plugin arbeitet mit dem Standard-Kontaktformular von Shopware und dem Flow-Trigger für Kontaktanfragen. Wie du den Modus einstellst, liest du unter [Konfiguration](/docs/coe-form-customer-from-sw6/konfiguration). Die [Installation](/docs/coe-form-customer-from-sw6/installation) ist in wenigen Schritten erledigt.
## Installation
Quelle: https://service.codeenterprise.de/docs/coe-form-customer-from-sw6/installation
Die Installation läuft über den Erweiterungs-Manager von Shopware. Es sind keine zusätzlichen Schritte nötig – nach der Aktivierung ist das Plugin einsatzbereit und du legst nur noch den gewünschten Modus fest.
### Schritte
1. Öffne im Admin **Erweiterungen › Meine Erweiterungen**.
2. Suche den Eintrag **Kunde direkt als Absender vom Kontakt Formular** und klicke auf **Installieren**.
3. Aktiviere das Plugin anschließend über den Schalter.
### Danach
Direkt nach der Aktivierung ist der Modus **Shopware Standard nutzen** gesetzt – das Verhalten deines Shops ändert sich also zunächst nicht. Welche Adresse in deinen Kontakt-Mails erscheint, steuerst du auf der Seite [Konfiguration](/docs/coe-form-customer-from-sw6/konfiguration).
Das Plugin ist für Shopware 6.7 ausgelegt. Es greift in den Versand der Kontaktformular-Mail ein und benötigt keine eigene Datenbank-Einrichtung.
## Absender-Modus konfigurieren
Quelle: https://service.codeenterprise.de/docs/coe-form-customer-from-sw6/konfiguration
Das Plugin hat genau eine Einstellung: den Absender-Modus für Kontaktformular-Mails. Du erreichst sie im Admin über **Erweiterungen › Meine Erweiterungen**, dort beim Plugin über das Drei-Punkte-Menü auf **Konfiguration**.
Unter der Karte **Plug-In Einstellungen** findest du das Auswahlfeld **Kontaktformuar Absender Konfiguration**. Darüber bestimmst du, welche Adresse in der Mail steht, die du bei einer Kontaktanfrage bekommst.
### Die drei Modi
#### Shopware Standard nutzen
Der Auslieferungszustand. Das Plugin greift nicht ein – Absender der Kontakt-Mail bleibt die in Shopware hinterlegte Shop-Adresse. Wähle diesen Modus, wenn alles wie ohne Plugin funktionieren soll.
#### Kunden E-Mail Adresse als Absender nutzen
Das Plugin trägt Name und E-Mail-Adresse des Kunden als **Absender** der Mail ein. In deinem Postfach erscheint die Anfrage dann so, als käme sie direkt vom Kunden – „Antworten" geht ohne Umweg an ihn.
#### Kunden E-Mail Adresse als reply-to nutzen
Absender der Mail bleibt dein Shop, aber das Feld **Antwort an (reply-to)** wird auf die Kundenadresse gesetzt. Für dich ändert sich beim Antworten nichts – ein Klick auf „Antworten" landet trotzdem beim Kunden. Der technische Absender bleibt dabei deine Shop-Adresse.
Beide Modi bringen dich zum selben Ziel – der Unterschied liegt im Absender-Feld. Setzt du die Kundenadresse als **Absender**, versendet dein Server eine Mail mit einer fremden Absenderadresse. Je nach Empfänger und dessen Spam-Prüfung (etwa SPF- oder DMARC-Regeln) kann das die Zustellung erschweren. Der Modus **reply-to** vermeidet das, weil dein Shop technischer Absender bleibt, und ist im Zweifel die zuverlässigere Wahl.
### Wann welche Adresse erscheint
Das Plugin wirkt ausschließlich auf die Mail des **Kontaktformulars** – konkret auf den Shopware-Flow mit dem Auslöser „Kontaktformular" (Trigger `contact_form.send`). Andere Mails deines Shops, etwa Bestell- oder Registrierungsbestätigungen, bleiben unberührt.
Voraussetzung ist, dass dieser Flow mit einer aktiven **E-Mail-versenden**-Aktion existiert – das ist die Shopware-Standardeinrichtung. Ist der Flow oder die Mail-Aktion deaktiviert, wird gar keine Kontakt-Mail versendet, unabhängig von diesem Plugin. Mehr dazu unter [Häufige Fragen](/docs/coe-form-customer-from-sw6/faq).
# Merkzettel / Wunschlisten Advanced für Shopware 6 (CoeWishlistSw6)
Kompatibel mit Shopware 6.7, 6.6.
## Häufige Fragen und Grenzen
Quelle: https://service.codeenterprise.de/docs/coe-wishlist-sw6/faq
Hier findest du Antworten auf wiederkehrende Fragen und die bewusst gesetzten Grenzen des Plugins.
### Gehen Gast-Merkzettel verloren?
Solange ein Besucher nicht angemeldet ist, ist seine Liste an die aktuelle Sitzung gebunden und keinem Kundenkonto zugeordnet. Damit die Liste dauerhaft erhalten bleibt, muss sich der Besucher anmelden. Zusätzlich kannst du festlegen, dass alte Gast-Listen automatisch entfernt werden – siehe [Bereinigung alter Gast-Merkzettel](/docs/coe-wishlist-sw6/konfiguration). Listen angemeldeter Kunden sind davon nie betroffen.
### Können Besucher eine geteilte Liste ändern?
Nein. Wer eine öffentliche Liste über den Link öffnet, kann sie nur ansehen. Produkte hinzufügen, Listen löschen oder importieren bleibt dem Eigentümer der Liste vorbehalten.
### Sehen Besucher, wer einen Wunsch erfüllt oder reserviert hat?
Nein. Bei aktivierter Funktion [Erfüllte Wünsche anzeigen](/docs/coe-wishlist-sw6/merkzettel/erfuellte-wuensche) sieht jeder nur die Anzahl bereits erfüllter bzw. reservierter Stück – nie einen Namen oder andere Angaben zum Käufer. Auch der Eigentümer der Liste sieht ausschließlich die Anzahl.
### Warum sehe ich meine eigene Reservierung nicht mehr?
Eine Reservierung ist an den Browser gebunden, mit dem sie angelegt wurde – nicht an ein Kundenkonto. Öffnest du die Liste in einem anderen Browser oder Gerät oder hast du deine Cookies gelöscht, erscheint der Artikel wie für jeden anderen Besucher als reserviert, ohne die Möglichkeit, ihn selbst freizugeben. Nach 48 Stunden gibt der Shop unbeantwortete Reservierungen automatisch frei.
### Warum verschwindet ein Produkt manchmal vom Merkzettel?
Produkte, die im aktuellen Verkaufskanal nicht sichtbar oder nicht mehr aktiv sind, blendet der Merkzettel automatisch aus – dieselbe Sichtbarkeitsprüfung wie im übrigen Storefront. Das Produkt bleibt auf der Liste gespeichert und erscheint wieder, sobald es im Verkaufskanal sichtbar ist.
### Warum erscheint mein Merkzettel nicht in Suchmaschinen?
SEO-URLs werden nur für **öffentliche, einem Kundenkonto zugeordnete** Listen erzeugt. Private Listen und Gast-Listen erscheinen bewusst nicht im URL-Index und nicht in der Sitemap. Prüfe außerdem, ob **SEO URL's für Listen aktivieren** in den [Plugin-Einstellungen](/docs/coe-wishlist-sw6/konfiguration) eingeschaltet ist.
### Warum sehen meine Kunden keine Notiz-Funktion an Produkten?
Die [Produktnotizen](/docs/coe-wishlist-sw6/produktnotizen) sind standardmäßig ausgeschaltet und stehen nur angemeldeten Kunden zur Verfügung. Aktiviere die Option **Kunden ermöglichen am Artikel Notizen zu hinterlegen** in den Einstellungen.
### Sieht ein Kunde die Listen anderer Kunden?
Nein. Jeder Kunde hat nur Zugriff auf seine eigenen Merkzettel und Notizen. Eine fremde Liste ist ausschließlich dann einsehbar, wenn ihr Eigentümer sie öffentlich gemacht und den Link weitergegeben hat.
### Was passiert bei der Deinstallation mit den Daten?
Beim Deinstallieren kannst du wählen, ob die Daten erhalten bleiben. Entfernst du sie, werden die vom Plugin angelegten Merkzettel, Notizen und zugehörigen Links gelöscht.
## Merkzettel & Wunschlisten für Shopware 6
Quelle: https://service.codeenterprise.de/docs/coe-wishlist-sw6/index
Merkzettel / Wunschlisten Advanced für Shopware 6 gibt deinen Kunden vollwertige Wunschlisten – über den einfachen Standard-Merkzettel hinaus. Deine Kunden legen **mehrere benannte Listen** an, verwalten je Produkt eine **Menge**, teilen Listen als **öffentlichen Link** und hinterlegen bei Bedarf **persönliche Notizen** an einzelnen Produkten.
### Was das Plugin kann
- **Mehrere Merkzettel pro Kunde** statt nur einer Liste – jede Liste frei benannt.
- **Öffentliche Listen teilen** per Link und über Social-Media-Buttons (Facebook, WhatsApp, Twitter, E-Mail, Drucken), wahlweise mit einer Willkommens-Leiste für Besucher.
- **Erfüllte Wünsche & Reservierungen**: Öffentliche Listen können anzeigen, welche Wünsche bereits erfüllt sind, und Besucher können Artikel für 48 Stunden reservieren – gegen doppelt gekaufte Geschenke.
- **Gast-Merkzettel** ohne Login, mit optionaler automatischer Bereinigung alter Listen.
- **Import und Export** einzelner Listen als CSV-Datei.
- **Persönliche Produktnotizen** für angemeldete Kunden.
- **Einsicht im Admin**: Du siehst je Kunde dessen Merkzettel samt Produkten und Sichtbarkeit, und erkennst in Bestellungen Positionen, die über eine geteilte Liste gekauft wurden.
### Für wen
Das Plugin richtet sich an Shop-Betreiber, die ihren Kunden eine komfortablere Merkzettel-Funktion bieten möchten – etwa für Wiederbestellungen, geteilte Wunschlisten oder das Vormerken von Produkten über mehrere Besuche hinweg.
### Erste Schritte
1. [Installation und Aktivierung](/docs/coe-wishlist-sw6/installation)
2. [Plugin-Einstellungen](/docs/coe-wishlist-sw6/konfiguration)
3. [Merkzettel im Storefront nutzen](/docs/coe-wishlist-sw6/merkzettel)
Das Plugin findest du auch im [Shopware Store](https://store.shopware.com/de/coe8689552580742m/merkzettel-wunschlisten-advanced-fuer-shopware-6.html).
## Installation und Aktivierung
Quelle: https://service.codeenterprise.de/docs/coe-wishlist-sw6/installation
Nach dem Kauf im Shopware Store steht dir das Plugin in deinem Shopware-Konto zur Verfügung. Die Installation läuft wie bei jedem Shopware-6-Plugin.
### Plugin installieren
1. Öffne im Admin **Erweiterungen › Meine Erweiterungen**.
2. Lade das Plugin bei Bedarf hoch bzw. aktualisiere die Liste, bis **Merkzettel / Wunschlisten Advanced für Shopware 6** erscheint.
3. Klicke auf **Installieren** und anschließend auf **Aktivieren**.
Nach der Aktivierung stehen die Merkzettel-Funktionen im Storefront bereit und die Einstellungen erscheinen im Admin.
### Einstellungen öffnen
Die Konfiguration erreichst du über **Erweiterungen › Meine Erweiterungen**. Klicke beim Plugin auf **…** und dann auf **Konfiguration**. Welche Optionen dort zur Verfügung stehen, beschreibt die Seite [Plugin-Einstellungen](/docs/coe-wishlist-sw6/konfiguration).
Du kannst die Einstellungen je Verkaufskanal getrennt setzen. Wähle dazu oben in der Konfiguration den gewünschten Verkaufskanal aus, bevor du die Werte anpasst.
### Deinstallation
Beim Deinstallieren kannst du wählen, ob die Merkzettel-Daten erhalten bleiben. Entfernst du die Daten, werden die vom Plugin angelegten Merkzettel, Notizen und zugehörigen Links gelöscht.
## Plugin-Einstellungen
Quelle: https://service.codeenterprise.de/docs/coe-wishlist-sw6/konfiguration
In der Plugin-Konfiguration steuerst du, welche Merkzettel-Funktionen im Storefront erscheinen und wie sie sich verhalten. Alle Optionen kannst du je Verkaufskanal getrennt setzen. Die Konfiguration öffnest du wie unter [Installation und Aktivierung](/docs/coe-wishlist-sw6/installation) beschrieben.
### Allgemeine Einstellungen
- **Import-/Export aktiv** – Blendet die Aktionen zum [Import und Export](/docs/coe-wishlist-sw6/merkzettel/import-export) auf dem Merkzettel ein. Standard: aktiv.
- **Social-Media Buttons auf dem Merkzettel anzeigen** – Zeigt Buttons zum Teilen auf Facebook, Twitter und WhatsApp sowie per E-Mail und zum Drucken. Standard: aktiv. Siehe [Merkzettel teilen](/docs/coe-wishlist-sw6/merkzettel/oeffentliche-listen).
- **Lieferzeit Informationen für jedes Produkt anzeigen** – Zeigt je Produkt auf dem Merkzettel die Lieferzeit an. Standard: aktiv.
- **Auf dem Merkzettel ein Formular anzeigen um Produkte manuell anhand der SKU hinzuzufügen** – Blendet das Formular **Produkte manuell hinzufügen** ein, mit dem Kunden Produkte über die Produkt-Nr. auf die Liste setzen. Standard: aktiv.
- **Seite automatisch neu laden nachdem ein Produkt manuell per SKU hinzugefügt wurde** – Lädt die Merkzettelseite nach dem manuellen Hinzufügen neu, damit das Produkt sofort erscheint. Standard: aktiv.
- **Das Löschen einer Liste muss vom Benutzer nochmal zusätzlich bestätigt werden** – Verlangt vor dem Löschen einer Liste eine zusätzliche Bestätigung. Standard: inaktiv.
- **Produkte in der Liste dynamisch laden** – Lädt die Produkte einer Liste erst im Browser des Kunden statt beim Seitenaufbau. Das entlastet den Server bei umfangreichen Listen, kann aber die Anzeige der Produkte leicht verzögern. Standard: inaktiv.
- **Willkommens-Leiste für Besucher öffentlicher Merkzettel anzeigen** – Begrüßt Besucher, die über einen geteilten Link auf die Merkzettelseite kommen, mit einer schließbaren Leiste samt Listennamen. Standard: inaktiv. Details unter [Merkzettel teilen und öffentliche Listen](/docs/coe-wishlist-sw6/merkzettel/oeffentliche-listen).
### SEO-URLs
- **SEO URL's für Listen aktivieren** – Erzeugt sprechende URLs für teilbare Merkzettel. Standard: aktiv. SEO-URLs entstehen nur für **öffentliche, einem Kundenkonto zugeordnete** Listen – private und Gast-Listen bleiben außen vor.
Wenn du diese Option später deaktivierst, bleiben bereits erzeugte SEO-URLs bestehen (sie werden nur nicht mehr aktualisiert). Um sie vollständig zu entfernen, müssen die betreffenden Einträge in der Datenbank gelöscht werden – ziehe dafür bei Bedarf deine Agentur oder deinen Entwickler hinzu.
- **Meta-Titel-Ausschnitt für die Wunschlistenseite** – Optionaler Snippet-Schlüssel für den Meta-Titel der Merkzettelseite (Beispiel: `coe-wishlist.general.metaTitle`). Das Snippet musst du separat anlegen. Lässt du das Feld leer, gilt der Standardtitel.
### Produktnotizen
- **Kunden ermöglichen am Artikel Notizen zu hinterlegen** – Schaltet die Funktion [Persönliche Produktnotizen](/docs/coe-wishlist-sw6/produktnotizen) frei. Standard: inaktiv.
### Gast-Merkzettel bereinigen
- **Sitzungs-(Gast-)Wunschlisten automatisch löschen, die älter als X Stunden sind (0 = deaktiviert)** – Legt fest, ab welchem Alter Gast-Merkzettel automatisch entfernt werden. Der Wert `0` schaltet die Bereinigung ab. Die Aufräum-Aufgabe läuft täglich und betrifft ausschließlich Gast-Listen ohne Kundenkonto – Listen angemeldeter Kunden bleiben immer erhalten.
### „Zum Merkzettel hinzufügen"-Button anzeigen auf
- **Produkt Detail Seite** – Zeigt den Button **Zum Merkzettel hinzufügen** auf der Produktdetailseite. Standard: aktiv.
- **Produkt Listing** – Zeigt den Button in Produktlisten und Kategorieseiten. Standard: aktiv.
### Produkt-Listing
- **Wenn ein Artikel bereits auf einer Merkliste liegt, dieses im Produkt-Listing mit einem Häkchen markieren** – Markiert bereits gemerkte Produkte im Listing. Standard: aktiv.
## Merkzettel im Storefront nutzen
Quelle: https://service.codeenterprise.de/docs/coe-wishlist-sw6/merkzettel
Deine Kunden fügen Produkte über den Button **Zum Merkzettel hinzufügen** zu einer Liste hinzu und verwalten ihre Listen auf der Merkzettelseite. Wo der Button erscheint, steuerst du in den [Plugin-Einstellungen](/docs/coe-wishlist-sw6/konfiguration).
### Produkt auf einen Merkzettel legen
Klickt ein Kunde auf **Zum Merkzettel hinzufügen**, öffnet sich ein Dialog mit diesen Möglichkeiten:
- **Zur Liste hinzufügen** – das Produkt einer vorhandenen Liste hinzufügen.
- **Neue Liste erstellen** – eine neue Liste anlegen; der Name wird im Feld **Name der neuen Liste** eingetragen.
- **Anzahl** – die gewünschte Menge festlegen.
- **Öffentliche Liste (Teilbar mit Link)** – die neue Liste direkt als öffentlich markieren (siehe [Merkzettel teilen](/docs/coe-wishlist-sw6/merkzettel/oeffentliche-listen)).
- **Erfüllte Wünsche anzeigen** – nur wählbar, wenn die Liste zugleich öffentlich ist (siehe [Erfüllte Wünsche anzeigen und Artikel reservieren](/docs/coe-wishlist-sw6/merkzettel/erfuellte-wuensche)).
Ohne eigene Liste wird beim ersten Hinzufügen automatisch die Standardliste **Mein Merkzettel** angelegt.
### Die Merkzettelseite
Über das Merkzettel-Symbol im Shop-Header gelangt der Kunde zur Übersicht **Meine Merkzettel**. Die Anzahl gemerkter Produkte wird am Symbol angezeigt. Oben in der Übersicht legt der Kunde über die Symbole **Neue Liste hinzufügen** und (falls aktiviert) **Liste importieren** neue Listen an.
Für jede einzelne Liste öffnet das **Listenaktionen**-Menü (Symbol mit drei Punkten neben dem Listennamen) die weiteren Aktionen:
- zwischen **öffentlich** und **privat** umschalten
- bei öffentlichen Listen **Erfüllte Wünsche anzeigen** ein- oder ausschalten
- **Liste umbenennen**
- **Liste exportieren** (siehe [Import und Export](/docs/coe-wishlist-sw6/merkzettel/import-export))
- **Liste löschen**
Das Menü steht sowohl links in der Listen-Übersicht als auch oben auf der geöffneten Liste zur Verfügung. Einzelne Produkte entfernt der Kunde über **Produkt löschen** direkt in der Produktzeile und passt dort auch die **Anzahl** je Produkt an – der Preis wird dabei aktualisiert.
Ist die Option **Das Löschen einer Liste muss vom Benutzer nochmal zusätzlich bestätigt werden** aktiv, fragt der Shop vor dem Löschen einer Liste zusätzlich nach.
### Produkte per Produktnummer hinzufügen
Ist das Formular **Produkte manuell hinzufügen** aktiviert, kann der Kunde Produkte direkt über die **Produkt-Nr.** und eine **Anzahl** auf die Liste setzen und mit **Hinzufügen** bestätigen. Ist die eingegebene Produktnummer unbekannt oder die Menge nicht erlaubt, erscheint ein Hinweis.
### Gast-Merkzettel
Auch ohne Anmeldung können Besucher Produkte merken. Damit eine Liste dauerhaft erhalten bleibt, muss sich der Besucher anmelden – im Storefront erscheint dazu der Hinweis „Um Ihre Liste permanent zu speichern, loggen Sie sich bitte ein." Wie lange nicht gespeicherte Gast-Listen aufbewahrt werden, legst du über die [Bereinigung alter Gast-Merkzettel](/docs/coe-wishlist-sw6/konfiguration) fest.
## Merkzettel im Admin einsehen
Quelle: https://service.codeenterprise.de/docs/coe-wishlist-sw6/merkzettel-im-admin
Das Plugin bindet die Merkzettel deiner Kunden direkt in den Shopware-Admin ein. So siehst du auf einen Blick, welche Kunden Listen führen und was darauf liegt. Die Ansicht dient der Einsicht – Merkzettel werden vom Kunden im Storefront gepflegt.
### Merkzettel in der Kundendetailansicht
Öffne im Admin **Kunden** und wähle einen Kunden aus. Im Bereich **Merkzettel** siehst du dessen Listen. Jede Liste zeigt:
- eine Kennzeichnung der Sichtbarkeit – **Diese Liste ist öffentlich** („Jeder mit dem Link hat Zugriff auf die Liste") oder **Diese Liste ist privat** („Nur der Kunde selbst hat Einblick in die Liste")
- eine Tabelle der enthaltenen Produkte mit den Spalten **Anzahl**, **Produkt** und **Hinzugefügt am**
Über einen Klick auf den Produktnamen springst du direkt zur Produktdetailseite im Admin.
Hat ein Kunde keine Listen, erscheint der Hinweis „Der Kunde hat keine Merkzettel".
### Spalte in der Kundenliste
In der Kundenübersicht kannst du die Spalte **Hat Merkzettel** einblenden. So erkennst du schnell, welche Kunden überhaupt Merkzettel angelegt haben.
### Wunschlisten-Ursprung in Bestellungen erkennen
Öffnest du im Admin eine Bestellung, markiert ein Herz-Symbol jede Position, die über eine (geteilte) Wunschliste gekauft wurde. Ein Klick darauf springt direkt zum Merkzettel-Bereich der Kundendetailansicht des Listen-Eigentümers – auch dann, wenn Käufer und Eigentümer der Liste zwei verschiedene Kunden sind, etwa weil jemand ein Geschenk für den Eigentümer der geteilten Liste gekauft hat. Gehört die Liste keinem Kundenkonto (eine Gast-Liste), zeigt der Shop das Symbol ohne Sprungziel.
## Erfüllte Wünsche anzeigen und Artikel reservieren
Quelle: https://service.codeenterprise.de/docs/coe-wishlist-sw6/merkzettel/erfuellte-wuensche
Für öffentliche Listen kannst du **Erfüllte Wünsche anzeigen** einschalten. Besucher, die die Liste über den geteilten Link öffnen, sehen dann, welche Wünsche bereits erfüllt sind – so kaufen nicht mehrere Schenkende versehentlich dasselbe Geschenk.
### Funktion aktivieren
Öffne bei einer öffentlichen Liste das Listenaktionen-Menü (Symbol mit drei Punkten neben dem Listennamen) und wähle **Erfüllte Wünsche anzeigen**. Der Eintrag erscheint nur bei öffentlichen Listen. Du kannst die Funktion auch direkt beim Anlegen einer neuen Liste aktivieren: Das Kontrollkästchen dafür lässt sich erst anhaken, sobald du die Liste zugleich als **Öffentliche Liste** markierst.
### Was Besucher sehen
Solange die Funktion aktiv ist, zeigt jeder Artikel auf der öffentlichen Liste seinen Status:
- **Noch offen** – der Artikel lässt sich normal auswählen.
- **Teilweise erfüllt** – bei Artikeln mit einer größeren Anzahl zeigt der Shop z. B. „1 von 3 bereits erfüllt · noch 2 frei".
- **Vollständig erfüllt oder reserviert** – der Artikel wird ausgegraut, die Auswahl zum Hinzufügen zum Warenkorb verschwindet.
Besuchern wird nur die Anzahl angezeigt – wer welchen Wunsch erfüllt hat, bleibt anonym.
### Artikel reservieren
Besucher können einen noch offenen Artikel über **Reservieren** für 48 Stunden für sich beanspruchen, ohne ihn sofort zu kaufen. Bei Artikeln mit einer Anzahl größer als 1 wählt der Besucher zusätzlich, wie viele Stück er reservieren möchte.
- Wer selbst reserviert hat, sieht bei diesem Artikel eine **Reservierung aufheben**-Schaltfläche und kann die Reservierung jederzeit selbst zurücknehmen.
- Andere Besucher sehen den Artikel als von einem anderen Gast reserviert und können ihn währenddessen nicht ebenfalls reservieren.
- Kauft die reservierende Person den Artikel innerhalb der 48 Stunden, geht die Reservierung nahtlos in „erfüllt" über.
- Erfolgt innerhalb von 48 Stunden kein Kauf, gibt der Shop die Reservierung automatisch wieder frei.
### Was der Eigentümer der Liste sieht
Der Eigentümer sieht auf der eigenen Liste je Artikel einen Hinweis, wie viele Stück bereits erfüllt bzw. reserviert sind (z. B. „1 von 3 in Erfüllung gegangen"). So behältst du als Eigentümer den Überblick, ohne dass Details zu den Käufern sichtbar werden.
Möchtest du Besucher zusätzlich mit einer Begrüßungsleiste empfangen, wenn sie über einen geteilten Link kommen, aktiviere die Willkommens-Leiste – siehe [Merkzettel teilen und öffentliche Listen](/docs/coe-wishlist-sw6/merkzettel/oeffentliche-listen).
## Merkzettel importieren und exportieren
Quelle: https://service.codeenterprise.de/docs/coe-wishlist-sw6/merkzettel/import-export
Deine Kunden können einen Merkzettel als CSV-Datei herunterladen und eine Liste aus einer CSV-Datei wieder einspielen. So lassen sich Listen sichern oder zwischen Konten übertragen.
### Voraussetzung
Die Aktionen zum Import und Export erscheinen nur, wenn die Option **Import-/Export aktiv** in den [Plugin-Einstellungen](/docs/coe-wishlist-sw6/konfiguration) eingeschaltet ist.
### Liste exportieren
Über die Aktion **Liste exportieren** lädt der Kunde die gewählte Liste als CSV-Datei herunter. Die Datei enthält die Produkte der Liste und ist so kodiert, dass Umlaute korrekt dargestellt werden (etwa beim Öffnen in Tabellenprogrammen).
### Liste importieren
Über die Aktion **Liste importieren** lädt der Kunde eine CSV-Datei hoch. Aus den enthaltenen Produkten werden die entsprechenden Merkzettel angelegt.
Für den Import wird eine gültige CSV-Datei erwartet. Andere Dateiformate werden abgelehnt. Am zuverlässigsten funktioniert eine Datei, die zuvor über den Export dieses Plugins erzeugt wurde.
## Merkzettel teilen und öffentliche Listen
Quelle: https://service.codeenterprise.de/docs/coe-wishlist-sw6/merkzettel/oeffentliche-listen
Deine Kunden können einen Merkzettel öffentlich machen und ihn per Link mit anderen teilen – etwa für gemeinsame Wunschlisten. Private Listen bleiben nur für den Kunden selbst sichtbar.
### Eine Liste öffentlich machen
Auf der Merkzettelseite öffnet der Kunde im Listenaktionen-Menü (Symbol mit drei Punkten neben dem Listennamen) den Eintrag **Liste veröffentlichen** bzw. **Liste privat schalten**, um die Sichtbarkeit umzuschalten. Ist eine Liste öffentlich, zeigt der Shop den teilbaren Link an. Jeder, der den Link kennt, kann die Liste ansehen. Das Menü steht sowohl in der Listen-Übersicht links als auch auf der geöffneten Liste zur Verfügung.
Besucher, die eine öffentliche Liste über den Link öffnen, können die Liste nur ansehen – Produkte hinzufügen, Listen löschen oder importieren ist ihnen nicht möglich. Diese Aktionen bleiben dem Eigentümer der Liste vorbehalten.
### Besucher mit einer Willkommens-Leiste begrüßen
Aktivierst du in den [Plugin-Einstellungen](/docs/coe-wishlist-sw6/konfiguration) die Option **Willkommens-Leiste für Besucher öffentlicher Merkzettel anzeigen**, zeigt der Shop Besuchern, die über einen geteilten Link auf die Merkzettelseite kommen, oben eine kurze Leiste mit dem Namen der Liste (z. B. „Willkommen! Du besuchst gerade die Liste »Geburtstagswünsche«."). Die Leiste lässt sich über ein „X" schließen und bleibt danach beim Weiterklicken auf der Merkzettelseite ausgeblendet.
Der Eigentümer der Liste sieht die Willkommens-Leiste auf der eigenen Liste nicht – sie richtet sich ausschließlich an Besucher.
### Über Social Media teilen
Ist die Option **Social-Media Buttons auf dem Merkzettel anzeigen** aktiv, stehen auf dem Merkzettel Schaltflächen zum Teilen bereit:
- **Auf Facebook teilen**
- **Auf Twitter teilen**
- **Auf WhatsApp teilen**
- **Per Email teilen**
- **Drucken**
Ob diese Buttons erscheinen, steuerst du in den [Plugin-Einstellungen](/docs/coe-wishlist-sw6/konfiguration).
### SEO-URLs für öffentliche Listen
Ist **SEO URL's für Listen aktivieren** eingeschaltet, erhalten öffentliche Listen eine sprechende Adresse. Wichtig: SEO-URLs entstehen ausschließlich für **öffentliche, einem Kundenkonto zugeordnete** Listen. Private Listen und Gast-Listen erscheinen bewusst **nicht** im URL-Index und nicht in der Sitemap.
## Persönliche Produktnotizen
Quelle: https://service.codeenterprise.de/docs/coe-wishlist-sw6/produktnotizen
Mit den Produktnotizen können angemeldete Kunden zu einzelnen Produkten eine persönliche Notiz speichern – zum Beispiel eine Größe, eine Farbwahl oder eine Erinnerung. Die Notizen sind privat und nur für den jeweiligen Kunden sichtbar.
### Funktion aktivieren
Die Produktnotizen sind standardmäßig ausgeschaltet. Aktiviere in den [Plugin-Einstellungen](/docs/coe-wishlist-sw6/konfiguration) die Option **Kunden ermöglichen am Artikel Notizen zu hinterlegen**. Erst dann erscheinen die Notiz-Funktionen im Storefront.
### So nutzen deine Kunden Notizen
Die Notizen stehen ausschließlich **angemeldeten** Kunden zur Verfügung. Am Produkt öffnet der Kunde über **Notiz hinzufügen** (bzw. **Notiz bearbeiten**, wenn bereits eine Notiz besteht) einen Dialog mit dem Titel **Notiz**. Dort kann er die Notiz über **Notiz speichern** sichern oder über **Notiz löschen** entfernen.
### Übersicht im Kundenkonto
Im Kundenkonto findet der Kunde unter **Notizen** die Seite **Gespeicherte Notizen** mit allen hinterlegten Produktnotizen. Solange noch keine Notiz gespeichert wurde, erscheint der Hinweis „Du hast noch keine Notizen gespeichert."
# Musterbestellung (CoeSampleOrder)
Kompatibel mit Shopware 6.7.
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/musterbestellung/faq
### Warum erscheint kein Musterbestellung-Button?
Prüfe zwei Dinge: Ist am Produkt das Zusatzfeld **Musterbestellung möglich** aktiviert? Und ist das Produkt im Shop kaufbar (verfügbar, kein Variantencontainer, erlaubte Bestellmenge größer 0)? Nur wenn beides zutrifft, wird der Button angezeigt.
### Gilt das Limit auch für Gäste?
Nein. Das Limit greift nur für eingeloggte Kunden, weil sich frühere Bestellungen nur einem Kundenkonto zuordnen lassen. Gäste ohne Konto können Muster ohne Begrenzung bestellen.
### Zählen stornierte Bestellungen ins Limit?
Nein. Stornierte Bestellungen werden bei der Zählung übersprungen und geben das Muster-Kontingent des Kunden wieder frei.
### Kann ein Kunde Muster und reguläres Produkt zusammen bestellen?
Ja. Das Muster ist eine eigene Warenkorb-Position und unabhängig vom regulären Kauf desselben Produkts. Beide können gemeinsam im Warenkorb liegen.
### Kostet ein Muster etwas?
Nein. Muster werden im Warenkorb immer mit einem Preis von 0 geführt und als **GRATIS** gekennzeichnet.
### Kann ich pro Muster eine andere Lieferzeit anzeigen?
Ja. Hinterlege am Produkt im Feld **Lieferzeit des Musters (optional)** eine Lieferzeit – sie gilt dann nur für die Muster-Position. Siehe [Produkt als Muster markieren](/docs/musterbestellung/konfiguration/produkt-als-muster).
### Kann ich Regeln an Muster im Warenkorb knüpfen?
Ja. Das Plugin stellt für den **Rule Builder** die Bedingung **Muster im Warenkorb** bereit. Damit baust du eigene Regeln, die abhängig davon greifen, ob eine Muster-Position im Warenkorb liegt – zum Beispiel für Versand- oder Zahlungsarten.
## Muster im Shop
Quelle: https://service.codeenterprise.de/docs/musterbestellung/im-shop
Sobald ein Produkt als Muster freigeschaltet ist, ergänzt das Plugin die Produktseite und den Warenkorb, ohne den regulären Kauf zu verändern. Hier siehst du, was deine Kundschaft erlebt.
### Auf der Produktseite
Unter dem regulären Kaufen-Button erscheint ein zusätzlicher Button **Musterbestellung**. Ein Klick legt das Muster als eigene, kostenlose Position in den Warenkorb – unabhängig davon, ob das reguläre Produkt ebenfalls im Warenkorb liegt.
Liegt das Muster bereits im Warenkorb, ist der Button deaktiviert und zeigt **Muster bereits im Warenkorb** an. Pro Produkt ist so genau ein Muster möglich.
### Im Warenkorb
- Die Muster-Position ist mit **GRATIS** gekennzeichnet und kostet nichts.
- Die Menge ist fest auf **1** gesetzt – für Muster gibt es keine Mengenauswahl.
- Zur Unterscheidung vom regulären Kauf wird der Produktname der Muster-Position mit dem Zusatz **(sample)** ergänzt.
- Muster und regulärer Kauf desselben Produkts bleiben getrennte Positionen.
### Hinweis bei erreichtem Limit
Hast du ein [Limit](/docs/musterbestellung/konfiguration/limit) gesetzt und ein eingeloggter Kunde überschreitet es, wird die Muster-Position nicht in den Warenkorb übernommen. Stattdessen erscheint ein Hinweis in dieser Form:
> Das Musterlimit für „Produktname" ist erreicht (max. 2 innerhalb von 30 Tagen).
Der Hinweis ist eine Warnung und blockiert den restlichen Bestellvorgang nicht.
## Musterbestellung – Produkte als kostenlose Muster anbieten
Quelle: https://service.codeenterprise.de/docs/musterbestellung/index
Mit unserem Musterbestellungs-Plugin machst du ausgewählte Produkte als kostenloses Muster bestellbar. Du markierst ein Produkt im Admin über ein Zusatzfeld – im Shop erscheint daraufhin neben dem regulären Kaufen-Button ein eigener **Musterbestellung**-Button. Deine Kundschaft legt das Muster damit als separate, kostenlose Position in den Warenkorb.
### Für wen ist das Plugin gedacht?
Für Händler, die Interessenten ein Produkt vorab als Muster zusenden möchten – etwa bei Stoffen, Materialien, Lebensmitteln oder erklärungsbedürftigen Artikeln. Der Muster-Kauf läuft über den normalen Warenkorb und Checkout, bleibt aber klar vom regulären Kauf getrennt.
### Was das Plugin für dich übernimmt
- **Muster je Produkt freischalten** – über ein Zusatzfeld direkt am Produkt, ohne Eingriff ins Theme.
- **Kostenlose Muster-Position** – das Muster liegt als eigene, mit **GRATIS** gekennzeichnete Position mit fester Menge 1 im Warenkorb.
- **Limit pro Kunde** – begrenze optional, wie viele Muster eines Produkts ein Kunde innerhalb eines wählbaren Zeitraums bestellen darf.
- **Eigene Lieferzeit** – hinterlege optional eine abweichende Lieferzeit, die nur für das Muster gilt.
- **Regel für den Rule Builder** – die Bedingung „Muster im Warenkorb" steht dir für eigene Regeln zur Verfügung.
### Voraussetzungen
Das Plugin ist für **Shopware 6.7** ausgelegt. Nach der [Installation](/docs/musterbestellung/installation) legst du in der [Konfiguration](/docs/musterbestellung/konfiguration) fest, welche Produkte als Muster bestellbar sind.
## Installation und Aktivierung
Quelle: https://service.codeenterprise.de/docs/musterbestellung/installation
Die Installation läuft wie bei jedem Shopware-Plugin über die Erweiterungsverwaltung. Nach der Aktivierung ist das Plugin sofort einsatzbereit – die benötigten Zusatzfelder werden automatisch angelegt.
### Plugin installieren
1. Öffne im Admin **Erweiterungen › Meine Erweiterungen**.
2. Lade das Plugin hoch bzw. installiere es aus dem Store.
3. Klicke bei **Musterbestellung** auf **Installieren** und anschließend auf **Aktivieren**.
### Was bei der Aktivierung passiert
Beim Aktivieren legt das Plugin am **Produkt** ein Zusatzfeld-Set mit dem Namen **Musterbestellung** an. Darüber steuerst du je Produkt, ob es als Muster bestellbar ist. Es sind keine weiteren technischen Schritte nötig.
Deinstallierst du das Plugin später, kannst du im Deinstallations-Dialog wählen, ob die angelegten Daten erhalten bleiben. Entfernst du sie, wird auch das Zusatzfeld-Set **Musterbestellung** wieder gelöscht.
### Nächster Schritt
Lege in der [Konfiguration](/docs/musterbestellung/konfiguration) fest, welche Produkte als Muster bestellbar sind und ob ein Limit gelten soll.
## Konfiguration
Quelle: https://service.codeenterprise.de/docs/musterbestellung/konfiguration
Die Einrichtung besteht aus zwei Teilen, die du unabhängig voneinander vornimmst:
### Produkte als Muster freischalten
Am einzelnen Produkt legst du über ein Zusatzfeld fest, ob es als Muster bestellbar ist – und optional, welche Lieferzeit für das Muster gilt. Das ist der einzige Pflichtschritt, damit im Shop ein Muster-Button erscheint.
→ [Produkt als Muster markieren](/docs/musterbestellung/konfiguration/produkt-als-muster)
### Limit pro Kunde festlegen
In den Plugin-Einstellungen begrenzt du optional, wie viele Muster eines Produkts ein Kunde innerhalb eines Zeitraums bestellen darf. Ohne Limit sind Muster unbegrenzt bestellbar.
→ [Musterbestell-Limit](/docs/musterbestellung/konfiguration/limit)
## Musterbestell-Limit
Quelle: https://service.codeenterprise.de/docs/musterbestellung/konfiguration/limit
Standardmäßig kann deine Kundschaft Muster unbegrenzt bestellen. Über die Plugin-Einstellungen legst du optional ein Limit fest – gezählt pro Kunde und pro Produkt innerhalb eines Zeitraums.
### Limit einstellen
1. Öffne im Admin **Erweiterungen › Meine Erweiterungen**.
2. Klicke bei **Musterbestellung** auf **…** und dann auf **Konfiguration**.
3. Trage im Bereich **Musterbestellung – Limit** die beiden Werte ein:
- **Max. Musterbestellungen pro Kunde** – wie viele Muster eines Produkts ein Kunde im Zeitraum bestellen darf. `0` bedeutet unbegrenzt.
- **Zeitraum in Tagen für das Limit** – das Zeitfenster, in dem gezählt wird.
4. Speichere die Einstellungen.
Das Limit ist nur aktiv, wenn **beide** Werte größer als 0 sind. Steht einer der beiden auf 0, sind Muster unbegrenzt bestellbar.
### Wie das Limit zählt
- Gezählt werden die bereits bestellten Muster **desselben Produkts** je Kunde innerhalb des Zeitraums. Legt ein Kunde ein weiteres Muster in den Warenkorb, das den Höchstwert überschreiten würde, wird die Muster-Position automatisch wieder entfernt und ein Hinweis angezeigt.
- **Stornierte Bestellungen** zählen nicht mit – sie geben das Kontingent wieder frei.
- Das Limit greift nur für **eingeloggte Kunden**. Gäste ohne Kundenkonto sind nicht begrenzt, da sich zurückliegende Bestellungen nicht zuordnen lassen.
Wie der Hinweis im Shop aussieht, siehst du unter [Muster im Shop](/docs/musterbestellung/im-shop).
## Produkt als Muster markieren
Quelle: https://service.codeenterprise.de/docs/musterbestellung/konfiguration/produkt-als-muster
Ob ein Produkt als Muster bestellbar ist, steuerst du direkt am Produkt über das Zusatzfeld-Set **Musterbestellung**. Nur freigeschaltete Produkte zeigen im Shop den Muster-Button.
### Muster freischalten
1. Öffne im Admin **Kataloge › Produkte** und wähle das gewünschte Produkt.
2. Wechsle zum Bereich mit den **Zusatzfeldern** des Produkts.
3. Aktiviere im Set **Musterbestellung** den Schalter **Musterbestellung möglich**.
4. Speichere das Produkt.
Danach erscheint auf der Produktseite unter dem regulären Kaufen-Button ein zusätzlicher **Musterbestellung**-Button.
### Optional: eigene Lieferzeit für das Muster
Im selben Zusatzfeld-Set findest du das Feld **Lieferzeit des Musters (optional)**. Wählst du hier eine Lieferzeit aus, wird diese im Warenkorb ausschließlich für die Muster-Position angezeigt – der reguläre Kauf des Produkts behält seine normale Lieferzeit. Lässt du das Feld leer, gilt für das Muster die übliche Lieferzeit des Produkts.
Der Muster-Button erscheint nur, wenn das Produkt im Shop tatsächlich kaufbar ist: verfügbar, kein Variantencontainer (Hauptprodukt mit Varianten) und mit einer erlaubten Bestellmenge größer 0. Trifft das nicht zu, bleibt der Button aus – auch wenn das Zusatzfeld aktiviert ist.
### Nächster Schritt
Lege optional ein [Musterbestell-Limit](/docs/musterbestellung/konfiguration/limit) pro Kunde fest.
# PDF Produktdatenblätter automatisch erstellen in Shopware 6 (CoePdfDatasheetSw6)
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-pdf-datasheet-sw6/faq
Hier findest du Antworten auf die häufigsten Stolpersteine rund um das PDF-Datenblatt.
### Die PDF-Erzeugung schlägt bei einem Variantenartikel fehl
Bei Produkten mit sehr vielen Varianten kann das PHP-Speicherlimit überschritten werden. Setze in den [Basis-Einstellungen](/docs/coe-pdf-datasheet-sw6/konfiguration/basis-einstellungen) den **Varianten-Datenumfang** auf **„Keine"**. Damit werden keine zusätzlichen Variantendaten in das Template geladen und das Datenblatt wird auch bei mehreren hundert Varianten zuverlässig erzeugt.
### Änderungen am Produkt erscheinen nicht sofort im Datenblatt
Ist die **Zwischenspeicherung** aktiv, gilt für Produktänderungen die reguläre Cache-Laufzeit deines Shops. Sollen Änderungen an Produktdaten ohne Wartezeit erscheinen, deaktiviere in den [Basis-Einstellungen](/docs/coe-pdf-datasheet-sw6/konfiguration/basis-einstellungen) das **HTTP-Caching**. Änderungen an den **Plugin-Einstellungen** wirken dagegen immer sofort – der Cache wird dabei automatisch geleert.
### Der Datenblatt-Link führt zu einer 404-Fehlerseite
Das Datenblatt wird nur für Produkte erzeugt, die im aufrufenden Verkaufskanal sichtbar und aktiv sind. Ist ein Produkt inaktiv oder im Kanal nicht sichtbar, liefert der Link eine 404-Seite. Prüfe in diesem Fall Sichtbarkeit und Status des Produkts.
### Wird das PDF von Suchmaschinen indexiert?
Die Option **„PDF kann von Suchmaschinen gefunden werden"** setzt lediglich das `rel`-Attribut des Links auf `follow` oder `nofollow`. Das ist ein Hinweis an Suchmaschinen, aber keine Zugriffssperre – wer die Adresse kennt, erreicht das PDF weiterhin.
### Wie stelle ich das Standard-Layout wieder her?
Das mitgelieferte Standard-CSS wird bei einer Neuinstallation des Plugins wieder eingesetzt. Sichere zuvor dein angepasstes CSS, falls du es behalten möchtest. Mehr dazu unter [Erweiterte Einstellungen](/docs/coe-pdf-datasheet-sw6/konfiguration/erweitert).
### Werden die Datenblätter irgendwo gespeichert?
Nein. Jedes Datenblatt wird bei Aufruf des Links frisch aus den aktuellen Produktdaten erzeugt und direkt ausgeliefert. Es gibt keine gespeicherten Dateien, keinen Stapel-Export und keine zeitgesteuerte Erzeugung – das Datenblatt entsteht immer genau dann, wenn ein Kunde es abruft.
## PDF-Produktdatenblätter für Shopware 6
Quelle: https://service.codeenterprise.de/docs/coe-pdf-datasheet-sw6/index
**PDF Produktdatenblätter automatisch erstellen in Shopware 6** – unser Plugin ergänzt jede Produkt-Detailseite deines Shops um einen Download-Link, über den deine Kunden ein fertiges PDF-Datenblatt zum Produkt erhalten. Das Datenblatt wird bei jedem Aufruf frisch aus den aktuellen Produktdaten erzeugt; du musst keine Dateien pflegen oder hochladen.
### Was das Plugin für dich tut
Sobald das Plugin aktiv ist, erscheint im Kaufbereich der Produkt-Detailseite ein Link mit der Beschriftung **„PDF-Datenblatt"**. Ein Klick öffnet oder lädt ein PDF, das die wesentlichen Informationen zum Produkt bündelt:
- Produktname und Artikelnummer
- Haupt- und Zusatzbilder
- Kurz- und Langbeschreibung
- Eigenschaften (Property-Gruppen)
- Maße und Gewicht
Kopf- und Fußbereich, Farben, Schriftgrößen und die angezeigten Inhalte legst du in den Plugin-Einstellungen fest – für jeden Verkaufskanal separat.
### Für wen es gedacht ist
Das Plugin richtet sich an Shop-Betreiber, die ihren Kunden ein druckbares, einheitlich gestaltetes Produktdatenblatt anbieten möchten – etwa für den Einkauf, die Ablage oder die Weitergabe an Kollegen. Es ist bewusst schlank: Du installierst es, passt das Layout an dein Corporate Design an, und der Download steht bereit.
### Nächste Schritte
- [Installation und Aktivierung](/docs/coe-pdf-datasheet-sw6/installation)
- [Konfiguration im Überblick](/docs/coe-pdf-datasheet-sw6/konfiguration)
- [Häufige Fragen](/docs/coe-pdf-datasheet-sw6/faq)
## Installation und Aktivierung
Quelle: https://service.codeenterprise.de/docs/coe-pdf-datasheet-sw6/installation
Die Einrichtung folgt dem gewohnten Shopware-Weg: Plugin installieren, aktivieren, fertig. Ein Datenblatt-Download steht danach ohne weitere Schritte auf jeder Produkt-Detailseite bereit.
### Plugin installieren
1. Öffne im Shopware-Admin **Erweiterungen › Meine Erweiterungen**.
2. Suche den Eintrag des PDF-Datenblatt-Plugins und klicke auf **Installieren**.
3. Aktiviere das Plugin anschließend über den Schalter.
Hast du das Plugin über den Shopware Store bezogen, lädst du es zuvor unter **Erweiterungen › Store** herunter.
### Den Download-Link finden
Nach der Aktivierung erscheint auf jeder Produkt-Detailseite im Kaufbereich – direkt unter dem Kaufen-Button – ein Link mit der Beschriftung **„PDF-Datenblatt"**. Deine Kunden öffnen darüber das Datenblatt zum jeweiligen Produkt.
Ob der Link ein PDF direkt im Browser anzeigt oder einen Download-Dialog auslöst, steuerst du in den [Basis-Einstellungen](/docs/coe-pdf-datasheet-sw6/konfiguration/basis-einstellungen).
### Standard nach der Installation
Das Plugin bringt für alle Einstellungen sinnvolle Vorgaben mit, sodass die Datenblätter sofort nutzbar sind.
Bei einer frischen Installation ist der **Varianten-Datenumfang** zunächst auf **„Keine"** gesetzt. Das hält den Speicherbedarf gering und ist besonders bei Produkten mit vielen Varianten die sichere Voreinstellung. Mehr dazu in den [Basis-Einstellungen](/docs/coe-pdf-datasheet-sw6/konfiguration/basis-einstellungen).
Anschließend passt du Layout und Inhalt in der [Konfiguration](/docs/coe-pdf-datasheet-sw6/konfiguration) an dein Corporate Design an.
## Konfiguration im Überblick
Quelle: https://service.codeenterprise.de/docs/coe-pdf-datasheet-sw6/konfiguration
Alle Einstellungen des Plugins findest du im Shopware-Admin unter **Erweiterungen › Meine Erweiterungen**. Öffne dort das Kontextmenü (drei Punkte) des PDF-Datenblatt-Plugins und wähle **Konfiguration**.
### So erreichst du die Einstellungen
1. **Erweiterungen › Meine Erweiterungen** öffnen.
2. Beim PDF-Datenblatt-Plugin das **···**-Menü öffnen und **Konfiguration** wählen.
3. Oben den gewünschten **Verkaufskanal** auswählen – oder **Alle Verkaufskanäle**, wenn eine Einstellung überall gelten soll.
Fast alle Einstellungen kannst du pro Verkaufskanal getrennt setzen. Willst du eine Vorgabe nur für einen einzelnen Kanal ändern, wechsle oben zuerst auf diesen Kanal. Leere Felder eines Kanals greifen auf den Wert von „Alle Verkaufskanäle" zurück.
### Die Bereiche der Konfiguration
Die Einstellungen sind in fünf Karten gegliedert:
- [**Basis-Einstellungen**](/docs/coe-pdf-datasheet-sw6/konfiguration/basis-einstellungen) – Öffnen im Browser oder als Download, Suchmaschinen-Verhalten, Varianten und Zwischenspeicherung.
- [**Kopf- und Fußbereich**](/docs/coe-pdf-datasheet-sw6/konfiguration/kopf-und-fussbereich) – Logo, Schriftgrößen, Hintergrundfarben, Fußtext-Spalten und Seitenzähler.
- [**PDF-Inhalt**](/docs/coe-pdf-datasheet-sw6/konfiguration/pdf-inhalt) – Welche Abschnitte im Datenblatt erscheinen, Rahmen, Bildgrößen und Farben.
- [**Erweiterte Einstellungen**](/docs/coe-pdf-datasheet-sw6/konfiguration/erweitert) – Eigenes CSS für das PDF und ein eigenes Icon für den Download-Link.
### Änderungen übernehmen
Nach dem Speichern werden deine Änderungen sofort wirksam – das nächste erzeugte Datenblatt nutzt die neuen Vorgaben. Wie sich das mit der Zwischenspeicherung verhält, liest du in den [Basis-Einstellungen](/docs/coe-pdf-datasheet-sw6/konfiguration/basis-einstellungen) und in den [häufigen Fragen](/docs/coe-pdf-datasheet-sw6/faq).
## Basis-Einstellungen
Quelle: https://service.codeenterprise.de/docs/coe-pdf-datasheet-sw6/konfiguration/basis-einstellungen
Die Karte **„Basis Konfiguration"** steuert das grundlegende Verhalten des Datenblatts: wie es geöffnet wird, wie es mit Varianten umgeht und wie es zwischengespeichert wird.
### PDF im Browser öffnen
Ist **„PDF im Browser öffnen"** aktiv, zeigt der Browser das Datenblatt direkt an. Deaktivierst du die Option, löst der Link stattdessen einen Download-Dialog aus und die Datei wird gespeichert. Standard: aktiv.
### Suchmaschinen-Verhalten
**„PDF kann von Suchmaschinen gefunden werden"** steuert das `rel`-Attribut des Download-Links: Bei aktiver Option erhält der Link `rel="follow"`, andernfalls `rel="nofollow"`. Das ist ein Hinweis an Suchmaschinen und keine Zugriffssperre – das PDF bleibt in beiden Fällen über seine Adresse erreichbar. Standard: aktiv.
### Datenblatt pro Variante generieren
Bei **„Datenblatt pro Variante generieren"** bekommt jede Variante ihr eigenes Datenblatt mit den gewählten Variantenoptionen. Der Produktname im Datenblatt wird dann um die Optionen ergänzt (zum Beispiel *„T-Shirt | Rot | XL"*).
Deaktivierst du die Option, wird stets der Hauptartikel als Grundlage genutzt – unabhängig davon, welche Variante der Kunde gerade betrachtet. Standard: aktiv.
### SalesChannel-abhängige Produktdaten laden
Ist **„SalesChannel Abhängige Produktdaten laden"** aktiv, werden zusätzliche, verkaufskanalabhängige Informationen mit dem Produkt geladen – etwa die sortierten Eigenschaften und die berechneten Preise des jeweiligen Kanals. Standard: aktiv. Lass diese Option in der Regel aktiviert, damit das Datenblatt die Daten des aufrufenden Verkaufskanals verwendet.
### Zwischenspeicherung (HTTP-Cache)
**„HTTP-Caching für PDF-Datenblätter aktivieren"** legt fest, ob erzeugte PDFs über den Shopware-HTTP-Cache zwischengespeichert werden. Das entlastet den Shop bei häufig abgerufenen Datenblättern.
Änderst du eine **Plugin-Einstellung**, wird der Cache automatisch geleert – deine Änderungen werden sofort sichtbar. Für Änderungen an **Produktdaten** gilt hingegen die reguläre Cache-Laufzeit. Sollen auch Produktänderungen ohne Wartezeit erscheinen, deaktiviere diese Option. Standard: aktiv.
### Varianten-Datenumfang im PDF-Template
**„Varianten-Datenumfang im PDF-Template"** steuert, wie viele Daten der einzelnen Varianten in das PDF-Template geladen werden. Höhere Stufen geben eigenen Template-Anpassungen mehr Spielraum, erhöhen aber spürbar den Speicherbedarf – vor allem bei Artikeln mit vielen Varianten.
| Stufe | Bedeutung |
|---|---|
| **Keine** | Keine Variantendaten – geringster Speicherbedarf. |
| **Basis** | Variantennamen und Options-Werte. |
| **Vollständig** | Alle Variantendaten (Preise, Eigenschaften, Medien, …). |
Bei Artikeln mit mehreren hundert Varianten kann selbst **„Basis"** noch das PHP-Speicherlimit überschreiten und die PDF-Erzeugung fehlschlagen lassen. Wähle in diesem Fall **„Keine"**. Frisch installiert startet das Plugin bewusst mit **„Keine"**.
## Erweiterte Einstellungen
Quelle: https://service.codeenterprise.de/docs/coe-pdf-datasheet-sw6/konfiguration/erweitert
Für Layouts, die über die Standardoptionen hinausgehen, bietet die Karte **„Erweiterte Einstellungen"** zwei Stellschrauben: eigenes CSS für das PDF und ein eigenes Icon für den Download-Link.
### Eigenes CSS für das PDF
Im Feld **„PDF Style"** hinterlegst du das komplette Stylesheet, mit dem das Datenblatt gerendert wird. Das Plugin liefert bereits ein vollständiges Standard-CSS mit – du passt es an oder ersetzt es durch dein eigenes.
- Über den Button **„Editiermodus ändern"** wechselst du in eine übersichtlichere, gut lesbare Ansicht des Codes.
- Deine Anpassungen wirken auf Kopf-, Fuß- und Inhaltsbereich gleichermaßen.
Bearbeitest du das CSS, überschreibst du das mitgelieferte Standard-Layout. Sichere dir den ursprünglichen Inhalt, bevor du größere Änderungen vornimmst. Den **Standard wiederherstellen** kannst du, indem du das Plugin neu installierst – dabei wird das Standard-CSS wieder eingesetzt.
### Eigenes Icon für den Download-Link
Im Feld **„Produktdetailseite Icon"** hinterlegst du HTML-Code, der das Standard-Icon des Download-Links auf der Produkt-Detailseite ersetzt. Bleibt das Feld leer, zeigt das Plugin ein Download-Symbol (Kreis mit Pfeil).
Wechsle im HTML-Editor in den Bearbeitungsmodus, damit dein Code als HTML eingefügt wird und nicht als Text. Andernfalls erscheint der Code wörtlich auf der Seite.
## Kopf- und Fußbereich
Quelle: https://service.codeenterprise.de/docs/coe-pdf-datasheet-sw6/konfiguration/kopf-und-fussbereich
Kopf- und Fußbereich rahmen jede Seite deines Datenblatts. Hier hinterlegst du dein Logo, Kontaktangaben und die farbliche Gestaltung.
### PDF-Kopfbereich
Die Karte **„PDF Kopfbereich"** gestaltet den oberen Rand jeder Seite:
- **Logo für den PDF Kopfbereich** – Wähle über das Medienfeld ein Bild aus deiner Mediathek. Es erscheint links oben auf jeder Seite. Ohne Auswahl bleibt der Platz leer.
- **Standard Kopfbereich Schriftgröße** – Schriftgröße im Kopfbereich in Punkt. Standard: 7,5.
- **Hintergrundfarbe für den Kopfbereich** – Farbe hinter dem Kopfbereich. Standard: Weiß.
Neben dem Logo steht automatisch der Hinweis *„Datenblatt zu <Produktname>"*.
### PDF-Fußbereich
Die Karte **„PDF Fußbereich"** gestaltet den unteren Rand:
- **Fußbereich anzeigen** – Schaltet den gesamten Fußbereich an oder aus. Standard: aktiv.
- **Seitenzahl im Footer anzeigen** – Blendet einen Seitenzähler unter den Fußtext-Spalten ein. Standard: aktiv.
- **Standard Fußbereich Schriftgröße** – Schriftgröße im Fußbereich in Punkt. Standard: 7,5.
- **Hintergrundfarbe für den Fußbereich** – Farbe hinter dem Fußbereich. Standard: Weiß.
#### Fußtext in drei Spalten
Über **Footer Reihe 1**, **Footer Reihe 2** und **Footer Reihe 3** hinterlegst du je eine Textspalte – typischerweise Firmenanschrift, Kontaktdaten und rechtliche Hinweise. Jede Spalte ist ein Rich-Text-Feld, du kannst Text also formatieren und verlinken. Leere Spalten bleiben im PDF einfach frei.
Die Schriftgrößen gibst du in Punkt (pt) an – der üblichen Maßeinheit für Druck. Kleine Werte wie 7,5 pt passen gut in schmale Kopf- und Fußzeilen.
## PDF-Inhalt
Quelle: https://service.codeenterprise.de/docs/coe-pdf-datasheet-sw6/konfiguration/pdf-inhalt
Die Karte **„PDF Inhalt"** bestimmt, welche Produktinformationen im Datenblatt auftauchen und wie sie gestaltet sind. So passt du das Datenblatt genau an das an, was für deine Kunden zählt.
### Abschnitte ein- und ausblenden
Jeder der folgenden Abschnitte lässt sich einzeln zu- oder abschalten. Alle sind standardmäßig aktiv.
| Einstellung | Wirkung im Datenblatt |
|---|---|
| **Hauptbild anzeigen** | Zeigt das Titelbild des Produkts oben rechts. |
| **Kurzbeschreibung (Meta) anzeigen** | Zeigt die Meta-Kurzbeschreibung unter dem Produktnamen. |
| **Produktbeschreibung anzeigen** | Zeigt die ausführliche Produktbeschreibung. |
| **Eigenschaften anzeigen** | Zeigt die Property-Gruppen des Produkts als Tabelle. |
| **Weitere Bilder anzeigen** | Zeigt zusätzliche Produktbilder auf einer eigenen Seite. |
Abschnitte erscheinen nur, wenn beim Produkt tatsächlich Daten hinterlegt sind. Sind zum Beispiel keine Eigenschaften gepflegt, bleibt der Bereich „Eigenschaften" leer – auch bei aktivierter Option. Das Hauptbild wird nicht mehr zusätzlich unter „Weitere Bilder" wiederholt.
### Stammdaten anzeigen
Diese Angaben erscheinen nur, wenn sie beim Produkt gepflegt sind:
- **Produktnummer anzeigen** – die Artikelnummer.
- **Produktgewicht anzeigen wenn gesetzt** – das Gewicht in Kilogramm.
- **Produktlänge / -höhe / -breite anzeigen wenn gesetzt** – die jeweiligen Maße in Millimetern.
Alle vier Optionen sind standardmäßig aktiv.
### Bilder gestalten
- **Rahmen um haupt Produktbild anzeigen** – setzt einen Rahmen um das Hauptbild. Standard: aktiv.
- **Rahmen um Thumbnails anzeigen** – setzt einen Rahmen um die Zusatzbilder. Standard: aktiv.
- **Maximalgröße für Bilder** – begrenzt Haupt- und Beschreibungsbilder in Zentimetern. Standard: 10.
### Farben und Schrift
- **Farbe der Überschriften** – Farbe der Abschnittsüberschriften. Standard: Schwarz.
- **Rahmenfarbe** – gilt für Hauptbild, Thumbnails und die Trennlinien zwischen Kopf-/Fußbereich und Inhalt. Standard: helles Grau.
- **Standard Inhalts Schriftgröße** – Schriftgröße des Fließtexts in Punkt. Standard: 9.
Reichen dir diese Optionen für dein Layout nicht aus, kannst du das Erscheinungsbild in den [erweiterten Einstellungen](/docs/coe-pdf-datasheet-sw6/konfiguration/erweitert) per eigenem CSS frei anpassen.
# Preise für Kundengruppen oder Gäste ausblenden (CoeHidePriceForCustomerGroup)
## Häufige Fragen (FAQ)
Quelle: https://service.codeenterprise.de/docs/coe-hide-price-for-customer-group/faq
Die häufigsten Fragen rund um das Ausblenden von Preisen – kurz beantwortet.
### Ändert das Plugin meine Preise oder Bestellungen?
Nein. Das Plugin greift ausschließlich in die **Anzeige** ein und blendet Preis- und Button-Bereiche in der Storefront aus. Deine hinterlegten Preise, Rabatte und die Bestell-Logik bleiben unverändert – ein ausgeblendeter Preis existiert im System weiter, er wird dem Besucher nur nicht gezeigt.
### Ein Kunde kann nicht bestellen und sieht "nur auf Anfrage" – warum?
Das ist der Schutz im [artikelbezogenen Modus](/docs/coe-hide-price-for-customer-group/konfiguration/artikelbezogener-modus): Liegt ein Artikel im Warenkorb, dessen Preis für diesen Kunden ausgeblendet ist, wird der Bestellabschluss bewusst blockiert – damit niemand ohne sichtbaren Preis bestellt. Den Hinweistext passt du über den Textbaustein `coeHidePrice.cartBlocked` an.
### Eine Kundengruppe wird in einer Sprache trotzdem mit Preisen angezeigt
Die Einstellung **"Preise im Frontend ausblenden"** ist **je Sprache getrennt**. Eine Sprache, in der du den Wert nie ausdrücklich auf **Ja** gesetzt hast, gilt als "nicht aktiv" – dort bleiben die Preise sichtbar. Setze das Feld in **jeder** gewünschten Sprache einzeln. Details unter [Globaler Modus](/docs/coe-hide-price-for-customer-group/konfiguration/globaler-modus).
### Kann ich globalen und artikelbezogenen Modus gleichzeitig nutzen?
Nein. Die beiden Modi schließen sich aus – es ist immer genau einer aktiv. Den Umschalter findest du in der [Plugin-Konfiguration](/docs/coe-hide-price-for-customer-group/konfiguration) unter "Alle Artikel ausblenden für gewählte Kundengruppen (globaler Modus)". Die Option **"Preise für Gäste ausblenden"** wirkt dagegen in **beiden** Modi.
### Der Checkout-Button verschwindet im artikelbezogenen Modus nicht
Die Option "Checkout-Button ausblenden" wirkt im **globalen Modus**, wenn für die ganze Kundengruppe die Preise ausgeblendet sind. Im artikelbezogenen Modus übernimmt die **Warenkorb-Sperre** diese Aufgabe – der Bestellabschluss wird dort automatisch blockiert, sobald ein markierter Artikel im Warenkorb liegt.
### Wirkt das Ausblenden auch im Kundenkonto?
Ja. Preise werden auch in der **Bestellübersicht** und in den **Bestelldetails** im Kundenkonto ausgeblendet, ebenso in Suchvorschlägen, im Cross-Selling und im Off-Canvas-Warenkorb.
## Preise für Kundengruppen oder Gäste ausblenden
Quelle: https://service.codeenterprise.de/docs/coe-hide-price-for-customer-group/index
Mit "Preise für Kundengruppen oder Gäste ausblenden" versteckst du Preise und den "In den Warenkorb"-Button in deiner Storefront – gezielt für bestimmte Kundengruppen, für nicht angemeldete Besucher (Gäste) oder einzeln pro Artikel. Typische Einsätze sind B2B-Shops, in denen Händlerpreise erst nach Anmeldung sichtbar sein sollen, oder Sortimente nach dem Prinzip "Preis auf Anfrage".
### Was das Plugin macht
Das Plugin greift **ausschließlich in die Anzeige** ein: Es blendet Preis- und Button-Bereiche in der Storefront aus. An deinen Artikelpreisen, Rabatten oder an der Bestell-Logik ändert es nichts – ein ausgeblendeter Preis bleibt im System unverändert, er wird dem Besucher nur nicht gezeigt.
Ausgeblendet wird überall dort, wo Preise normalerweise auftauchen:
- Produktlisting und Suchvorschläge
- Produkt-Detailseite inkl. Buy-Widget und Cross-Selling
- Off-Canvas-Warenkorb, Warenkorb-Seite und Checkout
- Bestellübersicht und Bestelldetails im Kundenkonto
### Zwei Betriebsmodi
Du entscheidest in der Plugin-Konfiguration, nach welcher Regel ausgeblendet wird. Die beiden Modi schließen sich gegenseitig aus:
- **Globaler Modus** (Standard): Markierst du eine Kundengruppe als "Preise ausblenden", gilt das für **alle** Artikel. Das ist das klassische Verhalten für reine B2B-Kundengruppen. → [Globaler Modus einrichten](/docs/coe-hide-price-for-customer-group/konfiguration/globaler-modus)
- **Artikelbezogener Modus**: Die Kundengruppen-Markierung wird ignoriert. Stattdessen legst du **pro Artikel** fest, für welche Kundengruppen der Preis verschwindet. → [Artikelbezogenen Modus einrichten](/docs/coe-hide-price-for-customer-group/konfiguration/artikelbezogener-modus)
Zusätzlich kannst du in beiden Modi Preise für Gäste ausblenden, die Checkout- und "In den Warenkorb"-Buttons verstecken oder den Button durch einen Hinweistext mit Weiterleitung ersetzen. Wie das geht, liest du unter [Konfiguration](/docs/coe-hide-price-for-customer-group/konfiguration).
Die Kundengruppen-Einstellung ist **sprachabhängig**: Du legst je Sprache getrennt fest, ob für eine Kundengruppe Preise sichtbar sind. So kann dieselbe Gruppe im deutschen Shop ohne, im englischen Shop mit Preisen erscheinen.
## Installation & Aktivierung
Quelle: https://service.codeenterprise.de/docs/coe-hide-price-for-customer-group/installation
Die Installation läuft wie bei jedem Shopware-Plugin über den Plugin-Manager. Nach dem Aktivieren steht dir sofort die Konfiguration zur Verfügung – ein Produkt-Custom-Field für den artikelbezogenen Modus wird dabei automatisch angelegt.
### Plugin installieren
1. Öffne im Admin **Erweiterungen → Meine Erweiterungen**.
2. Installiere das Plugin und schalte es anschließend **aktiv**.
Beim Installieren, Aktivieren und bei jedem Update prüft das Plugin, ob das Produkt-Custom-Field für den artikelbezogenen Modus vorhanden ist, und legt es bei Bedarf an. Du musst dafür nichts von Hand einrichten.
### Konfiguration öffnen
Die Plugin-Konfiguration findest du unter **Einstellungen → System → Plugins → Preise für Kundengruppen oder Gäste ausblenden → `···` → Konfiguration**.
Welche Optionen dort verfügbar sind und wie die beiden Betriebsmodi zusammenspielen, liest du unter [Konfiguration](/docs/coe-hide-price-for-customer-group/konfiguration).
### Deinstallation
Beim Deinstallieren entfernt das Plugin das angelegte Produkt-Custom-Field wieder. Möchtest du deine bisher gesetzten Werte behalten – etwa weil du das Plugin später erneut installierst –, aktiviere im Deinstallations-Dialog die Option, die Plugin-Daten zu **behalten**. Dann bleiben die Feldwerte erhalten.
## Konfiguration
Quelle: https://service.codeenterprise.de/docs/coe-hide-price-for-customer-group/konfiguration
In der Plugin-Konfiguration legst du fest, **nach welcher Regel** Preise ausgeblendet werden und **was zusätzlich** passieren soll, sobald ein Preis verschwindet. Die wichtigste Entscheidung ist der Betriebsmodus – alle weiteren Optionen bauen darauf auf.
Du findest die Konfiguration unter **Einstellungen → System → Plugins → Preise für Kundengruppen oder Gäste ausblenden → `···` → Konfiguration**.
### Die Optionen im Überblick
- **Alle Artikel ausblenden für gewählte Kundengruppen (globaler Modus)** – der Modus-Umschalter. Aktiv (Standard) = globaler Modus, inaktiv = artikelbezogener Modus. Siehe unten.
- **Preise für Gäste ausblenden** – blendet Preise für nicht angemeldete Besucher aus. Wirkt in beiden Modi.
- **Checkout-Button ausblenden, wenn auch Preise ausgeblendet sind** – versteckt die Buttons zum Abschluss der Bestellung.
- **"In den Warenkorb"-Button ausblenden, wenn auch Preise ausgeblendet sind** – entfernt den Kaufen-Button.
- **"In den Warenkorb"-Button-Text ersetzen** – zeigt statt des Buttons einen Hinweistext (z. B. "Anmelden um Preise zu sehen").
- **Weiterleitungs-Pfad** – lässt den Ersatz-Button auf eine Zielseite verlinken.
Die letzten vier Optionen betreffen die Buttons und den Ersatztext – Details dazu unter [Buttons & Weiterleitung](/docs/coe-hide-price-for-customer-group/konfiguration/buttons-und-weiterleitung).
### Welchen Modus wählst du?
Beide Modi schließen sich gegenseitig aus – es ist immer genau einer aktiv.
**Globaler Modus** (Standard): Du steuerst das Ausblenden **pro Kundengruppe**. Ist eine Gruppe markiert, verlieren **alle** Artikel für sie den Preis. Passend, wenn ganze Kundengruppen (z. B. "Gäste" oder unfreigeschaltete Händler) grundsätzlich keine Preise sehen sollen. → [Globaler Modus](/docs/coe-hide-price-for-customer-group/konfiguration/globaler-modus)
**Artikelbezogener Modus**: Du steuerst das Ausblenden **pro Artikel**. Die Kundengruppen-Markierung wird ignoriert; stattdessen wählst du je Produkt die Kundengruppen aus, für die der Preis verschwindet. Passend, wenn nur ein Teil deines Sortiments "Preis auf Anfrage" sein soll. → [Artikelbezogener Modus](/docs/coe-hide-price-for-customer-group/konfiguration/artikelbezogener-modus)
Die Option **Preise für Gäste ausblenden** wirkt in **beiden** Modi zusätzlich.
## Artikelbezogener Modus – pro Artikel ausblenden
Quelle: https://service.codeenterprise.de/docs/coe-hide-price-for-customer-group/konfiguration/artikelbezogener-modus
Im artikelbezogenen Modus entscheidest du **pro Produkt**, für welche Kundengruppen der Preis ausgeblendet wird. Die Kundengruppen-Markierung aus dem globalen Modus wird dabei ignoriert. Das passt, wenn nur ein Teil deines Sortiments "Preis auf Anfrage" sein soll, während der Rest normal mit Preisen erscheint.
### Voraussetzung
Deaktiviere in der Plugin-Konfiguration die Option **"Alle Artikel ausblenden für gewählte Kundengruppen (globaler Modus)"**. Erst dann ist der artikelbezogene Modus aktiv und das Produkt-Feld unten wird ausgewertet.
### Artikel markieren
1. Öffne das gewünschte Produkt im Admin.
2. Wechsle in den Tab **Eigene Felder**.
3. Im Bereich **"Preise pro Kundengruppe ausblenden"** befülle das Feld **"Preise ausblenden für Kundengruppen"** mit allen Kundengruppen, für die der Preis dieses Artikels verschwinden soll.
4. Speichere.
Nur Mitglieder der ausgewählten Gruppen verlieren bei diesem Artikel den Preis. Lässt du das Feld leer, bleibt der Preis für alle sichtbar.
### Gäste einbeziehen
Die Option **"Preise für Gäste ausblenden"** aus der Plugin-Konfiguration wirkt auch hier zusätzlich: Ist sie aktiv, sehen nicht angemeldete Besucher auf den markierten Artikeln ebenfalls keinen Preis.
### Bestellung von markierten Artikeln
Legt ein Kunde, für den der Preis ausgeblendet ist, einen solchen Artikel in den Warenkorb, wird der **Bestellabschluss blockiert**. Er erhält den Hinweis:
> Dieser Artikel ist nur auf Anfrage erhältlich. Bitte nutzen Sie das Anfrageformular.
So ist sichergestellt, dass niemand einen Artikel ohne sichtbaren Preis bestellt. Den Hinweistext kannst du über den Textbaustein `coeHidePrice.cartBlocked` in den Textbausteinen anpassen.
Möchtest du den "In den Warenkorb"-Button für markierte Artikel gleich ganz ausblenden oder durch einen Hinweis ersetzen, nutze die Optionen unter [Buttons & Weiterleitung](/docs/coe-hide-price-for-customer-group/konfiguration/buttons-und-weiterleitung).
## Buttons & Weiterleitung
Quelle: https://service.codeenterprise.de/docs/coe-hide-price-for-customer-group/konfiguration/buttons-und-weiterleitung
Sobald ein Preis ausgeblendet ist, kannst du auch die zugehörigen Buttons steuern: den "In den Warenkorb"-Button entfernen, den Checkout sperren oder den Kaufen-Button durch einen Hinweistext ersetzen – optional mit Weiterleitung, z. B. zur Anmeldung. Alle Optionen liegen in der [Plugin-Konfiguration](/docs/coe-hide-price-for-customer-group/konfiguration) und greifen nur dort, wo der Preis ohnehin verborgen ist.
### "In den Warenkorb"-Button ausblenden
Aktivierst du **"In den Warenkorb"-Button ausblenden, wenn auch Preise ausgeblendet sind"**, verschwindet der Kaufen-Button bei betroffenen Artikeln – im Listing, auf der Detailseite und im Buy-Widget. Auf der Listing-Kachel erscheint stattdessen ein Link **"Zum Produkt"**, damit der Besucher die Detailseite weiterhin erreicht.
### Button-Text ersetzen
Möchtest du statt eines leeren Bereichs einen Hinweis zeigen, aktiviere zusätzlich **"In den Warenkorb"-Button-Text ersetzen"**. Dann erscheint anstelle des Buttons ein Hinweistext – standardmäßig **"Anmelden um Preise zu sehen"**.
Den Text passt du über den Textbaustein **`coeHidePrice.cartReplacement`** in den Textbausteinen an (**Einstellungen → Shop → Textbausteine**).
### Weiterleitung beim Klick
Trägst du im Feld **Weiterleitungs-Pfad** ein Ziel ein, wird der Ersatz-Button klickbar und führt dorthin – ideal, um Besucher zur Anmeldung oder zu einem Anfrageformular zu leiten. Ohne Ziel bleibt der Hinweis ein reiner Textkasten.
Zwei Schreibweisen sind möglich:
- **Direkter Pfad** mit Schrägstrich, z. B. `/account/login`.
- **Routen-Name** ohne Schrägstrich, z. B. `frontend.account.login`.
Betreibst du einen **mehrsprachigen Shop**, nutze den Routen-Namen (z. B. `frontend.account.login`). Shopware erzeugt daraus automatisch die richtige URL je Sprache. Ein unbekannter Routen-Name wird ignoriert – dann bleibt der Hinweis ohne Weiterleitung, statt einen Fehler zu erzeugen.
### Checkout-Button ausblenden
Die Option **"Checkout-Button ausblenden, wenn auch Preise ausgeblendet sind"** entfernt die Buttons zum Bestellabschluss (Warenkorb, Off-Canvas, Bestellbestätigung), wenn für die gesamte Kundengruppe bzw. für Gäste die Preise ausgeblendet sind – also im [globalen Modus](/docs/coe-hide-price-for-customer-group/konfiguration/globaler-modus).
Im [artikelbezogenen Modus](/docs/coe-hide-price-for-customer-group/konfiguration/artikelbezogener-modus) übernimmt diese Aufgabe die **Warenkorb-Sperre**: Liegt ein markierter Artikel im Warenkorb, wird der Bestellabschluss mit einem Hinweis blockiert. Du brauchst die Checkout-Buttons dort also nicht separat auszublenden.
## Globaler Modus – pro Kundengruppe ausblenden
Quelle: https://service.codeenterprise.de/docs/coe-hide-price-for-customer-group/konfiguration/globaler-modus
Der globale Modus ist die Standard-Einstellung. Hier entscheidest du **pro Kundengruppe**, ob Preise sichtbar sind: Markierst du eine Gruppe, verlieren **alle** Artikel für ihre Mitglieder den Preis. Das passt, wenn eine ganze Gruppe – etwa nicht freigeschaltete Händler – grundsätzlich keine Preise sehen soll.
### Voraussetzung
In der Plugin-Konfiguration muss die Option **"Alle Artikel ausblenden für gewählte Kundengruppen (globaler Modus)"** **aktiv** sein (Standard). Ist sie deaktiviert, gilt stattdessen der [artikelbezogene Modus](/docs/coe-hide-price-for-customer-group/konfiguration/artikelbezogener-modus) und die Kundengruppen-Markierung wird ignoriert.
### Kundengruppe markieren
1. Öffne **Einstellungen → Shop → Kundengruppen** und wähle die gewünschte Gruppe.
2. Stelle oben rechts die **Sprache** ein, für die die Einstellung gelten soll.
3. Setze das Feld **"Preise im Frontend ausblenden"** auf **Ja**.
4. Speichere.
Ab sofort sehen Mitglieder dieser Gruppe in der eingestellten Sprache keine Preise und keinen "In den Warenkorb"-Button-Preis mehr.
### Sprachabhängigkeit
Die Einstellung wird **je Sprache getrennt** ausgewertet. Dieselbe Gruppe kann also im deutschen Shop ohne und im englischen Shop mit Preisen erscheinen.
Eine Sprache, in der du **Ja** oder **Nein** nie ausdrücklich gesetzt hast, gilt als **"nicht aktiv"** – dort bleiben die Preise sichtbar. Der Wert einer anderen Sprache wird **nicht** übernommen. Willst du eine Gruppe in mehreren Sprachen ausblenden, setze das Feld in jeder dieser Sprachen einzeln auf **Ja**.
### Gäste einbeziehen
Nicht angemeldete Besucher gehören keiner Kundengruppe an. Sollen auch sie keine Preise sehen, aktiviere in der Plugin-Konfiguration zusätzlich **"Preise für Gäste ausblenden"**. Diese Option wirkt unabhängig vom Modus.
### Buttons und Ersatztext
Ob zusätzlich der "In den Warenkorb"- oder der Checkout-Button verschwindet oder durch einen Hinweistext ersetzt wird, steuerst du über die übrigen Konfigurationsoptionen – siehe [Buttons & Weiterleitung](/docs/coe-hide-price-for-customer-group/konfiguration/buttons-und-weiterleitung).
## Preise in Produktexports ausblenden
Quelle: https://service.codeenterprise.de/docs/coe-hide-price-for-customer-group/produktexports
Produktexports – etwa für Google Shopping – erzeugt Shopware **ohne angemeldeten Kunden**. Die normale Storefront-Logik (Kundengruppe, Sprache, Gäste) kann hier deshalb nicht greifen. Damit du trotzdem entscheiden kannst, ob ein Preis in den Feed geschrieben wird, bringt das Plugin eine eigene Twig-Funktion mit: **`coe_should_hide_in_export`**.
Sie stützt sich auf dasselbe Produkt-Feld **"Preise ausblenden für Kundengruppen"**, das auch der [artikelbezogene Modus](/docs/coe-hide-price-for-customer-group/konfiguration/artikelbezogener-modus) nutzt. Ein Produkt, das du dort markierst, lässt sich damit gleichzeitig aus dem Feed heraushalten – ohne ein zusätzliches Feld zu pflegen.
### Guard ins Feed-Template einbauen
Den Guard baust du im Admin unter **Vertriebskanäle → dein Produktvergleich-Kanal → Tab "Template"** um den Preis-Tag im Body-Template:
```twig
{% if not coe_should_hide_in_export(product) %}
{{ price.unitPrice|number_format(...) }} {{ context.currency.isoCode }}
{% endif %}
```
Die Funktion gibt `true` zurück, sobald das Produkt für **mindestens eine** Kundengruppe als "Preise ausblenden" markiert ist. Markierte Produkte landen dann ohne Preis-Tag im Feed, alle anderen unverändert mit Preis.
### Nach Kundengruppe filtern
Willst du verschiedene Feeds unterschiedlich behandeln – etwa B2C-Google-Shopping gegen einen B2B-Marktplatz –, gib den **Namen einer Kundengruppe** als zweiten Parameter mit:
```twig
{% if not coe_should_hide_in_export(product, "Händler") %}
{{ price.unitPrice|number_format(...) }} {{ context.currency.isoCode }}
{% endif %}
```
Dann liefert die Funktion nur dann `true`, wenn das Produkt für genau diese Gruppe markiert ist. Der Namens-Abgleich läuft **sprachübergreifend**: Heißt die Gruppe in einer Sprache "Händler" und in einer anderen "Dealers", greifen beide Schreibweisen.
Wird der angegebene Kundengruppen-Name in keiner Sprache gefunden, gibt die Funktion `false` zurück und schreibt eine Warnung ins Shopware-Log (`var/log/`). So fallen Tippfehler im Namen auf, statt still ignoriert zu werden.
# Reservierung für Abverkaufs-Artikel mit Countdown (CoeReservedBasketSw6)
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-reserved-basket-sw6/faq
### Warum wird mein Artikel nicht reserviert?
Ein Artikel wird nur reserviert, wenn er **beide** Bedingungen erfüllt: Er muss ein **Abverkaufs-Artikel** sein **und** die Option **Reservierbares Produkt** gesetzt haben. Fehlt eine davon, verhält er sich wie ein normales Produkt. Siehe [Produkte reservierbar machen](/docs/coe-reserved-basket-sw6/produkt-reservierbar-machen).
### Kann ein Kunde im Warenkorb mehr bestellen, als tatsächlich noch verfügbar ist?
Nein. Die maximale Menge, die sich im Warenkorb einstellen lässt, berücksichtigt automatisch, wie viel andere Kunden von demselben Artikel bereits reserviert haben. Versucht ein Kunde, die Menge über diesen Wert hinaus zu erhöhen, wird sie entsprechend begrenzt — sowohl beim Hinzufügen als auch nachträglich im Warenkorb.
### Verlängert sich der Countdown, wenn der Kunde die Menge ändert?
Nein. Ändert der Kunde die Menge eines bereits reservierten Artikels, wird die Reservierung auf die neue Menge angepasst, die verbleibende Zeit läuft aber unverändert weiter. Der Countdown startet nicht neu.
### Was passiert mit der Reservierung nach der Bestellung?
Mit dem Abschluss der Bestellung wird die Reservierung aufgelöst. Der Bestand ist dann über die Bestellung gebucht; ein Countdown wird nicht mehr angezeigt.
### Zählt der reservierte Bestand für den Kunden selbst mit?
Nein. Der Kunde, der einen Artikel reserviert hat, kann ihn weiterhin bestellen. Nur für **andere** Kunden wird der reservierte Bestand vom verfügbaren Bestand abgezogen.
### Werden die Reservierungsdaten bei der Deinstallation entfernt?
Deinstallierst Du das Plugin und wählst dabei, die Daten **nicht** zu behalten, werden das Produkt-Zusatzfeld und die gespeicherten Reservierungen wieder entfernt. Behältst Du die Daten, bleiben sie erhalten.
## Reservierung für Abverkaufs-Artikel mit Countdown
Quelle: https://service.codeenterprise.de/docs/coe-reserved-basket-sw6/index
Unser Reservierungs-Plugin sorgt dafür, dass ein Abverkaufs-Artikel für Deinen Kunden reserviert wird, sobald er im Warenkorb liegt — für eine von Dir festgelegte Zeit. So sichert sich niemand den letzten verfügbaren Artikel, während Dein Kunde noch bezahlt.
Besonders bei Restposten, Limited Editions, Raritäten oder Artikeln mit geringem Lagerbestand verhinderst Du damit Überverkäufe und Beschwerden — und bietest ein entspannteres Einkaufserlebnis.
### Was das Plugin für Dich tut
- Reserviert reservierbare Abverkaufs-Artikel automatisch, sobald sie im Warenkorb liegen
- Zeigt Deinem Kunden einen Countdown im Off-Canvas- und im Checkout-Warenkorb
- Gibt den Bestand automatisch wieder frei, sobald die Reservierung abläuft
- Weist andere Kunden auf der Artikelseite darauf hin, wenn der Restbestand gerade vollständig reserviert ist
### Voraussetzung
Reserviert wird nur, was Du ausdrücklich dafür freigibst: Ein Artikel muss ein **Abverkaufs-Artikel** sein **und** die Option **Reservierbares Produkt** gesetzt haben. Wie Du das einrichtest, liest Du unter [Produkte reservierbar machen](/docs/coe-reserved-basket-sw6/produkt-reservierbar-machen).
## Installation und Aktivierung
Quelle: https://service.codeenterprise.de/docs/coe-reserved-basket-sw6/installation
Du installierst unser Reservierungs-Plugin wie jede andere Shopware-Erweiterung — über den Plugin-Manager im Admin oder die Kommandozeile.
### Über den Admin installieren
1. Öffne im Shopware-Admin **Erweiterungen › Meine Erweiterungen**.
2. Suche den Eintrag des Plugins und klicke auf **Installieren**.
3. Aktiviere das Plugin anschließend über den Schalter.
Sobald das Plugin aktiv ist, legt es automatisch ein Produkt-Zusatzfeld **Reservierbares Produkt** an. Über dieses Feld entscheidest Du später je Artikel, ob er reserviert werden soll.
### Nach der Installation
Direkt nach der Aktivierung ist noch kein Artikel reservierbar — das ist Absicht. Du gibst Artikel gezielt frei, siehe [Produkte reservierbar machen](/docs/coe-reserved-basket-sw6/produkt-reservierbar-machen). Die allgemeinen Einstellungen wie Reservierungsdauer und Countdown-Format findest Du unter [Einstellungen des Plugins](/docs/coe-reserved-basket-sw6/konfiguration).
## Einstellungen des Plugins
Quelle: https://service.codeenterprise.de/docs/coe-reserved-basket-sw6/konfiguration
Die allgemeinen Einstellungen erreichst Du im Shopware-Admin über **Erweiterungen › Meine Erweiterungen**, dann über das Kontextmenü des Plugins auf **Konfiguration**. Die Einstellungen lassen sich pro Verkaufskanal getrennt setzen.
### Reservierungsdauer pro Artikel in Minuten
Legt fest, wie lange ein Artikel reserviert bleibt, nachdem er in den Warenkorb gelegt wurde. Standard: **30 Minuten**. Nach Ablauf wird der Bestand wieder freigegeben.
### Countdown im Format anzeigen
Bestimmt, wie der Countdown im Warenkorb dargestellt wird:
- **H:M:S (Stunde:Minute:Sekunde) – ohne führende 0** (Standard)
- **M:S (Minute:Sekunde) – ohne führende 0**
- **H:M:S (Stunde:Minute:Sekunde) – mit führender 0**
- **M:S (Minute:Sekunde) – mit führender 0**
### Reservierungsdauer im Off-Canvas-Warenkorb anzeigen
Zeigt den Countdown im aufklappenden Mini-Warenkorb (Off-Canvas). Standard: **an**.
### Reservierungsdauer im Checkout-Warenkorb anzeigen
Zeigt den Countdown auf der Warenkorb-Seite im Checkout. Standard: **an**.
### Produkt aus Warenkorb löschen, wenn Reservierungsdauer abgelaufen ist
Ist diese Option **an**, wird der Artikel nach Ablauf der Reservierung automatisch aus dem Warenkorb des Kunden entfernt. Ist sie **aus**, bleibt der Artikel im Warenkorb liegen — die Reservierung läuft aber trotzdem ab und der Bestand wird freigegeben. Standard: **an**.
## Produkte reservierbar machen
Quelle: https://service.codeenterprise.de/docs/coe-reserved-basket-sw6/produkt-reservierbar-machen
Damit ein Artikel im Warenkorb reserviert wird, müssen **zwei Bedingungen** erfüllt sein. Beide stellst Du direkt am Produkt im Shopware-Admin ein.
### 1. Artikel als Abverkauf kennzeichnen
Öffne den Artikel und aktiviere in den Bestandseinstellungen die Option, die ihn als **Abverkaufsartikel** kennzeichnet — also einen Artikel, der nach Erreichen von Bestand 0 nicht mehr bestellbar ist.
Nur Abverkaufs-Artikel werden reserviert, denn nur bei ihnen ist der Bestand wirklich begrenzt und ein Überverkauf überhaupt möglich.
### 2. Reservierbares Produkt aktivieren
Setze am selben Artikel im Bereich der Zusatzfelder den Haken bei **Reservierbares Produkt** (Feldgruppe **Reservierung im Warenkorb**). Dieses Feld hat das Plugin bei der Installation automatisch angelegt.
### Beide Bedingungen zusammen
Erst wenn **beide** Optionen gesetzt sind, wird der Artikel reserviert, sobald ihn ein Kunde in den Warenkorb legt. Fehlt eine der beiden, passiert nichts — der Artikel verhält sich wie ein normales Produkt.
Setzt Du nur den Haken **Reservierbares Produkt**, ohne den Artikel in den Abverkauf zu nehmen, wird nicht reserviert. Prüfe im Zweifel beide Einstellungen.
## So funktioniert die Reservierung im Shop
Quelle: https://service.codeenterprise.de/docs/coe-reserved-basket-sw6/reservierung-im-shop
Dieser Abschnitt erklärt, was im Shop passiert, sobald ein reservierbarer Abverkaufs-Artikel im Spiel ist — damit Du weißt, was Deine Kunden sehen.
### Reservierung beim Hinzufügen zum Warenkorb
Legt ein Kunde einen reservierbaren Abverkaufs-Artikel in den Warenkorb, wird der Bestand sofort für ihn reserviert. Die Reservierung gilt für die eingestellte [Reservierungsdauer](/docs/coe-reserved-basket-sw6/konfiguration).
### Countdown im Warenkorb
Im Off-Canvas- und im Checkout-Warenkorb sieht der Kunde einen Hinweis mit laufendem Countdown, zum Beispiel:
> Dieser Artikel ist für Sie reserviert: 0:29:58 Min.
Ob der Countdown im Off-Canvas- bzw. Checkout-Warenkorb erscheint und in welchem Format, steuerst Du in den [Einstellungen](/docs/coe-reserved-basket-sw6/konfiguration).
### Reservierter Bestand für andere Kunden
Solange ein Artikel reserviert ist, wird der reservierte Bestand für andere Kunden vom verfügbaren Bestand abgezogen. Der Kunde mit der Reservierung kann seinen Artikel weiterhin bestellen; andere sehen entsprechend weniger verfügbaren Bestand. Das gilt auch für die maximal wählbare Menge: Sowohl auf der Artikelseite als auch im Warenkorb selbst lässt sich nie mehr von einem Artikel auswählen, als nach Abzug fremder Reservierungen tatsächlich noch verfügbar ist — so kann niemand mehr Stück in den Warenkorb legen, als wirklich vorhanden sind.
Ist der komplette Restbestand gerade reserviert, erscheint auf der Artikel-Detailseite ein Hinweis und der Artikel lässt sich vorübergehend nicht bestellen:
> Der komplette verbleibende Lagerbestand von 3 Artikeln befindet sich aktuell in Reservierung. Bitte versuche es in wenigen Minuten erneut.
Sobald eine Reservierung abläuft, wird der Bestand wieder frei und der Artikel ist wieder bestellbar.
### Ablauf der Reservierung
Nach Ablauf der Reservierungsdauer wird der reservierte Bestand automatisch freigegeben. Je nach [Einstellung](/docs/coe-reserved-basket-sw6/konfiguration) wird der Artikel dabei auch aus dem Warenkorb des Kunden entfernt. Läuft der Countdown im Warenkorb ab, lädt die Seite automatisch neu, damit der Kunde den aktuellen Stand sieht.
Die Freigabe erfolgt automatisch, sobald der Warenkorb des Kunden das nächste Mal geladen oder neu berechnet wird — etwa beim Seitenaufruf, bei einer Mengenänderung oder beim Wechsel in den Checkout. Zwischensumme, Gesamtsumme und Steuern werden dabei sofort korrekt neu berechnet, Dein Kunde sieht also nie einen veralteten Warenkorb-Betrag.
### Nach der Bestellung
Schließt der Kunde die Bestellung ab, wird die Reservierung aufgelöst — der Bestand ist dann regulär über die Bestellung gebucht. Auf der Bestellabschluss-Seite wird kein Countdown mehr angezeigt.
# Seitenschutz (Wartungsmodus) für Shopware 6 (CoeSiteProtection)
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-site-protection/faq
Die häufigsten Fragen rund um den Seitenschutz auf einen Blick.
### Wie schalte ich den Seitenschutz wieder aus?
Deaktiviere das Plugin unter **Erweiterungen › Meine Erweiterungen**. Einen separaten An/Aus-Schalter gibt es nicht — der Schutz ist genau so lange aktiv, wie das Plugin aktiv ist. Nach dem Deaktivieren ist die Storefront sofort wieder frei zugänglich.
### Ich habe keinen Schlüssel hinterlegt und komme nicht mehr in den Shop.
Ohne gültigen Schlüssel kann sich niemand freischalten. Die **Administration** (`/admin`) bleibt aber immer erreichbar: Trage dort in der [Konfiguration](/docs/coe-site-protection/konfiguration) einen Schlüssel nach — oder deaktiviere das Plugin, wenn du den Schutz gar nicht mehr brauchst.
### Nach der Eingabe lande ich wieder auf der Login-Seite.
Das Freischalt-Cookie wird aus Sicherheitsgründen nur über **HTTPS** gesetzt. Rufe deinen Shop über eine `https://`-Adresse auf — auf einer reinen `http://`-Verbindung bleibt die Freischaltung nicht bestehen. Prüfe außerdem die Groß- und Kleinschreibung des Schlüssels.
### Bleiben Administration und API während des Schutzes erreichbar?
Ja. Der Seitenschutz betrifft ausschließlich die Storefront. Backend und API sind jederzeit erreichbar.
### Funktioniert der Seitenschutz zusammen mit dem Wartungsmodus?
Ja. Beide lassen sich gleichzeitig betreiben. Details dazu findest du unter [So funktioniert der Zugang](/docs/coe-site-protection/funktionsweise).
### Wie lange bleibt ein Besucher freigeschaltet?
Die Freischaltung gilt pro Browser über ein Sitzungs-Cookie und endet mit dem Ablauf der Sitzung. Danach ist der Schlüssel erneut einzugeben.
## So funktioniert der Zugang
Quelle: https://service.codeenterprise.de/docs/coe-site-protection/funktionsweise
Sobald der Seitenschutz aktiv ist, wird jeder Aufruf der Storefront auf die Login-Seite umgeleitet. Diese Seite beschreibt, was deine Besucher dabei erleben.
### Was Besucher sehen
Auf der Login-Seite erscheinen – sofern von dir hinterlegt – deine [Überschrift und dein Text](/docs/coe-site-protection/konfiguration), darunter ein Eingabefeld mit der Beschriftung **„Schlüssel eingeben"** und die Schaltfläche **„Anmelden"**.
Gibt ein Besucher den richtigen Schlüssel ein und klickt auf **Anmelden**, wird er freigeschaltet und direkt zur Startseite deines Shops weitergeleitet. Bei einem falschen Schlüssel bleibt er auf der Login-Seite und erhält den Hinweis:
> Der eingegebene Schlüssel ist nicht korrekt. Bitte probiere es noch einmal. Achte auch auf Groß-/Kleinschreibung.
### Wie lange die Freischaltung gilt
Die Freischaltung wird pro Besucher über ein sicheres Sitzungs-Cookie gehalten. Sie gilt nur für den jeweiligen Browser und endet, wenn die Sitzung ausläuft — danach ist der Schlüssel erneut nötig.
Das Freischalt-Cookie wird ausschließlich über **HTTPS** gesetzt. Rufst du deinen Shop über eine reine `http://`-Verbindung auf, bleibt die Freischaltung nicht bestehen und du landest nach der Eingabe wieder auf der Login-Seite.
### Administration und API bleiben erreichbar
Der Seitenschutz betrifft nur die Storefront. Die **Administration** (`/admin`) und die **API** (`/api`) sind stets erreichbar — du und dein Team arbeiten also normal weiter, während Besucher ausgesperrt sind.
### Zusammenspiel mit dem Wartungsmodus
Du kannst den Seitenschutz zusammen mit Shopwares eigenem **Wartungsmodus** betreiben. Die Login-Seite des Seitenschutzes bleibt dabei erreichbar, und wer den richtigen Schlüssel eingegeben hat, gelangt auch bei aktivem Wartungsmodus in den Shop.
Diese Freischaltung gilt nur für den jeweiligen Besucher und verändert die Wartungs-IP-Liste von Shopware nicht.
## Seitenschutz für deinen Shop
Quelle: https://service.codeenterprise.de/docs/coe-site-protection/index
Mit dem *Seitenschutz (Wartungsmodus) für Shopware 6* legst du einen Zugriffsschutz vor deine Storefront. Solange der Schutz aktiv ist, sehen deine Besucher nicht den Shop, sondern eine schlichte Login-Seite: Nur wer den von dir festgelegten **Schlüssel** eingibt, gelangt hinein.
Das ist ideal, während du deinen Shop aufbaust, für Vorschau- und Staging-Shops oder wenn nur ein geschlossener Kreis den Shop sehen soll — als komfortable Alternative zum klassischen `.htaccess`-Schutz.
### Was der Seitenschutz für dich tut
- **Kompletter Zugriffsschutz** — die ganze Storefront steht hinter einem Schlüssel, ohne dass du an der Server-Konfiguration arbeiten musst.
- **Du arbeitest normal weiter** — die Administration und die API bleiben jederzeit erreichbar, auch bei aktivem Schutz.
- **Verträgt sich mit dem Wartungsmodus** — du kannst den Seitenschutz zusammen mit Shopwares eigenem Wartungsmodus betreiben.
### So kommst du zum Ziel
1. [Plugin installieren und aktivieren](/docs/coe-site-protection/installation)
2. [Schlüssel und Login-Seite einrichten](/docs/coe-site-protection/konfiguration)
3. [So funktioniert der Zugang für deine Besucher](/docs/coe-site-protection/funktionsweise)
## Installation und Aktivierung
Quelle: https://service.codeenterprise.de/docs/coe-site-protection/installation
Der Seitenschutz wird wie jedes Shopware-Plugin installiert. Diese Seite bezieht sich auf **Shopware 6.7**.
### Plugin installieren
Öffne in der Administration **Erweiterungen › Meine Erweiterungen**, suche den Eintrag *Seitenschutz*, und klicke auf **Installieren**. Aktiviere das Plugin anschließend über den Schalter.
### Der Schutz greift sofort
Sobald du das Plugin aktivierst, ist deine Storefront **umgehend gesperrt** — Besucher landen ab diesem Moment auf der Login-Seite. Lege daher direkt im Anschluss deinen [Schlüssel](/docs/coe-site-protection/konfiguration) fest, damit du dich selbst und dein Team freischalten kannst.
Die **Administration** (`/admin`) bleibt immer erreichbar, auch wenn noch kein Schlüssel hinterlegt ist. Du sperrst dich also nie aus dem Backend aus.
### Seitenschutz wieder ausschalten
Es gibt keinen separaten An/Aus-Schalter: Der Schutz ist aktiv, solange das Plugin aktiv ist. Zum Deaktivieren schaltest du das Plugin unter **Erweiterungen › Meine Erweiterungen** einfach wieder aus — die Storefront ist dann sofort wieder frei zugänglich.
## Schlüssel und Login-Seite einrichten
Quelle: https://service.codeenterprise.de/docs/coe-site-protection/konfiguration
Die gesamte Konfiguration findest du in der Administration unter **Erweiterungen › Meine Erweiterungen**. Öffne dort beim Eintrag *Seitenschutz* über das Kontextmenü (**⋯**) den Punkt **Konfiguration**.
Es gibt drei Einstellungen: den Schlüssel sowie – optional – Überschrift und Text der Login-Seite.
### Schlüssel
Der **Schlüssel** ist das Kennwort, mit dem sich deine Besucher freischalten. Er ist die einzige Pflichtangabe: Ohne hinterlegten Schlüssel kann niemand die Storefront betreten.
Wähle einen Schlüssel, den du gezielt an berechtigte Personen weitergibst. Beachte: Bei der Eingabe wird **Groß- und Kleinschreibung unterschieden**.
Solange kein Schlüssel gesetzt ist, ist die Storefront für alle gesperrt und niemand kann sich freischalten. Die Administration bleibt aber erreichbar, sodass du den Schlüssel jederzeit nachtragen kannst.
### Überschrift
Die optionale **Überschrift** erscheint als große Zeile oben auf der Login-Seite — zum Beispiel „Der Shop ist bald für dich da". Lässt du das Feld leer, zeigt die Login-Seite nur das Eingabefeld.
### Inhalt
Im optionalen Feld **Inhalt** hinterlegst du einen erklärenden Text unterhalb der Überschrift, etwa einen Hinweis, an wen sich Interessierte für den Zugang wenden können.
Überschrift und Inhalt werden vor der Ausgabe sicherheitshalber bereinigt — schädlicher Code kann darüber nicht auf die Login-Seite gelangen.
# Suche nach Produktnummer Produktseite anzeigen (CoeProductNumberSearchSw6)
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-product-number-search-sw6/faq
Hier findest du Antworten auf die Fragen, die beim Einsatz der Produktnummern-Suche am häufigsten aufkommen.
### Warum springt die Suche nicht direkt zur Artikelseite?
Der Direktsprung greift nur bei **genau einem eindeutigen Produktnummer-Treffer**. Zwei Fälle führen bewusst auf die Ergebnisseite statt zur Artikelseite:
- Mehrere Produkte passen zum Begriff, etwa mehrere Varianten zur selben Basisnummer.
- Es handelt sich um eine gewöhnliche Stichwortsuche, die zufällig nur ein Ergebnis liefert – hier bleibt die Ergebnisseite erhalten.
### Die numerische Suche findet nichts – woran liegt das?
Der Abgleich rein numerischer Suchbegriffe mit dem Beginn der Produktnummern ist an die Einstellung **„Numerische Suchen mit Produktnummer abgleichen"** gekoppelt. Ist sie deaktiviert, laufen Zahlen über die normale Suche. Aktiviere die Option in der [Konfiguration](/docs/coe-product-number-search-sw6/konfiguration), damit Zahlen mit Produktnummern abgeglichen werden.
### Werden deaktivierte Produkte gefunden?
Nein. Die direkte Suche über die Produktnummer berücksichtigt nur **aktive** Produkte. Ist ein Artikel im Shop deaktiviert, wird er über seine Produktnummer nicht gefunden.
### Die Produktnummer erscheint nicht in den Suchvorschlägen
Prüfe, ob die Option **„Produktnummer im Suchfeld anzeigen"** in der [Konfiguration](/docs/coe-product-number-search-sw6/konfiguration) für den betreffenden Verkaufskanal aktiviert ist. Die Anzeige betrifft nur die Vorschlagsliste im Suchfeld, nicht die vollständige Suchergebnisseite.
## Suche nach Produktnummer
Quelle: https://service.codeenterprise.de/docs/coe-product-number-search-sw6/index
Mit unserem Plugin **Suche nach Produktnummer Produktseite anzeigen** finden deine Kundinnen und Kunden ein Produkt direkt über seine Produktnummer (Artikelnummer bzw. SKU) – auch dann, wenn die normale Shopware-Suche keinen Treffer liefert. Bei einem eindeutigen Treffer landen sie sofort auf der passenden Artikelseite, ohne den Umweg über die Ergebnisliste.
### Was das Plugin für dich tut
- **Findet die exakte Produktnummer**, selbst wenn die Standard-Suche nichts zurückgibt.
- **Ignoriert Groß-/Kleinschreibung** – „sw100" findet „SW100" genauso wie umgekehrt.
- **Erkennt Varianten**: Die Basisnummer „SW100" findet auch „SW100.1", „SW100.2" usw.
- **Springt bei einem eindeutigen Treffer direkt zur Artikelseite**, statt eine Ergebnisliste mit nur einem Produkt zu zeigen.
- **Zeigt auf Wunsch die Produktnummer** in den Suchvorschlägen an, damit deine Kunden den richtigen Artikel schneller erkennen.
### Für wen sich das lohnt
Immer dann, wenn deine Kundinnen und Kunden die Produktnummer kennen und gezielt danach suchen – etwa im B2B-Handel, bei Ersatzteilen oder in Sortimenten mit vielen ähnlichen Varianten. Statt langer Ergebnislisten kommen sie mit einem Schritt zum Ziel.
### Nächste Schritte
- [Installation](/docs/coe-product-number-search-sw6/installation) – Plugin einrichten und aktivieren
- [Konfiguration](/docs/coe-product-number-search-sw6/konfiguration) – die beiden Einstellungen erklärt
- [So sucht das Plugin nach Produktnummern](/docs/coe-product-number-search-sw6/produktnummern-suche) – wie sich die Suche im Alltag verhält
## Installation
Quelle: https://service.codeenterprise.de/docs/coe-product-number-search-sw6/installation
Die Installation läuft wie bei jedem Shopware-Plugin über die Erweiterungsverwaltung im Admin. Nach der Aktivierung ist die Produktnummern-Suche sofort aktiv – du musst nichts weiter einrichten, kannst das Verhalten aber über die [Konfiguration](/docs/coe-product-number-search-sw6/konfiguration) anpassen.
### Voraussetzungen
Das Plugin ist für **Shopware 6.7** ausgelegt. Für Shopware 6.6 gibt es eine eigene, kompatible Version.
### Plugin installieren
1. Öffne im Admin **Erweiterungen › Meine Erweiterungen**.
2. Hast du das Plugin über deinen Shopware-Account erworben, erscheint es hier automatisch. Alternativ lädst du es über **Erweiterung hochladen** manuell hoch.
3. Klicke beim Eintrag auf **Installieren**.
4. Schalte das Plugin anschließend über den Schalter auf **aktiv**.
### Nach der Aktivierung
Die Suche berücksichtigt ab sofort Produktnummern. Öffne als Nächstes die [Konfiguration](/docs/coe-product-number-search-sw6/konfiguration), um die numerische Suche und die Anzeige der Produktnummer in den Suchvorschlägen nach deinen Wünschen einzustellen.
Nach dem Aktivieren oder nach Konfigurationsänderungen kann es sinnvoll sein, den Storefront-Cache zu leeren, damit die Änderungen sofort sichtbar sind.
## Konfiguration
Quelle: https://service.codeenterprise.de/docs/coe-product-number-search-sw6/konfiguration
Das Plugin bringt zwei Einstellungen mit, die du je Verkaufskanal setzen kannst. Du findest sie im Admin unter **Erweiterungen › Meine Erweiterungen**, dort beim Eintrag über das Kontextmenü **⋯ › Konfiguration**. Wähle oben den gewünschten Verkaufskanal, um die Optionen kanalspezifisch zu setzen.
### Numerische Suchen mit Produktnummer abgleichen
Die Option **„Numerische Suchen mit Produktnummer abgleichen"** steuert, wie rein numerische Suchbegriffe behandelt werden:
- **Aktiviert:** Ein rein numerischer Suchbegriff (z. B. „100") wird mit dem **Beginn** der Produktnummern abgeglichen. So findet „100" auch Produktnummern wie „1001" oder „100-A".
- **Deaktiviert:** Numerische Suchbegriffe laufen über die normale Shopware-Suche.
Unabhängig von dieser Option gilt: Ein **direkter Produktnummer-Treffer hat immer Vorrang**. Die numerische Suche greift also nur, wenn kein exakter Treffer vorliegt.
### Produktnummer im Suchfeld anzeigen
Ist die Option **„Produktnummer im Suchfeld anzeigen"** aktiviert, erscheint in den **Suchvorschlägen** (der Vorschlagsliste, die während der Eingabe im Suchfeld aufklappt) unter dem Produktnamen zusätzlich die Produktnummer. Das hilft deinen Kunden, den richtigen Artikel bei ähnlichen Namen sicher zu erkennen. Die Produktnummer wird dezent in Grau dargestellt.
Diese Anzeige betrifft nur die Vorschlagsliste im Suchfeld, nicht die vollständige Suchergebnisseite.
## So sucht das Plugin nach Produktnummern
Quelle: https://service.codeenterprise.de/docs/coe-product-number-search-sw6/produktnummern-suche
Sobald das Plugin aktiv ist, prüft es bei jeder Suche im Storefront zuerst, ob der eingegebene Begriff einer Produktnummer entspricht – sowohl auf der Suchergebnisseite als auch in den Suchvorschlägen unter dem Suchfeld. So kommen deine Kundinnen und Kunden schneller zum richtigen Artikel.
### Groß- und Kleinschreibung spielt keine Rolle
Die Produktnummer wird ohne Rücksicht auf Groß-/Kleinschreibung verglichen. „sw100", „SW100" und „Sw100" führen alle zum selben Produkt.
### Varianten werden mitgefunden
Sucht ein Kunde nach der Basis-Produktnummer, findet das Plugin auch deren Varianten. Die Nummer **„SW100"** findet damit ebenso „SW100.1", „SW100.2" und weitere Varianten desselben Artikels. Alles ab dem ersten Punkt der Produktnummer wird beim Vergleich ignoriert.
### Direktsprung zur Artikelseite
Führt die Produktnummer zu **genau einem** Artikel, springt die Suche direkt auf dessen Artikeldetailseite – die Zwischenseite mit einer einelementigen Ergebnisliste entfällt.
Gibt es dagegen **mehrere** Treffer (zum Beispiel mehrere Varianten zur selben Basisnummer), bleibt deine Kundin auf der Suchergebnisseite und kann dort die passende Variante auswählen. Eine gewöhnliche Stichwortsuche, die zufällig nur ein Produkt liefert, springt bewusst **nicht** automatisch – der Direktsprung ist dem eindeutigen Produktnummer-Treffer vorbehalten.
### Treffer auch ohne regulären Suchindex-Ergebnis
Findet die normale Shopware-Suche zum eingegebenen Begriff nichts, sucht das Plugin die exakte Produktnummer zusätzlich direkt in den Produktdaten. Dadurch wird ein Artikel über seine Produktnummer auch dann gefunden, wenn die Standardsuche ihn nicht liefert.
### Numerische Suche
Reine Zahlen-Eingaben behandelt das Plugin abhängig von der Einstellung [Numerische Suchen mit Produktnummer abgleichen](/docs/coe-product-number-search-sw6/konfiguration). Ist sie aktiv, werden Zahlen mit dem Beginn der Produktnummern abgeglichen; ist sie inaktiv, laufen sie über die reguläre Suche.
### Produktnummer in den Suchvorschlägen
Ist die Option [Produktnummer im Suchfeld anzeigen](/docs/coe-product-number-search-sw6/konfiguration) aktiv, steht die Produktnummer in der aufklappenden Vorschlagsliste unter dem Produktnamen – hilfreich, um bei ähnlichen Artikelnamen den richtigen Treffer zu erkennen.
# Telefonnummer verpflichtend nach Versandart (CoeRequiredPhoneByShipping)
## Ablauf im Checkout
Quelle: https://service.codeenterprise.de/docs/coe-required-phone-by-shipping/ablauf-im-checkout
Sobald du die Telefonnummernpflicht für eine Versandart aktiviert hast, greift sie im Checkout automatisch – aber nur unter zwei Bedingungen zugleich.
### Wann die Abfrage erscheint
Auf der Bestellabschluss-Seite blendet das Plugin ein Telefonnummern-Feld genau dann ein, wenn **beides** zutrifft:
- Die gewählte Versandart hat die Telefonnummernpflicht aktiviert.
- Zur Rechnungsadresse des Kunden ist **noch keine** Telefonnummer hinterlegt.
Liegt bereits eine Nummer vor, erscheint kein zusätzliches Feld – der Kunde wird nicht doppelt gefragt.
### Was der Kunde sieht
Über dem Feld steht ein kurzer Hinweis, warum die Nummer benötigt wird:
> Um die Anlieferung Ihrer Bestellung mit Ihnen abstimmen zu können, benötigen wir Ihre Telefonnummer, die wir an den Spediteur weiterleiten.
Darunter folgt das Pflichtfeld mit der Beschriftung **Telefonnummer** und dem Platzhalter *Ihre Telefonnummer*. Ohne eine gültige Eingabe lässt sich die Bestellung nicht abschließen.
### Formatprüfung
Die Eingabe wird auf ein gültiges Telefonnummern-Format geprüft – zweifach: direkt im Browser während der Eingabe und noch einmal serverseitig beim Absenden der Bestellung. Ist die Nummer ungültig, wird das Feld rot markiert und der Kunde erhält den Hinweis:
> Bitte geben Sie eine gültige Telefonnummer an.
Erlaubt sind gängige Schreibweisen mit Vorwahl (`+49` oder `0049`), Leerzeichen sowie die Trennzeichen `-`, `/` und Klammern. Reine Buchstaben werden abgelehnt. Welche Formate genau durchgehen, fasst die [FAQ](/docs/coe-required-phone-by-shipping/faq) zusammen.
### Wo die Nummer landet
Die eingegebene Telefonnummer wird in die **Versandadresse der Bestellung** übernommen. Von dort kannst du sie an den Spediteur weitergeben, um die Zustellung abzustimmen. Eine bereits im Kundenkonto hinterlegte Nummer bleibt davon unberührt.
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-required-phone-by-shipping/faq
### Warum sehen manche Kunden das Telefonnummern-Feld nicht?
Das Feld erscheint nur, wenn die gewählte Versandart die Telefonnummernpflicht aktiviert hat **und** zur Rechnungsadresse des Kunden noch keine Telefonnummer hinterlegt ist. Trifft eine der beiden Bedingungen nicht zu, wird nichts abgefragt. Prüfe im Zweifel, ob der Schalter bei der betreffenden Versandart aktiv ist – siehe [Telefonnummernpflicht pro Versandart einrichten](/docs/coe-required-phone-by-shipping/konfiguration).
### Welche Telefonnummern-Formate werden akzeptiert?
Zulässig ist eine optionale Vorwahl (`+49` oder `0049`), gefolgt von mindestens sechs Zeichen aus Ziffern, Leerzeichen und den Trennzeichen `-`, `/` sowie Klammern. Beispiele wie `+49 30 1234567`, `0049 (0)30 / 12 34 56` oder `030-1234567` werden akzeptiert. Reine Buchstaben oder zu kurze Eingaben werden abgelehnt.
Die Prüfung achtet auf ein plausibles Format, nicht auf die Landesvorwahl. Eine länder- oder rufnummernspezifische Gültigkeitsprüfung findet nicht statt.
### Gilt die Pflicht für alle Versandarten?
Nein. Die Telefonnummer wird ausschließlich bei den Versandarten zur Pflicht, bei denen du den Schalter **Telefonnummer im Checkout erforderlich** eingeschaltet hast. Alle übrigen Versandarten bleiben unverändert.
### Wo wird die eingegebene Telefonnummer gespeichert?
In der **Versandadresse der Bestellung**. So steht sie dort bereit, wo du sie für die Abstimmung der Zustellung mit dem Spediteur brauchst. Das Kundenkonto selbst wird dabei nicht verändert.
### Wird eine vorhandene Telefonnummer überschrieben?
Nein. Ist bereits eine Nummer hinterlegt, fragt der Checkout gar nicht erst nach und lässt die bestehende Nummer unangetastet.
## Überblick
Quelle: https://service.codeenterprise.de/docs/coe-required-phone-by-shipping/index
Manche Versandarten brauchen eine Telefonnummer, damit die Zustellung mit dem Kunden abgestimmt werden kann – etwa Spedition, Sperrgut oder Terminlieferung. Bei anderen Versandarten ist eine solche Abfrage überflüssig und kostet nur Konversion.
Das Plugin *Telefonnummer verpflichtend nach Versandart* löst genau das: Du entscheidest **pro Versandart**, ob die Telefonnummer im Checkout ein Pflichtfeld wird. Abgefragt wird sie nur dann, wenn der Kunde zu seiner Rechnungsadresse noch keine Nummer hinterlegt hat – niemand tippt seine Nummer doppelt.
### Was das Plugin für dich tut
- **Gezielt statt pauschal:** Die Telefonnummer wird nur bei den Versandarten zur Pflicht, bei denen du es aktivierst.
- **Keine doppelte Abfrage:** Liegt bereits eine Telefonnummer vor, erscheint das Feld gar nicht erst.
- **Landet, wo sie gebraucht wird:** Die eingegebene Nummer schreiben wir in die Versandadresse der Bestellung – bereit zur Weitergabe an den Spediteur.
- **Geprüftes Format:** Die Eingabe wird direkt im Browser und noch einmal beim Absenden der Bestellung auf ein gültiges Format geprüft.
### Nächste Schritte
- [Installation](/docs/coe-required-phone-by-shipping/installation) – Plugin einrichten und aktivieren
- [Telefonnummernpflicht pro Versandart einrichten](/docs/coe-required-phone-by-shipping/konfiguration) – die Abfrage je Versandart aktivieren
- [Ablauf im Checkout](/docs/coe-required-phone-by-shipping/ablauf-im-checkout) – was der Kunde sieht
## Installation
Quelle: https://service.codeenterprise.de/docs/coe-required-phone-by-shipping/installation
Die Installation läuft wie bei jeder Shopware-Erweiterung über den Admin. Das Plugin ist mit Shopware 6.7 kompatibel.
### Plugin installieren
1. Öffne im Admin **Erweiterungen › Meine Erweiterungen**.
2. Suche den Eintrag **Telefonnummer verpflichtend nach Versandart** und klicke auf **Installieren**.
3. Schalte die Erweiterung anschließend über den Schalter **aktiv**.
Beim Installieren legt das Plugin an deinen Versandarten ein zusätzliches Konfigurationsfeld an, über das du die Telefonnummernpflicht später steuerst. Wie du es nutzt, liest du unter [Telefonnummernpflicht pro Versandart einrichten](/docs/coe-required-phone-by-shipping/konfiguration).
Direkt nach der Installation ändert sich im Checkout noch nichts – die Abfrage wird erst aktiv, sobald du sie bei mindestens einer Versandart einschaltest.
### Deinstallation
Beim Deinstallieren kannst du wählen, ob deine Daten erhalten bleiben:
- **Mit „App-Daten behalten"** bleibt das Konfigurationsfeld an den Versandarten bestehen – praktisch, wenn du das Plugin später erneut einsetzen willst.
- **Mit „Alle App-Daten entfernen"** wird das Zusatzfeld vollständig entfernt.
Eine erneute Installation ist danach jederzeit problemlos möglich.
## Telefonnummernpflicht pro Versandart einrichten
Quelle: https://service.codeenterprise.de/docs/coe-required-phone-by-shipping/konfiguration
Ob die Telefonnummer im Checkout zur Pflicht wird, steuerst du **je Versandart**. So verlangst du die Nummer nur dort, wo sie für die Zustellung wirklich gebraucht wird.
### Abfrage für eine Versandart aktivieren
1. Öffne im Admin **Einstellungen › Versandarten**.
2. Wähle die Versandart, bei der eine Telefonnummer nötig ist – zum Beispiel eine Spedition.
3. Scrolle zum Abschnitt mit den Zusatzfeldern und aktiviere den Schalter **Telefonnummer im Checkout erforderlich**.
4. Speichere die Versandart.
Ab sofort fragt der Checkout bei dieser Versandart eine Telefonnummer ab, sofern der Kunde noch keine hinterlegt hat.
Der Schalter steht bei *jeder* Versandart zur Verfügung, ist aber standardmäßig ausgeschaltet. Aktiviere ihn gezielt nur dort, wo die Zustellung eine Telefonnummer erfordert.
### Wieder abschalten
Um die Pflicht für eine Versandart aufzuheben, schaltest du den Schalter **Telefonnummer im Checkout erforderlich** einfach wieder aus und speicherst. Der Checkout fragt die Nummer dann bei dieser Versandart nicht mehr ab.
Was der Kunde im Checkout sieht, sobald die Pflicht aktiv ist, beschreibt der [Ablauf im Checkout](/docs/coe-required-phone-by-shipping/ablauf-im-checkout).
# Trackingnummer direkt in der Liste der Bestellungen anzeigen (CoeBestellungTrackingSw6)
## Trackingnummern in der Bestellübersicht
Quelle: https://service.codeenterprise.de/docs/coe-bestellung-tracking-sw6/bestelluebersicht
Die Trackingnummern findest du unter **Bestellungen › Übersicht**. Dort ergänzt das Plugin die Bestellliste um die Spalte **Trackingnummer**, in der jede Bestellung ihre hinterlegten Sendungsnummern anzeigt.
### Wo du die Spalte findest
Öffne im Admin **Bestellungen › Übersicht**. Die Spalte **Trackingnummer** steht neben den übrigen Bestellangaben. Sie zeigt für jede Bestellung die Trackingnummern an, die in deren Lieferungen hinterlegt sind – bei mehreren Nummern durch Komma getrennt.
### Woher die Nummern kommen
Das Plugin greift die Trackingnummern aus den Lieferungen der jeweiligen Bestellung ab. Hinterlegt werden sie wie gewohnt in der Bestellung selbst:
1. Öffne eine Bestellung und wechsle zum Bereich **Lieferungen**.
2. Trage dort im Feld **Trackingcode** die Sendungsnummer deines Versanddienstleisters ein.
3. Speichere die Bestellung.
Sobald eine Nummer gespeichert ist, erscheint sie in der Übersicht in der Spalte **Trackingnummer**.
Das Plugin **zeigt** Trackingnummern nur an – eingetragen werden sie weiterhin in der Bestellung. Die Spalte in der Übersicht ist eine reine Anzeige und lässt sich nicht direkt bearbeiten.
### Wenn eine Zelle leer bleibt
Bleibt die Spalte bei einer Bestellung leer, ist für deren Lieferung noch keine Trackingnummer hinterlegt. Das ist zum Beispiel der Fall, solange die Bestellung noch nicht versandt wurde. Sobald du den Trackingcode in der Bestellung einträgst und speicherst, füllt sich die Zelle.
## Trackingnummern in der Bestellliste
Quelle: https://service.codeenterprise.de/docs/coe-bestellung-tracking-sw6/index
Unser Tracking-Plugin ergänzt die Bestellübersicht im Shopware-Admin um eine zusätzliche Spalte **Trackingnummer**. So siehst du auf einen Blick, welche Sendung zu welcher Bestellung unterwegs ist – ohne jede Bestellung einzeln öffnen zu müssen.
### Was das Plugin für dich tut
In der Standard-Ansicht musst du eine Bestellung anklicken und zur Lieferung wechseln, um ihre Trackingnummer zu sehen. Das Plugin blendet diese Information stattdessen direkt als Spalte in der Bestellliste ein. Die angezeigten Nummern stammen aus den Lieferungen der Bestellung – dort, wo du sie in Shopware ohnehin hinterlegst. Das Plugin zeigt sie nur zusätzlich an; es verändert deine Bestell- oder Versanddaten nicht.
### Für wen es gedacht ist
Das Plugin richtet sich an alle, die Bestellungen selbst versenden oder den Versandstatus im Blick behalten möchten – etwa im Kundenservice oder in der Logistik. Wenn du regelmäßig prüfst, ob und mit welcher Sendungsnummer eine Bestellung rausgegangen ist, sparst du dir damit den Klick in jede einzelne Bestellung.
### Voraussetzungen
- Shopware **6.7**
- Zugang zur Shopware-Administration mit Rechten für den Bereich **Bestellungen**
Das Plugin braucht keine Konfiguration. Wie du es einrichtest, liest du unter [Installation](/docs/coe-bestellung-tracking-sw6/installation). Wie die Spalte in der Praxis aussieht, zeigt dir die Seite [Trackingnummern in der Bestellübersicht](/docs/coe-bestellung-tracking-sw6/bestelluebersicht).
## Installation und Aktivierung
Quelle: https://service.codeenterprise.de/docs/coe-bestellung-tracking-sw6/installation
Nach der Installation und Aktivierung erscheint die Spalte **Trackingnummer** automatisch in deiner Bestellübersicht. Es gibt nichts weiter einzustellen.
### Plugin installieren
Du hast das Plugin über den Shopware Store oder als Erweiterungs-Paket erhalten. So bindest du es ein:
1. Öffne im Admin **Erweiterungen › Meine Erweiterungen**.
2. Hast du das Plugin als Datei erhalten, lade es über **Erweiterung hochladen** hoch. Aus dem Store installierte Plugins erscheinen hier automatisch.
3. Klicke beim Plugin auf **Installieren**.
### Plugin aktivieren
Aktiviere das Plugin anschließend über den Schalter in der Liste deiner Erweiterungen. Öffne danach die Bestellübersicht unter **Bestellungen › Übersicht** neu – die neue Spalte ist sofort sichtbar.
Lädt die Administration nach der Aktivierung eine bereits geöffnete Bestellliste noch ohne die neue Spalte, aktualisiere die Seite einmal im Browser. Danach steht die Spalte dauerhaft zur Verfügung.
### Deinstallieren
Möchtest du das Plugin wieder entfernen, deaktiviere es über den Schalter oder wähle **Deinstallieren**. Deine Bestellungen und die dort hinterlegten Trackingnummern bleiben erhalten – es entfällt lediglich die zusätzliche Spalte in der Übersicht.
# UVP / Endkundenpreis Anzeige für Händler (CoeEvpForNonEkCustomersSw6)
## Häufige Fragen und Fehlerbehebung
Quelle: https://service.codeenterprise.de/docs/coe-evp-for-non-ek-customers-sw6/faq
Hier findest Du Antworten auf die häufigsten Fragen rund um die UVP-Anzeige.
### Es wird kein UVP angezeigt – woran liegt das?
Prüfe der Reihe nach:
- Ist bei der Kundengruppe der Schalter **„UVP Preis anzeigen"** aktiv?
- Ist im Feld **„Preisregel zum auslesen des UVP Preises verwenden"** eine Regel gewählt?
- Hat das betreffende **Produkt einen erweiterten Preis für genau diese Regel**? Ohne passenden Preis bleibt der UVP bei diesem Produkt aus.
- Ist der jeweilige Anzeigeort aktiviert (**Detailseite** bzw. **Listing**)?
- Bist Du als Kunde der **richtigen Kundengruppe** angemeldet? Der UVP erscheint nur für die konfigurierte Gruppe.
Details zur Einrichtung findest Du unter [UVP-Anzeige einrichten](/docs/coe-evp-for-non-ek-customers-sw6/konfiguration).
### Der Pseudopreis wird nicht als UVP angezeigt
Die Option **„Pseudopreis / Listenpreis berücksichtigen"** wirkt nur, wenn am erweiterten Preis der Regel auch ein **Listenpreis** hinterlegt ist. Fehlt dieser, verwendet das Plugin den normalen Preis der Regel.
### Wo erscheint der UVP?
Auf der **Produkt-Detailseite** und im **Produkt-Listing** – jeweils abhängig von den beiden Anzeige-Schaltern. Im Warenkorb wird kein UVP ausgegeben.
### Wird der UVP netto oder brutto angezeigt?
Das legst Du je Kundengruppe unter **„Preis Anzeige"** fest (Netto oder Brutto). Voreingestellt ist Brutto.
### Kann ich pro Kundengruppe unterschiedliche Preisregeln nutzen?
Ja. Die UVP-Einstellungen gelten je Kundengruppe. So kannst Du für verschiedene Händler- oder B2B-Gruppen jeweils eine eigene Preisregel als UVP-Quelle hinterlegen.
### Die Einstellungen lassen sich nicht ändern
Die Schalter sind nur bedienbar, wenn Dein Benutzer die Berechtigung zum Bearbeiten von Kundengruppen besitzt. Wende Dich andernfalls an einen Administrator.
## UVP für Händler und B2B-Kundengruppen anzeigen
Quelle: https://service.codeenterprise.de/docs/coe-evp-for-non-ek-customers-sw6/index
Mit *UVP / Endkundenpreis Anzeige für Händler* siehst Du und Deine Händler-Kunden auf einen Blick, was ein Produkt regulär im Endkundengeschäft kostet – auch dann, wenn diese Kundengruppe selbst zu anderen Konditionen einkauft.
### Wofür ist das Plugin gedacht?
Endkunden zahlen in der Regel den Endverbraucherpreis (UVP). Händler oder Geschäftskunden bekommen dagegen häufig eigene Konditionen und sehen deshalb nur ihren eigenen, niedrigeren Preis. Genau diesen Kundengruppen blendet das Plugin zusätzlich den UVP ein – so wird sofort sichtbar, welchen Preis der Endkunde zahlt.
Das hilft Dir, wenn Du im Shop mit **Händler- oder B2B-Kundengruppen** arbeitest und diesen die unverbindliche Preisempfehlung transparent machen möchtest – etwa als Grundlage für die eigene Kalkulation Deiner Kunden.
### Wie funktioniert die UVP-Ermittlung?
Du musst keine zusätzlichen Preise pflegen. Der UVP wird automatisch aus den **erweiterten Preisen** Deiner Produkte gelesen, die einer von Dir gewählten **Preisregel** zugeordnet sind. Für jede Kundengruppe legst Du separat fest, welche Preisregel als UVP-Quelle dient und wo der Preis erscheinen soll.
### Wo erscheint der UVP im Shop?
Der UVP wird – abhängig von Deinen Einstellungen – auf der **Produkt-Detailseite** und im **Produkt-Listing** ausgegeben, jeweils mit der Bezeichnung „UVP" vor dem Betrag.
### Nächste Schritte
- [Installation und Aktivierung](/docs/coe-evp-for-non-ek-customers-sw6/installation)
- [UVP-Anzeige einrichten](/docs/coe-evp-for-non-ek-customers-sw6/konfiguration)
- [Häufige Fragen und Fehlerbehebung](/docs/coe-evp-for-non-ek-customers-sw6/faq)
Das Plugin ist auch im [Shopware Store](https://store.shopware.com/de/coe3565014245688m/uvp-endkundenpreis-anzeige-fuer-haendler.html) erhältlich.
## Installation und Aktivierung
Quelle: https://service.codeenterprise.de/docs/coe-evp-for-non-ek-customers-sw6/installation
Du installierst das Plugin wie jede andere Shopware-Erweiterung – anschließend richtest Du die UVP-Anzeige direkt bei den betreffenden Kundengruppen ein.
### Plugin installieren und aktivieren
1. Öffne im Admin **Erweiterungen › Meine Erweiterungen**.
2. Suche das Plugin in der Liste und klicke auf **Installieren**.
3. Aktiviere es anschließend über den Schalter.
Das Plugin ist mit Shopware 6.7 kompatibel und bringt keine eigene Plugin-Konfiguration mit – Du musst nach der Aktivierung also nichts unter „Konfiguration" einstellen.
### Wo geht es danach weiter?
Die gesamte Einrichtung findest Du bei den Kundengruppen unter **Einstellungen › Shop › Kundengruppen**. Dort legst Du pro Kundengruppe fest, ob und wie der UVP angezeigt wird.
Bevor ein UVP erscheint, brauchst Du eine Preisregel und passende erweiterte Preise an Deinen Produkten. Die Details dazu findest Du unter [UVP-Anzeige einrichten](/docs/coe-evp-for-non-ek-customers-sw6/konfiguration).
## UVP-Anzeige einrichten
Quelle: https://service.codeenterprise.de/docs/coe-evp-for-non-ek-customers-sw6/konfiguration
Die UVP-Anzeige richtest Du pro Kundengruppe ein: Du aktivierst sie, wählst die Preisregel als UVP-Quelle und bestimmst, wie und wo der Preis erscheint. Voraussetzung sind eine Preisregel und passende erweiterte Preise an Deinen Produkten.
### Voraussetzungen
Damit ein UVP ermittelt werden kann, brauchst Du zwei Dinge:
- **Eine Preisregel.** Der UVP wird nicht separat eingegeben, sondern aus den Produktpreisen einer Preisregel gelesen. Lege die passende Regel unter **Einstellungen › Shop › Regeln** an, falls noch keine existiert.
- **Erweiterte Preise an den Produkten.** Am jeweiligen Produkt hinterlegst Du unter **Erweiterte Preise** einen Preis für genau diese Regel. Hat ein Produkt keinen Preis für die gewählte Regel, wird für dieses Produkt kein UVP angezeigt – die restliche Seite bleibt unverändert.
Möchtest Du den Pseudopreis (Listen-/Streichpreis) als UVP nutzen, trage bei den erweiterten Preisen zusätzlich einen **Listenpreis** ein. Ohne Listenpreis greift das Plugin auf den normalen Preis der Regel zurück.
### UVP für eine Kundengruppe aktivieren
1. Öffne **Einstellungen › Shop › Kundengruppen** und wähle die gewünschte Kundengruppe (z. B. Deine Händlergruppe).
2. Aktiviere den Schalter **„UVP Preis anzeigen"**.
3. Es erscheint die Karte **„UVP Preis Konfiguration"** mit allen weiteren Optionen.
Du richtest die Anzeige für jede Kundengruppe einzeln ein und kannst so pro Kundengruppe eine **eigene Preisregel** hinterlegen.
### Preisregel als UVP-Quelle wählen
Im Feld **„Preisregel zum auslesen des UVP Preises verwenden"** wählst Du die Regel aus, deren Produktpreise als UVP herangezogen werden. Diese Auswahl ist die eigentliche Quelle des UVP – ohne gewählte Regel wird kein UVP angezeigt.
### Netto oder Brutto anzeigen
Unter **„Preis Anzeige"** legst Du fest, ob der UVP als **Netto** oder **Brutto** ausgegeben wird. Standardmäßig wird der Bruttopreis angezeigt.
### Pseudopreis / Listenpreis berücksichtigen
Mit **„Pseudopreis / Listenpreis berücksichtigen"** entscheidest Du, welcher Wert als UVP dient:
- **Nein:** Es wird der normale Preis der gewählten Regel verwendet.
- **Ja:** Ist am erweiterten Preis ein Listenpreis (Pseudopreis) hinterlegt, wird dieser als UVP angezeigt. Fehlt der Listenpreis, greift der normale Preis der Regel.
### Anzeigeort festlegen
Über zwei Schalter bestimmst Du, wo der UVP erscheint:
- **„UVP Preis auf der Detailseite anzeigen"** – blendet den UVP auf der Produkt-Detailseite ein.
- **„UVP Preis im Listing Anzeigen"** – blendet den UVP in der Produktübersicht (Listing) ein.
Du kannst beide Orte unabhängig voneinander aktivieren.
### So sieht es im Shop aus
Für angemeldete Kunden der konfigurierten Gruppe erscheint der UVP mit der Bezeichnung **„UVP"** vor dem Betrag – je nach Einstellung auf der Detailseite und/oder im Listing. Hat ein Produkt gestaffelte (erweiterte) Preise für die Regel, zeigt die Detailseite den UVP als Spanne (von … bis …) über die hinterlegten Staffeln.
Zum Bearbeiten der Kundengruppen-Einstellungen benötigst Du die Berechtigung zum Bearbeiten von Kundengruppen. Fehlt sie, sind die Schalter ausgegraut.
# Versandart und Zahlungsart von Bestellungen nachträglich im Admin ändern (CoeChangeableOrderShippingPayment)
Kompatibel mit Shopware 6.7.
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/versandart-und-zahlungsart-von-bestellungen-nachtrglich-im-admin-ndern/faq
Kurze Antworten auf die häufigsten Fragen zum nachträglichen Ändern von Versand- und Zahlungsart.
### Warum ist das Zahlungsart-Feld in der Fußzeile ausgegraut?
Das ist so gewollt. Ändere die Zahlungsart immer über die Schaltfläche **Zahlungsart ändern** — nur so wird für die Bestellung eine korrekte neue Zahlung angelegt. Mehr dazu unter [Zahlungsart ändern](/docs/versandart-und-zahlungsart-von-bestellungen-nachtrglich-im-admin-ndern/zahlungsart-aendern).
### Welche Zahlungsarten erscheinen im Dialog?
Nur Zahlungsarten, die **aktiv** und dem **Verkaufskanal der Bestellung** zugeordnet sind. Fehlt eine erwartete Zahlungsart, prüfe ihre Aktivierung und die Zuordnung zum Verkaufskanal.
### Was passiert mit der bisherigen Zahlung?
Für die Bestellung wird eine neue Zahlung mit der gewählten Zahlungsart angelegt — so wie bei einer Zahlungsänderung im Kundenkonto. Die bisherige Zahlung wird dadurch ersetzt.
### Wird der Kunde automatisch informiert?
Nur, wenn du im Dialog **Kunde per Mail benachrichtigen** aktiviert lässt (Standard). Ohne diese Option wird die Zahlungsart still geändert.
### Wer darf Versand- und Zahlungsart ändern?
Beide Funktionen stehen nur Benutzern zur Verfügung, deren Administrations-Rolle die Bearbeitung von Bestellungen erlaubt. Wie du das Recht vergibst, liest du unter [Installation und Berechtigungen](/docs/versandart-und-zahlungsart-von-bestellungen-nachtrglich-im-admin-ndern/installation).
### Muss ich das Plugin konfigurieren?
Nein. Das Plugin bringt keine eigenen Einstellungen mit und ist nach der Installation sofort einsatzbereit.
## Versandart und Zahlungsart nachträglich ändern
Quelle: https://service.codeenterprise.de/docs/versandart-und-zahlungsart-von-bestellungen-nachtrglich-im-admin-ndern/index
Manchmal muss die Versand- oder Zahlungsart einer Bestellung noch angepasst werden, nachdem der Kunde bestellt hat — etwa weil er sich umentscheidet oder ein Fehler unterlaufen ist. Mit unserem Plugin erledigst du beides direkt in der Bestelldetailansicht der Shopware-Administration, ohne die Bestellung neu anzulegen.
Das Plugin erweitert dazu den Reiter **Details** einer Bestellung um zwei Funktionen. Beide stehen ausschließlich Benutzern zur Verfügung, deren Administrations-Rolle die Bearbeitung von Bestellungen erlaubt.
### Versandart ändern
Du wählst im unteren Bereich des Reiters **Details** eine andere Versandart aus und speicherst die Bestellung. Wie das im Detail funktioniert, liest du unter [Versandart ändern](/docs/versandart-und-zahlungsart-von-bestellungen-nachtrglich-im-admin-ndern/versandart-aendern).
### Zahlungsart ändern
Über die Schaltfläche **Zahlungsart ändern** öffnest du einen Dialog, wählst eine neue Zahlungsart und entscheidest, ob der Kunde per E-Mail benachrichtigt wird. Für die Bestellung wird dann eine neue Zahlung angelegt — so wie bei einer Zahlungsänderung im Kundenkonto. Die Schritte findest du unter [Zahlungsart ändern](/docs/versandart-und-zahlungsart-von-bestellungen-nachtrglich-im-admin-ndern/zahlungsart-aendern).
Das Plugin bringt keine eigenen Einstellungen mit: Nach der Installation ist es sofort einsatzbereit. Die Funktionen stehen ab Shopware 6.7 zur Verfügung.
## Installation und Berechtigungen
Quelle: https://service.codeenterprise.de/docs/versandart-und-zahlungsart-von-bestellungen-nachtrglich-im-admin-ndern/installation
Das Plugin ist nach der Installation sofort einsatzbereit — es bringt keine eigenen Einstellungen mit. Du legst lediglich fest, welche Benutzer die neuen Funktionen nutzen dürfen.
### Plugin installieren
1. Öffne in der Administration **Erweiterungen › Meine Erweiterungen**.
2. Suche das Plugin in der Liste und klicke auf **Installieren**.
3. Aktiviere es anschließend über den Schalter **Aktiv**.
Danach findest du die neuen Funktionen ohne weitere Konfiguration im Reiter **Details** jeder Bestellung. Das Plugin läuft ab Shopware 6.7.
### Wer darf Versand- und Zahlungsart ändern?
Beide Funktionen stehen nur Benutzern zur Verfügung, deren Administrations-Rolle die **Bearbeitung von Bestellungen** erlaubt (das Recht *Bestellungen · Editor*). Fehlt dieses Recht, sind die Auswahl der Versandart und die Schaltfläche zum Ändern der Zahlungsart ausgegraut.
Die Rollen deiner Benutzer verwaltest du unter **Einstellungen › Benutzer & Berechtigungen**.
Der Administrator-Hauptbenutzer besitzt dieses Recht automatisch. Für Mitarbeiter mit eingeschränkter Rolle musst du das Bearbeiten von Bestellungen in der jeweiligen Rolle aktivieren.
## Versandart ändern
Quelle: https://service.codeenterprise.de/docs/versandart-und-zahlungsart-von-bestellungen-nachtrglich-im-admin-ndern/versandart-aendern
Du kannst die Versandart einer bereits vorhandenen Bestellung direkt in der Administration anpassen — ohne die Bestellung neu anzulegen.
### Versandart auswählen
1. Öffne die Bestellung unter **Bestellungen › Übersicht** und wechsle in den Reiter **Details**.
2. Wähle im unteren Bereich unter **Versandart** die gewünschte Versandart aus. Angeboten werden die Versandarten des Verkaufskanals der Bestellung.
3. Speichere die Bestellung, damit die Änderung übernommen wird.
Die Auswahl lässt sich über das Kreuz am rechten Rand auch wieder leeren, falls du keine Versandart zuordnen möchtest.
### Voraussetzung
Die Auswahl ist nur bearbeitbar, wenn deine Administrations-Rolle die Bearbeitung von Bestellungen erlaubt. Fehlt dieses Recht, ist das Feld ausgegraut. Wie du das Recht vergibst, liest du unter [Installation und Berechtigungen](/docs/versandart-und-zahlungsart-von-bestellungen-nachtrglich-im-admin-ndern/installation).
Hat eine Bestellung keine Lieferung (etwa eine reine Download-Bestellung), wird keine Versandart-Auswahl angezeigt — hier gibt es nichts zu ändern.
## Zahlungsart ändern
Quelle: https://service.codeenterprise.de/docs/versandart-und-zahlungsart-von-bestellungen-nachtrglich-im-admin-ndern/zahlungsart-aendern
Du kannst die Zahlungsart einer bestehenden Bestellung nachträglich ändern. Anders als bei der Versandart geschieht das über einen eigenen Dialog, damit für die Bestellung eine korrekte neue Zahlung angelegt wird — so wie bei einer Zahlungsänderung im Kundenkonto.
### Zahlungsart umstellen
1. Öffne die Bestellung und wechsle in den Reiter **Details**.
2. Klicke im unteren Bereich neben der Zahlungsart auf die Schaltfläche **Zahlungsart ändern**. Es öffnet sich der Dialog **Zahlungsart ändern**.
3. Wähle unter **Zahlungsart** die neue Zahlungsart aus. Zur Auswahl stehen nur aktive Zahlungsarten des Verkaufskanals der Bestellung.
4. Lege über das Kontrollkästchen **Kunde per Mail benachrichtigen** fest, ob der Kunde über die Änderung informiert wird. Die Option ist standardmäßig aktiviert.
5. Klicke auf **Bestätigen**.
Nach dem Bestätigen wird für die Bestellung eine neue Zahlung mit der gewählten Zahlungsart angelegt und die Ansicht aktualisiert sich direkt an Ort und Stelle. Bei Erfolg erscheint der Hinweis *Zahlungsart wurde erfolgreich geändert.*
### Warum ein eigener Dialog?
Das Zahlungsart-Feld direkt in der Fußzeile des Reiters **Details** ist bewusst ausgegraut. Eine reine Umstellung dieses Feldes würde die zugehörige Zahlung nicht sauber neu anlegen. Nutze deshalb immer die Schaltfläche **Zahlungsart ändern** — nur so wird die bisherige Zahlung durch eine neue für die gewählte Zahlungsart ersetzt.
### Kundenbenachrichtigung
Ist **Kunde per Mail benachrichtigen** aktiviert, erhält der Kunde nach der Änderung eine E-Mail — über die Standard-Benachrichtigung deines Shops zur Zahlungsänderung. Deaktivierst du das Kontrollkästchen, wird die Zahlungsart still geändert, ohne den Kunden zu benachrichtigen.
### Voraussetzung
Die Schaltfläche steht nur Benutzern zur Verfügung, deren Administrations-Rolle die Bearbeitung von Bestellungen erlaubt. Fehlt das Recht, ist sie ausgegraut. Details unter [Installation und Berechtigungen](/docs/versandart-und-zahlungsart-von-bestellungen-nachtrglich-im-admin-ndern/installation).
Lässt sich die Zahlungsart nicht ändern, erscheint der Hinweis *Die Zahlungsart konnte nicht geändert werden.* Prüfe in diesem Fall, ob die gewählte Zahlungsart dem Verkaufskanal der Bestellung zugeordnet und aktiv ist.
# Warenkorb Angebot Anfrage per E-Mail (CoeBasketOfferSw6)
## Angebotsanfragen empfangen und verwalten
Quelle: https://service.codeenterprise.de/docs/coe-basket-offer-sw6/anfragen-empfangen
Jede abgeschickte Anfrage erreicht dich **per E-Mail** an die Adresse, die du in den [Grundeinstellungen](/docs/coe-basket-offer-sw6/konfiguration/grundeinstellungen) hinterlegst. Die Mail enthält die Kontaktdaten des Kunden und die angefragten Produkte.
Ohne hinterlegte Empfänger-Adresse wird **keine** Mail verschickt. Die Anfrage wird dann nur intern gespeichert – und da das Plugin keine Angebotsübersicht im Admin mitbringt, kannst du sie ohne E-Mail nicht einsehen. Trage deshalb immer eine Empfänger-Adresse ein.
### Kopie an den Kunden
Auf Wunsch bekommt auch dein Kunde eine Kopie seiner Anfrage per E-Mail. Diese Option findest du in den Grundeinstellungen unter *Kopie der Mail an den Kunden senden*.
### Die E-Mail anpassen
Den Text der Anfrage-Mail bearbeitest du unter **Einstellungen › E-Mail-Templates**. Öffne dort das Template vom Typ *Neue Angebots Anfrage*. Betreff, Inhalt und Absendername lassen sich frei anpassen – die Kunden- und Produktdaten werden beim Versand automatisch eingesetzt.
### Alte Anfragen werden automatisch gelöscht
Eine geplante Aufgabe läuft alle 24 Stunden und **entfernt Anfragen, die älter sind als dein eingestelltes Bereinigungsintervall** (standardmäßig 6 Monate). Das hält deinen Datenbestand schlank und unterstützt dich beim datenschutzkonformen Umgang mit Kontaktdaten. Das Intervall gilt **für alle Verkaufskanäle gemeinsam** und lässt sich in den [Grundeinstellungen](/docs/coe-basket-offer-sw6/konfiguration/grundeinstellungen) anpassen.
## So stellt dein Kunde eine Angebotsanfrage
Quelle: https://service.codeenterprise.de/docs/coe-basket-offer-sw6/angebotsanfrage
Deine Kunden stellen eine Anfrage in wenigen Schritten – direkt aus dem Warenkorb heraus.
### Der Ablauf im Warenkorb
1. Der Kunde legt Produkte in den Warenkorb.
2. Im **Warenkorb-Ausklappmenü** (Offcanvas) erscheint der Button **„Angebot für Warenkorb anfragen"**. Ist der Warenkorb leer, ist der Button ausgegraut.
3. Ein Klick führt zur **Angebotsseite**: links das Anfrageformular, rechts eine Übersicht der angefragten Produkte.
4. Der Kunde füllt seine Kontaktdaten aus und klickt auf **„Angebot anfragen"**.
5. Er landet auf einer Bestätigungsseite (*„Anfrage erfolgreich gesendet"*), und du erhältst die Anfrage per E-Mail.
Ist der Kunde eingeloggt, füllt das Formular Name, Adresse und E-Mail **automatisch aus seinem Konto** vor.
### Anfrage direkt von der Produktseite
Optional kannst du zusätzlich einen Button **„Angebot anfragen"** auf der Produktseite anzeigen. Der Kunde legt das Produkt damit in den Angebots-Warenkorb und gelangt direkt zum Formular. Diese Option aktivierst du in den [Grundeinstellungen](/docs/coe-basket-offer-sw6/konfiguration/grundeinstellungen).
### Schutz vor Spam
Das Formular ist gegen automatisierte Spam-Einträge geschützt – über ein verstecktes Kontrollfeld sowie das in Shopware eingestellte Captcha. Dafür musst du nichts einrichten.
### Und danach?
Was mit der Anfrage passiert und wie du sie beantwortest, liest du unter [Angebotsanfragen empfangen und verwalten](/docs/coe-basket-offer-sw6/anfragen-empfangen).
## Häufige Fragen
Quelle: https://service.codeenterprise.de/docs/coe-basket-offer-sw6/faq
### Ich erhalte keine Anfragen per E-Mail. Woran liegt das?
Prüfe der Reihe nach:
1. Ist in den [Grundeinstellungen](/docs/coe-basket-offer-sw6/konfiguration/grundeinstellungen) eine **Empfänger-Adresse** hinterlegt – und beim richtigen Verkaufskanal?
2. Landet die Mail vielleicht im **Spam-Ordner**?
3. Funktioniert der **E-Mail-Versand deines Shops** generell (Mailer-Einstellungen)?
### Wo sehe ich meine gespeicherten Anfragen im Admin?
Das Plugin bringt bewusst **keine Angebotsübersicht im Admin** mit – Anfragen werden per E-Mail an dich zugestellt. Ohne hinterlegte Empfänger-Adresse werden sie nur intern gespeichert und sind nicht einsehbar. Lege die Adresse deshalb unbedingt an.
### Ich habe Vor- und Nachname ausgeblendet, sie sind trotzdem Pflicht?
**Vor- und Nachname** sind immer sichtbar und immer Pflicht – sie lassen sich nicht ausblenden oder optional stellen, weil sie eine Anfrage eindeutig zuordenbar machen. Alle übrigen Felder kannst du frei [ein- und ausblenden](/docs/coe-basket-offer-sw6/konfiguration/formularfelder).
### Werden alte Anfragen automatisch gelöscht?
Ja. Eine geplante Aufgabe entfernt täglich alle Anfragen, die älter sind als dein **Bereinigungsintervall** (standardmäßig 6 Monate). Das Intervall gilt für alle Verkaufskanäle gemeinsam. Mehr dazu unter [Angebotsanfragen empfangen und verwalten](/docs/coe-basket-offer-sw6/anfragen-empfangen).
### Kann ich pro Land eine andere Empfänger-Adresse festlegen?
Ja, für fortgeschrittene Setups: Legst du beim Land ein **Zusatzfeld (Custom Field)** mit dem technischen Namen `coe_basket_offer_mail_receiver` an und trägst dort eine E-Mail-Adresse ein, gehen Anfragen mit diesem Land an diese Adresse statt an die allgemeine Empfänger-Adresse. Ohne ein solches Zusatzfeld gilt weiterhin die Adresse aus den Grundeinstellungen.
### Gibt es eine Schnittstelle für Headless-Shops?
Ja. Das Anlegen, Auflisten und Versenden von Angebotsanfragen steht auch über die **Store-API** zur Verfügung, sodass sich das Plugin in Headless-Setups einbinden lässt.
### Ist die Angebotsanfrage schon eine verbindliche Bestellung?
Nein. Eine Anfrage ist **unverbindlich** – sie enthält den Warenkorb und die Kontaktdaten, aber keine feste Preiszusage. Du antwortest deinem Kunden anschließend mit einem individuellen Angebot.
## Angebot aus Warenkorb
Quelle: https://service.codeenterprise.de/docs/coe-basket-offer-sw6/index
Mit unserem Plugin können deine Kunden zu ihrem aktuellen Warenkorb ein **persönliches Angebot anfragen**, statt direkt zu bestellen. Der Kunde stellt seinen Warenkorb zusammen, füllt ein kurzes Anfrageformular aus und schickt es ab – du bekommst die Anfrage mit allen Produkten und Kontaktdaten **per E-Mail** und antwortest dann individuell.
Das ist ideal, wenn du **verhandelbare Preise, Mengenrabatte oder B2B-Konditionen** anbietest und nicht jeder Warenkorb sofort zur festen Bestellung werden soll.
### Was das Plugin mitbringt
- Einen **Anfrage-Button im Warenkorb** (Offcanvas), über den der Kunde zum Angebotsformular gelangt.
- Ein **Angebotsformular** mit Warenkorb-Übersicht und frei konfigurierbaren Kontaktfeldern.
- **Versand jeder Anfrage per E-Mail** an eine von dir festgelegte Adresse, optional mit Kopie an den Kunden.
- Optional einen **„Angebot anfragen"-Button direkt auf der Produktseite**.
- Eine **automatische Bereinigung**, die alte Anfragen nach einem einstellbaren Zeitraum löscht.
### Gut zu wissen, bevor du startest
Das Plugin bringt **keine Angebotsübersicht im Admin** mit. Deine Anfragen erreichen dich per E-Mail – lege deshalb gleich nach der Installation eine Empfänger-Adresse fest, sonst werden Anfragen nur intern gespeichert und du siehst sie nirgends. Mehr dazu unter [Angebotsanfragen empfangen und verwalten](/docs/coe-basket-offer-sw6/anfragen-empfangen).
### Weiter geht's
- [Installation und Aktivierung](/docs/coe-basket-offer-sw6/installation)
- [So stellt dein Kunde eine Angebotsanfrage](/docs/coe-basket-offer-sw6/angebotsanfrage)
- [Konfiguration](/docs/coe-basket-offer-sw6/konfiguration)
## Installation und Aktivierung
Quelle: https://service.codeenterprise.de/docs/coe-basket-offer-sw6/installation
Du installierst unser Plugin wie jede Shopware-Erweiterung – über **Erweiterungen › Meine Erweiterungen** im Admin oder per Composer. Nach dem Hochladen klickst du auf **Installieren** und anschließend auf **Aktivieren**.
### Was bei der Aktivierung passiert
Sobald das Plugin aktiv ist, richtet es automatisch ein:
- ein **E-Mail-Template** für Angebotsanfragen (unter **Einstellungen › E-Mail-Templates**, Typ *Neue Angebots Anfrage*), das du frei anpassen kannst,
- eine **geplante Aufgabe**, die alte Anfragen regelmäßig aufräumt,
- die **Angebotsseite** unter der Adresse `/offer` deines Shops.
### Der wichtige erste Schritt
Direkt nach der Aktivierung solltest du eine **Empfänger-E-Mail-Adresse** hinterlegen. Ohne sie werden Anfragen zwar gespeichert, aber **nicht per Mail verschickt** – und da es keine Angebotsübersicht im Admin gibt, würdest du sie sonst nicht zu Gesicht bekommen.
Trage die Empfänger-Adresse in den [Grundeinstellungen](/docs/coe-basket-offer-sw6/konfiguration/grundeinstellungen) ein, bevor du das Formular für Kunden freischaltest.
### Deinstallation
Beim Deinstallieren fragt Shopware, ob deine Daten erhalten bleiben sollen. Wählst du **Daten behalten**, bleiben gespeicherte Anfragen und das E-Mail-Template bestehen. Andernfalls werden die gespeicherten Anfragen und das Template restlos entfernt.
## Konfiguration
Quelle: https://service.codeenterprise.de/docs/coe-basket-offer-sw6/konfiguration
Die Einstellungen des Plugins findest du im Admin unter **Erweiterungen › Meine Erweiterungen**. Öffne dort bei *Angebot aus Warenkorb* das Menü und wähle **Konfiguration**.
Alle Einstellungen lassen sich **pro Verkaufskanal** festlegen: Wähle oben im Konfigurationsdialog den gewünschten Verkaufskanal aus, um abweichende Werte zu hinterlegen.
### Die Einstellungsbereiche
Die Konfiguration ist in vier Karten gegliedert:
- **Aktivierung** – schaltet das Angebotsformular für den jeweiligen Verkaufskanal an oder aus.
- **Grundeinstellungen** – Empfänger-Adresse, Anzeigeoptionen, Bereinigungsintervall und mehr. Details unter [Grundeinstellungen](/docs/coe-basket-offer-sw6/konfiguration/grundeinstellungen).
- **Formular Feld Sichtbarkeit** und **Formular Pflichtfelder** – welche Kontaktfelder erscheinen und welche ausgefüllt werden müssen. Details unter [Formularfelder anzeigen und pflichtig machen](/docs/coe-basket-offer-sw6/konfiguration/formularfelder).
Denk daran, in den Grundeinstellungen eine **Empfänger-E-Mail-Adresse** zu hinterlegen – ohne sie erreichen dich die Anfragen nicht.
## Formularfelder anzeigen und pflichtig machen
Quelle: https://service.codeenterprise.de/docs/coe-basket-offer-sw6/konfiguration/formularfelder
Über zwei Einstellungskarten bestimmst du, wie dein Angebotsformular aussieht: **welche Felder erscheinen** und **welche davon Pflicht sind**.
### Formular Feld Sichtbarkeit
Hier schaltest du einzelne Kontaktfelder ein oder aus: **Anrede, Firma, Umsatzsteuer-ID, Straße und Hausnummer, Postleitzahl, Stadt, Land, Telefonnummer, E-Mail Adresse** und das **Nachrichtenfeld**. Nur eingeblendete Felder erscheinen im Formular.
Das **Nachrichtenfeld** akzeptiert bis zu 3000 Zeichen. Tippt dein Kunde mehr, zeigt das Formular einen verständlichen Hinweis zum Kürzen – seine übrigen Eingaben bleiben dabei erhalten.
### Formular Pflichtfelder
Für jedes eingeblendete Feld legst du fest, ob es **ausgefüllt werden muss**. Ein Feld muss zunächst sichtbar sein, damit seine Pflicht-Einstellung greift.
**Vor- und Nachname** sind immer sichtbar und immer Pflicht. Sie lassen sich nicht ausblenden oder optional stellen, damit jede Anfrage eindeutig zuordenbar bleibt.
### Newsletter-Feld
Ist in den [Grundeinstellungen](/docs/coe-basket-offer-sw6/konfiguration/grundeinstellungen) die Option *Feld zum Einschreiben in den Newsletter anzeigen* aktiv, erscheint im Formular eine Checkbox, über die sich dein Kunde zusätzlich zum Newsletter anmelden kann. Den Text der Checkbox kannst du als Textbaustein anpassen.
### Automatisches Vorausfüllen
Ist der Kunde **eingeloggt**, füllt das Formular Anrede, Name, Adresse, Telefonnummer und E-Mail automatisch aus den Daten seines Kundenkontos vor. Er kann die Angaben vor dem Absenden natürlich noch anpassen.
## Grundeinstellungen
Quelle: https://service.codeenterprise.de/docs/coe-basket-offer-sw6/konfiguration/grundeinstellungen
Die Grundeinstellungen steuern, wohin Anfragen gehen, was auf der Angebotsseite erscheint und wie lange Anfragen gespeichert bleiben. Alle Werte lassen sich **pro Verkaufskanal** setzen.
### E-Mail und Kunden-Kopie
- **Empfänger E-Mail Adresse** – die Adresse, an die jede Anfrage geschickt wird. Bleibt sie leer, wird **keine Mail** versendet und die Anfrage nur intern gespeichert. Trage hier unbedingt eine gültige Adresse ein.
- **Kopie der Mail an den Kunden senden** – schickt dem Kunden zusätzlich eine Kopie seiner Anfrage (sofern er eine E-Mail-Adresse angegeben hat).
### Warenkorb und Anzeige
- **Warenkorb nach Angebotsanfrage leeren** – leert nach dem Absenden den Warenkorb des Kunden.
- **Produkt Preise anzeigen** – zeigt Preise und Gesamtsumme in der Warenkorb-Übersicht des Formulars.
- **Zeige das Produkt-Bild auf der Angebotsseite an** – blendet Produktbilder in der Übersicht ein.
- **Zeige die Mengenauswahl auf der Angebotsseite an** – erlaubt dem Kunden, Mengen auf der Angebotsseite anzupassen.
- **„Angebot Anfragen" Button auf der Produktseite anzeigen** – ergänzt einen Anfrage-Button direkt auf jeder Produktseite.
### Texte und Darstellung
- **Benutzerdefinierten Text am Ende des Formulares anzeigen** – blendet einen frei wählbaren Hinweistext unter dem Formular ein.
- **Benutzerdefinierte Überschrift unter dem Formular** und **Benutzerdefinierter Text unter dem Formular** – Überschrift und Text dieses Bereichs, direkt als Textbaustein editierbar.
- **Meta title** und **Meta description** – Titel und Beschreibung der Angebotsseite für Suchmaschinen.
- **CMS-Seite nach dem Absenden zeigen (optional)** – zeigt statt der Standard-Bestätigung eine von dir gestaltete Erlebniswelt (CMS-Seite).
### Aufbewahrung
- **Bereinigungsintervall** – legt fest, ab welchem Alter Anfragen automatisch gelöscht werden (von 3 Tagen bis 50 Jahre, Standard 6 Monate). Die tägliche Bereinigung gilt **für alle Verkaufskanäle gemeinsam**. Hintergründe unter [Angebotsanfragen empfangen und verwalten](/docs/coe-basket-offer-sw6/anfragen-empfangen).
# Zahlungs QR Code / Girocode auf Rechnung, im Kundenkonto und im Checkout (CoePaymentQrCode)
## Anzeigeorte
Quelle: https://service.codeenterprise.de/docs/coe-payment-qr-code/anzeigeorte
Der QR-Code kann an vier Stellen erscheinen. Allen gemeinsam ist: Er wird nur angezeigt, wenn die Bestellung mit einer der [ausgewählten Zahlungsarten](/docs/coe-payment-qr-code/konfiguration) bezahlt wurde. Zusätzlich lässt sich jeder Ort einzeln zu- oder abschalten.
### Auf der Rechnung
Auf der **PDF-Rechnung** erscheint der QR-Code automatisch, sobald die Bestellung mit einer ausgewählten Zahlungsart bezahlt wurde — hierfür gibt es **keinen separaten Schalter**. Voraussetzung ist lediglich, dass für die Bestellung eine Rechnung erzeugt wird.
Neben dem Code steht ein kurzer Zahlungstext mit Betrag, Fälligkeitsdatum, IBAN, BIC und Verwendungszweck. Als Verwendungszweck wird das Feld **Referenz (auf der PDF-Rechnung)** verwendet.
### Im Checkout
Aktivierst du im Abschnitt **Anzeige-Optionen** den Schalter **Auf der Checkout-Seite anzeigen**, erscheint der QR-Code auf der Abschlussseite direkt nach der Bestellung. So kann deine Kundschaft sofort bezahlen. Als Verwendungszweck gilt hier das Feld **Referenz (auf der Checkout- und Kontoseite)**.
### Im Kundenkonto
Mit dem Schalter **Auf der Kontoseite anzeigen** taucht der QR-Code im Kundenkonto auf — sowohl in der Bestellübersicht (bei der neuesten Bestellung) als auch in der Detailansicht einer Bestellung. Deine Kundinnen und Kunden können die Zahlung damit jederzeit nachträglich anstoßen. Auch hier gilt das Feld **Referenz (auf der Checkout- und Kontoseite)**.
### In der Bestell-E-Mail
Der QR-Code lässt sich zusätzlich in die Bestellbestätigungs-E-Mail einbinden. Das erfordert einen einmaligen Handgriff an der E-Mail-Vorlage. Die Einrichtung ist auf einer eigenen Seite beschrieben: [QR-Code in der E-Mail](/docs/coe-payment-qr-code/anzeigeorte/e-mail).
## QR-Code in der E-Mail einrichten
Quelle: https://service.codeenterprise.de/docs/coe-payment-qr-code/anzeigeorte/e-mail
Der QR-Code kann als eingebettetes Bild in der Bestellbestätigungs-E-Mail mitgeschickt werden. Dafür sind zwei Schritte nötig: der Schalter in den Einstellungen **und** ein Textbaustein in der E-Mail-Vorlage.
### Schritt 1 – Schalter aktivieren
Setze im Abschnitt **Anzeige-Optionen** den Schalter **In Bestellbestätigungs-E-Mail mitsenden**.
Der Schalter allein genügt nicht. Ohne den Textbaustein aus Schritt 2 bleibt der QR-Code in der E-Mail unsichtbar.
### Schritt 2 – Textbaustein in die Vorlage einfügen
Öffne im Admin **Einstellungen › E-Mail-Templates › Bestellbestätigung** und füge den folgenden Block vor dem schließenden `