cXML vs OCI: which punchout standard does your buyer need?
Punchout comes in two main flavours. Here is what cXML and OCI are, how they differ, and how to know which one a buyer's procurement system expects.
If a large buyer asks you to “support punchout”, the next question is always: cXML or OCI? Both do the same job. The buyer’s employee opens your shop from inside the procurement system, fills a basket, and the basket travels back into the procurement system for approval. They differ in how the two systems talk to each other.
cXML
cXML is an XML standard. It is used by platforms such as SAP Ariba, Coupa and Jaggaer.
- The buyer’s system sends your server a
PunchOutSetupRequest, an XML message with the buyer’s identity, aBuyerCookiethat identifies the session, and the URL to return the basket to. - You answer with a
PunchOutSetupResponsecontaining a start-page URL for your shop. - When the user finishes, your shop sends the basket back as a
PunchOutOrderMessage, an XML document with item lines, prices, units and currency.
The first exchange is server to server, so it is easy to log and to test.
OCI
OCI (Open Catalog Interface) comes from SAP and is common in SAP ERP and SRM landscapes.
- The buyer’s system opens your shop URL in the user’s browser with a few parameters, the most important being
HOOK_URL, the address the basket must be sent back to. - The user shops.
- Your shop returns the basket as an HTML form posted by the browser to
HOOK_URL, using numbered fields such asNEW_ITEM-DESCRIPTION[1],NEW_ITEM-QUANTITY[1],NEW_ITEM-PRICE[1].
The practical differences
| cXML | OCI | |
|---|---|---|
| Format | XML documents | Form fields |
| Setup | Server-to-server request | Browser opens a URL |
| Commonly used with | Ariba, Coupa, Jaggaer | SAP ERP / SRM |
| Return path | PunchOutOrderMessage |
Form post to HOOK_URL |
Which one do you need?
You do not choose. The buyer’s system decides, and a supplier who sells to several large buyers usually ends up supporting both. That is the main reason to put the translation in a separate middleware layer: your shop keeps one internal basket format, and the middleware produces cXML or OCI depending on the buyer.
Not sure what your buyer uses? Ask their procurement team for the “punchout supplier onboarding” document. It states the standard and the fields they expect.
General information, not legal or tax advice. Check official sources before you act.