Überblick
Die B2B Plattform ist das zentrale Plugin der Bronner B2B Suite. Sie erweitert Shopware 6 um vollständige Firmenkonten-Verwaltung mit Mitarbeitern, Rollen, Budgets, Kostenstellen, Firmenadressen, Produktbeschränkungen und mehrstufigen Freigabeprozessen.
Das Plugin bildet komplexe B2B-Organisationsstrukturen direkt im Shop ab. Firmenkunden verwalten ihre eigene Hierarchie selbstständig, ohne dass der Shop-Betreiber bei jeder Personaländerung manuell eingreifen muss.
Systemvoraussetzungen
Installation
custom/plugins/BcB2bPlatform ablegenphp bin/console cache:clearKonfiguration
Die Plugin-Konfiguration befindet sich unter Erweiterungen > Meine Erweiterungen > BC B2B Plattform > Konfiguration (config.xml).
Allgemeine Einstellungen:
Genehmigungen:
Budget:
Funktionen:
Funktionen
Firmenkonten-Verwaltung
Jedes Firmenkonto (bc_b2b_company) enthält Stammdaten (Firmenname, Firmennummer, USt-IdNr., Ansprechpartner), zugeordnete Mitarbeiter und Abteilungen. Firmenkunden können ihre Daten im Storefront selbst verwalten. Ein Dashboard zeigt Firmenübersicht, Mitarbeiterzahl, Budget-Auslastung und offene Genehmigungen.
Mitarbeiter-Management
Mitarbeiter (bc_b2b_employee) werden einem Firmenkonto zugeordnet. Jeder Mitarbeiter hat eine Rolle, die seine Berechtigungen steuert. Mitarbeiter können vom Firmenkonto-Administrator direkt im Storefront angelegt, bearbeitet und deaktiviert werden.
Rollen und Berechtigungen
Rollen (bc_b2b_role) definieren, was ein Mitarbeiter darf. Berechtigungen (bc_b2b_permission) werden granular pro Rolle konfiguriert: Produkte ansehen, Warenkorb befüllen, Bestellungen auslösen, Freigaben erteilen, Mitarbeiter verwalten.
Budgets
Budgets (bc_b2b_budget) können pro Mitarbeiter gesetzt werden. Der Budgetzeitraum ist konfigurierbar (monatlich, quartalsweise, jährlich, einmalig). Bei Überschreitung wird die Bestellung automatisch in den Freigabeprozess überführt.
Freigabeprozesse
Bestellungen, die das Budget übersteigen oder immer eine Genehmigung erfordern, landen als Freigabeanfrage (bc_b2b_order_approval) beim Vorgesetzten. Dieser kann im Storefront-Account genehmigen oder ablehnen.
Kostenstellen
Kostenstellen (bc_b2b_cost_center) können pro Firma angelegt werden. Mitarbeiter werden über die Mapping-Tabelle (bc_b2b_employee_cost_center) zugeordnet und können bei der Bestellung eine Kostenstelle auswählen.
Firmenadressen
Firmenadressen (bc_b2b_company_address) ermöglichen die Verwaltung mehrerer Liefer- und Rechnungsadressen pro Firma.
Produktbeschränkungen
Produktbeschränkungen (bc_b2b_product_restriction) erlauben es, bestimmte Produkte für einzelne Firmen oder Mitarbeiter zu sperren.
Events & Hooks
Das Plugin löst folgende Flow-Builder-fähige Events aus (alle implementieren FlowEventAware, MailAware, CustomerAware, ScalarValuesAware):
Zusätzliche Cart-Fehler-Events:
Flow Builder Events
Alle fünf Plugin-Events sind im Shopware Flow Builder verfügbar und können für automatische Workflows genutzt werden:
| Event-Name | Klasse | Beschreibung |
|---|---|---|
| bc_b2b.approval_requested | ApprovalRequestedEvent | Trigger bei neuer Freigabeanfrage |
| bc_b2b.approval_approved | ApprovalApprovedEvent | Trigger bei Genehmigung |
| bc_b2b.approval_rejected | ApprovalRejectedEvent | Trigger bei Ablehnung |
| bc_b2b.employee_invited | EmployeeInvitedEvent | Trigger bei Mitarbeiter-Einladung |
| bc_b2b.budget_exceeded | BudgetExceededEvent | Trigger bei Budgetüberschreitung |
Alle Events stellen ShopwareSalesChannelEvent-Daten bereit und können mit Mail-Aktionen, Webhooks oder eigenen Flow-Actions kombiniert werden.
Textbausteine (Snippets)
Das Plugin registriert Storefront-Snippets unter dem Namespace bc-b2b-platform in DE und EN:
Storefront-Snippets (src/Resources/snippet/de_DE/bc-b2b-platform.de-DE.json):
Admin-Snippets (src/Resources/app/administration/src/module/bc-b2b-platform/snippet/de-DE.json, en-GB.json)
Scheduled Tasks
Datenbank-Tabellen
Das Plugin erstellt folgende Datenbank-Tabellen über 8 Migrationen:
| Tabelle | Entity-Name | Beschreibung |
|---|---|---|
| bc_b2b_company | bc_b2b_company | Firmenkonten mit Stammdaten |
| bc_b2b_role | bc_b2b_role | Berechtigungsrollen |
| bc_b2b_employee | bc_b2b_employee | Mitarbeiter-Zuordnungen |
| bc_b2b_permission | bc_b2b_permission | Granulare Berechtigungen pro Rolle |
| bc_b2b_budget | bc_b2b_budget | Budget-Definitionen |
| bc_b2b_order_approval | bc_b2b_order_approval | Freigabeanfragen |
| bc_b2b_cost_center | bc_b2b_cost_center | Kostenstellen |
| bc_b2b_company_address | bc_b2b_company_address | Firmenadressen |
| bc_b2b_employee_cost_center | bc_b2b_employee_cost_center | Zuordnung Mitarbeiter zu Kostenstellen |
| bc_b2b_product_restriction | bc_b2b_product_restriction | Produktbeschränkungen pro Firma/Mitarbeiter |
Migrationen:
Admin-Integration
Das Plugin registriert ein eigenes Admin-Modul bc-b2b-platform unter dem Menüpunkt B2B:
Seiten:
Detail-Views (Tabs):
Die Admin-Module liegen unter:
src/Resources/app/administration/src/module/bc-b2b-platform/Storefront-Integration
Das Plugin erweitert den Account-Bereich im Storefront um folgende Seiten und Templates:
Account-Seiten (src/Resources/views/storefront/page/account/b2b/):