Le punchout est l'aller-retour qui permet à un acheteur d'aller
chercher des articles dans le catalogue d'un fournisseur depuis son propre ERP,
puis de rapatrier le panier dans son outil de demande d'achat. SAP a normalisé
l'aller-retour côté ERP avec Open Catalog Interface (OCI) : un protocole
de formulaire HTTP POST très simple, où le catalogue renvoie les articles
sélectionnés sous forme de champs NEW_ITEM-*. Cette démo construit
en temps réel ce que la passerelle OCI enverrait à votre ERP, ainsi que
l'équivalent cXML PunchOutOrderMessage qu'Ariba utilise dans le
même rôle.
Catalogue de démonstration
Printer Ink Cartridge — Black, standard yield
24.90 EURErgonomic Office Chair with adjustable lumbar support
219.00 EURUSB-C to USB-C Cable — 2 m, USB 3.2 Gen 2
12.50 EURLaser Toner Cartridge — Black, XL yield ~10 000 pages
89.00 EURWireless Optical Mouse — 2.4 GHz USB receiver
15.90 EURA4 Copier Paper — 80 g/m², 500-sheet ream
4.50 EURWhiteboard Marker Set — 4 colours, dry-erase
7.80 EURMonitor Stand — Aluminium, fits 24" to 32" displays
34.00 EUR
Panier
Panier vide — ajoutez un article depuis le catalogue à gauche.
Sortie OCI (formulaire HOOK_URL)
<form method="POST" action="HOOK_URL">
<button type="submit">Return to procurement</button>
</form>Sortie cXML PunchOutOrderMessage
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.069/cXML.dtd">
<cXML payloadID="1783269347117.755737@ediverse.io.demo" timestamp="2026-05-14T12:00:00+00:00" xml:lang="en-US">
<Message>
<PunchOutOrderMessage>
<BuyerCookie>EDIVERSE-DEMO-COOKIE-1783269347117</BuyerCookie>
<PunchOutOrderMessageHeader operationAllowed="create">
<Total>
<Money currency="EUR">0.00</Money>
</Total>
</PunchOutOrderMessageHeader>
</PunchOutOrderMessage>
</Message>
</cXML>
Comment ça marche
- L'acheteur clique sur "Acheter sur catalogue X" depuis son ERP (SAP, Coupa, Ariba…).
- L'ERP redirige le navigateur vers l'URL du catalogue avec un paramètre
HOOK_URL— l'adresse à laquelle le panier doit revenir. - L'utilisateur navigue, ajoute des articles. Cette démo simule cette étape.
- À la validation, le catalogue génère un formulaire HTML POST vers
HOOK_URLcontenant tous les champsNEW_ITEM-*. C'est le contenu affiché à droite. - L'ERP reçoit le POST, parse les champs, crée une demande d'achat (purchase requisition).
OCI vs cXML
OCI et cXML jouent le même rôle, mais OCI utilise un formulaire HTTP plat
(form-encoded) tandis que cXML utilise un message XML structuré
(PunchOutOrderMessage). Beaucoup de catalogues fournissent les deux
pour s'adapter à l'ERP en face — SAP MM préfère OCI, Ariba préfère cXML.
Cette démo produit les deux à partir du même panier pour montrer la
correspondance ligne à ligne.
OCI 4.0 vs OCI 5.0
OCI 5.0 ajoute principalement la référence contrat
(NEW_ITEM-CONTRACT[i] et NEW_ITEM-CONTRACT_ITEM[i]) pour
rattacher la ligne à un cadre négocié, plus quelques champs additionnels
comme NEW_ITEM-EXT_QUOTE_ID. Le reste est identique à OCI 4.0,
qui reste largement déployé en production. La démo bascule entre les deux
versions et masque les champs spécifiques 5.0 quand vous sélectionnez 4.0.
Confidentialité
Cet outil tourne intégralement dans votre navigateur. Aucune donnée n'est envoyée à un serveur. Aucun cookie, aucun log.