Configuring a PunchOut Supplier
Each supplier you punch out to is set up on the PunchOut console: its addresses, dialect, credentials and checks, proven with a real setup request and a simulated basket before buyers see it. Sending approved orders back to a cXML supplier is a separate, deliberate step.
Where to find it
Admin Panel → ERP - Setup:
- PunchOut — the console: Suppliers, Item map, Sessions and Orders tabs
Architect Panel → ERP - Setup:
- PunchOut Suppliers — the same console
- Document Posting Actions — where order transmission is switched on
Architect Panel → ERP - Procurement:
- PunchOut Orders — the Orders tab directly
Adding a supplier
- The console is for holders of ERP: Administration and architects. On Suppliers, press Add a supplier.
- Code, Name, Company and the Supplier record it is.
- Dialect (cXML or SAP OCI) and the Setup URL from the supplier's integration guide. For cXML, the Order URL (cXML) where approved orders go; for OCI, the OCI method (POST unless the supplier cannot accept it, because GET puts the credentials in the address).
- Punch out from: the document type a basket lands on, normally Purchase Requisition.
- Currency, Price tolerance % (0 means do not compare) and Session minutes (5 to 1440; 60 to 120 suits most shopping trips).
- Tick Supplier's test catalogue while commissioning. This tick alone decides whether buyers are sent to the test or live catalogue; the old separate deployment mode setting has been retired.
- Save, then fill in Credentials from the supplier's setup sheet and press Save credentials. Secret boxes always show empty; leaving one blank keeps the stored value. Secrets are never shown, logged or included in test results.
Proving it
- Press Test setup. For cXML this sends a real setup request and shows what came back, including the supplier's own refusal text, which their support desk will ask for. OCI has no handshake to test and says so.
- For a cXML supplier on its test catalogue, open Simulate a basket from the test catalogue: choose the document Onto, type basket lines as part | description | quantity | unit price | unit, and press Send the basket back. It goes through the real return, so item mapping, currency and the price check all run as in production.
- Press Switch on. A supplier is refused if anything required is missing or its addresses do not resolve to the public internet, so buyers never see a broken button.
Item map, sessions and the message log
- Item map: Supplier part number to Our item code and UoM. A part mapped to an item code your item master does not hold is refused.
- Sessions: every punch-out with its state: Opened, Sent to supplier, Cart returned, Applied to document, Cancelled, Expired or Error. Expire stale sessions now closes abandoned ones.
- Message log on each supplier: the last messages exchanged, with secrets masked.
Sending orders back
- On Document Posting Actions, add a row for the Purchase Order type: Trigger commit, Engine punch, Action send_order. Issuing an order whose lines came from a cXML PunchOut supplier then queues an order request for it.
- Switch on the task PunchOut Order Transmission (every 15 minutes), and PunchOut Session Expiry (hourly). Both ship switched off (see Tasks).
- Watch Orders: Queued, Sent, Acknowledged, Rejected by supplier, Received, Failed or Cancelled, with Send now, Retry and Cancel.
An order whose document has since been cancelled is never sent: it is called off and Retry is not offered. A switched-off supplier gets nothing; its orders wait, and the row says why. The order is rebuilt from the live document at send time, so a credential changed after queueing is picked up.
What goes wrong
- Rejected by supplier: the order reached them and they refused it. Read the reason and deal with it in person; do not just retry.
- Orders stay Queued: the transmission task is off, or the supplier is switched off.
- Buyers land on the test catalogue: Supplier's test catalogue is still ticked.
- "Supplier '...' has no order URL configured": fill in the Order URL.
Worked example
A first cXML supplier is added on its test catalogue with a 90-minute session and a 2% price tolerance. Test setup succeeds; a simulated basket of three mapped parts lands on a new requisition, which is approved, ordered and issued; the order queues on the Orders tab. The administrator then unticks the test catalogue, switches the supplier on, adds the posting row, enables both tasks, and shows the buying team the round trip.
Recommendations
- Prove every supplier with Test setup and a simulated basket before switching it on.
- Keep the price tolerance tight and review what it flags.
- Enable both tasks when you go live; unsent orders are silent failures.
- Handle supplier rejections individually.