Punchout erklärt
Irgendwann sagt die Einkaufsleitung eines Ihrer großen Kunden Ihrem Innendienst, dass die Bestellungen ab Januar über Coupa laufen, und fragt, ob Sie Punchout unterstützen. Übersetzt lautet die Frage: Können wir weiter bei Ihnen kaufen, ohne dass jemand unser System verlassen muss? Lautet die Antwort Nein, wandert der Vertrag.
Was Punchout ist
Punchout ist eine Verbindung zwischen dem Beschaffungssystem Ihres Kunden und Ihrem Shop. Betrachten Sie es von der Seite des Einkäufers, denn diese Seite entscheidet.
Ein Einkäufer in einem Unternehmen mit ein paar tausend Beschäftigten öffnet keinen Browser und sucht nach Lieferanten. Er öffnet SAP Ariba, Coupa, JAGGAER, Onventis oder das Einkaufsmodul seines SAP ERP, weil dort sein Budget, seine Kostenstellen und sein Freigabe-Workflow liegen. Dort sieht er eine Liste freigegebener Lieferanten, und er klickt auf Ihren.
In diesem Moment „springt“ das Beschaffungssystem heraus, daher der Name: Es öffnet Ihren Shop in einem Frame oder einem neuen Fenster, und der Einkäufer ist bereits angemeldet. Seine Identität kam im Aufruf mit, ein Passwort tippt niemand. Er sieht das Sortiment, das sein Unternehmen verhandelt hat, zu seinen Vertragspreisen, mit Ihren aktuellen Beständen. Er sucht, vergleicht und füllt einen Warenkorb wie in jedem anderen Shop.
Dann übergibt er den Warenkorb, statt zur Kasse zu gehen. Der Warenkorb wandert zurück ins Beschaffungssystem und wird dort zur Bedarfsanforderung, in der SAP-Welt die BANF. Freigabe, Kostenstellenzuordnung, Budgetprüfung und die Bestellung selbst passieren dort. Die Bestellung erreicht Sie anschließend wie jede andere Bestellung auch.
Der Einkäufer hat sein System nie verlassen. Aus seiner Sicht ist Ihr Katalog eine Funktion von Coupa.
Warum große Kunden darauf bestehen
Einkaufsorganisationen ab einer gewissen Größe haben ein Ziel: alle Ausgaben an einer Stelle sehen und auf Lieferanten mit verhandelten Verträgen lenken. Dafür haben sie ein Beschaffungssystem gekauft, und jede Bestellung außerhalb dieses Systems ist Ausgabe, die sie nicht sehen, zu Konditionen, die sie nicht verhandelt haben.
Für Sie ist die Konsequenz hart. Ein Lieferant, der aus dem System heraus erreichbar ist, liegt auf dem Standardweg. Ein Lieferant, der es nicht ist, wird zur Ausnahme, die jemand von Hand abwickelt: ein PDF-Angebot, eine manuelle Bedarfsanforderung, eine E-Mail an den Einkauf. Der Einkauf räumt Ausnahmen auf. Über ein, zwei Einkaufszyklen ist ein Lieferant ohne Punchout aussortiert, und selten kündigt das jemand als Entscheidung über Sie an.
Deshalb sind die meisten Punchout-Projekte Verteidigungsprojekte, mit einem Datum daran.
Die drei Standards
In der Praxis begegnen Ihnen drei. Ihr Kunde entscheidet, welchen Sie brauchen: Er ergibt sich aus dem Beschaffungssystem, das er bereits betreibt.
| Standard | Herkunft | Mechanik | Wo er Ihnen begegnet |
|---|---|---|---|
| OCI (Open Catalog Interface) | SAP | HTML-Formular-POST von NEW_ITEM-*-Feldern zurück an das aufrufende System | Deutsche SAP-Häuser. Im Mittelstand mit Abstand der häufigste Fall. Die Versionen 4.0 und 5.0 sind beide noch im Einsatz |
| cXML | Ariba (heute SAP Ariba); auch von Coupa genutzt | XML-Dokumente: PunchOutSetupRequest / PunchOutSetupResponse, dann PunchOutOrderMessage | Ariba, Coupa, die meisten internationalen Beschaffungsplattformen |
| openTRANS | BME (Bundesverband Materialwirtschaft, Einkauf und Logistik) | XML-Geschäftsdokumente: ORDER, ORDERRESPONSE, DISPATCHNOTIFICATION, INVOICE | Deutschsprachiger Markt, meist als Rückweg, der ein OCI-Punchout vervollständigt |
OCI ist bewusst schlicht. Die Katalogdaten kommen als gewöhnliche
HTML-Formularfelder zurück: NEW_ITEM-DESCRIPTION[1], NEW_ITEM-MATNR[1],
NEW_ITEM-QUANTITY[1], NEW_ITEM-UNIT[1], NEW_ITEM-PRICE[1],
NEW_ITEM-CURRENCY[1], NEW_ITEM-VENDORMAT[1], NEW_ITEM-MANUFACTMAT[1].
Diese Schlichtheit hat OCI verbreitet, und sie ist der Grund, warum fast jeder
SAP-Kunde seine eigene kleine Abweichung davon pflegt.
cXML transportiert mehr: Lieferanten-Artikelnummern mit einer Auxiliary ID,
Klassifikationscodes, Mengeneinheiten-Codes nach UN/CEFACT Recommendation 20
(C62 für Stück, EA für „each“, MTR für Meter) und ein BuyerCookie, das
die Sitzung zusammenhält.
openTRANS ist die fehlende Hälfte eines OCI-Punchouts und kein Konkurrent dazu: OCI übergibt einen Warenkorb, openTRANS transportiert Bestellung, Bestellbestätigung und Rechnung, die danach folgen.
Der Rundlauf, Schritt für Schritt
- Setup-Aufruf. Das Beschaffungssystem ruft Ihren Punchout-Endpunkt mit
Zugangsdaten auf: bei OCI eine URL mit Benutzername und Passwort als
Parameter, bei cXML ein
PunchOutSetupRequestmit Identity und Shared Secret. - Sitzungs-URL. Sie prüfen die Zugangsdaten, lösen auf, welcher Kunde das
ist, legen eine Sitzung an und antworten mit einer URL. Bei cXML ist das
eine
PunchOutSetupResponsemit einerbrowserFormPost-Adresse; bei OCI leiten Sie direkt in den Shop um. - Der Einkäufer kauft ein. In Ihrem Storefront, in seiner Sitzung: sein Sortiment, seine Preise, Ihre aktuelle Verfügbarkeit. Dieser Teil sieht aus wie ein normaler Shop, und er ist der Grund, warum sich Punchout lohnt.
- Warenkorbrückgabe. Der Einkäufer übergibt den Warenkorb. OCI postet die
Positionen als Formularfelder zurück; cXML postet eine
PunchOutOrderMessage. In beiden Fällen wechselt der Warenkorb die Seite, und Ihre Sitzung endet. - Freigabe in seinem System. Aus den Positionen wird eine Bedarfsanforderung. Kostenstellen, Budgets und Freigeber greifen. Positionen werden hier geändert oder gestrichen, und das passiert oft.
- Bestellübertragung. Die freigegebene Bedarfsanforderung wird zur
Bestellung und geht an Sie: als cXML
OrderRequest, als openTRANSORDER, als EDI-Nachricht oder, häufiger als irgendwer zugibt, als E-Mail. Das ist eine eigene Nachricht, getrennt vom Punchout. Wer die Schritte 1 bis 5 baut und Schritt 6 vergisst, bekommt Bestellungen als PDF, die jemand abtippt. Das war das Problem, das Sie lösen wollten.
Warum Punchout-Projekte scheitern
Fast nie am Protokoll. Das Protokoll ist eine Woche Arbeit. Das hier sind die Dinge, die Projekte stoppen, ungefähr in der Reihenfolge, wie oft sie es tun:
Preise. Kundenspezifische Konditionen liegen im ERP, manchmal in einer Tabelle im Vertrieb. Kommt der Shop nicht an denselben Preis, den das ERP berechnen würde, zeigt das Punchout Zahlen, die nicht zum Vertrag passen. Das fällt jemandem bei der ersten Bestellung auf, und es kostet Vertrauen, das über Jahre aufgebaut wurde. Ein Punchout-Projekt beginnt bei der Preisfindung, lange vor OCI.
Datenqualität. Beschaffungssysteme sind strenger als eine Webseite. Fünf Felder verursachen die meisten abgelehnten Positionen:
| Feld | Was schiefgeht | Folge in seinem System |
|---|---|---|
| Mengeneinheit | Fehlt, oder Freitext wie Stk., wo ein Code erwartet wird | Position abgelehnt, oder Menge falsch interpretiert: 10 Kartons als 10 Stück bestellt |
| Herstellerteilenummer | Leer, oder derselbe Wert wie Ihre eigene Artikelnummer | Das System des Einkäufers kann den Artikel keinem Materialstamm zuordnen |
| Steuerkennzeichen / Steuersatz | Fehlt oder je Land falsch | Die Bedarfsanforderung fällt durch die Steuerprüfung und bleibt in der Freigabe hängen |
| Langbeschreibung | HTML-Markup, oder 4.000 Zeichen, wo das Feld 200 nimmt | Abgeschnitten, oder die Übergabe scheitert komplett |
| Klassifikation | eCl@ss oder UNSPSC vom Kunden gefordert und nicht gepflegt | Position lässt sich keiner Warengruppe zuordnen und scheitert in seinem Controlling |
Das sind Katalogprobleme, keine Integrationsprobleme. Beheben Sie sie im Katalog; siehe Maße und Einheiten und Vollständigkeit und Bereitschaft.
Sitzungen und Authentifizierung. Zugangsdaten je Kunde, Sitzungen, die mitten im Warenkorb ablaufen, Einkäufer, die zwei Punchouts gleichzeitig öffnen, ein Warenkorb, der an ein System zurückgeht, das schon in den Timeout gelaufen ist. Unspektakulär, und verantwortlich für die meisten Support-Tickets im ersten Jahr.
Tests gegen das echte System. Dass Ihr Endpunkt gegen Ihre eigene Testumgebung besteht, beweist wenig; jede Beschaffungsinstallation ist angepasst. Testen Sie gegen das System des Kunden, mit seinen Zugangsdaten und seinem Einkäufer, bevor Sie es live nennen. Dieser Test braucht einen Slot in seiner IT-Warteschlange, ein Terminrisiko, das Sie nicht steuern. Versprechen Sie kein Go-Live-Datum, bevor dieser Slot steht.
Das Sortiment ist kundenspezifisch. Ein Punchout ist ein Vertrag, und der Vertrag nennt ein Sortiment. Wer einem Punchout-Einkäufer den ganzen Katalog zeigt, bricht die Vereinbarung und legt Artikel und Preise offen, die für diesen Kunden nie verhandelt wurden.
Was Punchout ersetzt
Die Alternative ist der statische Katalogaustausch: Sie exportieren Ihr Sortiment als BMEcat-Datei oder Excel-Tabelle, der Kunde importiert sie in sein System, und seine Einkäufer kaufen aus dieser Kopie.
| Statischer Katalog | Punchout | |
|---|---|---|
| Alter der Daten | So alt wie der letzte Import | Live |
| Preise | Beim Export eingefroren | Je Kunde zum Anzeigezeitpunkt berechnet |
| Verfügbarkeit | Nicht enthalten, oder schon falsch | Echter Bestand |
| Neue Artikel | Beim nächsten Austauschzyklus | Sofort |
| Aufwand je Kunde | Ein Export, ein Import, eine Korrekturrunde, immer wieder | Einmal, bei der Einrichtung |
| Cross-Selling, Zubehör, Suche | Keine | Ihr Shop |
Statische Kataloge sind für kleine Sortimente und für Kunden, deren System kein Punchout kann, nach wie vor üblich. Aber jeder Zyklus ist Handarbeit auf beiden Seiten, und zwischen den Zyklen sind die Daten falsch. Punchout schafft den Zyklus ab.
So funktioniert es in der Revenue Cloud
Ein Punchout ist als Kanal modelliert, und das ist mehr als ein Etikett:
- Unter Configuration › Kanäle legen Sie einen Kanal vom Typ PunchOut mit
eigenem Code an:
punchout-acmefür den einen Kunden,punchout-konzern-xfür den nächsten. Ein Kanal je Punchout-Kunde ist die übliche Einrichtung, weil Sortiment und Darstellung je Vertrag verschieden sind. - Jeder Kanal gehört zu einem Markt, und der bringt Währung, Locales und Steuerklassen mit. Siehe Sprachen und Märkte.
- Nicht zugeordnete Zeilen legt die Sichtbarkeitsregel fest; im Kanal-Detail heißt die Einstellung Produkte ohne Zuordnung zu diesem Kanal sind. Setzen Sie sie auf einem Punchout-Kanal auf Ausgeblendet bis zur Zuordnung (geschlossen), und nur ausdrücklich zugeordnete Produkte erscheinen, genau das, was ein Punchout-Vertrag beschreibt. Ihr Storefront-Kanal kann gleichzeitig offen bleiben.
- Kanalabhängige Attribute halten je Kanal einen eigenen Wert. Die kurze, schmucklose Beschreibung, die ein Beschaffungssystem braucht, ist damit eine andere als der Marketingtext in Ihrem Shop. Siehe Kanäle, Locales und Vollständigkeit.
- Die Vollständigkeit wird je Kanal berechnet. Damit stellen Sie vor dem Go-Live die einzige Frage, die zählt: Wie viele der 2.400 Artikel in diesem Punchout-Kanal tragen eine Mengeneinheit, eine Herstellerteilenummer und eine Steuerklasse?
Weiter
- Ein Punchout einrichten: die Verbindung, Schritt für Schritt.
- Feld-Mapping: aus Ihren Feldern seine machen.