01 / 03
Prix contractuels par company location
Les prix viennent directement des catalogues B2B Shopify, par company location. Ce que l'acheteur voit dans la session punchout est ce qui figure sur le bon de commande.
01 / 07
SHOPIFY × COUPA
Les acheteurs Coupa configurent le punchout eux-mêmes, et Coupa ne facture rien aux fournisseurs. Nous donnons à votre boutique Shopify l'endpoint, les prix contractuels et le retour de panier qui fonctionne, tout simplement.
02 / 07
L'ÉCART
Coupa est l'enablement qu'on espère après avoir lu ce qui concerne Ariba. Pas de frais réseau fournisseur, pas de commission, pas de file de validation centralisée des catalogues. L'admin Coupa de votre client configure la connexion punchout lui-même, dans sa propre instance, souvent en une seule session.
Ce qu'il attend de vous tient sur une courte liste : une URL punchout, des identités From et To, un shared secret et des identifiants de test. PunchRelay génère tout cela pour votre boutique Shopify, sert la session punchout à vos prix contractuels B2B et renvoie le panier exactement comme Coupa l'attend. Les intégrateurs facturent 4 000 à 12 000 USD par connexion pour une plomberie que cette application embarque déjà.
↳ SOUNDS FAMILIAR?
03 / 07
L'ARTEFACT
<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>Aller-retour
Une requête punchout ouvre le catalogue. Le panier revient comme document dans le système du client. Le bon de commande qui suit est contrôlé contre ce panier et attend votre vérification. Le XML est le produit.
04 / 07
L'ALLER-RETOUR
Votre client clique sur votre catalogue dans Coupa. Coupa envoie une PunchOutSetupRequest cXML à l'endpoint provisionné par PunchRelay. Nous validons le shared secret et les identités, puis associons le client à sa company location Shopify B2B.
L’acheteur utilise le catalogue PunchRelay, avec les produits et prix contractuels du catalogue Shopify B2B affecté à sa company location.
Au transfert, le panier repart dans Coupa en PunchOutOrderMessage cXML : SKU, quantités, codes UNSPSC, prix unitaires. Les règles de quantité s'appliquent avant le transfert, pas après le rejet.
Le panier devient une demande d'achat dans le circuit de validation du client. Votre côté est terminé et logué. Si l'admin a des questions, le XML avec identifiants masqués y répond.
Les bons de commande cXML sont enregistrés durablement, comparés au panier transmis et déposés dans la boîte de réception « Purchase orders » de l'application PunchRelay. Rien n'est créé dans Shopify tant qu'une personne de votre équipe n'a pas vérifié le bon de commande et cliqué sur « Create Shopify order ». La commande est alors créée non payée, avec paiement en attente, prête à être expédiée. OCI transmet uniquement le panier ; le flux de commande est convenu et testé séparément pour chaque acheteur.
05 / 07
LA LISTE
01 / 03
Les prix viennent directement des catalogues B2B Shopify, par company location. Ce que l'acheteur voit dans la session punchout est ce qui figure sur le bon de commande.
02 / 03
Minimums, maximums et conditionnements s'exécutent dans le panier, avant le départ de la PunchOutOrderMessage. Les demandes d'achat arrivent dans Coupa déjà conformes à ce que vous livrez.
03 / 03
Chaque document entrant et sortant est logué avec identifiants masqués. Les admins Coupa configurent le punchout seuls, et quand ça coince, vous leur donnez la requête et la réponse exactes plutôt qu'un ticket de support.
Compatible avec
06 / 07
07 / 07
PRÊT
Nous accompagnons un petit groupe de marchands Shopify B2B et construisons leurs premières connexions acheteurs avec eux. Dites-nous où vous joindre.
THE ON-RAMP
A complete punchout readiness roadmap for your exact catalog, ERP, and buyer procurement systems before you commit to live deployment.
↳ PAS DE SLIDE DECK