Chrome 80 breaks PunchOut

Update: Google is delaying the change to the SameSite cookies until the week of February 17th, 2020. Additional information is available here. Google is scheduled to release Chrome version 80 on February 4th, 2020 which includes changes to the way cookies work. Many PunchOut sites will stop working in Chrome 80 until eProcurement systems and PunchOut sites are updated. Background Cookies are the de facto standard for managing sessions on websites. Read more →

New cXML Tools

We are excited to launch a number of updates to including two new tools for working with cXML. cXML Order Tester Similar to the cXML PunchOut Tester, the Order Tester allows you to place cXML orders. The orders can be built using our order form or by entering cXML directly (which can than be modified using the order form). This tool is especially useful for testing exception handling in applications receiving cXML orders. Read more →

Chrome 80 & PunchOut Remediation Guide

Recommendations for PunchOut Sites PunchOut sites may stop functioning properly in Chrome 80 if they are embedded in a frame by the eProcurement system. When a PunchOut site is embedded in a frame, it will no longer be able to set cookies unless a SameSite=None attribute is added to the cookies. Assuming the eProcurement application is unable to remove the frame around the PunchOut site, one of the options below will need to be implemented. Read more →

cXML Enhancement Proposal: Extend eProcurement Session during a cXML PunchOut Session

Title Extend eProcurement Session during a cXML PunchOut Session Status Draft Version 1.0.0 Authors Edward Potocko <> Problem Users shopping at PunchOut sites for extended periods of time may experience a session timeout in their eProcurement application. Workarounds There are a few common workarounds for preventing session timeouts in the eProcurement application. Increase the session timeout when a user is punched out to a large period of time. This may compromise the security of the application. Read more →

cXML Enhancement Proposal: PunchOut Return Link

Title cXML PunchOut Return Link Status Draft Version 1.0.0 Authors Edward Potocko <> Problem Users need a way to easily return to their eProcurement application when punched out a site. Some PunchOut sites have a "Sign Out" or "Return" link in the header that sends an empty cart back to the eProcurement application as a method of getting the user back. This behavior is not consistent across all PunchOut sites. Read more →

cXML Enhancement Proposals

The following proposals are for enhancements to the cXML standard. They are intended to enhance cXML through the use of Extrinsic elements while still resulting in XML that is valid per the official cXML DTD’s. These proposals may be deprecated in the future if SAP/Ariba adds functionality to cXML that solves the problems addressed by these enhancements. PunchOut Return Link Extend eProcurement Session during a cXML PunchOut Session Read more →

cXML Examples

cXML OrderRequest The sample files below are based on real orders from the specified eProcurement systems. Coupa (2019) PeopleSoft 8.55.15 Workday (2019) cXML ConfirmationRequest The sample files below are based on real order confirmations from the specified suppliers or eCommerce systems. Amazon (2019) EqualLevel GO (2019) Read more →

cXML Level 2 PunchOut

Overview 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. Read more →

cXML Order Confirmations

ConfirmationRequest The cXML ConfirmationRequest document is used to confirm receipt of an order and provide additional information about the status of the order. The ConfirmationRequest document is typically sent from the supplier’s eCommerce/ERP system to the buyer’s eProcurement system. The ConfirmationRequest and child elements are defined in cXML Fulfill.dtd rather than the cXML.dtd. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE cXML SYSTEM ""> <cXML payloadID="" timestamp="2019-01-01T12:34:56+00:00"> <Header> <!-- credentials go here --> </Header> <Request> <ConfirmationRequest> <ConfirmationHeader confirmID="7890" operation="new" type="detail" noticeDate="2019-01-01T12:34:56+0000"> <! Read more →

cXML Orders

OrderRequest The cXML OrderRequest document is used for sending orders from eProcurement systems to eCommerce systems. The requests are sent from the eProcurement server to the eCommerce server over HTTP(S). Each cXML OrderRequest document consists of header information (OrderRequestHeader) and a series of items (ItemOut). The cXML[@payloadID] should be stored in both the eProcurement and eCommerce systems so it can be referenced by change orders and cancelled orders. OrderRequestHeader The OrderRequestHeader element contains header-level information for the order. Read more →