cXML PunchOut

Sell to procurement teams, without leaving Shopify.

Large buyers order through a procurement system, not your storefront. cXML PunchOut lets them punch out from that system straight into your Shopify store, shop on their own B2B account pricing, and send the cart back as a purchase order. SAP OCI roundtrip works the same way.

Why it matters

Your biggest buyers never see your storefront.

Enterprise and government buyers raise orders inside procurement software for approvals and budget control. If you can't punch out, you are stuck emailing catalogues and rekeying their purchase orders by hand. PunchOut puts your live Shopify catalogue and their contract pricing right inside their system.

Punch out

Buyers shop your store from their system.

A buyer launches from their procurement platform straight into your Shopify store, so they browse your real catalogue instead of a static file.

  • cXML PunchOut supported.
  • SAP OCI roundtrip supported.
  • Your live Shopify catalogue.
Their pricing

Contract pricing, automatically.

The punchout session signs the buyer into their B2B account, so they see the negotiated pricing you already set for them, not list prices.

  • Auto sign-in by buyer email.
  • B2B company and location pricing.
  • Account codes mapped to your ERP.
Cart back as a PO

The cart returns as a purchase order.

When the buyer checks out, the cart is sent back to their system as a cXML order message, ready to become a purchase order and an order in Shopify and your ERP.

  • PunchOutOrderMessage returned.
  • Order request creates the order.
  • Every payload logged.
How the roundtrip flows

From procurement system to Shopify order and back.

PunchOut is a roundtrip: the buyer starts in their system, shops in yours, and the cart comes back to theirs as a purchase order.

1. Setup request

Their system requests a session.

The procurement platform posts a PunchOutSetupRequest. Pocketknife validates the sender identity and shared secret, then returns the start URL for your store.

2. Punchout session

The buyer lands signed in.

The buyer is auto signed in to your store on their B2B account and location, with their external account code mapped to your ERP account.

3. Shop

They build a cart at their pricing.

The buyer browses your live catalogue and builds a cart, with contract pricing applied exactly as it is for that account on your store.

4. Order message

The cart returns as a purchase order.

On checkout the cart is returned as a cXML PunchOutOrderMessage to their system. An order request can then create the order in Shopify and sync it to your ERP.

A better way to take procurement orders

PunchOut versus emailed catalogues and rekeying.

Without punchout, procurement orders mean PDF catalogues, manual quotes and someone rekeying a purchase order into your system.

Capability
Emailed catalogue
Manual rekeying
Pocketknife punchout
How buyers order
From a static PDF or spreadsheet.
Phone or email, then re-entered.
Punch out into your live Shopify store.
Pricing shown
Whatever was last sent.
Quoted by hand.
Their B2B contract pricing, automatically.
Getting the order in
Retyped from an email.
Retyped into the ERP.
Cart returns as a purchase order, no rekeying.
Errors
Wrong SKUs and prices.
Typos and missed lines.
Real catalogue and pricing, logged end to end.
cXML PunchOut FAQ

What to know about punchout on Shopify.

Answers for Shopify Plus B2B teams connecting cXML and SAP OCI procurement systems, with contract pricing on Shopify and orders mapped into ERPs like Pronto Xi, Business Central, Apparel21, ASW, Exact and Oracle E-Business Suite.

What is cXML PunchOut?

PunchOut lets a buyer's procurement system open your Shopify store, shop your live catalogue, and send the cart back to their system as a purchase order, all in one roundtrip.

Which procurement systems does it work with?

It works with cXML-compatible procurement systems, and SAP OCI roundtrip is also supported, so buyers using cXML or OCI can punch out to your store.

Do you support SAP OCI roundtrip?

Yes. Alongside cXML PunchOut, an OCI roundtrip endpoint lets SAP OCI procurement systems punch out and return the cart in the OCI format.

Do buyers see their contract pricing?

Yes. The punchout session signs the buyer into their B2B account and location, so the catalogue shows the contract pricing you already set for them on Shopify.

How does the order come back to us?

On checkout the cart is returned to the buyer's system as a cXML PunchOutOrderMessage. Their system can then send an order request that creates the order in Shopify.

Is the connection secure?

Yes. Each setup request is validated against a configured sender identity and shared secret before a punchout session is created, so only your approved buyers can connect.

Do orders reach our ERP?

Yes. Punchout orders map the buyer's account code to your ERP account, so the order can flow into ERPs like Pronto Xi or Business Central like any other B2B order.

Can each buyer map to the right account?

Yes. Each punchout configuration ties a sender identity to a specific Shopify customer and company location, so every buyer lands on the correct account.

What about account codes from their system?

External account codes from the procurement system can be mapped to your internal ERP account codes, so the order is coded correctly on the way in.

Does this need changes to our Shopify theme?

A small theme or app extension is added to your store to handle the punchout session and return the cart, which we set up as part of the integration.

Does it work with Shopify Plus B2B?

Yes. Punchout is built for Shopify Plus B2B, using company locations and B2B pricing so procurement buyers get the same account experience as your other B2B customers.

Who sets punchout up?

We configure the credentials, identities and account-code mapping for each buyer, so you get a working roundtrip without building cXML handling yourself.

Let procurement teams buy from your Shopify store.

We will set up cXML PunchOut or SAP OCI roundtrip for your buyers, with their contract pricing and account-code mapping, so their carts come back as clean purchase orders.

Talk through punchout