cXML Protocol

⚠️ Source Note: Extracted from TradeCentric vendor blog. Protocol definitions reflect industry-standard specifications. All promotional language stripped. Do not attribute to Justin King or B2BEA.

cXML (Commerce eXtensible Markup Language) is an XML-based protocol designed specifically for B2B procurement data exchange. It defines how eProcurement systems, eCommerce platforms, and ERP systems communicate purchasing documents — including PunchOut sessions, purchase orders, order confirmations, ship notices, and invoices.

Originally developed by Ariba in 1999, cXML is now the dominant protocol for connecting eProcurement platforms to supplier eCommerce sites.

Unknown block type "horizontal-rule", specify a component for it in the `components.types` option

What cXML Does

cXML is purpose-built for procurement. Where generic XML is a flexible markup language used across many industries, cXML adds procurement-specific Document Type Definitions (DTDs) that standardize how B2B purchasing documents are structured and transmitted.

Documents cXML supports:

  • PunchOut Setup Request / Response — initiates and authenticates a buyer session
  • PunchOut Order Message (POOM) — transfers cart from supplier back to buyer
  • Purchase Order (PO) — buyer sends approved order to supplier
  • PO Acknowledgement — supplier confirms receipt
  • Order Confirmation / Ship Notice (ASN) — supplier updates order status
  • Invoice — supplier submits electronic invoice to buyer

This makes cXML a full-lifecycle protocol, not just a catalog integration tool.

Unknown block type "horizontal-rule", specify a component for it in the `components.types` option

How cXML Works in a PunchOut Transaction

A typical PunchOut exchange using cXML:

Step 1 — PunchOut Setup Request
The buyer’s eProcurement system sends a cXML document to the supplier’s eCommerce site. It includes buyer credentials, organization identifiers, and session parameters. The supplier site validates this and creates an authenticated session.

Step 2 — PunchOut Setup Response
The supplier returns a cXML response containing the redirect URL. The eProcurement system redirects the buyer to this URL — they land on the supplier’s site, already logged in with their negotiated pricing.

Step 3 — PunchOut Order Message (POOM)
When the buyer clicks “Transfer Cart,” the supplier site sends a cXML POOM back to the eProcurement system. This document encodes the cart: product IDs, descriptions, quantities, UNSPSC codes, unit prices, currency, unit of measure. The eProcurement system converts this into a purchase requisition.

Unknown block type "horizontal-rule", specify a component for it in the `components.types` option

cXML vs. EDI

Both cXML and EDI are used for B2B electronic document exchange, but they serve different use cases and come from different eras:

cXML

EDI (X12)

Age

Developed 1999

Developed late 1960s

Scope

Procurement-specific

Broad (logistics, finance, supply chain, and more)

Complexity

Lower cost, simpler to implement

Complex, costly, requires specialized infrastructure

Extensibility

XML-based; extensible

Rigid; not designed for customization

Real-time interaction

Yes — designed for live eCommerce sessions

No — primarily batch processing

PunchOut support

Native

Not supported

ERP/eProcurement support

Supported natively in most modern platforms

Requires dedicated translation infrastructure

EDI remains the dominant protocol for high-volume, high-frequency reordering between large enterprise systems. cXML is the standard for eProcurement-to-eCommerce integration (PunchOut, catalog browsing, and the documents that follow).

Many B2B suppliers use both: EDI for existing large-account integrations, cXML for newer eProcurement connections.

Unknown block type "horizontal-rule", specify a component for it in the `components.types` option

cXML vs. OCI

OCI (Open Catalog Interface) is SAP’s proprietary alternative to cXML. It predates wider cXML adoption in SAP environments.

cXML

OCI

Origin

Ariba / industry standard

SAP proprietary

Scope

Full procurement lifecycle (PunchOut + PO + invoice + ASN)

PunchOut (catalog call + cart return) only

Automation beyond PunchOut

Yes — POs, invoices, ASNs

No

Cross-platform compatibility

Works across all major eProcurement platforms

Best suited for SAP environments

Extensibility

XML-based; adaptable

More rigid outside SAP

Suppliers selling to large SAP-centric buyers often need OCI support. cXML handles the rest of the market. See oci-punchout.

Unknown block type "horizontal-rule", specify a component for it in the `components.types` option

Why This Matters for Distributors and Manufacturers

For a mid-market distributor or manufacturer:

  • Enterprise buyers on Ariba, Coupa, or Jaggaer expect cXML PunchOut as a baseline capability
  • Without it, the supplier’s eCommerce site is effectively invisible to buyers locked inside their eProcurement system
  • Implementing cXML PunchOut is the single highest-leverage integration step for capturing enterprise account spend digitally