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.
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]
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.
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.
B1ShopConnector ist flow-basiert aufgebaut. Jede Synchronisationsrichtung ist ein eigener Flow:
| Flow | Richtung | Beschreibung |
| ProductFlow | B1 → Shopware | Produktstamm, Varianten, Custom Fields |
| ProductImagesFlow | B1 → Shopware | Produktbilder mit automatischem Download |
| ProductPriceFlow | B1 → Shopware | Preislisten, Staffelpreise, Aktionspreise |
| StockFlow | B1 → Shopware | Lagerbestände |
| CategoryFlow | B1 → Shopware | Kategoriestruktur |
| ManufacturerFlow | B1 → Shopware | Hersteller/Marken |
| PropertyGroupFlow | B1 → Shopware | Produktattribute |
| CustomerFlow | B1 → Shopware | Kundenstammdaten |
| OrderFlow | Shopware → B1 | Bestellimport, Belegkette |
| OrderStatusFlow | B1 → Shopware | Statusaktualisierungen |
Jeder Flow kann einzeln ausgelöst oder zeitgesteuert ausgeführt werden. Die Reihenfolge ist konfigurierbar.
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.
B1ShopConnector unterstützt nativ mehrere Mandanten (Profile). Jedes Profil hat:
Für Agenturen, die mehrere Kunden betreuen, bedeutet das: eine Deployment-Instanz, vollständig isolierte Kundenkonfigurationen.
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.
Für den Einsatz von B1ShopConnector benötigen Sie:
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 →]