Im heutigen schnelllebigen E-Commerce-Umfeld sind Daten mehr als bloße Informationen – sie bilden die Grundlage für Business Intelligence, personalisierte Nutzererlebnisse, Kundenservice, Steuerkonformität und operative Kontinuität. Wenn ein Unternehmen von einer E-Commerce-Plattform auf eine andere wechselt – sei es von Shopware 5 zu Shopware 6, Magento zu Shopware, WooCommerce zu einer individuellen Lösung oder von einem alten ERP-System – wird die Vorbereitung der historischen Bestelldaten zu einem entscheidenden Schritt.
Historische Bestellungen enthalten eine Fülle an transaktionalen Einblicken: Wer hat was wann gekauft, zu welchem Preis, aus welcher Region, unter welcher Steuerkategorie und mit welchen Rabatten oder Aktionen. Diese Daten sind eng verknüpft mit Kundenstammdaten, Lagerverwaltung, Steuerberichten, Rückerstattungen, Versanddokumentationen und Leistungsanalysen. Der Verlust oder die falsche Darstellung dieser Informationen während der Migration kann rechtliche Probleme, unzufriedene Kunden, fehlerhafte Reportings oder sogar Buchhaltungsfehler verursachen.
Einfach gesagt: Bestellhistorie ist nicht nur „alte Daten“ – sie ist ein essenzieller Teil der DNA Ihres Unternehmens.
Leider sind historische Daten oft unordentlich, inkonsistent und verteilt auf verschiedene Quellen wie alte Datenbanken, CSV-Exporte oder ERP-Schnittstellen. Die Vorbereitung dieser Daten für die Migration erfordert sorgfältige Planung, strukturierte Bereinigung, Zuordnung zum neuen Plattform-Schema und Validierung – ganz zu schweigen von Datenschutzkonformität und möglicher Umstrukturierung, um das Shopware-6-Bestellmodell mit mehreren Entitäten abzubilden.
Dieser Leitfaden führt Sie strukturiert und praxisnah durch diesen Prozess. Egal, ob Sie die Migration intern durchführen oder mit einer externen Agentur arbeiten – diese Schritte sorgen dafür, dass Sie nicht nur Daten verschieben, sondern nutzbare, vertrauenswürdige und regelkonforme Datensätze migrieren.
Am Ende dieses Leitfadens wissen Sie:
Außerdem behandeln wir häufige Fehler, Tipps zum Umgang mit Kundenbeziehungen, Rückerstattungen oder Gastbestellungen sowie Tools und Skripte, die Teile des Workflows automatisieren können.
Diese Dokumentation geht davon aus, dass technische Ressourcen vorhanden sind – Entwickler, Datenbankadministratoren oder Migrationspartner – enthält aber auch kontextuelle Hinweise für Projektmanager, E-Commerce-Verantwortliche und Daten-Governance-Rollen, um den Prozess nachvollziehen zu können.
Beginnen wir damit zu verstehen, warum historische Bestellungen sowohl operativ als auch strategisch wichtig sind.
Bei der Planung einer Migration oder eines Plattformwechsels denken viele Unternehmen darüber nach, alte Bestellungen aus Zeit- oder Vereinfachungsgründen nicht zu übernehmen. Das kann jedoch erhebliche Lücken in Betrieb, Kundenservice und langfristiger Geschäftskontinuität verursachen. Historische Bestellungen sind nicht nur ein Protokoll vergangener Aktivitäten – sie bilden die Grundlage für finanzielle, rechtliche, analytische und kundenorientierte Prozesse.
Hier sind die wichtigsten Gründe, warum historische Bestellungen erhalten und korrekt importiert werden müssen:
Regierungen und Steuerbehörden verlangen in den meisten Regionen, dass Transaktionsdaten mehrere Jahre aufbewahrt werden (typischerweise 5–10 Jahre, je nach Rechtsprechung). Diese Daten können geprüft werden bei:
Das Fehlen ordnungsgemäßer und zeitnaher Aufzeichnungen kann zu Strafen oder rechtlichen Problemen führen. PDFs oder Tabellenexporte allein genügen oft nicht; integrierte, abfragbare Daten sind für automatisierte Prüfungen erforderlich.
Support- und Verkaufsteams benötigen schnellen Zugriff auf Kundenhistorien bei:
Ohne historische Bestellungen im neuen System müssen Mitarbeiter zwischen Systemen wechseln oder IT um Zugriff auf Altdaten bitten – das erschwert den Service für Mitarbeiter und Kunden.
Stellen Sie sich vor, Sie müssten einem treuen Kunden sagen: „Leider haben wir keinen Zugriff mehr auf Ihre früheren Bestellungen.“ Das schadet dem Markenvertrauen vermeidbar.
Historische Bestellungen sind die Basis moderner Analysen, insbesondere um zu verstehen:
Fehlen historische Bestellungen, entstehen Lücken bei Segmentierung und Personalisierung in Tools wie Google Analytics, Metabase oder BI-Dashboards. Das beeinträchtigt Programme für Kundenbindung, smarte Empfehlungen und Marketing-Automation.
Bieten Sie Treuepunkte, Rabatte oder exklusive Stufen basierend auf früheren Bestellungen an, ist die Übernahme historischer Käufe unerlässlich. Sie müssen:
Fehlende Daten können verärgerte Stammkunden zur Folge haben und den Wert Ihres Programms mindern.
Um zu verstehen, welche Produkte über die Zeit gut laufen, benötigen Sie historische Verkaufsdaten. Diese unterstützen:
Außerdem sind Verkaufsdaten oft an SKU-Leistungsbewertungen oder Lieferantenverträge gekoppelt – der Verlust dieser Historie kann zukünftige Verhandlungen und Nachbestellungen erschweren.
Historische Bestelldaten fließen häufig in folgende Systeme:
Ohne Übernahme der Historie können diese Systeme ausfallen, inkonsistent werden oder unvollständige Daten zeigen – mit zeitaufwendigen Korrekturen oder Teilsynchronisationen als Folge.
Bevor technische Arbeiten beginnen – wie Datenexport, Skripterstellung oder Dateiformatierung – müssen Sie den Umfang der historischen Bestellungen, die Sie migrieren möchten, klar definieren. Diese Phase ist entscheidend, um die Datenqualität zu erhalten, Fehler zu minimieren und unnötigen Aufwand durch den Import irrelevanter oder inkonsistenter Datensätze zu vermeiden.
Nicht alle historischen Daten sind gleich wertvoll. Jede einzelne Transaktion der letzten 10 Jahre zu migrieren klingt zwar gründlich, führt aber oft zu aufgeblähten Datenbanken, längeren Importzeiten und komplexeren Folgeprozessen. Andererseits kann eine zu geringe Migration zum Verlust von Geschäftskontext, defekten Analysen oder Compliance-Lücken führen.
Folgende Filter sollten Sie beim Vorbereiten des Datensatzes beachten:
Wie weit soll die Historie zurückreichen?
Best Practice: Mindestens die letzten 2–3 Jahre importieren, um aktive Kundenbeziehungen und grundlegende Analysen abzudecken. Ältere Daten können archiviert oder im Nur-Lese-Modus behalten werden.
Zu beachten:
Welche Bestellungen sollen einbezogen werden?
Tipp: Konzentrieren Sie sich auf Bestellungen mit gültigen Zahlungs- und Lieferdaten. Stornierte oder fehlgeschlagene Bestellungen sollten archiviert werden, sofern sie nicht für Analysen oder Betrugserkennung relevant sind.
Shopware 6 verlangt für jede Bestellung einen gültigen
order_customer
-Eintrag. Wenn Ihr altes System Gast- und registrierte Kunden mischt, müssen Sie diese Datenstruktur vor dem Import vereinheitlichen.
Empfehlung: Beide Typen migrieren, aber in Kundengruppen oder mit Metadaten unterscheiden.
Regionale Unterschiede bei Steuern, Versand und Zahlungsmethoden erfordern oft Segmentierung, um die Transformationsskripte zu vereinfachen.
Beispiel: Wenn Sie Ihren Shopware 6-Shop zunächst nur in Deutschland starten, können Sie ältere Bestellungen aus den USA oder Großbritannien ausklammern.
source_system
,
imported_at
oder
import_batch_id
kennzeichnen für spätere Nachverfolgung.Diese strukturierte Herangehensweise erleichtert Rücksetzungen, Fehlersuche und die Isolierung problematischer Datensätze bei Tests.
Bevor technische Arbeiten beginnen – wie Datenexport, Skripterstellung oder Dateiformatierung – müssen Sie den Umfang der historischen Bestellungen, die Sie migrieren möchten, klar definieren. Diese Phase ist entscheidend, um die Datenqualität zu erhalten, Fehler zu minimieren und unnötigen Aufwand durch den Import irrelevanter oder inkonsistenter Datensätze zu vermeiden.
Nicht alle historischen Daten sind gleich wertvoll. Jede einzelne Transaktion der letzten 10 Jahre zu migrieren klingt zwar gründlich, führt aber oft zu aufgeblähten Datenbanken, längeren Importzeiten und komplexeren Folgeprozessen. Andererseits kann eine zu geringe Migration zum Verlust von Geschäftskontext, defekten Analysen oder Compliance-Lücken führen.
Folgende Filter sollten Sie beim Vorbereiten des Datensatzes beachten:
Dimension | Fragen / Optionen | Anmerkungen / Tipps |
---|---|---|
Zeitraum | Letzte 6 Monate 1 Jahr 3 Jahre Alle verfügbaren Daten | Mindestens 2–3 Jahre empfohlen. Ältere Daten archivieren oder als Nur-Lese behalten. Beachten Sie gesetzliche Aufbewahrungsfristen. Abwägung zwischen Datenmenge und Systemleistung. |
Bestellarten | Abgeschlossene Bestellungen Stornierte oder fehlgeschlagene Transaktionen Rückerstattete Bestellungen Verlassene Warenkörbe oder Vorbestellungen | Fokus auf gültige Zahlungs- und Lieferdaten. Archivierung stornierter Bestellungen, außer für Analyse relevant. |
Kundentypen | Gastbestellungen Registrierte Kunden Mögliche Verfälschung durch anonyme Bestellungen | Shopware 6 benötigt gültigen
order_customer
-Eintrag.Einheitliche Datenstruktur vor Import erforderlich. Empfehlung: Beide Typen migrieren, aber unterscheiden. |
Geografische Filter | Inländische Bestellungen Internationale Bestellungen B2B oder B2C Mehrsprachige / Mehrwährungs-Bestellungen | Steuer-, Versand- und Zahlungsunterschiede beachten. Segmentierung vereinfacht Skripte. Beispiel: Fokus auf Deutschland zu Beginn. |
source_system
,
imported_at
oder
import_batch_id
kennzeichnen für spätere Nachverfolgung.Diese strukturierte Herangehensweise erleichtert Rücksetzungen, Fehlersuche und die Isolierung problematischer Datensätze bei Tests.
s_order
,
s_order_details
,
s_user
und
s_order_documents
aus.SELECT o.id, o.ordernumber, o.invoice_amount, u.email, d.articleID, d.quantity
FROM s_order o
JOIN s_order_details d ON o.id = d.orderID
JOIN s_user u ON o.userID = u.id;
sales_order
,
sales_order_item
,
customer_entity
und weitere abfragen.wp_posts
,
wp_postmeta
und
wp_woocommerce_order_items
.Typ | Beschreibung |
---|---|
Bestellüberschriften | Bestell-ID, Status, Summen, Währung, Datum, Verkaufskanal |
Positionen | Produkt-IDs/SKUs, Menge, Einzelpreis, Steuersatz, Rabatt |
Kunden | Name, E-Mail, Kundengruppe, Rechnungs-/Lieferadresse |
Versand | Methode, Sendungsverfolgungsnummer, Dienstleister, Lieferdatum |
Transaktionen | Zahlungsmethode, Transaktions-ID, Status, erstatteter Betrag |
Rechnungen | Rechnungsnummer, Rechnungsdatum, PDF-Referenz (falls vorhanden) |
Optional, aber nützlich:
Nach dem Export der Rohdaten folgt als nächster Schritt die Bereinigung und Validierung, bevor Sie die Daten auf das Shopware-6-Schema abbilden. Darum geht es im nächsten Abschnitt.
Der Export Ihrer historischen Bestelldaten ist nur der Anfang – was Sie jetzt haben, ist oft unordentlich, unvollständig oder inkonsistent strukturiert. Die Bereinigung und Validierung dieser Daten ist entscheidend, um Importfehler zu vermeiden, Datenverluste zu verhindern und langfristige Genauigkeit in Ihren Berichten im neuen Shopware-6-System sicherzustellen.
Wenn Ihre Daten nicht richtig bereinigt sind, drohen:
Die meisten Exporte – besonders aus älteren oder individuellen Systemen – enthalten Probleme wie:
order_id + datum + email
.order_items
und
orders
die 1:n-Integrität. Alle „verwaisten“ Bestellungen müssen markiert werden.anonymous@example.com
für Gäste).Tool | Anwendungsfall |
---|---|
Excel / LibreOffice | Visuelle Erkennung von Duplikaten, Nullwerten, Formatierung |
Python (Pandas) | Automatisierung von Transformationen, Validierungen |
PHP- oder Node.js-Skripte | Verarbeitung großer JSON-/CSV-Datensätze |
Shopware API-Testtools | Prüfung der Importakzeptanz (Postman, cURL) |
OpenRefine | Tiefgehende Datenbereinigung und Text-Clustering |
Bewahren Sie stets auf:
Das ermöglicht Nachvollziehbarkeit, Rücksetzung und Fehlerbehebung, falls nach dem Deployment Probleme auftreten.
Nachdem Ihre historischen Bestelldaten bereinigt und validiert sind, müssen sie so strukturiert werden, dass sie dem Schema der Zielplattform entsprechen – in diesem Fall Shopware 6. Im Gegensatz zu Altsystemen, die oft auf monolithischen Tabellen basieren, verwendet Shopware 6 eine modulare, entitätenbasierte Architektur für Bestellungen. Diese Modularität bietet große Flexibilität und Skalierbarkeit – bedeutet aber auch, dass Ihre Importdateien strenge relationale Regeln und Entitätstrennung einhalten müssen.
Entität | Zweck |
---|---|
order | Hauptbestellung mit Summen, Status und Metadaten |
order_line_item | Einzelne Produkte oder benutzerdefinierte Positionen |
order_customer | Kunden-Snapshot zum Bestellzeitpunkt |
order_transaction | Zahlungsinformationen (Methode, Status, Transaktions-ID) |
order_delivery | Versanddetails, Tracking und Versandmethode |
order_address | Rechnungs- und Lieferadressen zur Bestellung |
order_id
oder
order_number
.
order_line_item.csv
könnte enthalten:
order_id | product_id | label | quantity | total_price |
---|---|---|---|---|
abc123 | prod567 | Blue T-Shirt | 2 | 39,98 |
order_customer.csv
könnte enthalten:
order_id | first_name | last_name | customer_number | |
---|---|---|---|---|
abc123 | john@example.com | John | Doe | CUST-001 |
Wenn Sie die Sync API oder Admin API nutzen, sollte die Payload für jede Bestellung ungefähr so aufgebaut sein (vereinfacht):
{
"order": {
"orderNumber": "10001",
"salesChannelId": "...",
"currencyId": "...",
"orderCustomer": { ... },
"transactions": [ ... ],
"deliveries": [ ... ],
"lineItems": [ ... ],
"addresses": [ ... ]
}
}
Durch die korrekte Strukturierung Ihrer Daten in einzelne, relationale Entitäten schaffen Sie die Grundlage für einen nahtlosen Import in Shopware 6. So bleiben alle Beziehungen erhalten und Reporting sowie Kundenserviceprozesse funktionieren wie erwartet.
Feldnamen und Datentypen können zwischen Systemen variieren. Erstellen Sie eine Zuordnungstabelle wie diese:
Altes Feld (Magento) | Neues Feld (Shopware) | Transformationshinweise |
---|---|---|
customer_email | order_customer.email | In Kleinbuchstaben konvertieren |
status | order.state_id | Shopware-State-UUIDs verwenden |
shipping_address | order_address | Struktur glätten, falls verschachtelt |
Das bloße Migrieren von Rohbestelldaten reicht oft nicht aus, um den operativen Wert, den Ihr Unternehmen über die Zeit aufgebaut hat, vollständig zu erhalten. Bestellungen existieren nicht isoliert – sie sind eingebettet in größere Geschäftsprozesse, Marketingstrategien und Customer Journeys. Um den Nutzen Ihrer historischen Bestelldaten zu maximieren, sollten Sie diese mit kontextuellen Informationen anreichern, die intelligentere Entscheidungen und eine reibungslose Geschäftskontinuität nach der Migration unterstützen.
utm_source
,
utm_medium
,
utm_campaign
). So können Sie historische Marketingeffektivität auch nach der Migration analysieren.Durch die Einbindung dieser kontextuellen Ebenen in Ihre Migration historischer Bestelldaten stellen Sie sicher, dass Shopware 6 nicht nur Ihre Daten speichert, sondern auch die nötige Business Intelligence und operative Einsichten für nachhaltigen Erfolg nach der Migration bereitstellt.
Die Migration historischer Bestelldaten betrifft nicht nur die Bestellungen selbst – es ist ebenso wichtig, die Kundendaten korrekt zu verarbeiten. Shopware 6 erzwingt eine strikte Beziehung zwischen Bestellungen und Kunden: Jede Bestellung muss mit einer gültigen
order_customer
-Entität verknüpft sein. Dies stellt besondere Herausforderungen dar, wenn sowohl registrierte Kundenkonten als auch Gastbestellungen berücksichtigt werden müssen.
Entscheiden Sie, ob Sie:
Dies kann separate API-Endpunkte oder Datenschichten erfordern. Manche Shops importieren Bestellungen ohne diese Daten zur Vereinfachung; andere betrachten sie als kritisch.
order_customer
-Entität verknüpft ist, auch bei Gastbestellungen. Das bedeutet, dass Sie für Gastbestellungen während des Imports synthetische oder anonyme Kundenkonten erstellen müssen.order_customer
-Referenzen importieren. Fehlende oder fehlerhafte Kundenverknüpfungen führen zum Importfehler.Eine sorgfältige Handhabung von Kundenkonten und Gastbestellungen garantiert, dass Ihre historischen Bestellungen in Shopware 6 durchsuchbar, verknüpft und nutzbar bleiben – sowohl im Backend als auch im Storefront. So bleiben sowohl operative Abläufe als auch Kundenerfahrungen erhalten.
Der Import historischer Bestelldaten ist ein komplexer Vorgang mit vielen Abhängigkeiten und Beziehungen. Den gesamten Datensatz auf einmal zu importieren ist riskant und kann zu schwer diagnostizierbaren Fehlern, Datenkorruption oder Systeminstabilität führen.
Um diese Risiken zu minimieren, ist eine rigorose Test- und Validierungsphase unerlässlich. Dieser Abschnitt führt Sie durch bewährte Vorgehensweisen für inkrementelle Tests und die Überprüfung der importierten Bestelldaten in Shopware 6.
Starten Sie den vollständigen Import erst, wenn Testimporte fehlerfrei sind und die Datenqualität bestätigt wurde. So stellen Sie einen reibungslosen Endimport mit minimalen Störungen sicher.
Historische Bestelldaten enthalten sensible Informationen wie:
Stellen Sie sicher:
Empfohlene Tools:
Beispiel: Ein Python-Skript zur Umwandlung von WooCommerce-Bestellungen ins Shopware-Format.
Frage: Was passiert, wenn ich Bestellungen nicht importiere?
Antwort: Sie verlieren Kundenhistorie, Tiefe in Berichten und riskieren rechtliche Probleme bei der Steuerdokumentation.
Frage: Kann ich Bestellungen ohne Produkte importieren?
Antwort: Nein. Shopware verlangt gültige Produktreferenzen (SKUs, IDs oder UUIDs).
Frage: Was, wenn einige Felder fehlen oder unbekannt sind?
Antwort: Verwenden Sie Platzhalterwerte oder Standarddaten – aber brechen Sie dabei nicht die referenzielle Integrität.
Die Vorbereitung Ihrer historischen Bestelldaten ist keine einfache Copy-&-Paste-Aufgabe. Es erfordert:
Aber es lohnt sich – Ihre Bestellhistorie ist ein wertvolles Asset für Business Intelligence, Kundenbetreuung und rechtliche Compliance.
Nehmen Sie sich die Zeit zur sorgfältigen Vorbereitung, damit Sie Ihre neue Plattformmigration mit Zuversicht und Klarheit starten können.