If you are a B2B supplier preparing to connect your catalog to an enterprise buyer’s procurement system, you will quickly encounter two acronyms: cXML and OCI.

These are the two dominant protocols used to exchange shopping cart data and authenticate PunchOut catalog sessions. Understanding the differences between them—and knowing when to use each—is essential for a successful integration.

Let’s break down the technical differences, advantages, and standard use cases for both cXML and OCI.


1. What is cXML?

cXML (Commerce eXtensible Markup Language) is an open standard launched in 1999. It is managed by a consortium of procurement industry leaders, with SAP Ariba being its primary champion.

cXML uses XML schemas to define standard documents for every stage of the procurement lifecycle, including:

  • PunchOut Setup Requests (PSR)
  • PunchOut Setup Responses
  • Purchase Orders (PO)
  • Order Responses
  • Ship Notices (ASN)
  • Invoices

How cXML Works

cXML operations are transaction-based and communicate via secure HTTP POST requests.

When a user launches a PunchOut catalog, the buyer’s procurement system sends a PunchOutSetupRequest XML document directly to the supplier’s web server. The supplier’s system validates this XML, generates a unique session URL, and sends back a PunchOutSetupResponse containing that URL. The buyer’s browser is then redirected to the URL.

When the user finishes shopping, the supplier’s website posts a ProfileMessage (containing cart data in XML format) back to the buyer’s e-procurement system.


2. What is OCI?

OCI (Open Catalog Interface) is a proprietary standard developed by SAP in the late 1990s to connect external catalogs to the SAP Business Suite (specifically SAP SRM and SAP ERP).

Unlike cXML, which uses XML documents, OCI relies on flat, form-based data transmission.

How OCI Works

OCI is simpler and operates directly through the user’s browser.

When a user clicks a PunchOut link, the buyer’s system sends an HTTP GET or POST request directly to the supplier’s catalog URL. This request contains parameters (like username, password, and return URL) in the query string or form data.

When the user finishes shopping, the supplier’s web application renders an HTML form containing hidden input fields for each item in the cart. These fields follow a strict naming convention (e.g., NEW_ITEM-DESCRIPTION[1], NEW_ITEM-MATGROUP[1], NEW_ITEM-PRICE[1]). The browser automatically submits this form to the buyer’s system using JavaScript, returning the cart data.


Comparison Table: cXML vs. OCI

FeaturecXML (Commerce XML)OCI (Open Catalog Interface)
Origin / OwnerOpen Standard (spearheaded by Ariba)SAP Proprietary
Data FormatXML structured documentsHTML Form fields / Query Parameters
CommunicationDirect Server-to-Server API (HTTP POST)Browser-based redirect & form submit
Common PlatformsSAP Ariba, Coupa, Oracle, Jaggaer, WorkdaySAP ERP, SAP SRM, NetWeaver
Regional DominanceNorth America, Global EnterpriseEurope, SAP-heavy organizations
ScopeEnd-to-end (PunchOut, PO, Invoice, ASN)PunchOut cart return only
SecurityHigh (Server-to-Server authentication tokens)Moderate (Relies on browser trust & HTTPS)

Which Protocol Should You Choose?

As a supplier, the choice is rarely yours to make. The buyer’s procurement system dictates the protocol.

  • If your buyer uses SAP Ariba, Coupa, Oracle ERP Cloud, or Jaggaer, they will almost certainly require cXML.
  • If your buyer uses a legacy SAP ERP or SAP SRM system, or is based in Germany/Europe, they may require OCI.

Why Supporting Both is Crucial

If you only support cXML, you will lock yourself out of deals with buyers using SAP OCI. Conversely, if you only support OCI, you won’t be able to connect with the massive network of Coupa and SAP Ariba customers.

To maximize your B2B sales potential, your PunchOut infrastructure must be protocol-agnostic, capable of translating incoming requests from both formats and returning cart data in the format the buyer’s system expects.


How QuickPunchOut Simplifies the Choice

Building separate modules for both cXML and OCI is time-consuming and expensive.

QuickPunchOut acts as a universal translator. Our middleware handles the differences between cXML and OCI seamlessly. Your storefront only needs to talk to our gateway, and we handle the translation to whatever protocol your buyer requires.

Ready to connect to any ERP? Contact our integration specialists today.