Debitorenpreisfindung / Zeilenrabatte

Benötigte Lesezeit: 7 Minuten


Einleitung

Mit diesem Modul setzte man umfangreiche Preisfindungsregeln und Rabattregelungen im PepperShop um. Es wird ein PepperShop in der Enterprise Version benötigt.

Im Gegensatz zu den Zeilenrabattierungsregeln, die erst im Warenkorb angezeigt werden, läuft die Debitorenpreisfindung schon im Artikelkatalog und zeigt somit jedem angemeldeten Kunden oder deren Gruppen sofort ihren eigenen Preis.

Preisfindungsregeln sind sehr flexibel einsetzbar und werden pro Kunde, Debitorenpreisgruppe, Währung und Datum festgelegt.

Per Import kann man komplette Preisfindungsregelungen aus ERP-Systemen übernehmen und den Shop somit periodisch aktualisieren (CSV basiert).

Info 1: Zusätzlich zu diesem Debitorenpreisfindungsmodul gibt es ab Stufe PepperShop Professional auch noch das Modul Preisfindung1. Mit diesem Modul kann man auf Basis von programmierten Preisfindungsregeln weitere Steuerungsmechanismen umsetzen.

Info 2: Zusätzlich kann man mit dem Enterprise Modul Best Price Findung1 ein System im PepperShop in Betrieb nehmen, welches den jeweils besten Preis für den Kunden ausfindig macht (Aktion / Mengenrabatte / Gutscheinkampagnen / …)

Funktionsweise des Moduls

Beschreibung der Anwendung

Die Preisfindung ist ziemlich tief im Shopsystem verankert, so dass es neben dem Artikelkatalog auch für die Artikelsuche, die Produktportalexporte und den Bestell- und Bezahlprozess gültig ist.

Alternativ stehen Ihnen, nach der Installation des Moduls, in der Shopadministration links unter “Artikel” drei neue Register zur Verfügung: Zeilenrabatte, Debitorenpreise und der Preis-Simulator.

Dieses Modul bietet den CSV-basierten Regelimport für Preisdefinitionen und Rabattdefinitionen. CSV Daten werden z.B. via Excel als Tabelle erfasst und als CSV-Datei exportiert gespeichert. Dabei referenziert man Artikel, Artikelrabattgruppen, Kunden (Debitoren) und Debitorenpreisgruppen oder Debitorenrabattgruppen.

Zuordnung der Daten

Die Zuordnung der Artikel und der Kunden erfolgt über die Zuweisung von sogenannten Gruppenfeldern oder der jeweiligen ID. Sobald das Modul installiert ist, erscheint in der Shop-Administration folgender Zusatz in den Masken:

Artikel:

  • Rabattgruppen

Kunde:

  • Debitorennummer
  • Debitorenpreisgruppe
  • Debitorenrabattgruppe

Auf diese Weise können Sie Ihr Sortiment in Rabattgruppen einteilen und Ihre Kunden in die Debitorenpreisgruppen oder - rabattgruppen (Bronze Silber, Gold und Standard -> keine Gruppe) einordnen.

Unterschied von Preisfindung und Rabattierung

Noch ein Absatz zum Unterschied zwischen Preisfindung und Rabattierung:

  • Mit Preisfindungsregeln sehen Personen nach ihrem Login sofort ihre eigenen Preise. Das ist sehr intuitiv, so dass ein Gold Member z.B. gleich sofort alle Artikelpreise angepasst sieht, nicht erst als Rabatt im Warenkorb.
  • Zeilenrabattregeln werden als Rabattierungen im Warenkorb ausgewiesen.

Anlieferung der Regeln via CSV-Datei

Die Regeln werden in einer CSV-Datei angeliefert. CSV-Dateien entsprechen Excel Tabellen, welche unter diesem Format gespeichert worden sind.

Pro Zeile wird eine Regel angeliefert. Dabei können Sie Preise pro Produkt, Währung, Zeitraum, Menge (Staffelung) definieren, die Sie dann an einen Kunden, eine Kundengruppe oder für alle freigeben. Je enger die Zielgruppe (Geltungsbereich der Regel), desto höher priorisiert ist die Regel.

Weiter wird pro Regel festgelegt, ob der Preis auch noch rabattiert werden darf (Zeilenrabattregel). Das System versucht auf Grund einer Best-Price Findung auch den gewünschten Preis anzuzeigen und verwirft sich kontradiktierende Regeln (Aktion günstiger als Gruppenpreis, …).

Preisfindung als Excel Datei definieren

Preisfindungsregeln werden unmittelbar angewendet und sind bereits im Artikelkatalog ab Stufe Artikelliste sichtbar.

Nun folgt die Beschreibung der Spalten einer Excel Datei die man als Preisfindung im CSV-Format an den Shop anliefern kann:

CSV-Spaltenname Datentyp Bemerkungen
Verkaufsart enum('Debitor', 'Debitorenpreisgruppe', 'Alle Debitoren') 2
Verkaufscode varchar(255) Debitorennummer bei Verkaufsart ‘Debitor’ Debitorenpreisgruppe bei Verkaufsart Debitorenpreisgruppe1
Artikel-Nr varchar(255) 2
Waehrung char(3) chf,usd,eur,…2
Mindestbestellmenge double
Preis double 2
Aktiv von datetime(jjjj-mm-tt hh:mm:ss) ..oder date(jjjj-mm-tt)
Aktiv bis datetime(jjjj-mm-tt hh:mm:ss) ..oder date(jjjj-mm-tt)
Zeilenrabatt erlaubt enum('true', 'false')

Die Datei wird in der Shop-Administration im Caller Navigator bei set_debitorenpreise angeliefert. Siehe auch Kapitel Preisdaten anliefern.

Zeilenrabatte als Excel Datei definieren

Zeilenrabatte werden erst im Warenkorb sichtbar.

CSV-Spaltenname Datentyp Bemerkungen
Verkaufsart enum('Debitor', 'Debitorenrabattgruppe', 'Alle Debitoren') 2
Verkaufscode varchar(255) Debitorennummer bei Verkaufsart Debitor Debitorenrabattgruppe bei Verkaufsart Debitorenrabattgruppe 2
Art enum('Artikel', 'Artikelrabattgruppe') 2
Code varchar(255) Artikel-Nr bei Art Artikel Artikelrabattgruppe bei Art Artikelrabattgruppe 2
Waehrung char(3) Währungs-Code chf,eur,usd,… leer für Rabatte unabhaengig von der Währung 2
Mindestbestellmenge double
Zeilenrabatt double Rabatt in % (0 bis 100)
Aktiv von datetime(jjjj-mm-tt hh:mm:ss) ..oder date(jjjj-mm-tt)
Aktiv bis datetime(jjjj-mm-tt hh:mm:ss) ..oder date(jjjj-mm-tt)
Rabattyp varchar(255) frei verwendbar

Die Datei wird in der Shop-Administration im Caller Navigator bei set_zeilenrabatte angeliefert. Siehe auch Kapitel Preisdaten anliefern.

Preisdaten anliefern

Import der erstellten CSV-Datei via Shop-Administration → Import/Export → Caller-Navigator.

Im folgenden Screenshot sieht man den relevanten Teil der Importmöglichkeiten:

Abbildung 1: Beispielanzeige für Import der Preisfindungsdaten (Excel Exporte)

Verwalten der Regeln via Administration

Zeilenrabatte

Hier können Sie Rabatte für bestimmte Debitoren und Artikel festlegen. Im Modus wählen Sie zwischen Debitoren oder Artikel.

Wenn Sie den Zeilenrabatt pro Artikel auswählen, können Sie anschliessend wählen, ob dies für einen Artikel oder einer Artikelrabattgruppe definiert werden soll. Drücken Sie nun den Button “neue Regel” hier definieren Sie die Debitorennummer, welche diesen Rabatt bei dem Artikel bekommen soll. Ebenfalls können Sie den Rabatt und einen Zeitraum, wann die Regel aktiv sein soll, festlegen.

Wenn Sie Zeilenrabatt pro Debitor wählen, können Sie ebenfalls bestimmen, ob dies für einen Debitor oder eine Debitorenrabattgruppe gültig ist. Erstellen Sie eine neue Regel mittels Klick auf den Button. Nun können Sie wählen für welchen Artikel oder Artikelrabattgruppe diese Regel erstellt werden soll. Ebenfalls definieren Sie den Rabatt und die Aktivdauer der Regel.

Abbildung 2: Zeilenrabatte

Debitorenpreise

Bei den Debitorenpreisen definieren Sie den Artikelpreise für bestimmte Debitoren. Auch hier können Sie zwischen zwei Modi wählen: Debitorenpreis pro Debitor oder Debitorenpreis pro Artikel.

Wenn Sie Debitorenpreis pro Artikel wählen, können Sie ebenfalls den gewünschten Artikel auswählen. Erstellen Sie eine neue Regel, hier definieren Sie den Debitor oder die Debitorenpreisgruppe, welche den Artikel für diesen Preis kaufen kann. Ebenfalls können Sie auch die Aktiv-Dauer bestimmen. In der Spalte “Erlaube Zeilenrabatt” können Sie den Haken setzen, wenn Sie erlauben möchten, dass zusätzlich Zeilenrabatte angewendet werden dürfen.

Wählen Sie Debitorenpreis pro Debitor um einen Preis für den gewünschten Debitor oder die Debitorengruppe zu definieren. Auch hier können Sie eine neue Regel erstellen. Wählen Sie hierfür den gewünschten Artikel und tragen Sie den Preis und die Aktiv-Dauer ein. In der Spalte “Erlaube Zeilenrabatt” können Sie wählen, ob auf diesen Artikelpreis zusätzlich Zeilenrabatte gewährt werden dürfen.

Abbildung 3: Debitorenpreise

Preis-Simulation

Im Preis-Simulator haben Sie die Möglichkeit zuvor erstellte Regeln zu testen. Wählen Sie hierfür einen Kunden und einen Artikel aus. Gegebenenfalls können Sie noch die Anzahl der Artikel und die Währung auswählen. Nach der Berechnung wird Ihnen der berechnete Preis angezeigt. Dabei wird auch aufgezeigt welche Regeln angewendet wurden.

Abbildung 4:Preis-Simulation

Installation

Voraussetzungen

Um das Debitorenpreisfindung/Zeilenrabatte Modul einsetzen zu können, ist ein PepperShop Enterprise ab Version 6.0 erforderlich.

Dateien kopieren und hochladen

Das Modul besteht im Wesentlichen aus drei Dateien, die man in seinen installierten PepperShop kopieren muss (enthält das Standard PepperShop Preisfindungsmodul). Dazu entpackt man zuerst das mitgelieferte ZIP-Archiv. Es sind folgende Dateien enthalten, hier mit den Zielverzeichnissen dargestellt:

{shopdir}/shop/debitorenpreise.def.php
{shopdir}/shop/preisfindung.def.php
{shopdir}/shop/preisfindung_helper.def.php

Die Dateien lassen sich einfach via FTP oder SCP zum Webserver hochladen. Der Platzhalter {shopdir} steht dabei für das Shopverzeichnis auf dem Webserver, wo die Datei index.php zusammen mit README.txt zu finden ist.

Modulinstallation

Nach dem Kopieren der Dateien steht das Modul unmittelbar zur Anwendung bereit.

Aktivierung / Deaktivierung / Basiskonfiguration

Es gibt eine zentrale Konfigurationssteuerung für die Aktivierung und Deaktivierung dieses Moduls:

Datei: {shopdir}/shop/config.inc.php

PREISFINDUNG_VERWENDEN (default = false)
Wenn das Preisfindungs Modul installiert ist, kann man mit dieser Konstante steuern, ob eine spezielle Preisfindung für Artikelpreise durchgeführt werden soll

Wenn bei der Konstantendefinition von PREISFINDUNG_VERWENDEN ein false steht, ist das Modul deaktiviert und alle Programmierungen werden nicht verwendet. Steht dort ein true, ist das Modul aktiv.

Mit folgender Steuerungskonstante wird allenfalls die Preisfindung für die Artikelliste ausgeschaltet. Dies sollte man sich gut überlegen. Der Defaultwert ist = true (eingeschaltet). Man spart lediglich Performance.

PREISFINDUNG_AUF_ERSTER_STUFE_VERWENDEN (default = true)
Wenn das Preisfindungs Modul installiert und aktiviert ist, kann man mit dieser Konstante steuern, ob die Preisfindung bei aktivierter, zweistufiger Artikeldarstellung auch auf der ersten Artikelstufe (tabellarische Uebersichtsdarstellung aller Artikel einer Kategorie) angewendet werden soll. Wenn z.B. externe Calls in ERP-Systeme anfallen, moechte man hier ev. false verwenden - dann sieht der Kunde zwar erst bei der Detailansicht ‘seinen’ Preis, dafuer ist die Performance ok.

PepperShop Enterprise API Referenz

Dokumentation / API:

Bitte öffnen Sie diese Seite im Browser.

Öffnen Sie das PDF Dokument Datenaustausch API (Direktlink)

Gehen Sie hier zum Kapitel 11 auf Seite 14 / 15 / 16. Dort finden Sie die Beschreibung der beiden Calls:

  • set_debitorenpreise
  • set_zeilenrabatte (Rabattierungen)

  1. ↩︎
  2. Muss-Spalte, diese Datenspalte muss zwingende mit dem Import angeliefert werden! ↩︎

🌶️
🔥
🌶️