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 →

PunchOut Catalogs

What is PunchOut? PunchOut is a technology that connects a buyer’s eProcurement application (used to purchase goods and services) directly to their suppliers’ eCommerce sites. PunchOut enables a buyer’s employees to shop on suppliers’ eCommerce sites, but complete their purchase in their organization’s eProcurement application, where approval workflows can be applied and spending can be tracked. PunchOut Workflow An employee logs in to their company’s eProcurement system. The employee selects a supplier eCommerce site to " Read more →


Overview Electronic orders and invoices can streamline processes for both buyers and suppliers. Electronic transactions can replace traditional forms of communication such as Phone, Fax, and Email. cXML and EDI are the most commonly used standards for B2B transactions. Transaction Types Type cXML ASC X12 EDIFACT Order OrderRequest 850 ORDERS Change Order OrderRequest 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=" 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 →

cXML Overview

Receiving/Sending cXML The majority of cXML documents are sent server-to-server via HTTP(S) POST requests where the POST body is the cXML. The only exception is the shopping cart (PunchOutOrderMessage) which is transmitted from the shoppers browser to their eProcurement system as part of an HTML form. Best Practice: HTTPS with TLS 1.2 should be used whenever possible Example cXML HTTP POST Request POST /cxml HTTP/1.1 Host: www. Read more →

cXML PunchOut

PunchOutSetupRequest The cXML PunchOutSetupRequest document is the first document exchanged in the PunchOut process. It is sent from the shoppers eProcurement system to the suppliers eCommerce site via an HTTP(S) POST request with the XML in the POST body. Credentials See the Credentials section of the cXML Overview for more information. Operation The PunchOutSetupRequest[@operation] attribute is set to "create" when a user is accessing a PunchOut site to create a shopping cart. Read more →

cXML PunchOut Carts

PunchOutOrderMessage The cXML PunchOutOrderMessage document contains the shopping cart items the shopper checked out from the eCommerce site. It is possible that the document will not contain any items if the shopper is returning from the eCommerce site with an empty cart. Cart Transmission The PunchOutOrderMessage must be sent back to the eProcurement system from the shoppers web browser. Upon submitting the cart via an HTML form, the user will return to the eProcurement system and no longer be on the suppliers site. Read more →