OCI Punchout Explained: Connect Supplier Catalogs to SAP

What SAP OCI is, how the punchout catalog round trip works, which fields matter, how OCI differs from cXML and which errors come up in practice.

Jens Bohl

Jens Bohl Founder and Managing Director

Procurement

OCI Punchout Explained: Connect Supplier Catalogs to SAP

What is OCI?

OCI stands for Open Catalog Interface. It is the interface SAP defined so that a requester can leave the SAP system, shop in an external catalog and bring the cart back into SAP as line items. That round trip is called a punchout.

The catalog itself does not live in SAP. It runs at the supplier, on a marketplace or as your own catalog system.

OCI covers exactly two things: how SAP calls the catalog and what format the cart comes back in. The purchase order, the order confirmation and the invoice are out of scope. SAP sends those through other channels such as IDoc, EDI or email.

The OCI round trip, step by step

An OCI punchout has four steps. The entire handover runs through the requester's browser. In the standard flow, SAP and the catalog never talk to each other directly.

  • 1. Punchout from SAP

    The requester picks a catalog from the purchase requisition or the shopping cart. SAP opens the configured catalog URL and adds the parameters maintained in customizing: credentials, fixed values such as language or plant, and the return address HOOK_URL.

  • 2. Shopping in the catalog

    The catalog logs the requester in based on those parameters and stores the return address in the session. The requester searches and adds items to the cart.

  • 3. Returning the cart

    At checkout the catalog builds an HTML form. Each line item is a set of indexed fields, for example NEW_ITEM-DESCRIPTION[1]. The browser submits the form to the HOOK_URL.

  • 4. Purchase requisition in SAP

    SAP reads the fields and creates line items from them. Approval and the purchase order follow the regular SAP process.

Where the punchout starts depends on the system. In SAP SRM it is the shopping cart. In SAP ERP and SAP S/4HANA it is the purchase requisition.

OCI vs. cXML punchout

There is a second widely used standard for the punchout catalog: cXML. Both solve the same problem, but they are built differently.

  • Origin

    OCI comes from SAP and is the usual route in SAP systems. cXML comes out of the Ariba ecosystem and is used by many procurement systems outside SAP.

  • Call

    OCI calls the catalog through a URL with parameters. cXML first sends an XML message from server to server (PunchOutSetupRequest) and gets back a start URL for the browser.

  • Return

    OCI returns plain form fields. cXML returns an XML document (PunchOutOrderMessage), which also travels back through the browser.

  • Authentication

    With OCI, credentials are part of the call parameters and pass through the browser. With cXML, they are sent in the server message and never reach the browser.

  • Scope

    OCI describes only the catalog call and the cart. cXML also defines documents such as purchase orders and invoices.

In practice, OCI is the shortest path if your requesters order from within SAP. Many suppliers support both standards. Ask early.

Key fields and mapping

The return consists of fields with the prefix NEW_ITEM-. Which ones are mandatory depends on your SAP system and process.

  • HOOK_URL

    The return address SAP passes in the call. The catalog has to use it unchanged as the target of the form.

  • NEW_ITEM-DESCRIPTION

    Short text of the line item. The field is limited to 40 characters. Longer descriptions belong in NEW_ITEM-LONGTEXT.

  • NEW_ITEM-QUANTITY and NEW_ITEM-UNIT

    Quantity and unit of measure. The unit is expected as an ISO code, for example PCE for piece or EA for each, and has to be assigned to an internal unit in SAP.

  • NEW_ITEM-PRICE, -CURRENCY and -PRICEUNIT

    Price, currency as an ISO code, and price unit. The price unit states how many units the price refers to, for example 100 for screws.

  • NEW_ITEM-VENDOR and NEW_ITEM-VENDORMAT

    VENDOR holds the supplier number from SAP, VENDORMAT the supplier's part number. Without the part number, the supplier cannot match the order later.

  • NEW_ITEM-MATGROUP

    Material group. In SAP it often drives account assignment and approval, and it has to exist there.

  • NEW_ITEM-MATNR

    SAP material number, if the item is managed as a material. For pure catalog items the field stays empty.

  • NEW_ITEM-CONTRACT and -CONTRACT_ITEM

    Reference to the contract and contract item in SAP. This ties the line item to the negotiated agreement.

  • NEW_ITEM-LEADTIME

    Lead time in days. SAP uses it to calculate the delivery date.

  • NEW_ITEM-EXT_PRODUCT_ID

    Unique ID of the item in the catalog. SAP needs it to validate an item against the catalog later or to display it again.

Mapping is where the work is

The mechanics of the round trip are quick to set up. The effort goes into mapping. A supplier usually classifies items by UNSPSC, ECLASS or its own structure. SAP expects your company's material groups. A mapping table has to sit in between.

The same applies to units, supplier numbers and contracts. Decide before the first test which system delivers which value.

Common errors in practice

  • Unknown unit of measure: The catalog sends a unit SAP does not know or that has no ISO code assigned. The item is rejected or transferred without a unit.
  • Truncated text: The short text is longer than 40 characters. SAP cuts off the rest, often the size or variant.
  • Wrong price format: Thousands separators, a decimal comma instead of a point, or a missing price unit lead to wrong amounts.
  • Missing material group: The material group sent by the catalog does not exist in SAP. The requester has to add it by hand.
  • Lost session: If the catalog runs in a frame inside the SAP user interface, browsers may block its cookies. The catalog then loses the return address.
  • Character encoding: SAP and the catalog use different encodings. Umlauts, accents and special characters arrive garbled.
  • Outdated prices: A purchase requisition is copied from a template weeks later. The price is still the old one. OCI has a validation function that lets SAP query an item in the catalog again, provided the catalog supports it.

Most of these errors only show up with real data. Test with a cart that spans several suppliers, units and material groups.

When your own catalog makes more sense than a marketplace

A direct punchout into a supplier's store or a marketplace is often enough to get started. But every additional supplier adds another punchout. Requesters have to know which store to search and cannot compare prices across suppliers.

A catalog system of your own between SAP and your suppliers pays off when one or more of these apply:

  • You work with many suppliers and want one search across all assortments.
  • Negotiated prices and SAP contracts should be visible and binding in the catalog.
  • Assortments should be restricted by site, department or role.
  • Material groups, units and supplier numbers should be mapped in one place.
  • Orders for items that are not in any catalog need a defined process too.

Running your own catalog does not rule out punchout. It can combine static supplier catalogs and punchout stores in a single user interface. SAP sees one OCI catalog. That is how Ovenca Procure works, our software for indirect procurement.

Example: LANXESS

In 2014, the specialty chemicals group LANXESS was looking for a catalog purchasing solution that works with the group's SAP contracts and material numbers. We built a catalog system for that purpose. It went live worldwide in 2015. Today, more than 5 million items can be searched there.

Contracts and material numbers come from SAP, and orders go back to SAP. The system is connected to SAP S/4HANA today.

LANXESS moved to SAP Ariba in the meantime and came back in 2025. We modernized the system and migrated the catalogs from Ariba. The details are in the LANXESS catalog system case study. For how we connect catalogs and other systems to SAP, see Integration and AI.

Frequently asked questions

What is the difference between an OCI catalog and a punchout catalog?

Punchout is the method: leaving the procurement system for an external catalog and returning the cart. OCI is SAP's standard for it. An OCI catalog is a punchout catalog that speaks the OCI interface.

Does OCI work with SAP S/4HANA?

Yes. OCI is used in SAP SRM, SAP ERP and SAP S/4HANA. The catalog is set up in customizing as a web service with a URL and call parameters.

Does OCI also send the purchase order to the supplier?

No. OCI only transfers the cart from the catalog to SAP. The purchase order is created in SAP and reaches the supplier through a separate channel.

Which OCI version do I need?

Versions 4.0 and 5.0 are common. What matters is which fields and functions your SAP system and the catalog both support.

How long does it take to connect a supplier catalog?

That depends less on the interface than on the mapping. Once material groups, units and supplier numbers are settled, a single catalog is connected quickly.

Next step

If you want to connect supplier catalogs to SAP or bring several punchout stores together in one user interface, take a look at Ovenca Procure. Or talk to us about your setup.

Project inquiries

Platforms, integrations, and hosting and operations

projekt@onveda.de+49 2173 2972 20

General inquiries

Everything else

kontakt@onveda.de

Careers at Onveda

Questions about working at Onveda, or from recruiters

Go to the contact form