cXML Level 2 PunchOut


The cXML Level 2 PunchOut standard enables buying organizations to search for and find PunchOut items within their procurement application, instead of having to search each suppliers' site directly. Level 2 makes suppliers’ products more accessible to buying organizations, increases the visibility of suppliers' products, and increases visits to suppliers' PunchOut sites. When the shopper finds an item they are interested in, they PunchOut directly to the item on the suppliers PunchOut site.

In order to be capable of Level 2 PunchOut, a PunchOut site must support redirecting users to a product details page upon PunchOut.

How it works

  1. Shopper searches catalogs in procurement system

  2. Finds item in suppliers index catalog

  3. Punches out to punchout site - directly to selected item

  4. Adds item to shopping cart

  5. Returns cart to procurement System

Index Catalog

Level 2 PunchOut requires an index catalog that contains product information that can be searched in a buyers e-procurement system. The index file differs from a traditional product catalog in that it typically does not contain pricing.

The requirements for the index files vary by procurement provider.

Level 2 PunchOutSetupRequest

Level 2 PunchOut allows users to punchout to a suppliers website and be taken directly to a product page on the suppliers website.

To implement this functionality, a field is added to the cXML PunchOutSetupRequest that includes a unique identifier representing the product the user wants to view on the suppliers site. The unique identifiers passed will be the supplier part number (SupplierPartID) and the supplier part aux id (SupplierPartAuxiliaryID) from the index file. The supplier part auxiliary id is optional and will only be passed if it is present in the index file.

If the SelectedItem node is not present in the cXML PunchOutSetupRequest, the punchout request will be handled normally and take the user to the home page of the punchout site.

Example Level 2 PunchOutSetupRequest

<?xml version="1.0" encoding="UTF-8"?>
<cXML payloadID="" timestamp="2018-04-07T16:16:48-04:00">
    <!-- Credentials go here -->
  <Request deploymentMode="production">
    <PunchOutSetupRequest operation="create">
      <!-- -->