PunchOut Procurement
Buy from a supplier catalogue without leaving a requisition: cXML and OCI sessions that return a basket as document lines, and orders sent back electronically.
How PunchOut Works
PunchOut lets a buyer shop a supplier's own online catalogue from inside a purchase document and bring the basket back as lines on that document, carrying the supplier's part numbers and contract prices. You are the buyer here: nothing in PunchOut hosts a catalogue for anybody else.
Where to find it
Admin Panel → ERP - Setup:
- PunchOut — the PunchOut console: suppliers, item map, sessions and orders
Architect Panel → ERP - Setup:
- PunchOut Suppliers — the same console for architects
Architect Panel → ERP - Procurement:
- PunchOut Orders — the console's Orders tab: purchase orders queued back to suppliers; the badge counts orders that failed to send
- Purchase Requisitions — open a requisition's record screen to find its PunchOut pane
The problem it solves
Supplier catalogues are large, change constantly and are priced under contract. Importing one means keeping a copy that is out of date the day after it lands. With PunchOut you keep no catalogue: the buyer shops the supplier's live site, which already knows your prices, and only the chosen items come back.
What a buyer does
- Open a requisition (or the purchase document type the supplier is set up for) on its record screen and find the PunchOut pane: "Shop a supplier's own catalogue and bring the basket back as lines on this document."
- Choose the supplier. Their catalogue opens, already signed in and showing your prices.
- Fill a basket in the supplier's site and check out. Checking out does not place an order there; it hands the basket back.
- The review page lists each line with its line total, the basket total, your item's name under its code, and how far a price differs from yours ("differs from your GBP 6.00 (+10.0%)"). Lines outside the supplier's price tolerance are flagged.
- Press Review and apply, then Apply to add the lines to the document. The requisition then follows its normal approval.
A buyer can also start at the catalogue: for a supplier that serves one company, punching out onto a new requisition creates it from the basket, in that company, for that supplier and in its currency (Create the purchase requisition from these lines).
What comes back on a line
The supplier's part number, description, quantity, unit price, currency, unit of measure and classification. A line is matched to your own item through the Item map, so the purchase reaches stock and reporting normally; map a part once and later baskets recognise it. Each line takes the item's purchase tax code, or the supplier record's tax code, so the requisition and its order carry VAT.
Checks on the basket
- Prices are compared, not corrected: the basket's price is the contract price, compared with what your purchase price lists say. A difference beyond the tolerance is flagged for the buyer to decide.
- Price units are handled: a supplier quoting per hundred is divided down to a unit price, so an order is never a hundred times wrong.
- Another currency is refused, not converted.
- Only the buyer can apply a basket: the return from the supplier only stages lines; a person reviews and applies them under their own login.
Two dialects
cXML (Ariba, Coupa, Jaggaer, Basware, Proactis) and SAP OCI 4.0/5.0. The supplier's integration guide says which. Only cXML suppliers can be sent purchase orders back electronically; OCI has no order message.
Not built
Searching a supplier's catalogue from inside ActiveManage, supplier-initiated confirmations or ship notices, and re-opening a basket already on a document to edit it are not available. PunchOut has also not yet been run against a live supplier network; prove each supplier with Test setup and a simulated basket first (see Configuring a PunchOut Supplier).
Worked example
An engineer opens a requisition for consumables and punches out to the stationery supplier. They add nine items and check out; the review page shows nine lines with part numbers and contract prices, one flagged at 12% above the price list. They apply them, note the flagged line for their manager, and submit. The manager approves, the buyer converts it to an order and issues it, and the order is queued back to the supplier.
Recommendations
- Tell buyers that checkout returns a basket; they expect it to place the order.
- Build the item map as parts recur.
- Keep purchase price lists current so price checks mean something.
- Start with one supplier and prove the round trip.
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.