cXML in einer Minute
cXML entstand Ende der 1990er-Jahre, ursprünglich bei Ariba, damit Beschaffungssysteme und Lieferanten Geschäftsdokumente in einem gemeinsamen Format austauschen können. Es wird auf cxml.org als Satz von XML-Dokumenttypen mit öffentlicher DTD veröffentlicht und ist bis heute die Sprache der meisten Cloud-Beschaffungssysteme.
Jedes cXML-Dokument hat denselben Aufbau: einen Umschlag mit einer payloadID und einem Zeitstempel, einen Header, der angibt, wer es mit welchen Zugangsdaten an wen sendet, und dann entweder einen Request, eine Response oder eine Message mit dem geschäftlichen Inhalt.
cXML vs. XML
| XML | cXML | |
|---|---|---|
| Was es ist | Ein allgemeines Format für strukturierte Daten | Ein bestimmter Satz von XML-Dokumenten für die Beschaffung |
| Regeln | Jedes Schema, das Sie definieren | Feste DTD, veröffentlicht auf cxml.org |
| Verwendet für | Alles | PunchOut, Bestellungen, Bestätigungen, Lieferavise, Rechnungen |
Die cXML-Nachrichten, die ein Lieferant erhält
| Nachricht | Was sie bewirkt | In PunchOut Rocket |
|---|---|---|
| PunchOutSetupRequest | Der Kunde öffnet Ihren Shop | Ja |
| PunchOutOrderMessage | Der Warenkorb geht an den Kunden zurück | Ja |
| OrderRequest | Freigegebene Bestellung | Premium-Tarif |
| ConfirmationRequest | Auftragsbestätigung | Option OC & ASN |
| ShipNoticeRequest | Lieferavis (ASN) | Option OC & ASN |
| InvoiceDetailRequest | Rechnung | Auf Anfrage |
Für PunchOut zählen die ersten drei: Sie öffnen die Session, geben den Warenkorb zurück und liefern die Bestellung. Bestätigungen, Lieferavise und Rechnungen sind separate Abläufe, die manche Kunden nach dem Go-live verlangen: PunchOut Rocket importiert Bestellungen mit dem Premium-Tarif, sendet Bestätigungen und Lieferavise mit dessen Option OC & ASN und bietet Rechnungen auf Anfrage an.
Beispiel · PunchOutSetupRequest (gekürzt)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.069/cXML.dtd">
<cXML payloadID="1729332000.4711@buyer.example.com" timestamp="2026-10-19T10:00:00+02:00">
<Header>
<From><Credential domain="NetworkID"><Identity>AN01000000001</Identity></Credential></From>
<To><Credential domain="NetworkID"><Identity>AN01000000002</Identity></Credential></To>
<Sender>
<Credential domain="NetworkID">
<Identity>AN01000000001</Identity>
<SharedSecret>••••••••</SharedSecret>
</Credential>
<UserAgent>Buyer procurement system</UserAgent>
</Sender>
</Header>
<Request>
<PunchOutSetupRequest operation="create">
<BuyerCookie>8f2c41d0a9</BuyerCookie>
<BrowserFormPost><URL>https://buyer.example.com/punchout/return</URL></BrowserFormPost>
<SupplierSetup><URL>https://gateway.example.com/setup</URL></SupplierSetup>
</PunchOutSetupRequest>
</Request>
</cXML>Zugangsdaten und Shared Secrets
Jedes cXML-Dokument trägt im Header drei Zugangsdaten: From (von wem das Dokument kommt), To (für wen es ist) und Sender (das System, das es tatsächlich sendet, mit einem SharedSecret). Im SAP Business Network sind die Identitäten Ariba Network IDs (ANIDs); andere Systeme nutzen DUNS-Nummern oder eigene Kennungen. Das Shared Secret wird mit dem Kunden vereinbart und darf nie in E-Mails oder Screenshots auftauchen.
Was ist ein cXML-Katalog?
Der Begriff wird für zwei verschiedene Dinge verwendet:
Statischer Katalog (CIF- oder cXML-Index)
Eine Datei, die Sie in das System des Kunden hochladen. Preise und Artikel sind bis zum nächsten Upload eingefroren.
PunchOut-Katalog
Der Kunde öffnet Ihren Live-Shop über cXML. Preise, Bestand und Konfigurationen sind immer aktuell.
Weiter: cXML im Vergleich zu OCI von SAP.
PunchOut auf dem Shop, den Sie schon haben
PunchOut Rocket verbindet WooCommerce, Magento, PrestaShop und nopCommerce über cXML oder OCI mit SAP Ariba, Coupa und SAP. Ab 163 €/Monat pro Shop, 30 Tage kostenlos testen.