Magento 2 PunchOut & ERP Integration

Installation and User Guide for Magento 2 PunchOut & ERP Integration

  1. Configuration Settings for PunchOut Integration
    • General Settings
    • Order Creation Settings
    • Catalog Settings
    • Punchout Session Settings
    • UBL Configuration
  2. Managing PunchOut Clients
  3. Setting Up Catalogs and Pricing
  4. Testing the Integration
    • Step-by-Step Testing Guide
  5. Handling Purchase Orders (End-to-End Workflow)
  6. Troubleshooting Common Issues

Installation

https://docs.scommerce-mage.com/magento-2-extensions/installation-via-composer/installation-via-composer

Configuration Settings for PunchOut Integration

Go to Admin > Stores > Configuration > Scommerce Configuration > Punchout

General Settings

image (270).png

Order Creation Settings

image (271).png

Catalog Settings

image (272).png

Punchout Session Settings

image (273).png

UBL Configuration

image.png

Managing PunchOut Clients

This is the most critical part of the setup. Each corporate client you wish to integrate with must be configured as a "PunchOut Client."

  1. Go to Admin>Customers>Punchout>Manage Punchout Clients

image (274).png

2. Click "Add New Punchout Client" to configure a new connection.

image (275).png

3. Fill in the following fields:

image.png

4. Click "Save Config."

Setting Up Catalogs and Pricing

The extension leverages Magento's native customer group functionality to deliver a personalized experience.

  1. Create a Customer Group: Before configuring a PunchOut client, navigate to Customers > Customer Groups and create a new group for them (e.g., "PunchOut - Global Office Inc.").
  2. Assign Custom Pricing: Use Marketing > Catalog Price Rules to create rules that apply specific discounts or fixed prices for products and assign the rule to the customer group you just created.
  3. Restrict Catalog (Optional): If you need to show only specific categories to a client, you may need to use native Magento functionality or a third-party category permissions module to restrict access for the designated customer group.

Testing the Integration

Our extension adheres strictly to industry standards, allowing you to validate your configuration using independent, third-party testing tools. We recommend using the PunchOut Commerce cXML Order Tester.

Step-by-Step Testing Guide:

  1. Get Your PunchOut URL: Your Magento PunchOut URL is typically your store's base URL followed by /scpunchout/create/session/. For example: https://yourstore.com/scpunchout/create/session
  2. Open the Testing Tool: Navigate to https://punchoutcommerce.com/tools/cxml-order-tester.
  3. Configure the Tester:
    • PunchOut Login URL: Enter your Magento PunchOut URL from Step 1.
    • cXML Payload: The tool provides a template. You must edit the Identity and SharedSecret values in the XML to exactly match the credentials you configured for your PunchOut Client in the Magento admin.
    • UBL Payload: The tool provides a template. You must edit the Username, password and Endpoint ID values in the XML to exactly match the credentials you configured for your PunchOut Client in the Magento admin.
  4. Initiate the Session: Click the "Start Session" button on the tester website to test CXL and "Start UBL Session" to test the UBL2.1
  5. Shop in Magento: You should be redirected to your Magento storefront and automatically logged in as a member of the mapped customer group. Browse the site and verify that you see the correct products and contract pricing. Add one or more items to your basket.
  6. Transfer the Cart: Once you have items in your basket, click the "Transfer to ERP" button.
  7. Verify the Response: You will be redirected back to the PunchOut Commerce testing tool. It will now display the cXML response sent from your Magento store. Carefully inspect this XML to confirm that the correct SKUs, quantities, and prices are present. A successful test confirms your configuration is working correctly. You can validate the UBL output at:- https://ecosio.com/en/peppol-and-xml-document-validator/ 

Handling Purchase Orders (End-to-End Workflow)

The PunchOut process is typically two-phased.

image.png

image.png

image.png

image.png

 

image.png

Our extension can receive this incoming Purchase Order and automatically create a corresponding sales order in your Magento system, enabling a fully automated, end-to-end workflow. The specific endpoint URL for receiving POs (/scpunchout/order/) should be provided to your client's IT team.

Troubleshooting Common Issues

If you have a question related to this extension please check out our FAQ Section first. If you can't find the answer you are looking for then please contact support@scommerce-mage.com.


Revision #8
Created 8 August 2025 12:38:06 by scommerce
Updated 30 October 2025 11:09:48 by scommerce