Zum Inhalt springen
Stone & Water
Doku · 05 CSV-Import & Export

CSV-Import & Export · mehrsprachig, mit Mapping

Komplette Mehrsprachigkeit in einer Datei. Custom Fields als einzelne Spalten. Match per Artikelnummer, ID oder EAN. Mit Profilen, Datentyp-Erkennung und Batch-Sync.

Spaltenkonvention für Übersetzungen

Statt für jede Sprache eine eigene Datei: alle Sprachen in EINER CSV. Pro Sprache wird eine eigene Spalte angelegt. Spaltennamen folgen dem Muster:

  • name_de-DE, name_en-GB — Standard-Felder pro Sprache
  • cf_meinFeld_de-DE, cf_meinFeld_en-GB — Custom Fields pro Sprache

Beim Import werden Sprach-Spalten automatisch erkannt. Vorhandene Übersetzungen werden ergänzt, nicht überschrieben (JSON-Merge). Leere Zellen führen nicht zu Datenverlust — sie werden ignoriert.

Custom Fields als einzelne Spalten

Custom Fields, die in der Konfigmatrix unter „Custom Fields" einzeln aktiviert sind, bekommen im Export jeweils eine eigene Spalte (cf_meinFeld). Beim Import werden sie direkt erkannt — kein JSON-Blob mehr.

Unterstützte Typen: Text, Zahl, Boolean, Datum, Auswahl, Mehrfachauswahl (Pipe-separiert), JSON.

Vordefinierte Export-Profile

Sofort einsetzbare Spaltensets für typische Use-Cases — anpassbar, als neues Profil speicherbar:

  • Stammdaten — Artikelnummer, Name, EAN, Hersteller
  • SEO — Meta-Daten in allen Sprachen
  • Preise & Lager — alle Preisfelder + Bestand + Grundpreis + Einkaufspreis brutto/netto getrennt
  • Eigenschaften & Custom Fields — Properties + alle aktiven CF-Spalten
  • Cross-Selling — alle Streams pro Produkt
  • Übersetzungen — alle Sprachen für alle übersetzbaren Felder
  • Bilder — Cover + Galerie als URLs

Preis-Spalten — Brutto und Netto getrennt

Für den Einkaufspreis stehen zwei getrennte Spalten zur Verfügung:

  • purchasePrice_gross — Einkaufspreis brutto (inkl. MwSt.)
  • purchasePrice_net — Einkaufspreis netto (exkl. MwSt.)

Beim Import sind alle Kombinationen möglich:

  • Nur Brutto angegeben → Netto wird über die Steuerklasse automatisch berechnet
  • Nur Netto angegeben → Brutto wird über die Steuerklasse automatisch berechnet
  • Beide angegeben → Werte werden 1:1 übernommen
  • Legacy-Spalte purchasePrice → bleibt rückwärtskompatibel (als Brutto interpretiert)

Alias-Erkennung

Der Importer erkennt auch deutsche und englische Schreibweisen automatisch:

  • ek_brutto, einkaufspreis_brutto, cost_gross, purchase_price_gross → werden auf purchasePrice_gross gemappt
  • ek_netto, einkaufspreis_netto, cost_net, purchase_price_net → werden auf purchasePrice_net gemappt

CSV-Export

  • Spalten beliebig auswählbar
  • Spalten-Trenner: Komma, Semikolon, Tab
  • Dezimaltrennzeichen: Punkt (12.50) für internationales Excel, Komma (12,50) für deutsches Excel
  • Encoding: UTF-8 mit oder ohne BOM
  • Aktive Filter berücksichtigen — Filter aus dem CSV-Modal werden auf den Export angewandt
  • Varianten-Export als eigene Zeilen — pro Profil oder global aktivierbar

Spalte „Einheit (Name)"

Zusätzlich zur Einheit-ID wird die Produkteinheit als Klarname exportiert („Liter", „Kilogramm", „Stück") — Excel-freundlich, ohne UUID-Übersetzung. Im Profil „Preise & Lager" ist der Klarname als Standard aktiviert.

CSV-Import

Ablauf

  1. Datei hochladen (Drag-and-Drop oder File-Picker) oder URL zu CSV/TSV/XML eingeben
  2. Vorschau der ersten Zeilen prüfen
  3. Spalten-Mapping anzeigen — automatische Erkennung anhand der Header
  4. Mapping anpassen falls Spaltennamen abweichen
  5. Datentyp-Erkennung-Vorschau prüfen
  6. Import-Modus wählen: nur aktualisieren, nur erstellen, oder beides
  7. Trockenlauf (Dry-Run) zeigt: wie viele neu, wie viele Update, wie viele übersprungen
  8. Echter Import mit Progress-Bar und ETA — abbrechbar

Match-Logik

  • Artikelnummer (productNumber) — Standard
  • ID (UUID)
  • EAN

Auflösung per Artikelnummer oder EAN

Felder die normalerweise eine UUID erwarten (parentId, mainVariantId) können beim Import auch über Artikelnummer oder EAN aufgelöst werden — UUIDs sind nicht zwingend nötig. Lookup-Cache verhindert doppelte Treffer.

Auto-Erkennung „Einheit"

Der Importer erkennt sowohl „Einheit (Name)" als auch „Produkteinheit" als Spaltennamen automatisch und löst Klarnamen wie „Liter" oder „Kilogramm" in die korrekte Einheit-ID auf. Auch Pluralformen werden erkannt.

Automatische Lookups

Beim Import werden fehlende Entitäten automatisch erstellt: Hersteller, Tags, Kategorien, Steuerklassen, Lieferzeiten, Eigenschaften und Produkteinheiten.

Datentyp-Erkennung

  • Boolean: 1/0, true/false, ja/nein, aktiv/inaktiv
  • Datum: ISO (2026-05-15) und deutsche Notation (15.05.2026)
  • Zahl: Komma oder Punkt als Dezimaltrenner, Tausender-Trenner werden erkannt
  • Array: Pipe-Separator (|) bei Multi-Select-Custom-Fields
  • JSON: bei komplexen Feldern

Spalten-Mapping

Falls CSV-Header nicht mit Shopware-Feldnamen übereinstimmen, kann das Mapping manuell überschrieben werden. Per Drag-and-Drop zwischen CSV-Spalte und Shopware-Feld. Mapping als Vorlage speicherbar — pro User oder shopweit.

Import-Protokoll

Jeder Import wird unter PIM → Import-Historie protokolliert:

  • Zeitstempel, User, Anzahl Datensätze
  • Erfolge (neu / aktualisiert / übersprungen)
  • Fehler mit Zeilennummer und Begründung
  • Download der originalen CSV-Datei (30 Tage Aufbewahrung)

Berechtigungen

Sicherheit: Der Import-Tab ist ausschließlich Superadmins zugänglich — zusätzlich zur Berechtigung staw_pim.csv_import. Nicht-Superadmins sehen den Tab nicht. Export-Tab wird ausgeblendet, wenn staw_pim.csv_export fehlt.