Skip to main content

Punchout Process Overview

This document explains how the punchout process works in a procurement context, including the user flow and data mappings.

What is Punchout?

Punchout is a procurement technology that allows buyers to access a supplier's catalog from within their procurement system. When a user "punches out" to a supplier, they can browse products, configure options, and add items to their cart. Once finished, the cart data is transferred back to the procurement system where the purchase approval process continues.

Punchout User Journey

Diagram showing the punchout process flow

The punchout process follows these steps:

  1. Initiation: A user working in their procurement system selects a supplier to punch out to
  2. Authentication: The procurement system sends credentials and user details to the supplier's system
  3. Shopping: The user is redirected to the supplier's catalog in a seamless experience
  4. Cart Creation: The user selects products and adds them to their cart
  5. Checkout: When ready, the user clicks "Return to Procurement System"
  6. Data Transfer: The cart data is formatted according to the protocol (cXML or OCI) and sent back to the procurement system
  7. Order Processing: The user continues with the procurement system's approval workflow

Supported Punchout Protocols

Our system supports two main punchout protocols:

  1. cXML (Commerce eXtensible Markup Language): Used by systems like Coupa, Ariba, and Jaggaer
  2. OCI (Open Catalog Interface): Used by SAP and other ERP systems

Data Mapping Details

5.1 Mapping of Supplier Data to cXML Punchout Data

Items

Punchout FieldSupplier FieldDescription
quantity(Provided by buyer)Quantity selected by the buyer during shopping
ItemID/SupplierPartIDSKUThe supplier's stock keeping unit identifier
ItemID/SupplierPartAuxiliaryIDproduct_identifier or variant_identifierProduct identifier for simple products, variant identifier for product variants
ItemDetail/UnitPrice(Calculated)Price determined by price rules and resolved accordingly
ItemDetail/UnitPrice/Currency(Calculated)Currency determined by price rules based on user's location/preferences
ItemDetail/DescriptionnameThe name field of the product or variant
ItemDetail/Description/language(User preference)The language the user viewed the product in
ItemDetail/UnitOfMeasureunit_labelThe unit of measure for the product
ItemDetail/ClassificationUNSPSC codeThe UNSPSC classification code
ItemDetail/ManufacturerNamemanufacturerThe manufacturer's name
ItemDetail/ManufacturerPartIDMPN codeThe manufacturer's part number
ItemDetail/LeadTimelead_time_daysEstimated delivery time in days
ItemDetail/Extrinsic[name="ImageURL"]image_url[0]The first image URL in the array if available
ItemDetail/Extrinsic[name="CAS"](If applicable)Chemical Abstract Service registry number for chemical products

Orders

Punchout FieldSupplier FieldDescription
Total/Money/Currency(Calculated)Currency calculated from the price rules
Total/Money(Calculated)Total price calculated from all items in cart
Shipping0Not specified, 0 is sent by default
Tax0Not specified, price rules are tax inclusive, 0 is sent

5.2 Mapping of Supplier Data to OCI Fields

OCI FieldSupplier FieldDescription
NEW_ITEM-DESCRIPTION[n]nameProduct name (truncated to 40 characters)
NEW_ITEM-QUANTITY[n](Provided by buyer)Quantity selected by the buyer
NEW_ITEM-UNIT[n]unit_label (mapped)Unit of measure code appropriate for SAP
NEW_ITEM-PRICE[n](Calculated)Unit price based on price rules
NEW_ITEM-TAX[n](Calculated)Tax amount if applicable
NEW_ITEM-CURRENCY[n](Calculated)Currency code based on price rules
NEW_ITEM-VENDORMAT[n]skuSupplier's SKU (truncated to 35 characters)
NEW_ITEM-MANUFACTMAT[n]mpnManufacturer's part number
NEW_ITEM-MATGROUP[n]"31000000"Default material group
NEW_ITEM-VENDOR[n]vendor_numberSupplier identifier in the SAP system
NEW_ITEM-CONTRACT[n]contract_numberContract reference if applicable
NEW_ITEM-EXT_SCHEMA_TYPE[n]"UNSPSC"Classification schema
NEW_ITEM-EXT_CATEGORY_ID[n]UNSPSC codeProduct category code
NEW_ITEM-LEADTIME[n]lead_time_daysDelivery lead time in days

Configuration Requirements

To properly set up punchout, procurement administrators need to:

  1. Establish credentials with the supplier
  2. Configure the connection in the procurement system
  3. Set up user access permissions
  4. Test the connection in a non-production environment
  5. Monitor the first few transactions in production

Troubleshooting

Common issues with punchout include:

  • Authentication failures
  • Data mapping problems
  • Browser issues (cookies, pop-up blockers)
  • Network connectivity problems

If you encounter issues with the punchout process, check our supplier-punchouts page for configuration details or contact support.

Last updated on Apr 7, 2025 by aaroncueckermann