Loading

Configuring a PunchOut Supplier

Each supplier you punch out to needs a configuration row. The supplier provides most of the values in their integration guide.

Where to find it

Architect Panel → ERP - Setup:

  • PunchOut Suppliers — the console — configure, test, monitor sessions

Architect Panel → Automation:

  • Tasks — PunchOut Order Transmission every 15 minutes; PunchOut Session Expiry hourly

What to configure

  • Supplier code and the counterparty record it binds to.
  • Dialect — cXML or SAP OCI.
  • Setup URL — where a session is opened.
  • Order URL — where the approved order is sent.
  • OCI method — for OCI suppliers, how the return is posted.
  • Default document type — what a punch-out creates.
  • Currency.
  • Price tolerance — how much the returned price may differ from the reference before it is flagged.
  • Session lifetime in minutes.
  • Enabled and test mode.

Price tolerance

Returned prices are compared against your reference price and flagged when they differ by more than the tolerance.

This is the control that catches a supplier quietly moving off contract pricing. Set it tight enough to be meaningful — a percent or two covers rounding and small legitimate variation — and actually review what it flags. A tolerance set at 20% to stop the alerts is a tolerance that catches nothing.

Session lifetime

Sessions expire so an abandoned basket cannot be returned into a document hours later, when the requisition has moved on or the prices have changed.

Set it long enough for a real shopping trip — 60 to 120 minutes suits most — and short enough that stale returns are not possible. Too short and buyers lose baskets mid-order, which they will mention.

Test mode first

Suppliers provide a test endpoint. Configure in test mode, run a full round trip — open a session, build a basket, return it, apply it, approve the document and transmit the order — and confirm each step before enabling for real.

Test the whole loop, not just the punch-out. The return leg and the order transmission are where configuration errors surface, and they are the legs a buyer cannot work around.

The two background tasks

Both ship disabled and both are needed:

  • PunchOut Order Transmission, every 15 minutes, sends approved orders to the supplier's order URL.
  • PunchOut Session Expiry, hourly, closes sessions past their lifetime.

Without the first, approved orders sit unsent — which looks exactly like a working system right up until somebody asks where the delivery is. Enable both under Automation → Tasks when you go live.

Monitoring

Sessions move through opened, sent to supplier, cart returned, applied, and end as cancelled, expired or errored. Messages carry their own status — queued, sent, acknowledged, received, rejected by supplier, or failed.

Watch for rejected by supplier: it means the order reached them and they refused it, which is a different problem from a transmission failure and needs a person rather than a retry.

Worked example

A first supplier is configured in test mode with a 90-minute lifetime and a 2% price tolerance. The full loop is run twice, including a deliberately stale session to confirm expiry. Test mode is then turned off, both tasks are enabled, and the buying team is shown the round trip. A second supplier is added the following month using the same pattern.

Recommendations

  • Enable both tasks — unsent orders are silent failures.
  • Keep the price tolerance tight and review what it flags.
  • Test the whole round trip, including order transmission.
  • Investigate supplier rejections individually rather than retrying.