---
title: PunchOut cXML integration project lifecycle overview
slug: configured-commerce/sdk/punchout-cxml-integration-project-lifecycle-overview
docTags: 
createdAt: 2026-08-05T19:24:02.097Z
---

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 \{user\["product-name"]}. Working with these partners requires a separate contract that is the responsibility of the client to obtain.
- \{user\["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 \{user\["product-name"]} Admin Console.
  - Configure the system settings within \{user\["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 \{user\["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.
- **\{user\["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 \{user\["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 \{user\["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 \{user\["product-name"]} platform- specifically between the integration partner and \{user\["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 \{user\["product-name"]}.
