Magento 2 B2B

So funktioniert die PunchOut-Warenkorbrückgabe in Magento 2

Die PunchOut-Warenkorbrückgabe überträgt ausgewählte Magento-Produkte in das Beschaffungssystem des Kunden. Sie legt normalerweise noch keine Bestellung an. Der zurückgegebene Warenkorb wird zur Anforderung, die Budgetprüfung, Freigabe und Einkauf des Kunden durchläuft.

Kurzantwort: Magento baut den Warenkorb in einer käufergebundenen PunchOut-Sitzung auf. Beim Absenden ordnet die Extension jede Position OCI-Formularfeldern oder einem cXML-PunchOutOrderMessage zu und sendet das Ergebnis an die geprüfte Rückgabe-URL. Dort übernimmt das Beschaffungssystem und setzt seinen eigenen Prozess fort.

Der vollständige Ablauf

1. Das Beschaffungssystem öffnet Magento

Der Einkäufer wählt den Lieferanten in SAP Ariba, Coupa, einer SAP-OCI-Umgebung oder einer anderen Einkaufsanwendung. Diese sendet eine Anfrage mit Identität, Zugangsdaten und Rückgabeziel.

Magento prüft die Anfrage und erstellt eine zeitlich begrenzte PunchOut-Sitzung. Warenkorbaktionen sollten an diese Sitzung gebunden sein und nicht wie ein normaler anonymer Shop-Besuch behandelt werden.

2. Magento stellt den Einkaufskontext her

Das Käuferprofil legt Store View, Kunde, Unternehmen oder Kundengruppe fest. Dadurch verbindet die Integration die externe Einkaufsorganisation mit Katalog- und Preisregeln in Magento.

Der Einkäufer arbeitet anschließend mit echten Magento-Produkten. Sichtbarkeit, Optionen, Vertragspreise und Steuerdarstellung müssen genauso sorgfältig geprüft werden wie bei einem normalen Kundenkonto.

3. Der Käufer gibt den Warenkorb zurück

Statt den Magento-Checkout zu durchlaufen, wählt der Nutzer die PunchOut-Rückgabe. Die Extension prüft, ob Warenkorb und Sitzung zusammengehören, und lädt das vereinbarte Mapping.

Bei OCI entstehen indizierte Formularfelder für die Positionen. Bei cXML wird ein PunchOutOrderMessage mit Kopf- und Positionsdaten aufgebaut. Der Browser sendet die Antwort an das vom Beschaffungssystem übermittelte und geprüfte Rückgabeziel.

4. Die Einkaufsplattform prüft die Positionen

Typische Felder sind:

  • Lieferantenteilenummer
  • Beschreibung
  • Menge und Einheit
  • Einzelpreis und Währung
  • Produktklassifikation
  • Lieferanten- oder Vertragskennung
  • käuferspezifische Sonderfelder

Fehlt ein Pflichtwert oder verwendet Magento einen unerwarteten Code, kann das Kundensystem die Position ablehnen, obwohl der Shop-Schritt korrekt aussah.

5. Die Freigabe läuft außerhalb von Magento weiter

Die übertragenen Artikel werden üblicherweise zur Bestellanforderung. Kostenstelle, Kontierung und Genehmigung liegen im Beschaffungssystem. Eine Magento-Bestellung besteht zu diesem Zeitpunkt nicht zwingend.

Soll die genehmigte Bestellung zurückkommen, ist das ein eigener eingehender Nachrichtenprozess. SoftwareSilo PunchOut kann eingehende Bestellungen und in einem erweiterten Belegablauf auch Versand- und Rechnungsnachrichten verarbeiten.

Anlegen, Bearbeiten und Prüfen

Einige Plattformen übermitteln die gewünschte Operation. create beginnt einen neuen Warenkorb. edit öffnet einen bereits zurückgegebenen Warenkorb erneut. inspect kann eine reine Ansicht erlauben.

Diese Betriebsarten benötigen stabile Kennungen und saubere Sitzungsverwaltung. Werden sie vom Käufer verlangt, müssen sie separat getestet werden. Nicht jede Einkaufsplattform nutzt denselben Lebenszyklus.

Wichtige Mapping-Entscheidungen

Produktkennung: Erwartet der Käufer die Magento-SKU, eine Lieferantenteilenummer oder eine Vertragskennung?

Einheit: Nutzen Magento und der Kunde unterschiedliche Codes, kann eine Wertetabelle übersetzen. Beide Seiten müssen die erlaubte Liste kennen.

Preis: Netto oder brutto, Währung, Dezimalstellen und Staffelpreise müssen eindeutig definiert sein.

Klassifikation: Manche Käufer verlangen für jede Position UNSPSC oder eine andere Klassifikation. Fehlende Werte sind ein häufiger Ablehnungsgrund.

Sonderdaten: cXML-Extrinsics und OCI-Sonderfelder sollten nach Geschäftsbedeutung, Datenquelle und Prüfregel dokumentiert werden.

Abnahmetests

  1. Ein einfaches Produkt mit Menge eins.
  2. Mehrere Produkte und Mengen.
  3. Konfigurierbares Produkt oder Option, falls relevant.
  4. Kundenspezifischer Preis und Katalogsichtbarkeit.
  5. Übersetzung von Einheit und Klassifikation.
  6. Bearbeiten oder Prüfen, falls verlangt.
  7. Abgelaufene Sitzung und ungültiges Rückgabeziel.
  8. Doppelklick, Zurück-Schaltfläche und erneute Anmeldung.
  9. Freigabe in der Einkaufsplattform.
  10. Optional die genehmigte Bestellung zurück nach Magento.

Zu jedem Fehler gehört ein bereinigter Trace mit Korrelations-ID. Anmeldung, Sitzung und Rückgabe müssen nachvollziehbar sein, ohne Shared Secrets oder unnötige personenbezogene Daten zu speichern.

Häufig gestellte Fragen

Reserviert die Warenkorbrückgabe Bestand?

Nicht zwingend. Sie ist keine Bestellung. Für die Zeit zwischen Anforderung, Freigabe und Auftrag sollte eine klare Bestandsregel gelten.

Darf der Käufer Mengen nach der Rückgabe ändern?

Das hängt von Plattform und Einkaufsregeln ab. Sind Änderungen erlaubt, muss geklärt werden, ob die spätere Bestellung weiterhin Preis-, Produkt- und Mengenvorgaben erfüllt.

Warum zeigt der zurückgegebene Warenkorb einen anderen Preis?

Häufige Ursachen sind ein falscher Kundenkontext, Unterschiede bei Steuerdarstellung oder Währung, Rundung oder eine Neuberechnung durch die Einkaufsplattform. Verglichen werden sollten Rohwert und Interpretation des Käufers.

Was passiert bei einer ungültigen Rückgabe-URL?

Die Integration sollte abbrechen, statt Beschaffungsdaten an ein nicht vertrauenswürdiges Ziel zu senden. Erlaubte Hosts und URL-Prüfung sind wichtige Sicherheitsmaßnahmen.

Weiterlesen

Vorheriger Artikel Checkliste für die Magento 2 PunchOut-Implementierung
Nächster Artikel Magento Open Source PunchOut oder Adobe Commerce B2B?