B2B Preislogik mit Shopware 6
In unseren Requirement-Engineering-Workshops legen wir großen Wert darauf, dass unsere Kund*innen ihre bestehenden Problemstellungen, Anforderungen und Wünsche klar kommunizieren oder gemeinsam mit uns analysieren und definieren. Dadurch können wir in enger Zusammenarbeit eine maßgeschneiderte Lösung finden, die die laufenden Prozesse digital abbildet. Unser Hauptziel ist es, Abläufe und Prozesse zu optimieren, nahtlos in unterschiedliche Systeme zu integrieren und dadurch Effizienz, Produktivität und Datenqualität zu steigern.
Unsere Vorgehensweise konnten wir bei unserer Kundin SIHGA GmbH, ihres Zeichens Spezialistin für Befestigungstechnik im Bereich Holzbau, anwenden. Die bestehende Preislogik war äußerst komplex:
... und übrigens muss sich der Preis der einzelnen Warenkorbpositionen dann unter anderem basierend auf den zugewiesenen Kundengruppen, unterschiedlicher Artikelgruppen sowie der Anzahl der im Warenkorb befindlichen Produkte berechnen.
Letztenendes wurde deutlich, dass keine der gängigen E-Commerce-Systeme eine Konfigurationsmöglichkeit bietet, die eine derart komplexe Preisberechnung erlaubt. Selbst die B2B-Suite von Shopware 6 konnte diese Preisberechnung nicht mehr abbilden. Daher war es notwendig, eine maßgeschneiderte Lösung zu finden, die genau diese Preisberechnung ermöglicht und auch mit kurzfristigen Preisänderungen durch Vertriebsmitarbeiter*innen umgehen kann. Wir haben uns dieser Herausforderung gestellt.
Die Lösung: selbst entwickelte Middleware
Nach eingehenden Gesprächen mit der IT und dem Vertrieb der Kundin konnten wir die unternehmensspezifischen Anforderungen vollständig verstehen und digital abbilden. Wir entschieden uns für die Implementierung einer Middleware (REST, GraphQL), die sowohl mit dem intern verwendeten ERP-System als auch mit dem Shop kommuniziert. Auf diese Weise können wir zeitnah auf Preisänderungen durch den Vertrieb reagieren.
Der Shop kontaktiert bei bestimmten Events (zum Beispiel beim Login oder beim Laden der Produktdetail- bzw. der Warenkorbsseite) den Endpunkt dieser Middleware und holt sich die aktuellen Produktpreise auf Basis verschiedener übemittelter Informationen. Durch die Auslagerung dieser Preislogik in einen eigenständigen Service können wir sicherstellen, dass Endkund*innen immer zu den mit dem Vertrieb vereinbarten Preisen einkaufen können. Außerdem bieten wir mit dieser Middleware einen funktionierenden Service an, der auch von einem anderen Frontend (z. B. einer App) genutzt werden kann.
Fazit: Wenn Systeme den Anforderungen unserer Kund*innen nicht entsprechen, machen wir sie passend.