Netzdirektion B2B Commerce - Shopware Plugin

Aktuelle Version "1.8.9 vom 16.09.2020"
Technischer Name: NetzdB2bCommerce

16.09.2020

v1.8.9 für B2bCommerce ist jetzt im Store

Die neue Version finden Sie hier .

Das vorliegende Dokument beschreibt die für Shopware entwickelte Erweiterung "B2B Commerce" in ihrer Funktionsweise hinsichtlich Installation, Funktionsumfang sowie Implementierung.

Allgemeine Informationen

Die Erweiterung besteht aus den Einzelkomponenten B2B Commerce, B2B Budget, B2B Kostenstellen sowie B2B Kundenpreise und Kataloge, die funktional aufeinander aufbauen und technisch nahtlos in einander greifen.

Im Auslieferungszustand kennt Shopware als System nur einen Benutzer pro Kunde und damit keine für Unternehmen eher typischen Bestell- und Freigabeprozesse.

Hier setzt die Erweiterung an und implementiert eine Mehrbenutzer-Umgebung, einen Freigabeprozess für Bestellungen, eine Budget- und Kostenstellenverwaltung sowie kundenindividuelle Preise und Kataloge für Shopware ab Version 5.2.

Um die Kompatibilität zu allen anderen in Shopware verwendeten Plugins zu gewährleisten werden die Benutzer der Erweiterung in einem separaten Datenmodell verwaltet und mit dem Shopware-Datenmodell synchronisiert. Dies ist z.B. auch erforderlich, um die Informationen zu gelöschten Benutzern (z.B. ausgeschiedene Mitarbeiter) weiterhin vorhalten zu können.

Hinweis

Netzdirektion B2B Commerce ist nicht kompatibel mit ESD-Artikeln

Systemanforderungen

Bitte prüfen Sie vor der Installation des Plugins die folgenden Systemvorraussetzungen:

  • Shopware Version mindestens 5.2.0

  • PHP Version mindestens 7.0.0

Installation der Erweiterung

Das Plugin kann wie gewohnt über den Plugin-Manager von Shopware installiert werden.

Hinweis

Bitte achten Sie darauf, die neue Zahlungsart B2B-Freigabe für Ihre Kunden freizugeben bzw. die Zuweisung zu den Versandarten vorzunehmen.

Das Plugin ergänzt ein Backend-Widget sowie neue Funktionen im Kundenkonto zur Einsicht der Mitarbeiter-Accounts und zur Umwandlung eines normalen Accounts in einen Unternehmens-Account.

Konfiguration und Grundeinstellungen der Erweiterung

Die nachfolgenden Konfigurationsoptionen stehen zur Verfügung:

Einstellung Standard-Wert
Kundengruppe für freigegebene Unternehmer-Accounts: Leer
Unternehmer-Accounts direkt freischalten? Nein
Unternehmer-Account über Freischaltung benachrichtigen? Nein
Unternehmer-Account über Ablehnung informieren? Nein
E-Mail senden bei Exception? Nein
E-Mail Empfänger für Exception Mail? Leer
Self Service Registrierung zur Verfügung stellen? Nein
Änderung der E-Mailadresse und des Namens durch den Mitarbeiter erlauben? Nein

Begriffe

Begriff Bedeutung
Kunde Gruppe aus einem Debitor und seinen Mitarbeitern
Debitor Hauptbenutzer eines Kunden, basiert auf einem Shopware Benutzer
Mitarbeiter Unterbenutzer eines Kunden, nur temporärer Shopware Benutzer. Hinweis: Temporär meint, dass mit dem archivieren des Benutzers sein Shopware-Account gelöscht wird. Seine Daten bleiben in den Tabellen der Erweiterung vorhanden
Einkaufsleiter Mitarbeiter mit mehr Zugriffsrechten
Bestellung Einfache Bestellung ohne technische Verortung
B2B Bestellung Bestellung innerhalb des Verantwortungsbereichs der B2B-Erweiterung, die noch nicht an Shopware übergeben wurde
Shopware Bestellung Bestellung innerhalb des Verantwortungsbereichs von Shopware, die durch die B2B-Erweiterung an Shopware übergeben wurde

Benutzer-Typen

Es werden drei Benutzertypen durch das Plugin implementiert. Der Debitor entspricht hierbei dem regulären Shopware Benutzer. Der Mitarbeiter und der Einkaufsleiter sind durch unser Plugin erzeugte Benutzer, welche direkt an den Debitor gebunden ist. Zusätzlich zu dieser Relation können Mitarbeiter Einkaufsleitern vom Debitor zugewiesen werden. Vom Einkaufsleiter erstellte Mitarbeiter sind diesem direkt zugeordnet. Die Zugriffsrechte auf einige Funktionen von Shopware sind für den Mitarbeiter und den Einkaufsleiter eingeschränkt. 

Benutzertyp Zugriff auf Repräsentation in Shopware Einschränkungen
Debitor Shopware-Bestellungen, B2B-Bestellungen, Mitarbeiter, Kundeneinstellungen, Adressen Regulärer Benutzer -
Mitarbeiter B2b-Bestellungen, Adressen Bei Aktivierung durch den Debitor automatisch erzeugter Shopware Benutzer Kd. Nummer nach dem Schema ‹Debitor.-Nr. › - ‹ MT › - ‹ Index ›
Einkaufsleiter Shopware-Bestellungen, B2B-Bestellungen, Mitarbeiter, Adressen Bei Aktivierung durch den Debitor automatisch erzeugter Shopware Benutzer Kd. Nummer nach dem Schema ‹Debitor.-Nr. › - ‹ ek › - ‹ Index ›

Funktionen und Zugriff für Kunden (Debitor, Einkaufsleiter und Mitarbeiter)

Nachfolgen werden zunächst die einzelnen Funktionen und dann die Zugriffsregelung auf diese Funktionen der Erweiterung beschrieben.

Funktionsbereich: Allgemein

Alle hier beschriebenen Funktionalitäten setzen voraus, dass ein Benutzer als B2B-Benutzer im System angemeldet ist. Für die Einstellung, ob ein Benutzer ein B2B-Benutzer ist, wurde ein Attribut an der Entität Kunde ergänzt. Dieses Attribut kann durch den Shopbetreiber im Backend von Shopware per Kunde gesetzt werden. Kunden, die einmal B2B-Benutzer waren, können in normale Benutzer umgewandelt werden. Die Informationen über Mitarbeiter und nicht freigegebene Bestellungen gehen hierbei verloren. 

Funktionsbereich: Adressen

Alle Benutzer eines Kunden (Gruppe aus Mitarbeitern, Debitor und Einkaufsleitern) teilen sich den Adressstamm, der technisch dem Debitor zugeordnet ist. Dies ist unter anderem deshalb erforderlich, weil aus technischen Gründen nur temporäre echte Shopware-Benutzer für den Mitarbeiter existieren. Dies bedeutet, dass jeder Mitarbeiter alle vom Debitor oder seinem Einkaufsleiter erstellten Adressen sieht, seine eigenen bearbeiten und auch löschen kann.

Funktionsbereich: Bestellungen

In einer Shopware-Installation ohne B2B-Erweiterung ist eine Bestellung immer dem durchführenden Einzelbenutzer zugeordnet. Die Erweiterung behält diese Logik auch für die geschaffene Mehrbenutzer-Umgebung bei, um eine dauerhafte und breite Kompatibilität mit allen Shopware Funktionen zu gewährleisten.

Dies hat für B2B-Bestellungen, die durch Mitarbeiter durchgeführt werden, zur Folge, dass die Information darüber, welcher Mitarbeiter die Shopware-Bestellung durchgeführt hat, nur in den Tabellen der Erweiterung vorliegen.

Weiterhin wird die Shopware-Bestellung erst erzeugt, nachdem ein Debitor oder ein Einkaufsleiter die B2B-Bestellung freigegeben hat oder der Mitarbeiter über ausreichend Budget verfügt, um die Bestellung selbstständig auszuführen. Wenn der Mitarbeiter einem Einkaufsleiter zugewiesen ist, dann wird nur dieser zur Freigabe der Bestellung aufgefordert. Mit dem Moment der Freigabe wird die B2B-Bestellung aus den Tabellen der Erweiterung kopiert und in eine Shopware-Bestellung umgewandelt. Für den Zugriff auf Shopware- und B2B-Bestellungen durch Debitoren, Einkaufsleiter und Mitarbeiter wurden separate Frontend-Controller zur technischen Abgrenzung der Funktionalitäten implementiert. 

Die Bestellsumme aller Einkaufsleiter ist für den Debitor einsehbar in "Bestellungen", wobei hier nicht die Bestellungen der Mitarbeiter enthalten sind.

Statusmodell

Bis zur Freigabe oder Ablehnung durchläuft eine B2B-Bestellung einen definierten Lebenszyklus, welcher der nachfolgenden Tabelle entnommen werden kann. 

Hinweis

Der Prozess beginnt mit der Durchführung der Bestellung durch den Mitarbeiter. Vorher existiert nur ein Datensatz zum Warenkorb des Benutzers der keinem Statusmodell unterliegt.

Status Technischer Name Beschreibung Sichtbar für Debitor Sichtbar für Mitarbeiter Folgen/Implikationen
0 ORDER_STATUS_WAITING B2B-Bestellung wartet auf die Freigabe durch den Debitor ja ja Freigabe oder Ablehnung durch Debitor oder Einkaufsleiter möglich
1 ORDER_STATUS_APPROVED Die B2B-Bestellungen wurde durch den Debitor freigegeben ja ja keine weiteren Aktionen mehr möglich
2 ORDER_STATUS_DECLINED Die B2B-Bestellung wurde durch den Debitor abgelehnt nein ja Erneute Freigabeaufforderung für Mitarbeiter möglich

Aktivitäten

Zu jedem Statusübergang werden weiterhin Meta-Informationen mitgegeben. Für einige Statusübergänge (Bestellung zur Freigabe senden, Bestellung ablehnen) haben Debitor und Einkaufsleiter die Möglichkeit, Kommentare mitzugeben. Der Mitarbeiter hat bei Ablehnung einer Bestellung die Möglichkeit, diese erneut zur Freigabe vorzulegen. Für jede Aktivität werden die folgenden Daten gespeichert: Bestellung, Mitarbeiter, Debitor, Zielstatus, Interne Nachricht, Kommentar und Zeitstempel.

Funktionsbereich: Einstellungen

Im Bereich Einstellungen unter "Mein Konto" hat der Debitor die Möglichkeit, die sog. Self-Service-Registrierung für Mitarbeiter zu aktivieren. Diese stellt nach Ausführung der Konfiguration ein separates Registrierungsformular für Mitarbeiter eines Unternehmens bereit. Dieses Formular ist unter einer individuell für den Debitor generierten Adresse aufrufbar.

Der angehende Mitarbeiter gibt seine Benutzerdaten in das Formular ein. Hier wird zunächst geprüft, ob die Mail-Domain des Mitarbeiters der des Debitors entspricht. Ist dies der Fall, wird der Mitarbeiter je nach Einstellung, die der Debitor gewählt hat, entweder sofort aktiviert oder der Debitor erhält eine Aktivierung-Aufforderung für den Mitarbeiter per E-Mail.

Die Self-Service-Registrierung kann in den Einstellungen des Plugins global deaktiviert werden. 

Weiterhin kann der Debitor in den Einstellungen festlegen, ob die Kostenstellenauswahl für Mitarbeiter im Checkout  verpflichtend sein soll. Wenn der Haken gesetzt wurde, kann der Checkout nicht ohne Angabe einer Kostenstelle durchgeführt werden. Dies setzt voraus, dass dem Mitarbeiter in der Kostenstellenverwaltung eine Kostenstelle zugewiesen wurde.

Darüber hinaus wird hier die präferierte Zahlungsart festgelegt, mit der ein Mitarbeiter den Checkout durchläuft, wenn ihm ein ausreichendes Budget zur Verfügung steht. Als weitere Option steht eine Checkbox zur Verfügung, mit der der Debitor festlegen kann, ob Mitarbeiter und Einkaufsleiter eigene Adressen pflegen dürfen oder nicht.

Funktionsbereich: Registrierung (Debitor)

Wenn die Erweiterung aktiviert wurde, besteht für Besucher bei der Registrierung für den Onlineshop die Möglichkeit, die Freigabe für die B2B-Funktionen zu beantragen.

Diese Freigabeanforderung kann durch den Betreiber im Backend von Shopware bestätigt oder abgelehnt werden. Im Fall einer Bestätigung oder Ablehnung wird dem Interessenten eine entsprechende E-Mail geschickt. 

Falls der Kunde bereits mit einem Konto registriert ist oder die Freigabe bei dem Registrierungsverfahren verneint wurde, kann der Betreiber diesen im Shopware Backend über einen Button am Kunden auch im Nachhinein freischalten.

Dieser Prozess kann in den Plugin-Einstellungen im Backend von Shopware derart geändert werden, dass neue Interessenten automatisch als B2B-Debitor freigeschaltet werden und die entsprechenden Funktionalitäten damit auch sofort genutzt werden können.

Funktionsbereich: Mitarbeiter

Im Bereich Mitarbeiter besteht für den Debitor und den Einkaufsleiter die Möglichkeit Mitarbeiter anzulegen, diese zu bearbeiten und zu löschen. Bei der Anlage eines Mitarbeiters wird diesem automatisch die Aufforderung zur Vergabe eines Passwortes per E-Mail gesendet. So ist gewährleistet, dass der Debitor und der Einkaufsleiter nie Zugriff auf Mitarbeiter Accounts erlangen. Natürlich besteht trotzdem für den Debitor und den Einkaufsleiter die Möglichkeit, das Passwort eines Accounts zurückzusetzen bzw. den Mitarbeiter zu Vergabe eines neuen Passwortes aufzufordern. 

Für die Kundennummern von Mitarbeitern und Einkaufsleitern gilt, dass diese die Kundennummer des Debitors übernehmen und diese durch einen fortlaufenden Index erweitert wird: 


 <Kundennummer Debitor>-<MT>-<fortlaufender Index>                                                          //für den Mitarbeiter   
 <Kundennummer Debitor>-<ek>-<fortlaufender Index>                                                          //für den Einkaufsleiter
 <Kundennummer Debitor>-<ek>-<Index des erstellenden Einkaufsleiters—<MT>-<fortlaufender Index>             //für einen vom Einkaufsleiter erstellten Mitarbeiter 

Funktionsbereich: Self-Service-Registrierung (Mitarbeiter)

Es besteht in den Plugin-Einstellungen die Möglichkeit die Self-Service-Registrierung für Mitarbeiter eines Debitors freizuschalten. Diese muss nach der grundsätzlichen Freischaltung für den Shop noch durch den Debitor für seine Mitarbeiter eingerichtet werden.

Die Self-Service-Registrierung stellt ein Registrierungsformular für Mitarbeiter eines Debitors zu Verfügung, über das sich nur diese Mitarbeiter registrieren können. Die Prüfung der Zugehörigkeit zum Unternehmen des Mitarbeiters erfolgt über die Mail-Domain des Debitors. Diese kann nur durch den Debitor modifiziert werden .