Przejdź do treści
Słownik B2B 3 min czytania

PunchOut (OCI, cXML) - co to i jak działa

**PunchOut** to mechanizm, który pozwala kupującemu pozostać w swoim systemie zakupowym (np. SAP Ariba, Coupa, Jaggaer) i jednocześnie przeglądać katalog dostawcy w jego sklepie internetowym. Klient klika „przeglądaj katalog dostawcy X" → otwiera się sklep dostawcy z jego zalogowaniem i cennikiem → wybiera produkty → koszyk wraca jako ustrukturyzowany dokument (XML) do systemu zakupowego klienta, który tworzy zamówienie.

Jakub Owsianka Autor
Zaktualizowano:
Okladka artykulu: PunchOut (OCI, cXML) - co to i jak działa (kategoria: Słownik B2B)
Okladka artykulu: PunchOut (OCI, cXML) - co to i jak działa (kategoria: Słownik B2B)
Spis treści (7)

Po co istnieje PunchOut

Klienci korporacyjni używają systemów zakupowych (e-procurement) do kontrolowanego kupowania. Każdy zakup w korporacji musi przejść przez ich procesy: kontrolę budżetu, akceptację, kategoryzację. Bezpośrednie kupowanie w sklepie dostawcy obejście tych procesów.

Dwie opcje:

  1. Hosted catalog - dostawca wysyła klientowi plik katalogu (CSV, XML), klient ładuje do swojego systemu. Statyczne, działa dla produktów o niezmiennej cenie.
  2. PunchOut - klient w czasie rzeczywistym wchodzi do sklepu dostawcy. Ceny dynamiczne, kontekstowy katalog (tylko produkty kontraktowe), aktualne stany.

PunchOut jest preferowany dla większych kontraktów i nietrywialnych asortymentów.

Jak PunchOut wygląda krok po kroku

  1. Klient w swoim systemie zakupowym (np. SAP Ariba) klika „Procure from Supplier X"
  2. Ariba wysyła PunchOutSetupRequest (cXML) do endpointa dostawcy
  3. Sklep dostawcy odbiera request, autoryzuje, tworzy sesję dla klienta, zwraca URL
  4. Klient zostaje przekierowany do tego URL - wchodzi do sklepu dostawcy z auto-loginem
  5. Klient przegląda katalog (widzi swoje produkty kontraktowe, swoje ceny)
  6. Klient klika „Transfer to Cart" - sklep wysyła cXML PunchOutOrderMessage z listą produktów do systemu Ariby
  7. Ariba odbiera koszyk, tworzy „requisition" (zapotrzebowanie)
  8. Workflow zatwierdzania po stronie klienta (kierownik, budżet, etc.)
  9. Po zatwierdzeniu Ariba wysyła PurchaseOrder (cXML) do sklepu dostawcy - to jest właściwe zamówienie

Cały przepływ trwa 30 sekund w dobrym scenariuszu, 5 minut w korporacyjnym workflow zatwierdzania.

OCI vs. cXML - dwa protokoły PunchOut

OCI (Open Catalog Interface). Stary standard SAP-owy, od końca lat 90. Działa przez HTML form z polami NEW_ITEM-DESCRIPTION[1], NEW_ITEM-PRICE[1] etc. Wciąż używany przez SAP-owe systemy zakupowe (klasyczna integracja z SRM).

cXML (commerce XML). Standard otwarty, używany przez Aribę, Coupa, Jaggaer. Modern XML, bogatszy. Działa przez POST XML do endpointa, response XML z URL przekierowania.

Większość nowych integracji to cXML. OCI wciąż obecne w starszych SAP-owych klientach.

Architektura wdrożenia PunchOut

Po stronie sklepu B2B trzeba zbudować:

  • Endpoint setup (/punchout/setup) - odbiera PunchOutSetupRequest, parsuje cXML, weryfikuje credentials klienta
  • Sesja PunchOut - sklep tworzy specjalną sesję, oznaczoną jako PunchOut, z kontekstem klienta i systemu zakupowego
  • Customizacja UI - w trybie PunchOut sklep pokazuje przycisk „Transfer to Cart" zamiast „Złóż zamówienie"
  • Endpoint transfer - gdy klient klika „Transfer", sklep generuje cXML PunchOutOrderMessage i przekierowuje
  • Endpoint PurchaseOrder (/punchout/po) - odbiera właściwe zamówienie z Ariby, tworzy zamówienie w sklepie/ERP

Magento Adobe Commerce ma to po części wbudowane. Shopware Enterprise B2B Suite - częściowo. Custom - pisze się.

Kiedy potrzebujesz PunchOut

  • Sprzedajesz do korporacji z SAP Aribą / Coupa / Jaggaer - bez PunchOut nie jesteś dla nich realnym dostawcą
  • Klient kontraktowy o dużym wolumenie (od ~500 tys. zł rocznie) i nieoczywistym katalogu (>1000 SKU, dynamiczne ceny)

NIE potrzebujesz PunchOut gdy:

  • Sprzedajesz B2C lub do małych B2B
  • Twoi klienci nie używają systemów e-procurement
  • Twój asortyment jest stały (wystarczy hosted catalog)

PunchOut - pułapki wdrożenia

  • PunchOut to nie EDI. EDI to wymiana dokumentów między systemami. PunchOut to interaktywne przeglądanie katalogu.
  • Klient nie loguje się w klasyczny sposób - autentykacja jest przez From/To/Sender w cXML, podpisana shared secretem.
  • Testowanie z Aribą może trwać tygodnie. Klient korporacyjny ma własne procedury, certyfikacje.
  • Każdy klient PunchOut może mieć inny katalog (Shared Catalog w Adobe Commerce, Individual Catalog w Shopware). Wymaga to integracji z systemem cenników.
  • Cena za wdrożenie PunchOut dla średniego scope: 30-80 tys. zł. Sam protokół jest udokumentowany, ale integracja z workflow klienta jest pracochłonna.

Pokrewne pojęcia

O autorze

Jakub Owsianka

Architekt rozwiązania w WiseB2B - silniku platform B2B. Zaczynał po stronie biznesu (własne sklepy), potem deweloper, dziś projektuje wdrożenia dla sklepów z katalogami w dziesiątkach tysięcy SKU. W ostatnich latach wdrożył AI-development w zespole i funkcjonalności oparte o AI bezpośrednio w silniku sklepu.

Masz pytanie do tego artykułu?

Dodatkowy kontekst, problem z własnym wdrożeniem, druga opinia - napisz wprost. Odpowiadam osobiście w 1-2 dni robocze.