Zum Inhalt

Troubleshooting — B2B-Bestellimport

Sammlung häufiger Fehler beim B2B-Bestellimport mit konkreten Lösungen.

Status „Korrektur nötig" mit Fehlermeldung

„No matching customer found"

Ursache: Die Kunden-Match-Strategie hat keinen Treffer geliefert.

Lösung:

  1. Inbound-Detail-Seite öffnen, im Tab Gemappte Daten prüfen, welche customerEmail / customerNumber aus der Datei extrahiert wurde
  2. Im Shopware-Admin unter Kunden suchen, ob dieser Kunde überhaupt existiert
  3. Falls nicht existiert: Kunde anlegen (manuell oder per Standard-Import) — Auto-Create ist erst für v1.1+ geplant
  4. Falls existiert aber nicht gematcht wird:
    • Bei Match per E-Mail: prüfe Tippfehler / Groß-Klein-Schreibung in der Datei
    • Bei Match per Kundennummer: prüfe customer.customerNumber — manchmal hat Shopware Leading-Zeros (00010001 vs 10001)
  5. Im Profil optional einen Fallback-Kunde setzen — dieser wird als Default verwendet, wenn die primäre Strategie nicht passt

„Some products could not be resolved: SW10000, SW10001"

Ursache: Die genannten Artikelnummern existieren nicht (oder sind inaktiv) im Shop.

Lösung:

  1. Im Shopware-Admin unter Kataloge → Produkte suchen
  2. Falls Produkt nicht existiert: Produkt anlegen oder bei deinem ERP nachfragen, ob der Kunde eine alte SKU verwendet
  3. Falls Produkt existiert aber inaktiv: Produkt aktivieren ODER per Profil entscheiden, dass nur aktive Produkte gematcht werden sollen (im aktuellen Stand werden alle Produkte gematcht — auch inaktive)
  4. Falls dein Kunde eigene SKUs verwendet, die von deinen abweichen, brauchst du eine Cross-Reference-Tabelle. v1.0 unterstützt das via Lookup-Transformer — siehe Feld-Mapping

„Order creation failed: The product XYZ is only available 2 times"

Ursache: Bestand reicht nicht. Shopware lehnt den Cart-Build ab.

Lösung:

  1. Bestand prüfen unter Kataloge → Produkte → [Produkt] → Lager
  2. Bestand auffüllen ODER den Profil-Schalter setzen, dass auch unter-bestand-Bestellungen erlaubt sind (Shopware-Standard pro Produkt: isCloseout aus + clearance sale aus)

„Parser failed: XML payload could not be parsed"

Ursache: Die XML-Datei ist nicht wohlgeformt oder enthält Sonderzeichen, die ohne Encoding-Deklaration kommen.

Lösung:

  1. Roh-Payload in der Inbound-Detail-Seite öffnen und prüfen, ob die XML wohlgeformt ist
  2. Stelle sicher, dass die XML mit <?xml version="1.0" encoding="UTF-8"?> beginnt
  3. Wenn die Datei UTF-8 BOM enthält: vor dem Hochladen entfernen, oder im Profil das Encoding-Mapping prüfen

Status bleibt auf „Wartet auf Verarbeitung"

Du hast eine Datei hochgeladen, aber die Pipeline ist noch nicht gelaufen.

Lösung:

  • Manueller Modus: im Inbound-Detail oben rechts auf „Pipeline starten" klicken
  • Automatisierung: Cron-Job einrichten, der bin/console kommora:b2b:process --pending regelmäßig laufen lässt
*/5 * * * * www-data php /var/www/shop/bin/console kommora:b2b:process --pending

Profil-Detail wird nicht geladen

Du klickst auf einen Profil-Namen in der Liste, aber die Detail-Seite bleibt leer.

Lösung:

  1. Cache leerenbin/console cache:clear
  2. Browser-Cache leeren — der Admin-Bundle wurde aktualisiert, dein Browser hat aber noch die alte JS-Version
  3. PHP-FPM neu starten falls du gerade ein Plugin-Update gemacht hast — systemctl restart php8.2-fpm

Upload-Modal-Datei wird nicht akzeptiert

Du klickst auf „Datei hochladen", wählst eine Datei aus, aber der Upload schlägt fehl.

Lösung:

  • Prüfe die Datei-Endung — der Upload akzeptiert .csv, .json, .xml, .txt
  • Prüfe die Dateigröße — Shopware hat ein Standard-Limit von 32 MB. Erhöhen via php.ini:
    upload_max_filesize = 128M
    post_max_size = 128M
    
  • Prüfe die Browser-Konsole auf JS-Fehler

Snippet-Lücken („kommora.b2b…")

Im Admin tauchen Strings wie kommoraB2BOrderImport.profileList.title auf statt der Übersetzung.

Lösung:

  1. Cache leeren (bin/console cache:clear)
  2. Hard-Reload im Browser (Ctrl+Shift+R)
  3. Falls weiter besteht: prüfen, ob das Plugin korrekt installiert wurde — bin/console plugin:list | grep B2B

Performance: Pipeline ist langsam

Bei sehr großen Dateien (>1000 Zeilen) kann die Pipeline mehrere Sekunden brauchen, weil pro Zeile Shopware-Cart-Operationen durchgeführt werden.

Lösung:

  • Große Dateien vor dem Upload aufteilen (z. B. via split in Bash)
  • Wenn häufig große Bestellungen kommen: warte auf v1.2+ wo Bulk-Pipeline-Optimierungen geplant sind

API-Endpunkte geben 404 zurück

{"errors":[{"status":"404","detail":"No route found for POST .../kommora-b2b/upload"}]}

Lösung:

  1. Plugin ist nicht aktiviert — bin/console plugin:list prüfen
  2. Cache nicht aktualisiert — bin/console cache:clear
  3. Routing-Cache speziell — bin/console cache:clear und bin/console router:cache:clear

Hilfe finden

Wenn die Lösung hier nicht steht: schreib uns eine Mail an support@kommora.de. Sende mit:

  • Plugin-Version (siehe Erweiterungen → Meine Erweiterungen)
  • Shopware-Version
  • Beschreibung des Verhaltens und was du erwartet hast
  • Inbound-Record-ID (falls vorhanden) — wir können dann gezielt im Logfile suchen
  • Roh-Payload der problematischen Datei (anonymisiert wenn personenbezogene Daten enthalten sind)