Ultimate
Voucher.
Ein Geschenkgutschein über 50 Euro, von dem heute 30 Euro ausgegeben werden und der Rest in drei Monaten: Ultimate Voucher führt für jeden Code ein eigenes Guthabenkonto — und über jeden Cent ein Hauptbuch, das nur wächst.
Alle Funktionen
im Überblick.
Echtes Guthabenkonto
Anders als ein Shopware-Aktionscode, der genau einmal gilt: Jeder Code trägt ein Guthaben. Eingelöst wird höchstens, was im Warenkorb offen ist — der Rest bleibt stehen.
Hauptbuch statt Zähler
Ein Saldo wird nie direkt geändert. Jede Bewegung ist eine Buchung mit Betrag, Saldo danach, Bestellung, Benutzer und Kommentar — eine falsche Buchung wird ausgeglichen, nie gelöscht.
Zahlung oder Rabatt
Zwei Verrechnungswege mit unterschiedlichen steuerlichen Folgen: als eigene Zahlung (Rechnungsbetrag und Steuerausweis bleiben unverändert) oder als Abzugsposition im Warenkorb.
Jeder Artikel wird Gutschein
Fester Wert, freie Eingabe im Bereich oder Auswahl aus Stufen. Der Verkaufspreis kann vom Wert abweichen — 80 Prozent bedeutet: Ein Gutschein über 100 € kostet 80 €.
Gutschein-Designer
Das PDF mit Live-Vorschau gestalten: A4, A5 quer oder Geschenkkarte A6, Farben, Schrift, Logo, Hintergrundbild und Rechtstext je Sprache. Zwei Designs sind ab Installation da.
Zustellung & Kundenkonto
Automatischer Versand an die beschenkte Person — auf Wunsch erst zum Wunschtermin, mit PDF im Anhang und Kopie an den Besteller. Im Kundenkonto: „Meine Gutscheine“ mit Restguthaben.
Einlösung im Laden
Barcode (Code 128) auf dem Gutschein, Kassendialog im Admin und eine API für Ihr Kassensystem. Jede Kasseneinlösung steht mit Benutzer und Belegnummer im Hauptbuch.
Zusatzoptionen
Grußkarte, Postversand oder Serviceleistung mit eigenem Preis und eigenem Steuersatz — als eigene Position im Warenkorb, die der Menge ihres Gutscheins folgt.
Flow- und Rule-Builder
Die Aktion „Gutschein ausgeben“ erzeugt Codes in jedem Flow, etwa nach der zehnten Bestellung. Dazu das Ereignis „Kunde hat Geburtstag“ für automatische Geburtstagsgutscheine.
Dokumentation.
1. Einleitung
Shopware bringt Rabattaktionen mit Codes mit. Ein Code aus dem Kern ist aber genau einmal einlösbar, und es gibt kein Guthaben, das nach dem ersten Einkauf stehen bleibt. Für einen Geschenkgutschein über 50 Euro, von dem die beschenkte Person heute 30 Euro ausgibt und den Rest in drei Monaten, reicht das nicht.
Ultimate Voucher führt für jeden Gutscheincode ein eigenes Guthabenkonto. Jede Wertänderung — Ausgabe, Einlösung, Rückbuchung, Korrektur, Verfall — ist eine Buchung in einem Hauptbuch, das nur wächst. Dazu kommen der Verkauf über normale Artikel, ein Designer für das PDF, die Zustellung per E-Mail, das Kundenkonto „Meine Gutscheine“ und die Einlösung an der Ladenkasse.
Technischer Name: BmaniaUltimateVoucher.
2. In fünf Minuten startklar
Installation:
- bin/console plugin:refresh
- bin/console plugin:install --activate BmaniaUltimateVoucher
- bin/console theme:compile
- bin/console cache:clear
Bei der Installation entstehen zwei Standard-Designs, die Zahlungsart „Gutscheinguthaben“, der Nummernkreis für Gutscheinnummern, die E-Mail-Vorlagen und das Import-/Export-Profil „Gutscheincodes“.
Die ersten Schritte:
- Grundeinstellungen prüfen — Laufzeit, Codemuster und Versand (Kapitel 14).
- Kampagne anlegen unter Marketing › Gutscheine: Art „Wertgutschein“, Verrechnung „Als Zahlung“ oder „Als Rabatt“ (Kapitel 4).
- Artikel zum Gutschein machen über den Reiter „Gutschein“ am Produkt (Kapitel 6).
- Testkauf durchführen und die Bestellung in den Status bringen, der unter „Code erzeugen“ eingestellt ist — der Code entsteht, die E-Mail mit PDF geht hinaus.
- Code einlösen in einem zweiten Einkauf und danach die Kontrollrunde aus Kapitel 17 gehen.
3. Wie das Plugin denkt
Wer mit Gutscheinen arbeitet, verwaltet Geld. Diese Regeln gelten in jedem Winkel des Plugins:
- Kampagne und Code sind zweierlei. Die Kampagne legt die Regeln fest — Art, Verrechnung, Laufzeit, Design. Der Code ist das einzelne Exemplar mit eigenem Guthaben, Empfänger und Ablaufdatum.
- Konto statt Zähler. Eingelöst wird höchstens, was im Warenkorb offen ist; der Rest bleibt am Code.
- Buchen statt überschreiben. Jede Bewegung ist eine Buchung. Das Hauptbuch zeigt, ob Saldo und Summe der Buchungen übereinstimmen.
- Die Datenbank schützt das Guthaben. Die Abbuchung ist an die Bedingung „genug Guthaben vorhanden“ geknüpft — zwei gleichzeitige Bestellungen können es nicht doppelt ausgeben.
- Der Server rechnet, nicht der Browser. Preise, Steuersätze und Werte kommen bei jeder Berechnung frisch aus der Datenbank.
4. Kampagnen anlegen
Unter Marketing › Gutscheine; die Übersicht zeigt je Kampagne Art, Wert, Anzahl der Codes, das offene Guthaben und die Verrechnung.
- Art — „Wertgutschein“ trägt ein Guthaben mit Restwert und wird verkauft; „Aktionsgutschein“ gewährt einen Rabatt, ohne verkauft zu werden.
- Wertangabe — fester Betrag oder prozentual.
- Abzug von — gesamter Warenkorb, nur Versandkosten oder nur bestimmte Produkte.
- Verrechnung — „Als Zahlung“ oder „Als Rabatt“.
- Steuerliche Einordnung — Mehrzweck- oder Einzweckgutschein (§ 3 Abs. 14/15 UStG); dient Ihrer Dokumentation und steuert Hinweise im Admin.
- Laufzeit in Tagen ab Ausgabe — Standard 1095 (Regelverjährung), 0 bedeutet unbefristet; ein gesetztes „Gültig bis“ hat Vorrang.
- Maximale Einlösungen je Code, Kombinierbarkeit, Verkaufskanäle, Gültigkeitsregeln aus dem Rule Builder und das Gutschein-Design.
Verrechnung im Detail: Bei „Als Zahlung“ bleiben Rechnungsbetrag, Nettobeträge und Steuerausweis unverändert; das Guthaben wird als eigene Transaktion mit der Zahlart „Gutscheinguthaben“ verrechnet. Bei „Als Rabatt“ erscheint der Gutschein als Abzugsposition, die Summe sinkt, und Shopware verteilt den Abzug anteilig auf die Steuersätze.
5. Codes und Hauptbuch
Die Karte „Ausgegebene Codes“ listet alle Codes mit Guthaben, ausgegebenem Wert, Zustand und Ablaufdatum; darüber stehen Anzahl, ausgegebener Gesamtwert und offenes Guthaben.
Codes erzeugen geschieht automatisch beim Verkauf oder von Hand (höchstens 1000 je Vorgang). Der Dialog zeigt ein Beispiel des Codemusters und wie viele Codes sich damit sicher erzeugen lassen. Ein Entwurf ist noch nicht einlösbar — sinnvoll, wenn Codes erst gedruckt werden.
Zustände: Entwurf, Aktiv, Teilweise eingelöst, Eingelöst, Abgelaufen (Restguthaben als Verfall gebucht) und Gesperrt (Guthaben bleibt stehen, Freigabe möglich).
Aktionen je Code: Hauptbuch anzeigen, Sperren/Freigeben, Restguthaben verfallen lassen, Personendaten entfernen (Guthaben und Buchungen bleiben) und CSV-Export.
Das Hauptbuch zeigt Guthaben laut Konto und Summe aller Buchungen — stimmen beide nicht überein, erscheint eine Warnung. Jede Buchung trägt Zeitpunkt, Vorgang (Ausgabe, Einlösung, Rückbuchung, Korrektur, Aufladung, Verfall), Betrag, Guthaben danach, Bestellung und Bemerkung. Korrekturen verlangen eine Begründung und das Zusatzrecht „Guthaben verwalten“.
6. Gutscheine verkaufen
Jeder Artikel kann ein Gutschein werden: Reiter „Gutschein“ am Produkt › „Als Gutschein verkaufen“ › Kampagne zuordnen.
Wert und Preis: Die Wertwahl kennt fester Wert, freie Eingabe innerhalb eines Bereichs oder Auswahl aus festen Stufen (z. B. „25, 50, 100“). Der Verkaufspreis in Prozent des Werts erlaubt Rabatte: 80 bedeutet, ein Gutschein über 100 € kostet 80 €.
Erzeugung und Zustellung: „Code erzeugen“ legt fest, wann der Code entsteht — sofort bei Bestelleingang, nach Zahlungseingang (Standard) oder nach Abschluss der Bestellung. Dazu optional Empfängerangaben, persönliche Nachricht, Wunschtermin für die Zustellung und die angebotenen Zusatzoptionen.
Ist die Kampagne ein Mehrzweckgutschein, erinnert ein Hinweis daran, dass der Artikel dafür einen Steuersatz von 0 Prozent braucht.
7. Zusatzoptionen
Unter Marketing › Zusatzoptionen legen Sie Leistungen an, die zum Gutschein dazugebucht werden können — Grußkarte, Postversand, Service. Im Warenkorb folgt die Menge einer Option der Menge ihres Gutscheins; wird der Gutschein entfernt, verschwinden seine Optionen mit ihm.
Je Option pflegen Sie Name und Beschreibung, einen technischen Namen, die Art (Aufpreis, Versand- oder Serviceleistung), den Bruttopreis je Gutschein, den Steuersatz, ob es eine Pflichtoption ist, sowie Position und Sichtbarkeit.
8. Einlösung im Shop
Der Kunde gibt seinen Code im Warenkorb im Feld „Gutschein einlösen“ ein. Eingelöst wird höchstens der offene Betrag; ein Restguthaben bleibt am Code. Mehrere Gutscheine gleichzeitig sind möglich — die Obergrenze legen Sie in der Konfiguration fest, die Kombinierbarkeit in der Kampagne.
Im Zahlungsmodus zeigt die Zusammenfassung zuerst die unveränderte Gesamtsumme mit Steuer, darunter das eingelöste Guthaben und den noch zu zahlenden Betrag. Rechnung und E-Rechnung weisen den Gutscheinanteil als bereits gezahlten Betrag aus. Im Rabattmodus steht der Gutschein als Abzugsposition, die Gesamtsumme sinkt.
Schutz vor Missbrauch: begrenzte Code-Eingaben je Kunde und Stunde, keine Doppeleinlösung bei gleichzeitigen Bestellungen, Einlösung standardmäßig nur in der Ausgabewährung. Über einen Einlöse-Link landet ein Code direkt im Warenkorb — etwa aus einer E-Mail oder einem QR-Code.
Storno und Erstattung: Wird eine Bestellung mit eingelöstem Gutschein storniert, wird das Guthaben zurückgebucht. Wird der Kauf eines Gutscheins storniert, wird der Code gesperrt — auch wenn er schon verschickt wurde; das Guthaben bleibt stehen, damit ein späterer Zahlungseingang ihn wieder freigeben kann. Teilerstattungen buchen Sie von Hand über „Guthaben korrigieren“.
9. Der Gutschein-Designer
Unter Marketing › Gutschein-Designs gestalten Sie das PDF mit Live-Vorschau. Nach der Installation stehen „Klassisch (A4)“ und „Geschenkkarte (A6)“ bereit; ein Design kann als Standard markiert und je Kampagne überschrieben werden.
- Format — A4 hoch, A5 quer oder Geschenkkarte (A6 quer).
- Überschrift, Schrift, Akzent-, Text- und Hintergrundfarbe.
- Logo, Shopname, persönliche Angaben einzeln schaltbar; Logo und Hintergrundbild aus der Medienverwaltung.
- Rechtstext — klein am Fuß des Gutscheins, je Sprache pflegbar.
Mit „PDF-Probe“ laden Sie das Dokument mit Beispieldaten herunter. Ist die Barcode-Ausgabe aktiv, trägt das PDF zusätzlich einen Barcode (Code 128).
10. Zustellung und Kundenkonto
Sobald ein Code entsteht, geht die Gutschein-E-Mail hinaus — an die angegebene Empfängeradresse oder an den Besteller. Mit Wunschtermin wird sie erst an diesem Tag verschickt. Auf Wunsch liegt das PDF bei und der Besteller erhält eine Kopie.
Das verschickte PDF wird am Code archiviert: Auch nach einer Designänderung bleibt nachvollziehbar, was der Kunde bekommen hat. Die Texte ändern Sie unter Einstellungen › E-Mail-Vorlagen; das Plugin bringt Vorlagen für die Zustellung und für die Erinnerung vor Ablauf mit.
Meine Gutscheine: Im Kundenkonto listet die Seite gekaufte und zugewiesene Gutscheine mit Guthaben, Zustand, Gültigkeit und PDF-Download. Beide Bereiche lassen sich in der Konfiguration abschalten.
11. Einlösung im Laden
Ein Gutschein aus dem Onlineshop lässt sich auch an der Ladenkasse einlösen. Drei Voraussetzungen: Barcode einschalten, Kasseneinlösung freischalten und dem Kassenpersonal das Zusatzrecht „Guthaben verwalten“ geben.
Im Admin öffnet „Code einlösen“ den Kassendialog: Code scannen oder eintippen, Enter — Kampagne, Zustand, Restwert und Gültigkeit erscheinen. Vorbelegt ist der volle Restwert; tragen Sie den Kassenbetrag und als Kommentar etwa die Belegnummer ein. Übersteigt der Betrag das Guthaben, wird nur der Rest gebucht — die Meldung nennt den Fehlbetrag.
Aus dem Kassensystem lösen Sie über die Admin-API ein (POST /api/_action/gk-uv/code/redeem) mit Code, Betrag in Cent und Kommentar. Ohne Betragsangabe wird der volle Restwert eingelöst; abgelaufene, gesperrte und leere Codes werden abgewiesen. Jede Kasseneinlösung steht mit Benutzer und Kommentar im Hauptbuch.
12. Automatisierung
Flow Builder: Die Aktion „Gutschein ausgeben“ erzeugt in jedem Flow einen Code einer gewählten Kampagne und stellt ihn zu — etwa als Dankeschön nach der zehnten Bestellung. Dazu die Ereignisse „Kunde hat Geburtstag“ (täglich ausgelöst) und „Gutschein wurde eingelöst“.
Rule Builder: Die Bedingung „Gutschein wird eingelöst“ steuert Versandarten, Zahlungsarten oder Aktionen.
Aufgaben im Hintergrund: Ablauf (täglich, setzt abgelaufene Codes und bucht Restguthaben als Verfall), Erinnerung (täglich), Zustellung mit Wunschtermin (stündlich), Anonymisierung (täglich) und das Geburtstagsereignis (täglich).
13. Betrieb: Sprachen, Updates, Deinstallation
Sprachen: Admin, Storefront, E-Mail-Vorlagen und Designs liegen auf Deutsch und Englisch vor. Kampagnennamen, Optionen, Design-Namen und Rechtstexte pflegen Sie je Sprache über den Sprachumschalter.
Cache und Theme: Nach Installation und Updates Theme kompilieren und Cache leeren. Änderungen an Kampagnen, Optionen und Designs wirken ohne Neukompilieren.
Updates: wie gewohnt über Meine Erweiterungen — das Hauptbuch wird bei Updates nie verändert.
Deinstallation: Die Zahlungsart „Gutscheinguthaben“ wird deaktiviert. Mit „Daten behalten“ bleiben Kampagnen, Codes, Hauptbuch, Designs und Einstellungen vollständig erhalten. Ohne die Option werden alle Tabellen, der Nummernkreis, die E-Mail-Vorlagen, die Hintergrundaufgaben und das Import-Profil gelöscht — ausgegebene Gutscheine sind danach nicht mehr einlösbar.
14. Konfiguration
Grundeinstellungen: Standard-Gültigkeit in Tagen (1095), Muster für Gutscheincodes (Standard GS-%s%s%s%s%s%s%d%d%d%d%d%d, mindestens zwölf Zeichen empfohlen) und Barcode-Ausgabe im PDF (aus).
Einlösung: maximale Anzahl Gutscheine je Warenkorb (5), zulässige Code-Eingaben pro Stunde und Kunde (10), Einlösung per Scanner/Kasse (aus) und Einlösung in anderer Währung (aus).
Verkauf und Zustellung: Gekaufte Gutscheine per E-Mail zustellen (an), PDF anhängen (an), Kopie an den Besteller (aus).
Erinnerungen und Ablauf: vor Ablauf erinnern (an) mit Erinnerungsstufen in Tagen (90,30,7) — je Stufe höchstens eine E-Mail.
Kundenkonto und Datenschutz: Gutscheinübersicht anzeigen (an), zugewiesene Gutscheine anzeigen (an) und Empfängerdaten anonymisieren nach X Tagen (0 = aus).
15. Rechte und Rollen
Unter Einstellungen › Benutzer & Rechte, Bereich Marketing:
- Gutscheine – Anzeigen — Kampagnen, Codes, Hauptbuch, Designs und Zusatzoptionen lesen.
- Gutscheine – Bearbeiten — Kampagnen, Designs und Optionen ändern; Codes sperren und freigeben.
- Gutscheine – Erstellen — Kampagnen, Designs und Optionen anlegen; Codes erzeugen.
- Gutscheine – Löschen — Kampagnen, Designs und Optionen löschen.
- Zusatzrecht „Guthaben verwalten“ — Guthaben korrigieren, Restguthaben verfallen lassen, Kasseneinlösung.
Wer Kampagnen pflegt, bewegt damit also noch kein Geld — dafür braucht es das Zusatzrecht.
16. Import, Export und Umzug
- Direktexport — „Exportieren“ in der Karte „Ausgegebene Codes“ lädt die Codes einer Kampagne als CSV.
- Profil „Gutscheincodes“ — unter Einstellungen › Import/Export, etwa für gedruckte Karten oder ein externes Kassensystem.
- Umzug aus Shopware 5 — der Konsolenbefehl bin/console gk-uv:import-sw5 übernimmt Gutscheine und Restwerte direkt aus einer Shopware-5-Datenbank. Mit --dry-run analysiert er die Quelle, ohne etwas zu schreiben.
17. Ihre Prüfpflicht: die Kontrollrunde
Das Plugin ist ein Werkzeug. Ob Ihre Gutscheine Mehrzweck- oder Einzweckgutscheine sind, welche Laufzeit wirksam ist und was im Rechtstext steht, entscheiden Sie — im Zweifel mit Ihrer Steuer- und Rechtsberatung.
Die Kontrollrunde vor dem Livegang:
- Verrechnung festlegen — je Kampagne bewusst „Als Zahlung“ oder „Als Rabatt“ wählen und die steuerliche Einordnung dokumentieren.
- Steuersätze prüfen — Gutscheinartikel und jede Zusatzoption einzeln; leere Steuersätze bei Optionen vermeiden.
- Testkauf in jeder Shopsprache — kommen E-Mail und PDF an? Stimmen Sprache, Betrag und Rechtstext?
- Einlösung testen — Code teilweise einlösen und im Hauptbuch prüfen, ob Saldo und Summe der Buchungen übereinstimmen.
- Beleg prüfen — sind Gesamtbetrag, Steuer und gezahlter Anteil so ausgewiesen, wie Ihre Buchhaltung es erwartet?
- Storno testen — wurde das Guthaben zurückgebucht?
- Hintergrundaufgaben prüfen — ein Gutschein mit Wunschtermin für morgen zeigt es.
18. Häufige Fragen (FAQ)
Im Warenkorb stehen zwei Codefelder. Warum? Das Feld „Gutscheincode“ gehört zu den Rabattaktionen von Shopware selbst, das Feld „Gutschein einlösen“ zu diesem Plugin. Nutzen Sie die Aktionen des Kerns nicht, können Sie das erste Feld über Ihr Theme ausblenden.
Der Kunde hat nur einen Teil seines Guthabens verbraucht. Was passiert mit dem Rest? Er bleibt am Code. Der Kunde sieht ihn im Kundenkonto und löst ihn beim nächsten Einkauf mit demselben Code ein.
Nach dem Kauf ist kein Code entstanden. Woran liegt das? Fast immer am Status: Der Code entsteht erst bei dem Bestellstatus, der am Artikel unter „Code erzeugen“ eingestellt ist. Prüfen Sie außerdem den Schalter „Gutscheinverkauf aktiv“.
Die Gutschein-E-Mail kommt nicht an. Prüfen Sie, ob die Zustellung aktiv ist, ob ein Wunschtermin in der Zukunft gewählt wurde und ob die Message Queue läuft.
Kann ich einen verkauften Gutschein nachträglich aufladen oder kürzen? Ja, über „Hauptbuch anzeigen“ und „Guthaben korrigieren“ — mit Begründung und dem Zusatzrecht. Die Korrektur ist eine eigene Buchung; die ursprünglichen bleiben unverändert.
Wie entferne ich die Daten einer beschenkten Person? Über die Aktion „Personendaten entfernen“ am Code. Name, E-Mail und Nachricht werden gelöscht, Guthaben und Buchungen bleiben erhalten.
Wo bekomme ich Hilfe? Direkt bei der Gründerkind GmbH. Halten Sie Shopware-Version, Plugin-Version, den Code und die Bestellnummer bereit.