Catalogues Punchout
Les catalogues Punchout utilisent cXML et créent un lien direct entre l'instance Coupa du client et le site de commerce électronique du fournisseur.
Introduction
Avec un punchout, les utilisateurs de Coupa suivent un lien vers le site de commerce électronique du fournisseur, où ils font leurs achats normalement. Lorsqu'un utilisateur passe à la caisse, il est ramené à Coupa, avec les articles qu'il a choisis dans son panier Coupa. Les utilisateurs peuvent ensuite soumettre une demande dans Coupa, en utilisant les articles, les coûts et les détails du site Web du fournisseur.
Avantages pour l'acheteur
- Faible effort de mise en place et de maintenance
- Tous les articles proposés par le vendeur sont disponibles à l'achat
- Configuration/personnalisation facile d'articles tels que des ordinateurs portables ou des cartes de visite
Avantages pour les fournisseurs
- Modifications immédiates des articles du catalogue
- Pas besoin de maintenir des catalogues pour différents clients
Si vous envisagez de mettre en œuvre un punchout, vous devrez remplir le questionnaire fournisseur Coupa cXML et le remettre à votre client.
Comment ça marche
Vous devrez configurer votre punchout pour reconnaître les utilisateurs de Coupa. Vous devrez également être configuré dans Coupa et avoir un contrat avec votre client. Avant que votre client puisse vous configurer, vous devrez fournir à votre client les informations suivantes :
Article | Description |
---|---|
Logo de l'entreprise | Le logo agira comme un lien vers votre punchout. Il apparaîtra sur l'écran d'accueil de Coupa dans la section Boutique en ligne. L'image doit être au format JPG ou PNG d'une taille de 150 x 50 pixels. |
URL de Punchout | L'URL de routage complète requise pour recevoir des bons de commande dans Coupa. |
Domaine et identité du client | Généralement un DUNS ou NetworkID. |
Domaine et identité du fournisseur | Généralement un DUNS ou NetworkID. |
Secret partagé | Un mot de passe qui valide l'acheteur chez le fournisseur. Ceci est un justificatif d'identité requis. |
Une fois que vous avez fourni les informations de punchout, votre client peut configurer le punchout dans Coupa.
Normalement, les fournisseurs fournissent deux ensembles d'informations : un ensemble pour les tests et un ensemble pour la production.
La séquence de punchout de base est la suivante :
- Lorsqu'un utilisateur de Coupa clique sur le lien punchout du fournisseur, Coupa envoie un document cXML PunchoutSetupRequest contenant l'ID de l'acheteur (From, Sender et SharedSecret).
- Le punchout authentifie l'utilisateur et renvoie un document cXML PunchoutSetupResponse avec l'URL de la page de destination.
- Lorsque l'utilisateur sort, le punchout envoie un document cXML PunchoutOrderMessage à Coupa, avec les articles que l'utilisateur a ajoutés à son panier.
- Coupa crée une demande à partir des informations contenues dans le message de commande.
CXML pris en charge
document cXML | Description |
---|---|
PunchOutSetupRequest |
Inclure les éléments suivants :
Nous prenons en charge la création et l'inspection uniquement. |
PunchOutSetupResponse |
Publiez votre cXML à nouveau sur Coupa lorsque vous recevez PunchOutSetupRequest . Ce document comprend l'URL de la page de destination. |
PunchOutOrderMessage |
Publiez votre cXML <BrowserFormPost> dans PunchoutSetupRequest . |
terme cXML | Définition |
---|---|
<BuyerCookie> |
La première fois qu'un utilisateur se rend sur le site de punchout d'un fournisseur, Coupa crée un BuyerCookieID unique à chaque combinaison de site de punchout utilisateur et fournisseur. Cette valeur ne change jamais. Le BuyerCookieID est utilisé pour valider que lorsque l'utilisateur quitte le site de punchout du fournisseur et retourne à Coupa avec le PunchOutOrderMessage, le BuyerCookieID correspond à ce qui a été envoyé dans le cadre du PunchOutSetupRequest. Ce champ n'est pas passé dans le bon de commande (alias : OrderRequest ). |
<cXML Payload ID> |
Un ID Les fournisseurs n'ont pas besoin de Les fournisseurs doivent faire référence L'ID |
<SupplierPartAuxiliaryID> |
Il s'agit d'une balise facultative au niveau de l'élément de ligne Les fournisseurs peuvent transmettre n'importe
|
Exemples
Exemple de demande de configuration de punchout
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.014/cXML.dtd">
<cXML xml:lang="en-US" payloadID="1591126611.9325364@stg1302app4.int.coupahost.com" timestamp="2020-06-02T14:36:51-05:00">
<Header>
<From>
<Credential domain="DUNS">
<Identity>COUPA1</Identity>
</Credential>
</From>
<To>
<Credential domain="DUNS">
<Identity>079928354</Identity>
</Credential>
</To>
<Sender>
<Credential domain="DUNS">
<Identity>COUPA1</Identity>
<SharedSecret>ALD</SharedSecret>
</Credential>
<UserAgent>Coupa Procurement 1.0</UserAgent>
</Sender>
</Header>
<Request>
<PunchOutSetupRequest operation="create">
<BuyerCookie>99ea3c4c8cf9f6dc905a6b6772daa0d1</BuyerCookie>
<Extrinsic name="FirstName">Mary Anne</Extrinsic>
<Extrinsic name="LastName">Krzeminski</Extrinsic>
<Extrinsic name="UniqueName">maryanne.krzeminski@coupa.com</Extrinsic>
<Extrinsic name="UserEmail">maryanne.krzeminski@coupa.com</Extrinsic>
<Extrinsic name="User">maryanne.krzeminski@coupa.com</Extrinsic>
<Extrinsic name="BusinessUnit">COUPA</Extrinsic>
<BrowserFormPost>
<URL>https://mwilczek-demo.coupacloud.com/punchout/checkout?id=2</URL>
</BrowserFormPost>
<Contact role="endUser">
<Name xml:lang="en-US">maryanne.krzeminski@coupa.com</Name>
<Email>maryanne.krzeminski@coupa.com</Email>
</Contact>
<SupplierSetup>
<URL>https://uttest.free.beeceptor.com</URL>
</SupplierSetup>
</PunchOutSetupRequest>
</Request>
</cXML>
Exemple de réponse de configuration de Punchout
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.1.010/cXML.dtd">
<cXML version="1.1.007" xml:lang="en-US" payloadID="200303450803006749@b2b.euro.com" timestamp="2020-06-02T14:36:53-05:00">
<Response>
<Status code="200" text="OK" />
<PunchOutSetupResponse>
<StartPage>
<URL>https://mygreatpunchoutsite.com/punchoutLogin.asp</URL>
</StartPage>
</PunchOutSetupResponse>
</Response>
</cXML>
Exemple de message de commande Punchout
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.014/cXML.dtd">
<cXML payloadID="9949494@cxml.Comergent.com" xml:lang="en-US" timestamp="--T+00:00" version="1.2.0.14">
<Header>
<From>
<Credential domain="NetworkID">
<Identity />
</Credential>
</From>
<To>
<Credential domain="NetworkId">
<Identity>user@coupa.com</Identity>
</Credential>
</To>
<Sender>
<Credential domain="NetworkID">
<Identity />
</Credential>
<UserAgent />
</Sender>
</Header>
<Message deploymentMode="production">
<PunchOutOrderMessage>
<BuyerCookie>f5d75ddbc9e75b6346b36ee5c28c5e8b</BuyerCookie>
<PunchOutOrderMessageHeader operationAllowed="edit" quoteStatus="final">
<Total>
<Money currency="USD">271,88</Money>
</Total>
<Shipping>
<Money currency="USD">0,00</Money>
<Description xml:lang="en-US">Inconnu</Description>
</Shipping>
<Tax>
<Money currency="USD">21,88</Money>
<Description xml:lang="en-US">Inconnu</Description>
</Tax>
</PunchOutOrderMessageHeader>
<ItemIn quantity="1">
<ItemID>
<SupplierPartID>AM2692</SupplierPartID>
<SupplierPartAuxiliaryID>A_B :5008937A_B :</SupplierPartAuxiliaryID>
</ItemID>
<ItemDetail>
<UnitPrice>
<Money currency="USD">250,00</Money>
</UnitPrice>
<Description xml:lang="en-US">ANTI-RNase (15-30 U/ul)</Description>
<UnitOfMeasure>EA</UnitOfMeasure>
<Classification domain="UNSPSC">41106104</Classification>
<ManufacturerPartID>AM2692</ManufacturerPartID>
<ManufacturerName xml:lang="en">Acme Inc.</ManufacturerName>
<ManufacturerName />
<LeadTime>0</LeadTime>
</ItemDetail>
</ItemIn>
</PunchOutOrderMessage>
</Message>
</cXML>