Das Ziel
Eine gute ERP-Integration sorgt dafür, dass Sie Bestellungen nicht manuell übertragen, Bestände immer aktuell sind und Rechnungen automatisch erstellt werden.
Was ist ERP-Integration?
ERP-Integration bedeutet, dass Ihr Online-Shop und Ihr ERP-System (Enterprise Resource Planning) automatisch Daten austauschen. Statt Bestellungen manuell zu übertragen, Bestände per Excel abzugleichen oder Rechnungen händisch zu erstellen, übernimmt eine Schnittstelle diese Aufgaben.
Das Ziel: Ein durchgängiger Datenfluss vom Wareneingang über die Bestellung bis zur Auslieferung – ohne Medienbrüche und ohne doppelte Datenpflege. Für den Mittelstand ist das die Grundlage, um mit begrenzten Ressourcen professionell zu skalieren.
Typische ERP-Systeme im E-Commerce-Umfeld
- • Xentral (Cloud-ERP für KMU)
- • SAP Business One
- • Microsoft Dynamics 365
- • Sage 100 / Sage X3
- • DATEV (für Buchhaltungsintegration)
- • Eigene Branchenlösungen
1 Was wird synchronisiert?
Nicht jede Datenart muss in beide Richtungen fließen. Definieren Sie klar, welches System die "Wahrheit" für welche Daten hält:
| Datenart | Typische Richtung | Master-System |
|---|---|---|
| Bestellungen | Shop → ERP | Shop (Entstehung), ERP (Verarbeitung) |
| Artikel/Produkte | ERP → Shop | ERP |
| Bestände | ERP → Shop | ERP |
| Preise | ERP → Shop | ERP |
| Kundendaten | Bidirektional | Fallabhängig |
| Tracking-Nummern | ERP → Shop | ERP/Versanddienstleister |
2 Echtzeit vs. Intervall
Nicht alles muss in Echtzeit synchronisiert werden. Die richtige Strategie hängt vom Anwendungsfall ab:
Echtzeit sinnvoll
- • Bestellungen (Kunde erwartet Bestätigung)
- • Kritische Bestandswarnungen
- • Status-Updates (Versand)
Intervall reicht
- • Bestandssync (alle 5-15 Min.)
- • Preisänderungen (täglich/stündlich)
- • Neue Artikel (täglich)
Achtung bei Beständen
Bei hochfrequentierten Shops mit knappen Beständen kann eine 15-Minuten-Synchronisation zu Überverkäufen führen. Hier lohnt sich Echtzeit-Sync oder zumindest kürzere Intervalle.
3 Datenmapping
Die größte Herausforderung: Beide Systeme haben unterschiedliche Datenstrukturen. Ein sauberes Mapping ist entscheidend.
Typische Mapping-Fragen
- Welche Artikelnummer ist führend? ERP-Nummer, EAN oder Shop-SKU?
- Wie werden Varianten abgebildet? Separate Artikel oder Variantengruppen?
- Wie matchen Zahlungsarten? PayPal im Shop = welcher Zahlungsweg im ERP?
- Wie werden Kundengruppen/Preislisten zugeordnet?
Integrationsansätze im Vergleich
Nicht jede Integration muss individuell programmiert werden. Es gibt verschiedene Ansätze mit unterschiedlichen Vor- und Nachteilen:
Plugin/Connector (z.B. Xentral-Connect)
Fertige Lösung, die Shop und ERP direkt verbindet. Schnelle Einrichtung, standardisierte Funktionen, aber begrenzte Anpassungsmöglichkeiten.
✓ Ideal für: Standardprozesse, schneller Start
Middleware (z.B. n8n, Make, Synqup)
Zwischenschicht, die mehrere Systeme verbindet. Flexibler als Plugins, erfordert aber Konfigurationsaufwand.
✓ Ideal für: Komplexe Szenarien, viele Systeme
Individuelle API-Integration
Maßgeschneiderte Entwicklung über die APIs beider Systeme. Maximale Flexibilität, aber höherer Entwicklungsaufwand.
✓ Ideal für: Spezialfälle, nicht-standardisierte ERP-Systeme
Unser Rat
Starten Sie mit einer Standard-Lösung wie Xentral-Connect. Individuelle Erweiterungen können später ergänzt werden, wenn sich konkrete Anforderungen zeigen.
4 Fehlerbehandlung
Was passiert, wenn eine Synchronisation fehlschlägt? Ein gutes Integrationskonzept definiert klare Regeln:
Retry-Logik
Fehlgeschlagene Übertragungen sollten automatisch wiederholt werden – mit exponentiell steigenden Wartezeiten (1 Min., 5 Min., 15 Min., ...).
Alerting
Bei kritischen Fehlern (z.B. Bestellung kann nicht übertragen werden) muss sofort jemand benachrichtigt werden.
Logging
Jede Übertragung sollte protokolliert werden. Im Fehlerfall brauchen Sie Details, um das Problem nachvollziehen zu können.
Praxisbeispiele aus unseren Projekten
Jede ERP-Integration hat ihre eigenen Herausforderungen. Hier drei anonymisierte Beispiele aus unserer Praxis:
Beispiel 1: B2B-Händler mit kundenspezifischen Preisen
Ein Großhändler pflegt für jeden Kunden individuelle Rabattstaffeln in Xentral. Die Herausforderung: Diese Preise müssen im Shopware-Shop für eingeloggte Kunden korrekt angezeigt werden.
Lösung: Kundengruppen-Sync mit Preislisten-Mapping. Der Shop fragt bei jedem Login die aktuellen Konditionen ab.
Beispiel 2: Dropshipping mit mehreren Lieferanten
Ein Shop verkauft Produkte von 5 verschiedenen Lieferanten. Bestellungen müssen automatisch an den richtigen Lieferanten weitergeleitet werden.
Lösung: Artikel-Mapping mit Lieferanten-Zuordnung. Xentral splittet Bestellungen automatisch und sendet Lieferantenaufträge per EDI.
Beispiel 3: Multichannel mit Amazon und eBay
Neben dem eigenen Shop verkauft ein Händler auch auf Amazon und eBay. Alle Kanäle müssen denselben Bestand nutzen.
Lösung: Xentral als zentrale Bestandsführung. Alle Kanäle synchronisieren gegen Xentral, nicht direkt untereinander.
5 Xentral-Integration mit Shopware
Wir sind Xentral-Connect Partner und haben viele Shopware-Xentral-Integrationen umgesetzt. Das Xentral-Connect Plugin bietet eine solide Basis, die wir bei Bedarf erweitern.
Was Xentral-Connect von Haus aus kann
- ✓ Bestellimport nach Xentral
- ✓ Artikelsync (bidirektional)
- ✓ Bestandssynchronisation
- ✓ Kundendatensync
- ✓ Tracking-Nummern-Rückmeldung
- ✓ Rechnungs-PDF an Shop
Checkliste: ERP-Integration vorbereiten
Bevor Sie mit der technischen Umsetzung starten, sollten Sie diese Punkte geklärt haben:
-
Datenhoheit definiert
Welches System ist für welche Daten führend?
-
Sync-Richtungen festgelegt
Uni- oder bidirektional für jeden Datentyp?
-
Intervalle/Trigger bestimmt
Echtzeit, 5 Min., stündlich oder täglich?
-
Mapping-Tabelle erstellt
Artikelnummern, Zahlungsarten, Versandarten zugeordnet?
-
Fehlerszenarien durchdacht
Was passiert bei Verbindungsabbruch, doppelten Datensätzen, fehlenden Pflichtfeldern?
-
Testdaten vorbereitet
Repräsentative Artikel, Bestellungen und Kunden für Tests?
-
Ansprechpartner benannt
Wer entscheidet bei Fragen zu ERP-Prozessen?