Zu Content springen
B1ShopConnector – SAP Business One & Shopware 6 Integration

B1ShopConnector: So funktioniert die bidirektionale SAP-B1–Shopware-6-Integration

Maximilian Kuchlbauer
Maximilian Kuchlbauer

Einleitung

SAP Business One und Shopware 6 sind zwei leistungsstarke Systeme – aber sie sprechen von Haus aus keine gemeinsame Sprache. Das ERP kennt Geschäftspartner, Belege und Lagerbuchungen; der Shop kennt Produkte, Kategorien und Bestellungen. Damit beide Systeme miteinander arbeiten, braucht es eine Schicht dazwischen: eine Middleware.

B1ShopConnector ist genau das: eine Python-basierte REST-API, die SAP Business One und Shopware 6 bidirektional verbindet. In diesem Artikel erklären wir, wie die Architektur funktioniert, welche Daten in welche Richtung fließen und was das für Ihr Unternehmen bedeutet.

Die Grundarchitektur

B1ShopConnector besteht aus drei Komponenten:

1. Die Middleware selbst (Flask REST API)

Eine Python-Flask-Anwendung, die als Docker-Container in Ihrer Infrastruktur läuft. Sie stellt REST-Endpunkte bereit, über die Synchronisationen ausgelöst, überwacht und konfiguriert werden können.

2. Die Verbindung zu SAP Business One

B1ShopConnector liest Daten direkt aus der SAP-B1-Datenbank (SQL Server oder SAP HANA) über ODBC und schreibt Transaktionsdaten (Bestellungen, Kunden) über die SAP B1 Service Layer – die offizielle REST-API von SAP.

3. Die Verbindung zu Shopware 6

Die Kommunikation mit Shopware erfolgt ausschließlich über die Shopware 6 Admin REST API. Kein direkter Datenbankzugriff, keine Shopware-Plugin-Abhängigkeiten.

[Architektur-Diagramm: SAP B1 ↔ B1ShopConnector (Docker/Flask) ↔ Shopware 6]

Was von B1 nach Shopware fließt

Der Großteil der Stammdaten kommt aus SAP Business One und wird in Shopware gespiegelt:

Produkte & Varianten

B1ShopConnector überträgt den gesamten Artikelstamm inklusive Varianten, Bundles und Stücklisten. Produktbeschreibungen, technische Felder und SAP-B1-Custom Fields können auf Shopware-Felder gemappt werden. Auch produktspezifische Felder (User-Defined Fields, UDFs) in SAP werden unterstützt.

Preise

Preislisten aus SAP B1 – inklusive Staffelpreise und zeitlich begrenzte Aktionspreise – werden automatisch als Shopware-Preisregeln angelegt. Unterschiedliche Preislisten für verschiedene Kundengruppen? Kein Problem.

Lagerbestände

Der StockFlow überträgt aktuelle Lagermengen aus B1 in Echtzeit nach Shopware. Delta-Sync stellt sicher, dass nicht bei jedem Lauf der gesamte Katalog übertragen wird – nur was sich geändert hat.

Kategorien & Hersteller

Hierarchische Kategoriestrukturen und Hersteller-/Markendaten werden ebenfalls synchronisiert, inklusive mehrsprachiger Bezeichnungen.

Kunden

Kundenstammdaten aus SAP B1 können in Shopware angelegt werden – mit Mehrsprachigkeitsunterstützung.

Cross-Selling

Alternativ- und Zubehörprodukte aus SAP B1 werden als Cross-Selling-Verknüpfungen in Shopware angelegt.

Was von Shopware nach B1 fließt

Bestellungen

Das Herzstück des umgekehrten Flows: Shopware-Bestellungen werden automatisch als SAP-B1-Aufträge angelegt. B1ShopConnector prüft dabei, ob der Kunde bereits in B1 existiert – falls nicht, wird er automatisch angelegt. Aus dem Auftrag können direkt Lieferschein und Rechnung erzeugt werden.

Besonderes Feature: Bundle-Produkte werden korrekt aufgelöst, d. h. die enthaltenen Einzelartikel landen korrekt im B1-Beleg.

Bestellstatus

Statusänderungen in SAP B1 (z. B. Lieferung versendet) können zurück in Shopware gespiegelt werden, um Kunden automatisch zu informieren.

Das Flow-Prinzip: Modular und erweiterbar

B1ShopConnector ist flow-basiert aufgebaut. Jede Synchronisationsrichtung ist ein eigener Flow:

FlowRichtungBeschreibung
ProductFlowB1 → ShopwareProduktstamm, Varianten, Custom Fields
ProductImagesFlowB1 → ShopwareProduktbilder mit automatischem Download
ProductPriceFlowB1 → ShopwarePreislisten, Staffelpreise, Aktionspreise
StockFlowB1 → ShopwareLagerbestände
CategoryFlowB1 → ShopwareKategoriestruktur
ManufacturerFlowB1 → ShopwareHersteller/Marken
PropertyGroupFlowB1 → ShopwareProduktattribute
CustomerFlowB1 → ShopwareKundenstammdaten
OrderFlowShopware → B1Bestellimport, Belegkette
OrderStatusFlowB1 → ShopwareStatusaktualisierungen

Jeder Flow kann einzeln ausgelöst oder zeitgesteuert ausgeführt werden. Die Reihenfolge ist konfigurierbar.

Full-Sync vs. Delta-Sync

Eine wichtige Designentscheidung ist die Unterscheidung zwischen vollständiger und inkrementeller Synchronisation:

Full-Sync überträgt alle Datensätze – ideal für den initialen Import oder bei Bedarf für einen vollständigen Abgleich.

Delta-Sync überträgt nur Datensätze, die sich seit dem letzten Sync geändert haben. Basis ist ein gespeicherter Zeitstempel pro Flow. Das reduziert die API-Last erheblich und beschleunigt den täglichen Betrieb.

Im Produktivbetrieb läuft Delta-Sync typischerweise alle 15 bis 60 Minuten, Full-Sync einmal täglich oder wöchentlich.

Multi-Tenancy: Mehrere Kunden, eine Instanz

B1ShopConnector unterstützt nativ mehrere Mandanten (Profile). Jedes Profil hat:

  • eine eigene Datenbankverbindung zu SAP B1
  • eine eigene Shopware-API-Verbindung
  • eigene Synchronisations-Zeitstempel
  • eigene Custom-Module und SQL-Skripte
  • eigenes Logging

Für Agenturen, die mehrere Kunden betreuen, bedeutet das: eine Deployment-Instanz, vollständig isolierte Kundenkonfigurationen.

Individuelle Anpassungen ohne Fork

Kein Unternehmen ist wie das andere. Feldnamen in SAP B1 unterscheiden sich, Preislogiken sind individuell, Kategoriehierarchien sehen bei jedem Kunden anders aus.

B1ShopConnector löst das über zwei Mechanismen:

Custom SQL-Skripte pro Profil: Statt die fest eingebauten Datenbankabfragen zu verwenden, kann jedes Profil eigene SQL-Skripte nutzen, um Daten aus B1 zu lesen.

Custom Python-Module pro Profil: Transformationslogik, die über einfaches Feldmapping hinausgeht, kann in kundenspezifischen Python-Modulen implementiert werden. Diese werden dynamisch geladen, ohne den Kern der Middleware zu verändern.

Das Ergebnis: maximale Flexibilität ohne Versionierungsprobleme und ohne den Wartungsaufwand eines Forks.

Technische Voraussetzungen

Für den Einsatz von B1ShopConnector benötigen Sie:

  • SAP Business One (Datenbankbackend: SQL Server 2017+ oder SAP HANA 2.x)
  • Shopware 6.5.8.4 oder höher
  • Docker-fähige Serverinfrastruktur (On-Premise oder Cloud)
  • Zugang zur SAP B1 Service Layer (HTTPS-Endpunkt)
  • Shopware Admin API Credentials (OAuth2)
  • ODBC-Treiber für Ihr B1-Datenbankbackend

Fazit

B1ShopConnector ist keine Blackbox – es ist eine strukturierte, erweiterbare Middleware, die auf offenen Standards basiert und transparent funktioniert. Durch die flow-basierte Architektur, Delta-Sync und die Möglichkeit zur individuellen Anpassung ist sie sowohl für einfache als auch für komplexe Integrationsszenarien geeignet.

Wenn Sie sehen möchten, wie B1ShopConnector in Ihrer konkreten SAP-B1- und Shopware-Umgebung funktioniert:

[Demo anfragen – wir zeigen es Ihnen live →]

Diesen Beitrag teilen