Zum Hauptinhalt springen
WEBSALE V8s kennt fünf voneinander unabhängige Rabattarten. Sie greifen gleichzeitig und addieren sich, solange Sie nichts anderes einstellen. Das ist die wichtigste Eigenschaft dieses Kapitels und der Grund, warum es einen eigenen Abschnitt zum Zusammenspiel gibt. Weitere Wege, Preisnachlässe zu gewähren, sind an anderer Stelle beschrieben: Originalpreis, Staffelpreise, Gutscheine, “Nimm 3 zahl 2” und HappyHour-Produkte. Wegweiser: Produktpreise, Originalpreis · Produktpreise, Staffelpreise · Gutscheine anbieten · Nimm 3 zahl 2 · HappyHour-Produkte

Rabattierfähigkeit der Produkte

Vor allen Rabattarten steht eine Entscheidung je Produkt: Darf es überhaupt rabattiert werden? Das regelt das Produktdatenfeld DiscountFactor, im WSPManager “Kundengruppenrabatt”. Diese Zuordnung gilt für alle Rabattarten. Ein Produkt mit DiscountFactor = 0 bekommt weder Auftragswert- noch Kunden- noch Zahlungsartenrabatt. Typische Fälle sind preisgebundene Artikel, Gutscheine und Versandpauschalen.

Produktrabatt

Der prozentuale Nachlass für ein einzelnes Produkt steht im Produktdatenfeld Discount. Er wird sofort verrechnet, auf der Produktdetailseite und im Warenkorb erscheint der reduzierte Preis. Auf der Produktdetailseite ws_product.htm:
Auf der Warenkorbseite ws_basket.htm:
Referenz: PR-Discount · PR-DiscountPrice · BASKET-PR-Discount · BASKET-PR-Price · BASKET-PR-PriceWithoutDiscounts

Auftragswertrabatt

Der Auftragswertrabatt hängt am Warenwert des gesamten Warenkorbs und gilt pauschal für alle rabattierfähigen Produkte und alle Kunden.
Jede Stufe steht in einem eigenen Klammerpaar: vor dem Doppelpunkt der Warenwert, ab dem sie gilt, dahinter der Rabattsatz in Prozent. Discount-Txt ist die Bezeichnung, unter der der Rabatt in den Bestelldaten erscheint. Es gilt immer die höchste Stufe, deren Schwelle erreicht ist. Die Reihenfolge in der Konfiguration spielt keine Rolle, lesbar bleibt es aufsteigend. Eine einzelne Stufe mit der Schwelle 0 reduziert das ganze Sortiment, beispielsweise für eine Aktion “5 % auf alles”.
Referenz: Abschnitt OrderConditions

Produktgruppenrabatt

Produkte, für die derselbe Rabatt gelten soll, fassen Sie zu einer Rabattgruppe zusammen. Der Rabatt heißt dann Produktgruppenrabatt oder Gruppierungsrabatt. Die Produkte dürfen aus verschiedenen Kategorien stammen. Der Vorteil liegt in der Pflege: Sie ändern einen Rabattsatz einmal für die Gruppe, statt ihn an jedem Produkt einzeln anzufassen.
Ein Produkt kann nur einer Rabattgruppe angehören.
Die Rabattgruppen liegen in der Konfigurationsdatei discount.dat. Diese Datei pflegen Sie nicht von Hand. Sie wird vom WSPManager oder von Ihrem Warenwirtschaftssystem geschrieben. Referenz: Konfiguration discount.dat

Schritt 1: Rabattgruppen anlegen

Im WSPManager klicken Sie links auf Shop-Einstellungen, dann rechts im Reiter Grundeinstellungen auf Rabattgruppen bearbeiten. Im Dialogfenster legen Sie mit der rechten Maustaste eine neue Zeile an. Rabattgruppen Jede Zeile ist eine Stufe. Eine Gruppe kann mehrere Stufen haben, gestaffelt nach Menge oder nach Warenwert.

Schritt 2: Produkte zuordnen

Tragen Sie im Produktdatenfeld Rabattgruppe, technisch DiscountID, die gewünschte Gruppe ein.

Schritt 3: Die Rabattgruppe anzeigen

Auf der Produktdetailseite geben Sie die Gruppe und ihre Staffelung aus.
GD-Data_DiscountGranted markiert die Stufe, die gerade greift. Im Beispiel wird die Zeile damit grün hinterlegt. Das ist der Unterschied zwischen einer abstrakten Rabatttabelle und einer Anzeige, die dem Käufer seinen Stand zeigt. Ohne den Parameter ($PR-DiscountID$) liefert GD-Data alle Rabattgruppen des Shops statt nur der des aktuellen Produkts.
Referenz: PR-DiscountID · GD-Data() · GD-Data_DiscountGranted · GD-Data_FromQuantity · GD-Data_FromPrice · GD-Data_Discount() · GD-Data_ID

Schritt 4: Den rabattierten Preis ausrechnen

Der Shop liefert den geltenden Rabattsatz, den Preis daraus rechnen Sie im Template mit den kaufmännischen Rechenfunktionen aus.
Gelesen: Rechner 1 und Rechner 2 bekommen beide den Produktpreis. Rechner 2 wird auf den Rabattprozentsatz reduziert, also auf den Rabattbetrag. Rechner 1 minus Rechner 2 ergibt den rabattierten Preis. DC-WSTagParameter-prepare ist nötig, weil der Prozentsatz selbst aus einem Tag stammt und nicht direkt als Parameter übergeben werden kann. Referenz: GD-DiscountForID_Available() · GD-DiscountForID_Granted() · DC-WSTagParameter-prepare · DC-CommercialCalc1…3_set · DC-CommercialCalc1…3_percent · DC-CommercialCalc1…3_sub · DC-CommercialCalc1…3

Schritt 5: Die nächste Rabattstufe anzeigen

Im Warenkorb können Sie dem Käufer zeigen, ab welcher Menge oder welchem Wert die nächste Stufe gälte. Das ist der wirksamste Teil des ganzen Kapitels, weil er den Warenkorb vergrößert. Das Beispiel durchläuft die Stufen der Rabattgruppe und vergleicht sie mit der Menge beziehungsweise der Positionssumme im Warenkorb. Der Zähler DC-Int1 sorgt dafür, dass nur die erste noch nicht erreichte Stufe angezeigt wird und nicht alle.
Der Zähler wird mit ~DC-Int1_set(0)~ vor der Schleife zurückgesetzt und in jedem Treffer mit ~DC-Int1_inc~ erhöht. Ohne das Zurücksetzen zählt er über alle Warenkorbpositionen weiter, und ab der zweiten Position wird nichts mehr angezeigt.
Referenz: BASKET-PR-DiscountID · DC-Int1…3_set · DC-Int1…3_inc · DC-Int1…3 · DC-CompareStringInList · DC-CompareDigitGT() · DC-CompareDigitLT() · BASKET-PR-Quantity · BASKET-PR-Sum · BASKET-PR-PriceWithoutDiscounts

Zahlungsartenrabatt

Einen Rabatt für eine bestimmte Zahlungsart legen Sie im Abschnitt dieser Zahlungsart fest, beispielsweise <PaymentDebitNote-Txt> oder <PaymentPrepayment-Txt>.
Gedacht ist der Zahlungsartenrabatt dafür, Zahlungsarten mit Zahlungsgarantie attraktiver zu machen, beispielsweise Vorkasse. Er ist kein Skonto. Skonto knüpft an den Zahlungszeitpunkt an, dieser Rabatt an die Wahl der Zahlungsart. Wenn Sie Skonto brauchen, sprechen Sie Ihren Ansprechpartner bei der WEBSALE AG an. Für einzelne Kreditkarten lassen sich in den Abschnitten <Card1> bis <Card5> unterschiedliche Rabatte hinterlegen. Referenz: PaymentXXX-Txt · Abschnitte CardX · Wegweiser: Zahlungsarten anlegen, Rabatt auf Zahlungsart anzeigen

Kundenindividuelle Rabatte

Rabatt auf das Sortiment

Sie können einem Kunden einen Rabatt auf das gesamte Sortiment einräumen, beispielsweise für eine Kundengruppe im Geschäftskundenbereich. Hinterlegt wird er in den Kundendaten. In der shop.config lässt sich zusätzlich ein Vorgabewert setzen, der greift, wenn im Kundenkonto kein eigener Satz steht.
Der Kundenrabatt gilt nur für Produkte, die der Käufer nach dem Anmelden in den Warenkorb legt. Wer erst im Bestellablauf einloggt, bekommt auf die vorher gelegten Produkte keinen Rabatt. Weisen Sie Kunden mit Rabattanspruch deshalb früh und deutlich auf das Anmelden hin, am besten schon auf der Startseite.
Materialien: Kaufmännische Berechnungen mit DC-CommercialCalc

Rabatt auf Zahlungs- und Lieferkosten

Unabhängig davon lässt sich je Kunde ein Rabatt oder ein vollständiger Erlass der Zahlungs- und Versandkosten hinterlegen. Wegweiser: Versandarten anlegen, kundenindividueller Rabatt der Versandkosten · Zahlungsarten anlegen, kundenindividueller Rabatt für Zahlungskosten

Das Zusammenspiel der Rabatte

Alle Rabattarten greifen gleichzeitig. Ein Kunde mit 15 % Kundenrabatt bekommt während einer Aktion “20 % auf alles” insgesamt 35 %. Das ist selten gewollt. Dieser Abschnitt sammelt die Schalter, mit denen Sie das steuern. Alle stehen im Abschnitt <OrderConditions> der shop.config.

Nur den höchsten Rabatt gewähren

Stehen einem Käufer mehrere Rabatte zu, gilt nur der höchste. Der Kunde mit 15 % Kundenrabatt bekommt bei einer Aktion “20 % auf alles” also 20 %, bei einer Aktion “10 % auf alles” weiterhin seine 15 %. Die Rabatte werden nicht mehr kumuliert. Auf der Warenkorbseite zeigen Sie an, welcher Rabatt gewonnen hat.
Referenz: BASKET-PR-SingleDiscountType · BASKET-PR-SingleDiscountRate

Gruppenrabatt und Auftragswertrabatt

Wer Rabattgruppen und einen Auftragswertrabatt zugleich betreibt, gibt in der Voreinstellung beides. Und schlimmer: Der Auftragswertrabatt rechnet dann mit den unrabattierten Preisen, sodass die Rabattgrenze erreicht wird, obwohl der tatsächliche Warenwert darunter liegt. Beispiel bei 5 % ab 100 Euro Auftragswert: Zehn Deko-Produkte ergäben unrabattiert 110 Euro, durch ihre Rabattgruppen tatsächlich aber nur 98 Euro. In der Voreinstellung bekommt der Käufer trotzdem den Auftragswertrabatt, weil gegen die 110 Euro gerechnet wird.
Mit yes rechnet der Auftragswertrabatt gegen die bereits gruppenrabattierten Preise, im Beispiel also gegen 98 Euro, und entfällt damit. Der Schalter greift ausschließlich bei Produkten, die einer Rabattgruppe zugeordnet sind. Andere Produktrabatte bleiben davon unberührt.

Gruppenrabatt am Ende abziehen

In der Voreinstellung yes wird der Gruppenrabatt sofort vom Produktpreis abgezogen, und alle weiteren Rabatte rechnen mit dem gesenkten Preis. Mit no wird er stattdessen erst ganz am Ende vom Gesamtpreis abgezogen und beeinflusst die übrigen Berechnungen nicht mehr.

Nicht rabattierfähige Produkte zur Rabattgrenze zählen

In der Voreinstellung zählen nur rabattierfähige Produkte zur Grenze des Auftragswertrabatts. Ein Warenkorb aus einem rabattierfähigen und zwei nicht rabattierfähigen Artikeln erreicht die Grenze deshalb oft nicht, obwohl er teuer ist.
Mit no zählt der gesamte Warenkorb zur Grenze. Der Rabatt selbst wird weiterhin nur auf die rabattierfähigen Produkte angewandt. Beispiel bei 5 % ab 75 Euro: In der Voreinstellung zählen nur 20 Euro, die Grenze wird nicht erreicht, es gibt keinen Rabatt. Mit no zählen 95 Euro, die Grenze ist erreicht, und der Käufer bekommt 5 % auf das Katzenfutter, zahlt dafür also 19 Euro.

Bonuspunkt-Prämien mit negativem Preis

Prämienprodukte mit negativem Preis senken den Auftragswert wie eine Gutschrift. Damit kann ein Käufer durch das Einlösen seiner Punkte unter die Rabattgrenze rutschen und den Rabatt verlieren. Das wirkt wie eine Bestrafung für Treue.
Mit no bleiben diese Prämienprodukte aus der Berechnungsgrundlage heraus. Bei 5 % ab 75 Euro und einem Warenkorb von 80 Euro plus einer Prämie über minus 10 Euro bleibt die Grenze damit erreicht. Wegweiser: Bonuspunktesystem betreiben

Auftragswertrabatt nur für angemeldete Kunden

In der Voreinstellung bekommt jeder Käufer den Auftragswertrabatt, auch der Gastbesteller. Mit loggedIn bekommt ihn nur, wer angemeldet ist.

Positionsrabatte bei Drittlandbestellungen

Bei steuerfreien Drittlandbestellungen werden prozentuale Rabatte auf Positionsebene in der Voreinstellung vom Bruttobetrag berechnet. Mit yes rechnet der Shop sie stattdessen vom zurückgerechneten Nettobetrag.

Eigener Auftragswertrabatt für die App

Für Bestellungen aus der App lässt sich eine eigene Rabattstaffel hinterlegen.
Sobald AppDiscount-List gefüllt ist, ersetzt sie in der App die Liste aus Discount-List vollständig. Der allgemeine Auftragswertrabatt gilt dann nur noch außerhalb der App. Ohne AppDiscount-List gilt auch in der App die allgemeine Staffel.
AppDiscount-AllowForCustomers wirkt für die App genauso wie Discount-AllowForCustomers für den Shop und wird zusammen mit der App-Liste ausgewertet. Im Template geben Sie den Satz aus und weisen darauf hin, dass der App-Rabatt greift.
Referenz: Abschnitt OrderConditions · WS-AppDiscountRate · WS-AppDiscountApplies

Anzeige im Checkout

Die Summen

Zwei Tags fassen die gewährten Rabatte zusammen, mit unterschiedlichem Umfang.
Geben Sie nicht beide Tags nebeneinander aus. Sie überschneiden sich, und der Käufer liest zwei verschiedene Rabattsummen für denselben Warenkorb. Entscheiden Sie sich für eines.
Referenz: BASKET-GlobalDiscount · BASKET-TotalDiscount

Rabatte je Warenkorbposition

In der Voreinstellung werden diese Rabatte vom Gesamtwarenkorb abgezogen. Sie können sie stattdessen sofort in den Positionspreis einrechnen und dort ausweisen.
Die Umstellung auf entry verändert, was BASKET-GlobalDiscount ausgibt: Ein Rabatt, der bereits im Positionspreis steckt, taucht dort nicht mehr auf. Prüfen Sie Ihre Warenkorbsummen nach jeder Änderung an diesen vier Parametern. Referenz: Abschnitt BasketEntries · BASKET-PR-OrderDiscount · BASKET-PR-OrderDiscountRate · BASKET-PR-UserDiscount · BASKET-PR-UserDiscountRate · BASKET-PR-PaymentDiscount · BASKET-PR-PaymentDiscountRate · BASKET-PR-ProductGroupDiscount · BASKET-PR-ProductGroupDiscountRate

Verwandte Themen

  • Wegweiser: Gutscheine anbieten
  • Wegweiser: Bonuspunktesystem betreiben
  • Wegweiser: Warenkorb