Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In
GitHubNuGetDev CommunityDoc feedback


The high level milestones of a PunchOut project are as follows:

  • Initial Discussion and Requirements Gathering

    • Identify the customer goals and systems that need to be connected, and business/technical requirements that will drive the project. PunchOut should be deployed with the initial and future customers in mind.

    • Common topics for discussion may include: 

      • Customer Ship-To Requirements: the number of locations which the customer will request to ship-to, and how these locations are identified in the customer's procurement system (AddressId).

      • Data Required for PunchOut Order Message (that is cart information): validate all required data is being sent to the procurement system.

  • Integration Partner (such as Supplier Solutions or PunchOut2Go) Contract Setup

    • The Integration Partner will help coordinate the integration between the customer's procurement system and Optimizely <<product-name>>. Working with these partners requires a separate contract that is the responsibility of the client to obtain.

  • <<product-name>> Console - PunchOut/cXML Configuration

    • An Administrator in Insite will setup the Customer PunchOut/cXML Users and the integration partner User.

    • Identify the Customer Ship-To Addresses and configure them accordingly in the <<product-name>> Admin Console.

    • Configure the system settings within <<product-name>> to process order level data.

  • System Connections

    • The implementation and integration partners will test the integration between their systems.

    • The Integration partner and a Customer Procurement system resource will work directly to setup the necessary connections.

  • Testing Phase

    • Typically in a Development or Pilot system, the project team will test the integration. Testing will involve the entire process, starting with the initiation of a PunchOut/cXML session, to the Order Fulfillment within the Client's ERP System.

  • Production Rollout

    • Upon successful testing, deploy and validate the code in Production.

Custom Development – While <<product-name>> has a robust set of base PunchOut features, it is common for clients to extend the platform to meet various business requirements. Adding these custom extensions will likely extend the project timeline. 

## Roles involved in the implementation of PunchOut

Due to the multiple systems involved in a typical PunchOut/cXML implementation, engagement from the following project roles are recommended:

**Client**

  • **Customer Representative** – someone at the client site who has a relationship with the end customer, that is sales person attached to the account. This role helps coordinate requirements/discussions between the end-customer and any internal parties.

  • **Commerce Manager** – someone at the client site who is leading the commerce platform or implementation. This role is responsible for coordinating the technical implementation of the platform internally.

  • **<<product-name>> Admin** – someone at the client site responsible for configuring the system and maintaining the day-to-day operations.

**Customer**

  • **Procurement System Admin** – someone who understands the existing processes well enough to make decisions on integration, and see issues while the connections are being worked out.

  • **Procurement Leader** – someone at the customer site who has a relationship with the client, typically a non-technical business analyst.

**Integration Partner**

  • **Project Manager** – someone who helps coordinate the integration project between the client and the customer- specifically between the customer's procurement system and <<product-name>>.

  • **Implementation Analyst/Developer** – someone who is responsible for the technical aspects of the integration, data mapping, testing, and so on - specifically between the customer's procurement system and <<product-name>>

**Implementation Partner** – (These roles may not be necessary depending on the level of customizations that are required.)

  • **Project Manager**– someone who helps coordinate the integration project within the <<product-name>> platform- specifically between the integration partner and <<product-name>>.

  • **Implementation Analyst/Developer** – someone who is responsible for the technical aspects of the integration, data mapping, testing, and so on - specifically between the integration partner and <<product-name>>.