The Short Answer

cXML PunchOut is a protocol that lets enterprise buyers shop your B2B online store from inside their procurement system, then return cart contents as a structured purchase order request — without ever leaving their ERP workflow.

cXML stands for commerce eXtensible Markup Language, an open XML-based standard maintained by Ariba and adopted across Oracle, Coupa, Jaggaer, and many other enterprise procurement platforms. PunchOut is the specific cXML use case for catalog shopping.

The Buyer's Perspective

A procurement officer at a large company opens their internal procurement system — Oracle Fusion iProcurement, SAP Ariba, Coupa, or Jaggaer. They need to order industrial parts, IT hardware, lab supplies, or office equipment.

Inside their procurement UI, they see a list of approved suppliers with "Shop" links. They click your store's link, and instead of being redirected to your homepage, they land directly inside your B2B catalog with their negotiated pricing applied. They browse, add items to cart, and click "Return to ERP" or similar.

What happens next is the magic of PunchOut: the cart never becomes an order on your store. Instead, the cart contents are serialized into a cXML PunchOutOrderMessage and POSTed back to their procurement system. Their internal approval workflow takes over from there.

Why Enterprises Demand PunchOut

Large enterprises run procurement systems to enforce:

If suppliers can't integrate via PunchOut, the buyer faces a difficult choice: either manually re-key every order (slow, error-prone, audit nightmare) or stop buying from the supplier altogether. Most large enterprises eventually choose the second option.

The PunchOut Flow Explained

A complete PunchOut transaction has six steps:

  1. Buyer launches PunchOut. Inside their procurement system, the buyer clicks "Shop" next to your supplier name.
  2. Procurement system sends PunchOutSetupRequest. An XML document with the buyer's identity, your SharedSecret, and a unique BuyerCookie session identifier.
  3. Your store validates and responds. Authentication via SharedSecret HMAC; if valid, your store creates a session and returns a PunchOutSetupResponse with a one-time URL.
  4. Buyer browses your catalog. Their browser is redirected to the session URL. They see your B2B store with their negotiated pricing.
  5. Buyer checks out. Instead of paying, the cart is converted into a cXML PunchOutOrderMessage.
  6. Cart returns to procurement system. Your store POSTs the order message back to the buyer's ERP. Their approval workflow takes over.

cXML vs OCI vs EDI — Which Does Your Buyer Use?

ProtocolUsed ByFormat
cXML 1.2Oracle Fusion, Coupa, Jaggaer, SciQuestXML over HTTPS
OCISAP Ariba (primary), SAP Business SuiteHTTP form POST
EDI X12 850Legacy enterprise (purchase orders only)Fixed-position text
EDIFACT ORDERSEuropean/global enterprise (POs)Fixed-position text

For interactive catalog shopping, the relevant protocols are cXML and OCI. EDI is generally used for transactional documents (purchase orders, invoices) — not catalog browsing.

What You Need to Support PunchOut

Adding PunchOut support to a B2B store requires:

Building this from scratch on PrestaShop typically takes 200–400 hours of development. PunchOutHub implements all of this as a native PrestaShop 9 module — installed in minutes, configured from the admin panel.

When Should You Add PunchOut?

Add PunchOut support when:

For many suppliers, the cost of adding PunchOut is recovered by retaining one enterprise buyer that requires procurement-system integration.

Common Misconceptions

MythReality
"PunchOut is only for huge suppliers"Mid-sized B2B suppliers are the largest adopters — they have one or two enterprise accounts that demand it
"It requires a custom ERP integration"PunchOut is a standard protocol; a working module handles 95% of cases
"It costs hundreds of thousands"Custom development often starts much higher than a packaged module. PunchOutHub provides a lower-cost PrestaShop-native path.
"Only Oracle uses cXML"Oracle, Coupa, Jaggaer, SciQuest, and many others use cXML 1.2
"It only handles ordering"PunchOut handles the catalog browsing flow; orders are returned as structured XML

Frequently Asked Questions

What is cXML PunchOut in simple terms?

It lets a buyer open a supplier's live catalog from inside a procurement system, choose products, and return the cart as structured XML.

Does PunchOut replace checkout?

Yes for the PunchOut session. The supplier site returns the cart to procurement instead of taking payment on the website.

Which suppliers need PunchOut?

Suppliers selling to enterprise buyers that use Oracle, Coupa, Jaggaer, SAP Ariba, or similar procurement systems often need PunchOut.