Zum Inhalt

Changelog — B2B-Bestellimport

Alle Versionen werden hier dokumentiert. Bei einem Update einfach oben einen neuen Block anhängen.


v1.0.0 — 2026-05

Initial Release

Neu

  • 3 DAL-Entitäten: kommora_b2b_profile, kommora_b2b_field_mapping, kommora_b2b_inbound_record mit FK + Cascade
  • ACL-Privilegien: kommora_b2b_order_import.viewer / .editor

Parser

  • CSV-Parser mit Trennzeichen, Texterkennungszeichen, Zeichensatz und Header-Detection
  • JSON-Parser
  • Generic-XML-Parser (SimpleXML) mit dotted-path-Lookup

Mapping

  • Visueller Editor mit Inline-Edit pro Mapping
  • Quelle als Dotted-Path mit *-Wildcard für Listen
  • Transformer: trim, upper, lower, prefix, suffix, replace, lookup, date_format

Customer + Product Matching

  • E-Mail / Kundennummer / Fallback-Kunde
  • Artikelnummer / EAN / Hersteller-Nummer

Pipeline

  • Klare Status-Bezeichnungen für End-User: „Wartet auf Verarbeitung", „Bereit zur Freigabe", „Bestellung erstellt", „Korrektur nötig"
  • Manuelle oder automatische Freigabe pro Profil
  • Order-Anlage über den Standard-Cart-Service (volle Steuern + Versandkosten)
  • Re-Process bei Fehlern (idempotent)

Admin-UI

  • Modul unter Erweiterungen → B2B Order Import
  • Profile-Liste + Detail-Page mit allen Konfigurations-Optionen
  • Strukturiertes Format-Optionen-Formular pro Format (kein JSON-Editor)
  • Mapping-Editor inline im Profil-Detail
  • Eingangs-Queue + Detail-Ansicht (Roh-Payload, Parsed, Mapped, Fehler)
  • Manueller Datei-Upload via Modal

Admin-API

  • POST /api/_action/kommora-b2b/upload (Multipart-Upload)
  • POST /api/_action/kommora-b2b/process/{id}
  • POST /api/_action/kommora-b2b/approve/{id}

Console

  • bin/console kommora:b2b:process [id|--pending|--approve]

Erweiterbarkeit (Tagged Services)

  • kommora_b2b_order_import.format_parser
  • kommora_b2b_order_import.customer_resolver
  • kommora_b2b_order_import.product_resolver

Technik

  • Shopware 6.5 + 6.6 + 6.7 Kompatibilität (Webpack + Vite vorgebaut)
  • Sprachen: Deutsch, Englisch
  • Vollständig PHPStan-Shopware-konform (keine direkten Disk-Writes, keine Repo-Calls in Loops)