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
The punchout process follows these steps:
- Initiation: A user working in their procurement system selects a supplier to punch out to
- Authentication: The procurement system sends credentials and user details to the supplier's system
- Shopping: The user is redirected to the supplier's catalog in a seamless experience
- Cart Creation: The user selects products and adds them to their cart
- Checkout: When ready, the user clicks "Return to Procurement System"
- Data Transfer: The cart data is formatted according to the protocol (cXML or OCI) and sent back to the procurement system
- Order Processing: The user continues with the procurement system's approval workflow
Supported Punchout Protocols
Our system supports two main punchout protocols:
- cXML (Commerce eXtensible Markup Language): Used by systems like Coupa, Ariba, and Jaggaer
- 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 Field | Supplier Field | Description |
---|---|---|
quantity | (Provided by buyer) | Quantity selected by the buyer during shopping |
ItemID/SupplierPartID | SKU | The supplier's stock keeping unit identifier |
ItemID/SupplierPartAuxiliaryID | product_identifier or variant_identifier | Product 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/Description | name | The name field of the product or variant |
ItemDetail/Description/language | (User preference) | The language the user viewed the product in |
ItemDetail/UnitOfMeasure | unit_label | The unit of measure for the product |
ItemDetail/Classification | UNSPSC code | The UNSPSC classification code |
ItemDetail/ManufacturerName | manufacturer | The manufacturer's name |
ItemDetail/ManufacturerPartID | MPN code | The manufacturer's part number |
ItemDetail/LeadTime | lead_time_days | Estimated 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 Field | Supplier Field | Description |
---|---|---|
Total/Money/Currency | (Calculated) | Currency calculated from the price rules |
Total/Money | (Calculated) | Total price calculated from all items in cart |
Shipping | 0 | Not specified, 0 is sent by default |
Tax | 0 | Not specified, price rules are tax inclusive, 0 is sent |
5.2 Mapping of Supplier Data to OCI Fields
OCI Field | Supplier Field | Description |
---|---|---|
NEW_ITEM-DESCRIPTION[n] | name | Product 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] | sku | Supplier's SKU (truncated to 35 characters) |
NEW_ITEM-MANUFACTMAT[n] | mpn | Manufacturer's part number |
NEW_ITEM-MATGROUP[n] | "31000000" | Default material group |
NEW_ITEM-VENDOR[n] | vendor_number | Supplier identifier in the SAP system |
NEW_ITEM-CONTRACT[n] | contract_number | Contract reference if applicable |
NEW_ITEM-EXT_SCHEMA_TYPE[n] | "UNSPSC" | Classification schema |
NEW_ITEM-EXT_CATEGORY_ID[n] | UNSPSC code | Product category code |
NEW_ITEM-LEADTIME[n] | lead_time_days | Delivery lead time in days |
Configuration Requirements
To properly set up punchout, procurement administrators need to:
- Establish credentials with the supplier
- Configure the connection in the procurement system
- Set up user access permissions
- Test the connection in a non-production environment
- 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.
Related Pages
- Punchout Integration - Technical integration details
- Supplier Punchouts - Configuration settings