01 / 03
Contract pricing per company location
Prices come straight from Shopify B2B catalogs. Each Ariba buyer sees the prices you negotiated, per company location, in the punchout session and again on the purchase order.
01 / 07
SHOPIFY × SAP ARIBA
Your biggest customer wants to order through SAP Ariba. Keep them ordering from your Shopify catalog at contract prices, without rebuilding anything.
02 / 07
THE GAP
Ariba enablement has a reputation, and it is earned. Real buyer documentation quotes 8 to 12 weeks for a punchout catalog to go live. Almost none of that is engineering. It is waiting: trading relationships, test realm credentials, catalog approvals crawling through your buyer's process.
PunchRelay covers the technical half in days. Your store gets a cXML endpoint, shared-secret validation, contract pricing mapped to Shopify B2B company locations, and the full document round trip from PunchOutSetupRequest to OrderRequest. For the waiting half, you get credential-redacted XML session logs you can hand to your buyer's IT team, which is the difference between one email loop and five.
One thing to price in before you commit: Ariba is the only major network that charges suppliers. The numbers are in the FAQ below, because finding out about the Silver subscription after go-live is the wrong way to learn about it.
↳ SOUNDS FAMILIAR?
03 / 07
THE ARTIFACT
<cXML payloadID="20260806.1@buyer.example.com">
<Request deploymentMode="production">
<PunchOutSetupRequest operation="create">
<BuyerCookie>7f2c-buyer-session</BuyerCookie>
<Extrinsic name="UserEmail">jane@buyer.example.com</Extrinsic>
<BrowserFormPost>
<URL>https://buyer.example.com/punchout/return</URL>
</BrowserFormPost>
</PunchOutSetupRequest>
</Request>
</cXML><PunchOutOrderMessage>
<BuyerCookie>7f2c-buyer-session</BuyerCookie>
<PunchOutOrderMessageHeader operationAllowed="edit">
<Total><Money currency="USD">1250.00</Money></Total>
</PunchOutOrderMessageHeader>
<ItemIn quantity="50">
<ItemID><SupplierPartID>SKU-4711</SupplierPartID></ItemID>
<ItemDetail>
<UnitPrice><Money currency="USD">25.00</Money></UnitPrice>
<Description xml:lang="en">Nitrile gloves, box of 100</Description>
</ItemDetail>
</ItemIn>
</PunchOutOrderMessage><Request>
<OrderRequest>
<OrderRequestHeader orderID="PO-10023" orderDate="2026-08-06" type="new">
<Total><Money currency="USD">1250.00</Money></Total>
<ShipTo><Address addressID="BER-01"/></ShipTo>
</OrderRequestHeader>
<ItemOut quantity="50" lineNumber="1">
<ItemID><SupplierPartID>SKU-4711</SupplierPartID></ItemID>
</ItemOut>
</OrderRequest>
</Request>Round trip
A punchout request opens the catalog. The cart returns to the buyer's system as a document. The purchase order that follows is checked against that cart and waits for your review. The XML is the product.
04 / 07
THE ROUND TRIP
Your buyer clicks your catalog in Ariba. Ariba sends a cXML PunchOutSetupRequest to the endpoint PunchRelay provisions for your store. We validate the shared secret against the buyer's network identity and map it to a Shopify B2B company location.
The buyer browses the PunchRelay catalog, with products and contract prices from the Shopify B2B catalog assigned to their company location.
On transfer, the cart posts back to Ariba as a cXML PunchOutOrderMessage: SKUs, quantities, unit prices, UNSPSC classifications. Quantity rules run before transfer, so the requisition matches what you will actually fulfill.
The cart becomes a requisition and works through the buyer's approval chain. The punchout session is complete and fully logged. Nothing on your side blocks while approvers do approver things.
cXML purchase orders are accepted durably, checked against the transferred cart and placed in the Purchase orders inbox in the PunchRelay app. Nothing is created in Shopify until someone on your team reviews the PO and clicks Create Shopify order. The order is then created unpaid, with payment pending, ready to fulfill. OCI returns a cart only; the purchase-order leg is agreed and tested separately for each buyer.
05 / 07
THE CHECKLIST
01 / 03
Prices come straight from Shopify B2B catalogs. Each Ariba buyer sees the prices you negotiated, per company location, in the punchout session and again on the purchase order.
02 / 03
Minimums, maximums and case increments from your B2B settings are enforced in the cart, before the PunchOutOrderMessage is sent. Fewer rejected requisitions in Ariba, fewer support emails.
03 / 03
Every cXML document is logged with credentials redacted, in and out. When your buyer's Ariba admin asks why a cart did not arrive, you answer with the actual PunchOutOrderMessage, not a guess.
Works with
06 / 07
Want the full fee math, with thresholds, tiers and the calendar cost? Ariba network fees for suppliers, explained.
07 / 07
READY
We are onboarding a small group of Shopify B2B merchants and building their first buyer connections with them. Tell us where to reach you.
THE ON-RAMP
A complete punchout readiness roadmap for your exact catalog, ERP, and buyer procurement systems before you commit to live deployment.
↳ NO SLIDE DECK