What Is cXML PunchOut?

cXML (Commerce eXtensible Markup Language) PunchOut is a protocol that lets enterprise buyers launch a shopping session from inside their procurement system, browse your catalog, add items to a cart, and return a structured order message — all without leaving their ERP workflow.

The buyer never creates an account on your store. Instead, their procurement system authenticates via a SharedSecret HMAC handshake, and your store serves a buyer-specific catalog session. When the buyer checks out, a cXML PunchOutOrderMessage is sent back to their system — ready for approval and PO creation.

Why PrestaShop 9 Needs a Dedicated Module

PrestaShop 9 does not include cXML PunchOut support out of the box. The protocol requires:

Building this from scratch 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.

Step-by-Step Setup with PunchOutHub

Step 1 — Install the Module

Upload the .zip file via PrestaShop Admin → Module Manager → Upload. The module installs and creates its database tables automatically. A file integrity manifest is sealed on first enable, protecting against tampering.

Step 2 — Activate Your License

Open Admin → PunchOut → Dashboard. Paste your license key (format: PO-STD.[payload].[signature]) and click Activate. The license is permanently bound to your domain — verified via RSA-SHA256 public key signature on every request.

Step 3 — Add Your First Buyer

Go to Admin → PunchOut → Buyers → Add New Buyer. Enter:

Step 4 — Share the Endpoint URL

PunchOutHub generates the endpoint URL automatically:

https://yourstore.com/module/punchouthub/punchout

For SAP Ariba (OCI), the catalog URL is separate:

https://yourstore.com/module/punchouthub/catalog

Send these to your buyer's procurement admin. For Oracle Fusion, they configure this in iProcurement → Procurement → Manage Stores. For SAP Ariba, it goes into the Ariba Network supplier profile.

Step 5 — Test with Postman

Before connecting your buyer's live system, test the full flow using Postman. Send a sample PunchOutSetupRequest to your endpoint and verify you receive a valid PunchOutSetupResponse with a session URL. PunchOutHub's diagnostic dashboard shows each request in real time — session open, items browsed, cart returned.

Step 6 — Go Live

Once Postman returns a 200 OK with a valid session URL, share the credentials with your buyer's IT team for production deployment. Most buyers are ready to test from their procurement system within a single business day.

Supported Platforms

PlatformProtocolTier Required
Oracle Fusion iProcurementcXML 1.2Standard +
SAP AribaOCIBusiness +
CoupacXML 1.2Business +
Jaggaer / SciQuestcXML 1.2Business +
Custom cXML endpointcXML 1.2Enterprise

Production Reference

A Thailand-based enterprise supplier runs PunchOutHub on PrestaShop 9 with over 1,000 active SKUs connected to Oracle Fusion iProcurement. Setup took quickly. The flow reduces manual order re-entry and improves procurement traceability.

Common Setup Issues

IssueCauseFix
Authentication failedSharedSecret mismatchVerify exact character match — case sensitive, no leading/trailing spaces
Session URL expiredBuyerCookie not echoed in PunchOutOrderMessageVerify PunchOutHub version is current
Blank page on redirectSSL certificate not trustedUse Cloudflare proxy (orange cloud ON) or CA-signed cert
License inactiveDomain mismatch between license and current domainContact hello@getpunchouthub.com for transfer

Frequently Asked Questions

How long does a basic PunchOut setup take?

A packaged PrestaShop module can be configured quickly, but buyer UAT depends on credentials, mapping, and buyer-side availability.

What should be prepared before testing?

Prepare HTTPS, buyer credentials, SharedSecret, allowed product catalog, UOM, currency, and support access to logs.

Does setup include product import?

Product import is separate from PunchOut protocol setup unless included in a service package.