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.
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.
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.
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:
**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.
**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.
**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>>.