Overview of working with PunchOut cXML
Optimizely B2B Commerce includes PunchOut functionality for communicating with procurement systems, acting as an alternate to a static catalog file. The B2B Commerce website then becomes available through the procurement system via the click of a button, automatically logging the customer into the website to view their catalog and pricing. Optimizely has developed partnerships with Supplier Solutions, PunchOut2Go and Greenwing as the preferred PunchOut providers who facilitate the communication between the numerous procurement systems and B2B Commerce. These integration partners act as trusted intermediaries who handle the transaction of data between B2B Commerce and the buying parties' procurement system.
More generally stated, PunchOut is an electronic communication between a buyer's procurement or ERP system and the supplier's web website and order management system. With PunchOut, the electronic protocols link the buyer and supplier systems and software applications (typically using cXML documents) to create a collaborative commerce environment.
Benefits of PunchOut
- Reducing operational costs
- Eliminating manual PO entry and contract verification
- Ensuring adherence to negotiated contracts
- Leveraging the workflow of the buyer's procurement system
- Delivering accurate and consistent information to the buyers
PunchOut setup
Setting up PunchOut to work with the B2B Commerce website will differ depending on the implementation, typically requiring setup and configuration with an integration partner. More detailed instructions for setup and configuration of PunchOut can be found in the PunchOut/cXML Process and Design article and will be filled through dialogue and communications with your integration partner.
PunchOut process
A PunchOut session can be created by clicking the applicable PunchOut button from within the procurement application. This button or functionality will differ depending on procurement application. Once the applicable button has been pressed, either a browser window or iFrame will open, leading the user into a PunchOut session within B2B Commerce. This PunchOut session can be configured to automatically set the Customer and Ship-to for the context of the session, provided the necessary data is provided by the procurement system. If the necessary data is not provided, the user is presented with a list of assigned customer and ship-to accounts to establish the context. Once an address has been chosen, it CANNOT be edited or changed. Some functionality is locked during the PunchOut session and will not appear.
The following diagram shows the basic PunchOut process flow.
The shopping experience within the PunchOut session works much like a user logged directly into the site, where they can see their specific catalog and pricing. The buyer then adds items to a shopping cart and "checks out". The "check out" process, when using PunchOut, does not follow the typical address and payment steps, instead the cart data is sent to the procurement system which results in a requisition order in the procurement system. Leveraging the procurement system's workflow and approval process, the requisition is then converted to a purchase order and sent electronically to B2B Commerce for processing. Finally, after successful processing, the order is submitted into the client's ERP.
The same purchase order processing interface used by PunchOut can be used to process any electronic orders. Because the interface is based on standard cXML protocol, any outside system could process electronic orders through B2B Commerce- for example, Internet of Things (IoT), Machine to Machine (M2M), and so on. Optimizely has another integration partner, Conexiom, that leverages this interface to submit orders sent via email. Conexiom receives emailed orders, parses the message to obtain order header and line data, and submits them to B2B Commerce for processing and ERP submission.
The following image provides a more detailed visualization of the B2B Commerce PunchOut process flows and interfaces, including the responsibilities of the various systems.