Dernière mise à jour :

Catalogue PunchOut pour Shopify B2B

Un catalogue PunchOut permet à vos plus gros clients d’acheter depuis leur propre système d’approvisionnement — Ariba, Coupa, Jaggaer, SAP — sans jamais en sortir. Ils basculent vers une session authentifiée sur votre boutique, composent un panier à leurs prix contractuels, et le renvoient en demande d’achat. Shopify Plus n’expose nativement ni cXML ni OCI : c’est donc un travail de middleware — et c’est ce travail qui détermine si les grands comptes peuvent commander chez vous.

Shopify Plus
Partenaire
DEPUIS 2014
Patchworks
Partenaire intégration
iPaaS
Sonepar
Lumen
EXPÉRIENCE OPÉRATIONNELLE
18+
Ans
EN COMMERCE B2B
01L'enjeu commercial
Pourquoi c'est décisif

Pourquoi un catalogue PunchOut gagne des comptes ?

Parce que pour un grand acheteur, acheter en dehors du système d’approvisionnement n’est tout simplement pas autorisé. Les acheteurs industriels, institutionnels et publics font transiter leurs dépenses par Ariba, Coupa, Jaggaer ou SAP parce que c’est là que vivent les chaînes d’approbation, les codes budgétaires et les pistes d’audit. Un fournisseur inatteignable depuis ce système n’est pas un fournisseur difficile : c’est un fournisseur hors procédure. La commande part chez celui qui est au catalogue.

C’est pourquoi le PunchOut apparaît dans les appels d’offres comme une exigence, pas comme une option. C’est aussi l’une des rares intégrations dont le chiffre d’affaires est directement attribuable : les comptes qu’elle débloque sont généralement les plus gros de la liste, et souvent inatteignables autrement. Si vous vendez en MRO, électricité, fournitures industrielles, laboratoire, services généraux ou marchés publics, une part de votre marché adressable vous est aujourd’hui invisible pour des raisons de protocole.

02Architecture
cXML et OCI

Comment fonctionne une intégration PunchOut ?

Quatre étapes, les mêmes quel que soit le protocole. Le système d’approvisionnement ouvre une session contre votre point de terminaison avec des identifiants désignant l’organisation acheteuse. Votre point de terminaison authentifie, résout cette organisation vers la bonne entreprise, le bon catalogue et la bonne liste de prix, et renvoie une URL de départ. L’acheteur compose son panier dans cette session authentifiée. À la fin, le panier est sérialisé et renvoyé au système d’approvisionnement sous forme de lignes de demande d’achat.

Le protocole décide du format sur le fil, pas de la forme. cXML — le standard d’Ariba, que parlent aussi Coupa et Jaggaer — utilise un PunchOutSetupRequest, un PunchOutSetupResponse et un PunchOutOrderMessage. OCI, le standard SAP, utilise des paramètres d’URL à l’aller et un formulaire HTML POST de champs nommés au retour. Prendre en charge les deux est courant pour un fournisseur à clientèle mixte, et le second point de terminaison coûte bien moins que le premier. Lorsque les prix contractuels vivent dans l’ERP, cela se branche sur la même couche d’intégration que nos travaux SAP et NetSuite.

03Sur Shopify
B2B natif plus middleware

Shopify Plus peut-il servir un acheteur PunchOut ?

Oui, avec du middleware — et Shopify Plus s’y prête mieux qu’il n’y paraît. Il n’existe ni point de terminaison cXML ou OCI natif, ni réglage pour en créer un : la couche protocolaire doit être construite. Mais la difficulté du PunchOut n’est pas le protocole. C’est d’exposer le bon catalogue, au bon prix, à la bonne organisation acheteuse, dans une session authentifiée. Shopify Plus modélise exactement cela, nativement, sous forme d’entreprises, de catalogues et de listes de prix.

Le middleware en fait donc moins qu’on ne le croit. Il termine la poignée de main, associe les identifiants d’approvisionnement de l’acheteur à une entreprise et un site Shopify, ouvre la session et sérialise le panier de retour. Le commerce — tarification, droits d’accès, stock, règles de checkout — reste dans Shopify Plus, à sa place. C’est la même répartition des rôles que celle de B2B Protocol, notre accélérateur éprouvé en production pour les flux B2B que Shopify ne couvre pas nativement.

04Là où ça dérape
Les modes de défaillance

Pourquoi les projets PunchOut dépassent leur budget ?

Rarement à cause du code. Trois causes expliquent l’essentiel des dépassements. Les calendriers de certification : chaque acheteur teste dans son propre bac à sable selon son propre agenda, et les files d’activation fournisseur d’Ariba et de Coupa ne se compriment pas. La préparation des données : la classification UNSPSC et un modèle d’unités de mesure qui survit à l’aller-retour manquent presque toujours, et on s’en aperçoit tard puisque rien sur votre propre boutique n’en a besoin.

Et le périmètre : les équipes livrent le PunchOut, puis apprennent que l’acheteur ne passera pas en production tant que le bon de commande ne peut pas revenir électroniquement — cXML OrderRequest ou EDI 850, généralement suivis des 855, 856 et 810. Le PunchOut fait sortir le panier ; le canal de bon de commande fait entrer la commande. Cadrez les deux dès le départ, même si vous les construisez en séquence. Nous planifions les intégrations comme des chantiers pairs de la boutique, la discipline décrite dans notre pratique plateforme et intégration.

06FAQ

Questions fréquentes

Qu’est-ce qu’un catalogue PunchOut ?

Un catalogue PunchOut est une boutique fournisseur que l’acheteur atteint depuis son propre système d’approvisionnement, et non depuis son navigateur. L’acheteur est dans Ariba, Coupa, Jaggaer ou SAP, clique sur votre nom dans sa liste de fournisseurs et arrive dans une session authentifiée sur votre boutique — déjà identifié, déjà tarifé à ses conditions contractuelles. Il constitue un panier, clique sur un bouton de retour, et le panier est transféré dans son système sous forme de demande d’achat. L’approbation s’y déroule, et un bon de commande vous revient. L’acheteur ne quitte jamais son processus, et vous n’avez aucun fichier de prix statique à maintenir chez lui. C’est la raison d’être du PunchOut : un catalogue hébergé est périmé le jour où on le dépose, alors qu’une session PunchOut lit les prix et les stocks en direct à chaque fois.

Quelle différence entre cXML et OCI ?

Ce sont les deux protocoles PunchOut dominants, et ils résolvent le même problème différemment. cXML — commerce eXtensible Markup Language, issu d’Ariba — est fondé sur XML : le système d’approvisionnement envoie un PunchOutSetupRequest contenant les identifiants et une URL de retour, votre point de terminaison répond par un PunchOutSetupResponse portant l’URL de session, et le panier terminé repart en PunchOutOrderMessage. C’est ce que parlent nativement Ariba, Coupa et Jaggaer. OCI — Open Catalog Interface, le standard de SAP — est plus simple et plus ancien : la poignée de main passe par des paramètres d’URL, et le panier revient sous forme de formulaire HTML POST de champs nommés plutôt que de document structuré. Aucun n’est plus difficile que l’autre, mais ils ne sont pas interchangeables : un fournisseur qui sert à la fois un acheteur Coupa et un acheteur SAP a besoin des deux points de terminaison. Cartographiez qui utilise quoi avant de construire.

Shopify gère-t-il le PunchOut nativement ?

Non, et autant le dire franchement. Shopify Plus offre un excellent B2B natif — comptes d’entreprise, catalogues, listes de prix, conditions de paiement, checkout B2B — mais ne fournit ni point de terminaison cXML ni OCI, et aucun réglage ne permet d’en activer un. Le PunchOut sur Shopify est un travail de middleware : un service qui termine la poignée de main du système d’approvisionnement, authentifie la session, associe l’acheteur à la bonne entreprise et au bon catalogue Shopify, l’envoie dans la boutique, puis sérialise le panier de retour en cXML ou en OCI. Les objets B2B natifs de Shopify rendent l’exercice raisonnable plutôt que pénible : le modèle entreprise / catalogue / liste de prix correspond presque directement à ce qu’une session PunchOut doit exposer. Le middleware fournit le protocole ; Shopify fournit le commerce.

Combien de temps prend une intégration PunchOut ?

Prévoyez 8 à 14 semaines pour un premier point de terminaison, et attendez-vous à ce que le calendrier, pas le code, dicte le rythme. La construction elle-même — poignée de main, authentification de session, périmètre catalogue, sérialisation du panier — est un travail bien cadré. Ce qui allonge le délai, c’est la certification : chaque acheteur teste la connexion dans son propre bac à sable, et c’est sa disponibilité, pas la vôtre, qui fixe la date. Ariba comme Coupa opèrent des processus d’activation fournisseur avec leurs propres files d’attente. Les acheteurs suivants sur le même protocole vont beaucoup plus vite, généralement deux à quatre semaines, puisque le point de terminaison existe déjà et que seuls changent les identifiants, le périmètre catalogue et le mappage tarifaire.

Qu’est-ce qu’un catalogue PunchOut doit exposer qu’une boutique normale n’expose pas ?

Quatre choses qu’une boutique grand public n’a aucune raison de porter. Les prix contractuels, résolus par organisation acheteuse au moment de la session et non au moment de la mise en cache. Le périmètre catalogue, pour qu’un acheteur ne voie que les références couvertes par son accord — un article hors contrat dans le panier est traité par les services achats comme un manquement de conformité, pas comme une commodité. Les codes de classification, généralement UNSPSC, parce que la demande d’achat et l’analyse de dépenses côté acheteur reposent dessus. Et un modèle d’unités de mesure qui survit à l’aller-retour, puisque les systèmes d’approvisionnement raisonnent dans les unités d’achat du client, pas dans vos unités de vente. Une erreur sur l’un de ces points et le panier revient, mais la demande d’achat échoue à la validation — le mode de défaillance le plus coûteux à diagnostiquer, puisqu’il se produit sur le système de quelqu’un d’autre.

Que se passe-t-il après le retour du panier ?

Le panier devient une demande d’achat, passe la chaîne d’approbation, et vous revient sous forme de bon de commande — et ce bon de commande est une intégration distincte, pas une partie du PunchOut. La plupart des grands acheteurs l’envoient en cXML OrderRequest ou en EDI 850, et attendent un accusé de réception. La même relation demande ensuite généralement un EDI 855 pour la confirmation de commande, un 856 pour l’avis d’expédition et un 810 pour la facturation. Beaucoup d’équipes cadrent le PunchOut seul, le livrent, puis découvrent que l’acheteur ne passera pas en production tant que le canal de bon de commande n’existe pas. Cadrez les deux dès le départ, même si vous les construisez en séquence.

Faut-il un PunchOut ou un catalogue hébergé ?

Le catalogue hébergé — un fichier de prix déposé dans le système de l’acheteur — coûte moins cher à démarrer et davantage à vivre. Chaque changement de prix et chaque ajout de produit devient un échange de fichier, le stock n’est jamais représenté, et les produits configurables ou fabriqués sur commande ne peuvent tout simplement pas s’exprimer. C’est pertinent pour une gamme courte, stable et peu profonde. Le PunchOut se justifie dès que votre catalogue bouge, que les prix sont négociés par compte, que le stock compte dans la décision d’achat, ou que l’acheteur veut chercher et comparer plutôt que parcourir un tableur. Le test honnête : si l’état de votre fichier hébergé trois mois après le dépôt vous gênerait, il vous faut un PunchOut.

Parlons-en

Quels acheteurs vous réclament un PunchOut ? Cadrons-le.