Skip to main content
Buyerquest Community

Punchout To Supplier cXML - Punchout Setup Request (POSR) and Punchout Order Message (POOM)

This topic details the data elements for cXML Punchout Setup Requests (POSR) and Punchout Order Messages (POOM) to and from suppliers.

Punchout to Supplier - cXML (POSR)  

The Punchout Setup Request (POSR) is detailed below and specifies element name, location, and sample value. 

Element  Element Location Is Configurable Sample Element Value
<From>       <Credential domain=""> Navigate to Menu > Suppliers > Punchout Connections > Connections Information and add/update the From Credential Domain field Yes NetworkId
 <From>
        <Identity>{Element Value}</Identity>
Navigate to Menu > Suppliers > Punchout Connections > Connections Information and add/update the From ID field Yes MCDPUNCHOUT
<To>
      <Credential domain="">
Navigate to Menu > Suppliers > Punchout Connections > Connections Information and add/update the To Credential Domain field Yes NetworkId
<To>
        <Identity>{Element Value}</Identity>
Navigate to Menu > Suppliers > Punchout Connections > Connections Information and add/update the To ID field Yes 154484505
 <Sender>
      <Credential domain="">
  No (System Generated) NetworkId
<Sender>
        <Identity>{Element Value}</Identity>
       
Navigate to Menu > Suppliers > Punchout Connections > Connections Information and add/update the Sender ID field Yes MCDPUNCHOUT
<Sender>
        <SharedSecret>{Element Value}</SharedSecret>
Navigate to Menu > Suppliers > Punchout Connections > Connections Information and add/update the SharedSecret field Yes RRD2500
 <Sender>
      <UserAgent>{Element Value}</UserAgent>
  No (System Generated)  
 <PunchOutSetupRequest operation="{Element Value}">   No (System Generated)  
<PunchOutSetupRequest 
operation="create">
      <BuyerCookie>{Element Value}</BuyerCookie>
      
  No (System Generated) l8vjqubjj7abohgk6nlv3p8b83
<PunchOutSetupRequest operation="{Element Value}"> Navigate to Menu > Suppliers > Manage Punchout Connections > Edit a Connection (or create new) > Allow Cart Edit Yes Edit
<ItemOut quantity="2">
 <ItemID>
 <SupplierPartID>220-6338</SupplierPartID>
 <SupplierPartAuxiliaryID>
E000028901
 </SupplierPartAuxiliaryID>
 </ItemID>
  No (System Generated) For each item that was edited this element is added under 'SupplierSet up' element.The 'Quantity', 'ItemID', 'SupplierPartID', and 'SupplierPartAuxiliaryID' fields are also sent as shown
<PunchOutSetupRequest 
operation="create">
      <Extrinsic name="{Element Value}"></Extrinsic>
     
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Extrinsic section for the appropriate Element/Element Value.  Yes UserEmail
<PunchOutSetupRequest 
operation="create">
      <Extrinsic name="{Element Value}"/>
     
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Extrinsic section for the appropriate Element/Element Value. Yes UserId
<PunchOutSetupRequest 
operation="create">
      <Extrinsic name="{Element Value}"/>
     
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Extrinsic section for the appropriate Element/Element Value. Yes UniqueName
<PunchOutSetupRequest 
operation="create">
      <Extrinsic name="{Element Value}"/>
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Extrinsics section for the appropriate Element/Element Value. Yes OperatingUnit
<PunchOutSetupRequest 
operation="create">
      <BrowserFormPost>
         <URL>{Element Value}</URL>
   
  No (System Generated) https://uat.buyerquest.net/ middlemarch/punchoutclient/transactions/ cxmlresponse/
<PunchOutSetupRequest 
operation="">
      <Contact>
        <Name xml:lang="en-US">{Element Value}</Name>
       
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Contact section for the appropriate Element/Element Value. Yes ADMINISTRATOR SUPERUSER
<PunchOutSetupRequest 
operation="">
      <Contact>    
        <Email>{Element Value}</Email>
 
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Contact section for the appropriate Element/Element Value. Yes administrator@buyerquest.com
<PunchOutSetupRequest 
operation="">
     <SupplierSetup>
        <URL>{Element Value}</URL>
Navigate to Menu > Suppliers > Punchout Connections > Connections Information and add/update the Start Url field Yes https://testcustompoint.rrd.com/xs2/ orders/punchout?eventID=EVT_ARIBA_CXML_REQ
<PunchOutSetupRequest operation="">
     <ShipTo>
        <Address addressID="{Element Value}">
         
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Ship To section for the appropriate Element/Element Value. Yes 100000
<ShipTo>
        <Address addressID="100000">
          <Name xml:lang="en">{Element Value}</Name>
         
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Ship To section for the appropriate Element/Element Value. Yes Global Headquarters 
<ShipTo>
        <Address addressID="100000">
          <PostalAddress>
           
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Ship To section for the appropriate Element/Element Value. Yes  
<ShipTo>
        <Address addressID="100000">
            <DeliverTo>{Element Value}</DeliverTo>
 
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Ship To section for the appropriate Element/Element Value. Yes  
<ShipTo>
        <Address addressID="100000">
            <Street>{Element Value}</Street>
           
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Ship To section for the appropriate Element/Element Value. Yes 343 West Bagley Road
<ShipTo>
        <Address addressID="100000">
            <DeliverTo/>
            <City>{Element Value}</City>
           
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Ship To section for the appropriate Element/Element Value. Yes Cleveland
<ShipTo>
        <Address addressID="100000">
            <DeliverTo/>
            <State>{Element Value}</State>
           
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Ship To section for the appropriate Element/Element Value. Yes OH
<ShipTo>
        <Address addressID="100000">
            <DeliverTo/>
            <PostalCode>{Element Value}</PostalCode>
           
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Ship To section for the appropriate Element/Element Value. Yes 44017
<ShipTo>
        <Address addressID="">
            <DeliverTo/>
            <Country isoCountryCode="{Element Value}"></Country>
       
Navigate to Menu > Suppliers > Punchout Connections > POSR Configuration and add/edit the Ship To section for the appropriate Element/Element Value. Yes United States

Example Message 

<?xml version="1.0" encoding="UTF-8"?>

<cXML version="1.2.014" xml:lang="en-US" payloadID="1457709126.15279.6081@buyerquest.net" timestamp="2016-03-11T15:12:06+00:00">
  <Header>
    <From>
      <Credential domain="NetworkId">
        <Identity>MCDPUNCHOUT</Identity>
      </Credential>
    </From>
    <To>
      <Credential domain="NetworkId">
        <Identity>12345</Identity>
      </Credential>
    </To>
    <Sender>
      <Credential domain="NetworkId">
        <Identity>MCDPUNCHOUT</Identity>
        <SharedSecret>sharedsecret</SharedSecret>
      </Credential>
      <UserAgent>Buyerquest Punchout WebClient</UserAgent>
    </Sender>
  </Header>
  <Request>
    <PunchOutSetupRequest operation="create">
      <BuyerCookie>buyercookieidentifier</BuyerCookie>
      <Extrinsic name="UserEmail">administrator@buyerquest.com</Extrinsic>
      <Extrinsic name="UserId"/>
      <Extrinsic name="UniqueName"/>
      <Extrinsic name="OperatingUnit"/>
      <BrowserFormPost>
      </BrowserFormPost>
      <Contact>
        <Name xml:lang="en-US">ADMINISTRATOR SUPERUSER</Name>
        <Email>sampleadministrator@buyerquest.com</Email>
      </Contact>
      <SupplierSetup>
        <URL>https://testcustompoint</URL>
      </SupplierSetup>
      <ShipTo>
        <Address addressID="">
          <Name xml:lang="en"/>
          <PostalAddress>
            <DeliverTo/>
            <Street/>
            <Street/>
            <City/>
            <State/>
            <PostalCode/>
            <Country isoCountryCode="USA">United States</Country>
          </PostalAddress>
        </Address>
      </ShipTo>
    </PunchOutSetupRequest>
  </Request>
</cXML>

Punchout to Supplier - Punchout Order Message (POOM) from Supplier 

The Punchout Order Message (POOM) contains the shopping cart content that was created on the supplier PunchOut catalog site and consists of the Header and Message.

Flow Diagram for Punchout Order Message (POOM)

The diagram included here shows the process of how the supplier cXML Punchout O rder Message (POOM) is translated to items in a user's cart.

For the following process to complete successfully, the Punchout WebClient cXML Web Form must be enabled and set up to accept/map the proper elements and element values that are passed in the Punchout Order Message (POOM).   

Elements and Values in the Punchout Order Message

Element  Element Notes Sample Element Value
<From>       <Credential domain=""> This comes from the Punchout Setup Request (POSR)  NetworkId
 <From>
        <Identity>{Element Value}</Identity>
This comes from the POSR 1234567
<To>
      <Credential domain="">
This comes from the POSR NetworkId
<To>
        <Identity>{Element Value}</Identity>
This comes from the POSR MCDPUNCHOUT
 <Sender>
      <Credential domain="">
  DUNS
<Sender>
        <Identity>{Element Value}</Identity>
This comes from the POSR 1234567
 <Sender>
      <UserAgent>{Element Value}</UserAgent>
  @winXS 2.0
  <Message deploymentMode="{Element Value}" inReplyTo="{Element Value}"> System Generated  "test" "123456.6789@buyerquest.net"
<BuyerCookie>{Element Value}</BuyerCookie> System Generated 123abc
<PunchOutOrderMessageHeader operationAllowed="{Element Value}"> No (System Generated) edit
<PunchOutOrderMessageHeader operationAllowed="create">
      <Total>
           <Money currency="USD">{Element Value}</Money>
Code: Money Type: Product Attribute: List Price Code: currency Type: Text -500.00
<ItemIn quantity="{Element Value}">
     
Code: Quantity Type:  Quantity4Cart 1
<ItemID>   <SupplierPartID>{Element Value}</SupplierPartID> Code: SupplierPartID Type: Product Attribute: SKU 2031449A
<SupplierPartAuxiliaryID>{Element Value}</SupplierPartAuxiliaryID> Code: SupplierPartAuxiliaryID Type: Text X5477050001
<ItemDetail>
          <UnitPrice>
            <Money currency="{Element Value}">{Element Value}</Money>
          </UnitPrice>
Code: Money Type: Product Attribute: List Price Code: currency Type: Text USD -500.00
<ItemDetail>
          <Description xml:lang="{Element Value}">{Element Value}</Description>
Code: xml:lang Type: Text Code: Description Type: Product Attribute: Short Description "en" X5477050001 ARANIMALS
<ItemDetail>  <UnitOfMeasure>{Element Value} </UnitOfMeasure> Code: Unit of Measure Type: Text CT
<ItemDetail>     <Classification domain="UNSPSC">{Element Value}</Classification> Code: Classification  Type: Product Attribute: UNSPSC 55121613

Example Punchout Order Message

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.014/cXML.dtd">
<cXML version="1.2.014" xml:lang="en-US" timestamp=" 2016-03-09T13:06:12-06:00" payloadID=" 2016-03-09T13:06:12-06:00.punchout.middlemarch.com">
  <Header>
    <From>
      <Credential domain="NetworkId">
        <Identity>1234567</Identity>
      </Credential>
    </From>
    <To>
      <Credential domain="NetworkId">
        <Identity>Middlemarch</Identity>
      </Credential>
    </To>
    <Sender>
      <Credential domain="DUNS">
        <Identity>1234567</Identity>
      </Credential>
      <UserAgent>@middlemarch</UserAgent>
    </Sender>
  </Header>
  <Message deploymentMode="test" inReplyTo="12345.12345@buyerquest.net">
    <PunchOutOrderMessage>
      <BuyerCookie>i123abc</BuyerCookie>
      <PunchOutOrderMessageHeader operationAllowed="edit">
        <Total>
          <Money currency="USD">-500.00</Money>
        </Total>
      </PunchOutOrderMessageHeader>
      <ItemIn quantity="1">
        <ItemID>
          <SupplierPartID>1212aaa</SupplierPartID>
          <SupplierPartAuxiliaryID>3434ddd</SupplierPartAuxiliaryID>
        </ItemID>
        <ItemDetail>
          <UnitPrice>
            <Money currency="USD">-500.00</Money>
          </UnitPrice>
          <Description xml:lang="en">Legal pads </Description>
          <UnitOfMeasure>CT</UnitOfMeasure>
          <Classification domain="UNSPSC">1234567</Classification>
        </ItemDetail>
      </ItemIn>
    </PunchOutOrderMessage>
  </Message>
</cXML>