A guide for distributors setting up punchout for their customers.
Punchout is a way for your customers to shop on your website directly from their procurement system (like Ariba, Coupa, or Jaggaer).
Here's what happens:
Why do buyers use punchout?
Large organizations (hotels, school districts, hospitals, property management companies) often require all purchases to go through their procurement system for:
If your customer asks about "punchout," "cXML," or connecting to their "procurement system," this is what they're referring to.
Before setting up punchout, you need to understand how your customer is set up in their procurement system. This determines how we configure things on the Kodaris side.
In your customer's procurement system, they create a Supplier Connection for your company. This is where they store the credentials (Identity and Shared Secret) that authenticate orders to your system.
Think of it like a login - one Supplier Connection = one set of credentials.
Scenario 1: One Supplier Connection = One Customer (Simple)
This is the straightforward setup:
Procurement System Your ERP
------------------ --------
Supplier Connection --------> Customer #1001
- Address A - ShipTo A
- Address B - ShipTo B
- Address C - ShipTo C
This works perfectly with standard punchout setup.
Scenario 2: One Supplier Connection = Multiple Customers (Parent/Child)
This is more complex and common with:
In this case:
Procurement System Your ERP
------------------ --------
Customer #1001 (School A)
Supplier Connection --------> Customer #1002 (School B)
(One Secret Key) Customer #1003 (School C)
Customer #1004 (School D)
How we handle this:
Important: You need to find out which scenario applies BEFORE setting up punchout. Ask your customer:
Your customer's procurement system uses its own address codes (like "ADDR-001", "ADDR-002"). These don't match the ship-to codes in your ERP.
You need to map these.
Example mapping:
| Procurement Address ID | ERP Ship-To Code | Location |
| PROP-101 | SHIPTO-A | Main Office |
| PROP-102 | SHIPTO-B | Warehouse |
| PROP-103 | SHIPTO-C | Branch Office |
Without this mapping, orders won't know where to ship.
Let us know that you want to set up punchout. We will:
Find out:
For complex setups, it helps to get everyone on a call:
This ensures everyone understands the setup and avoids back-and-forth later.
Follow the Punchout Customer Creation guide to:
They will need the following information to configure their side:
| Field | What to Provide |
| Sender Identity | The punchout username you created (e.g., punchout-114729@yourdomain.com) |
| Sender Shared Secret | The key from Developer Fields in Kodaris |
| Setup Request URL | https://[your-kodaris-url]/api/user/punchOut/setup |
| Order Request URL | https://[your-kodaris-url]/api/user/punchOut/order |
They may also ask for From/To Domain and Identity values. See the Punchout Customer Creation guide for options if you don't know these.
Once the procurement system has configured their side:
If errors occur during testing:
When the procurement system sets up the Supplier Connection, they'll typically ask you for:
Required:
They may also ask for:
Note: We only validate the Sender Identity and Shared Secret. The From/To values are passed through but not strictly validated, so defaults work fine if you don't have specific values.
| Purpose | URL |
| Setup Request | https://[your-kodaris-url]/api/user/punchOut/setup |
| Order Request | https://[your-kodaris-url]/api/user/punchOut/order |
| Term | Meaning |
| Punchout | Shopping on your site from within a procurement system |
| Procurement System | Software buyers use to manage purchasing (Ariba, Coupa, Jaggaer, etc.) |
| Supplier Connection | The configuration in the procurement system that stores your credentials |
| cXML | The XML format used to communicate between systems |
| Setup Request | The message that authenticates and gets a shopping URL |
| Order Request | The message that submits the final approved order |
| Shared Secret | The password/key that authenticates requests |
Q: My customer mentioned punchout but I don't know what procurement system they use. A: Ask them directly. Common ones include Ariba, Coupa, Jaggaer, SAP, Oracle, and Yardi. The setup process is similar regardless of which system they use.
Q: Do I need to do anything special on my website? A: No. Kodaris handles punchout automatically. The customer shops normally - they just start from their procurement system and their cart goes back there instead of checking out directly.
Q: What if my customer has multiple locations? A: Find out if those locations are separate customer numbers in your ERP. If yes, you'll need the parent/child setup (Scenario 2). If they're all ship-tos under one customer, it's the simple setup (Scenario 1).
Q: How long does setup typically take? A: For simple setups, a few days once everyone has the right information. Complex parent/child setups may take longer due to additional configuration and testing.
Q: What if we run into problems during testing? A: Contact Kodaris. We can review the cXML messages being sent and help identify the issue. Punchout setup can involve some back-and-forth - that's normal.
Getting punchout working can be a process, but once it's set up, it runs automatically. We're here to help you through the implementation.