Definition Wertgutschein
Ein Wertgutschein wird gegen einen bestimmten Geldbetrag ausgegeben. Es handelt sich hierbei lediglich um den Umtausch eines Zahlungsmittels in ein anderes Zahlungsmittel. Der Inhaber des Wertgutscheins kann bei dem ausstellenden Unternehmen jede Ware oder Leistung erwerben.
Die Ausgabe des Wertgutscheins stellt weder eine Lieferung noch eine sonstige Leistung dar. Da die Leistung nicht hinreichend konkretisiert ist, liegt auch keine Anzahlung gemäß § 13 Abs. 1 Satz 1 Nr. 1a Satz 4 UStG vor. Erst bei Einlösung des Wertgutscheins unterliegt die Leistung der Umsatzsteuer. Der Umsatzsteuersatz richtet sich nach der erworbenen Ware oder Leistung.
Mit dem Verkauf des Wertgutscheins ist noch keine Lieferung oder Leistung erfolgt und somit noch kein Ertrag zu buchen. Zu dem Zeitpunkt schuldet das ausgebende Unternehmen eine Leistung, die bilanziell als Sonstige Verbindlichkeit in Höhe des Wertgutscheins auszuweisen ist.
Mit der Einlösung des Wertgutscheins wird der Umsatz realisiert. Zu dem Zeitpunkt entsteht auch die Umsatzsteuer.
Gutscheinart | Beschreibung | Übersetzung |
---|---|---|
Aktionsgutschein | Ein Aktionsgutschein, oder Promocode, ist eine Möglichkeit Rabatte auf Artikel oder die Bestellung zu geben. Dies geschieht vor der Berechnung des zu zahlenden Betrages. Dieser Gutschein kann von beliebig vielen verwendet werden und hat keine festen Geldwert hinterlegt. | voucher |
Wertgutschein | Ein Wertgutschein zählt als Zahlungsmittel und wird vom zu zahlenden Betrag abgezogen. Dieser Gutschein hat einen festen Geldwert hinterlegt. | coupon |
Wertgutschein als Artikel kaufen
Ein Warengutschein in in Form eines Artikels mit einem Template und einer bestimmten Konfiguration von einem Kunden gekauft werden. Der daraus resultierende Wertgutschein kann dann von anderen Kunden als Zahlungsmittel verwendet werden. Die ID des Wertgutscheines für den Bestellprozess und die Bestellung finden sich in den Datensätzen shopSessionArticle und shopOrderArticle,
Erstellen des Artikels
Als Basis für den Gutscheinartikel dient der normale Shop-Artikel. Dieser muss allerdings als .Zahlwert verändernde Artikel v5.6 definiert werden. Der Wert des Gutscheins entspricht dem Preis des Artikels. Es sollte auch eingestellt werden, dass nur die Menge von 1 erlaubt ist. Zusätzlich sollte dieser Artikel nicht Nachbestellbar sein (Tab Workflow).
Bonus: Artikelvarianten
Mit Hilfe der Artikelvarianten ist es möglich, Gutscheine mit verschiedenen Geldbeträge über einen Artikel abzubilden.
Beispiel Klassifikation
Beispiel Konfiguration Variantenprofil
Erstellung des Templates
Dem Artikel muss eine Vorlage mit vom Editor-Typ "Formular (einfach)" verknüpft werden. Diese Vorlage braucht dann mindestens ein Print-Template verknüpft.
Für dieses Print-Template wäre eine Formularmaske mit den Feldern Von, Für, Nachricht eine gute Idee. Wichtig ist allerdings, das es auch ein Feld für den Gutschein-Code gibt.
Um einen Gutschein-Code für den Artikel zu genieren, muss ein Feld der Formularmaske als couponCode Feld angelegt werden. Dieses wird im Editor-Formular automatisch ausgeblendet, kann aber im Print-Tempalte verwendet werden. Die Konfiguration für dieses Feld findet sich hier .Wertgutschein Code v5.6. Dieses Feld erzeugt pro Artikel im Warenkorb einen Wertgutschein. Dieser wird allerdings deaktiviert angelegt und muss separat mit einem Workflow aktiviert werden. Auch wird der Gutschein hier noch nicht mit einem Geldwert versehen.
Konfiguration des Workflows
Das Feldcallback-Feld erstellt einen Wertgutschein aber aktiviert diesen nicht. Die Dokumentation für diesen Schritt findet sich hier Wertgutscheine aktivieren.
Warengutschein einlösen
Der Gutschein kann im Bestellprozess im letzten Schritt der Bestellung eingelöst werden. Es kann immer nur ein Gutschein pro Bestellung angelegt werden. Sobald ein valider Gutscheincode eingegeben wurde, wird eine Gutscheinressource angelegt welche den zu zahlenden Betrag auf 0 oder um den Wert des Wertgutscheines verringert. Wenn der Gutscheinwert größer ist wie der zu zahlende Betrag, dann wird nur so viel von dem Gutschein verwendet wie notwendig.
Beispiel für den Gutschein GS-20-3 mit einem Restwert von 20€.
Warengutscheine als Ressourcen
Warengutscheine sind im Shop als Ressourcen gespeichert. Dabei gibt es zwei Ressourcen die sich beide den Bezahlwert der Bestellung wirken.
Wird ein Gutschein-Code erfolgreich angelegt, wird eine shopResourceSumOrder Ressource angelegt mit der Ressourcenidentifikation "shopCoupon". Diese Ressource kann nur einmal pro Bestellvorgang vorkommen.
Wird ein Gutschein-Artikel in den Warenkorb gelegt sollte dieser Artikel ein Artikel sein welcher als .Zahlwert verändernde Artikel v5.6 definiert ist. Diese Ressource kann es mehrfach in pro Bestellvorgang geben.
Events
Validierung
Interface: \brandbox\shop\voucher\lib\event\couponValidationEventInterface
Methode | Eingabe | Rückgabe | Beschreibung |
---|---|---|---|
onValidate | \brandbox\shop\voucher\lib\entity\shopCoupon | bool | Mit Hilfe dieses Events kann entschieden werden ob der eingegeben coupon code valide ist. Das Produkt validiert schon, dass der coupon existiert, der coupon aktiv ist und der Restwert größer wie 0.0 ist. |
Wertgutschein Artikel
Interface: \brandbox\shop\voucher\lib\event\couponArticleEventInterface
Adapter:\brandbox\shop\voucher\lib\event\adapter\couponArticleEventAdapter
Methode | Eingabe | Rückgabe | Beschreibung |
---|---|---|---|
onGenerateCode | code: string | string | Mit Hilfe dieses Events kann entschieden werden ob der eingegeben coupon code valide ist. Das Produkt validiert schon, dass der coupon existiert, der coupon aktiv ist und der Restwert größer wie 0.0 ist. |
onActivateBefore | \brandbox\shop\voucher\lib\entity\shopCoupon | \brandbox\shop\voucher\lib\entity\shopCoupon | Dieses Event biete die Möglichkeit vor der Aktivierung des Coupons Aktionen auszuführen. |
onActivateAfter | \brandbox\shop\voucher\lib\entity\shopCoupon | \brandbox\shop\voucher\lib\entity\shopCoupon | Dieses Event biete die Möglichkeit nach der Aktivierung des Coupons Aktionen auszuführen. |
onSetInitialValueBefore | \brandbox\shop\voucher\lib\entity\shopCoupon | \brandbox\shop\voucher\lib\entity\shopCoupon | Dieses Event biete die Möglichkeit vor dem initialen Setzen des Gutschein Werts Aktionen auszuführen. |
onSetInitialValueAfter | \brandbox\shop\voucher\lib\entity\shopCoupon | \brandbox\shop\voucher\lib\entity\shopCoupon | Dieses Event biete die Möglichkeit nach dem initialen Setzen des Gutschein Werts Aktionen auszuführen. |
onSaveBefore | \brandbox\shop\voucher\lib\entity\shopCoupon | \brandbox\shop\voucher\lib\entity\shopCoupon | Dieses Event biete die Möglichkeit vor dem Speichern des Coupons Aktionen auszuführen. Dieses Event wird beispielsweise beim Erstellen des Coupons ausgeführt. |
onSaveAfter | \brandbox\shop\voucher\lib\entity\shopCoupon | \brandbox\shop\voucher\lib\entity\shopCoupon | Dieses Event biete die Möglichkeit nach dem Speichern des Coupons Aktionen auszuführen. Dieses Event wird beispielsweise beim Erstellen des Coupons ausgeführt. |