Skip to content
Gatebold

Published on

PunchOut Oracle Procurement: specifics and Magento integration

Oracle Procurement Cloud has its own cXML conventions. This guide covers Oracle specifics, differences with Ariba and Coupa, and the recommended approach for Magento and Adobe Commerce.

Oracle Procurement Cloud with PunchOut requisition

Oracle Procurement Cloud is the third most common procurement system in PunchOut projects, after SAP Ariba and Coupa. Used by large organizations that already have an Oracle ecosystem (ERP Cloud, Fusion), it has its own conventions when it comes to cXML.

Oracle Procurement in the e-procurement landscape

SystemEstimated share of PunchOut requests
SAP Ariba~50%
Coupa~25%
Oracle Procurement~15%
Jaggaer, others~10%

If your client is a large organization with Oracle as their ERP, they will likely use Oracle Procurement Cloud (formerly Oracle iProcurement) for purchasing. And they will ask you for a PunchOut connection via cXML.

The PunchOut flow with Oracle

The flow follows standard cXML, but Oracle has a few particularities:

1

Oracle

Sends a PunchOutSetupRequest (cXML, Oracle identifiers)

Oracle → Supplier
2

Supplier

Validates the credentials, creates a session

Supplier → Catalog
3

Supplier

Returns the session URL

Supplier → Oracle
4

Requisitioner

Browses the catalog, builds their cart

Requisitioner → Catalog
5

Catalog

Sends the cart via the connector

Catalog → Supplier
6

Supplier

Builds the PunchOutOrderMessage and sends it

Supplier → Oracle
7

Oracle

Creates an internal requisition for approval

Oracle (internal)

Differences with Ariba and Coupa

SAP AribaCoupaOracle
CredentialsANCI + SharedSecretSharedSecretIdentity + SharedSecret
BuyerCookieStandardStandardOften enriched
ExtrinsicVariableVariableOracle-specific
Edit modeSupportedHeavily usedSupported
SandboxVia invitationCSP built-inVia Oracle Cloud
DTDStandardStandardStandard + extensions

Oracle credentials

Oracle uses the same cXML credentials mechanism (From, To, Sender) but identifiers are often structured differently:

  • The From > Identity contains the client’s Oracle identifier (not an Ariba ANCI)
  • The To > Identity contains your supplier identifier as configured in Oracle
  • The SharedSecret is defined in Oracle Procurement administration

The enriched BuyerCookie

Oracle tends to include more information in the BuyerCookie than other systems. This cookie — which you must return as-is in the PunchOutOrderMessage — may contain requisition identifiers, tracking codes, and Oracle metadata.

Never modify the BuyerCookie. Return it exactly as received.

Oracle Extrinsic fields

Oracle expects specific Extrinsic fields in the PunchOutOrderMessage that do not exist in Ariba or Coupa:

  • UniqueName — Oracle internal identifier for the product
  • IsAdHoc — indicates whether the item is off-catalog
  • Accounting codes and cost centers specific to Oracle

These fields must be configured in the per-buyer mapping.

Oracle-specific pitfalls

1. Amount formatting

Oracle can be strict about the number of decimal places and the separator. A price of 45.5 instead of 45.5000 can cause issues depending on the client’s configuration.

2. Character encoding

Oracle Procurement Cloud is sensitive to UTF-8 encoding of product descriptions. Special characters (accents, cedillas) must be correctly encoded in the XML.

3. Catalog vs off-catalog management

Oracle distinguishes between “catalog” items (referenced in Oracle) and “ad hoc” items (unreferenced). The PunchOutOrderMessage must indicate whether each item is one type or the other via Extrinsic fields.

4. Shorter timeouts

Oracle Procurement often enforces shorter session timeouts than Ariba. A requisitioner who hesitates too long on your store loses their session.

Testing with Oracle Procurement

Testing is typically done in your client’s Oracle Cloud environment:

  1. The client creates a supplier account for you in their test Oracle Procurement
  2. You configure your credentials (Identity, SharedSecret)
  3. The client or you trigger a test PunchOut
  4. You validate the session and cart return
  5. The client verifies the requisition created in Oracle

Observability of exchanges is critical: Oracle does not always provide explicit error messages. Seeing the exact cXML payload exchanged enables fast diagnosis.

How Gatebold handles Oracle

Gatebold supports Oracle Procurement Cloud with:

  • Oracle credentials: validation of Oracle-specific identifiers
  • BuyerCookie: full preservation, no modification
  • Oracle Extrinsic fields: configurable in the per-buyer mapping
  • UTF-8 encoding: guaranteed on all outgoing payloads
  • Amount precision: configurable per connection

The same Magento connector serves Oracle, Ariba, and Coupa — the difference is in the connection configuration in Gatebold, not in the code.

Summary

Oracle Procurement Cloud is the third major player in PunchOut. Its specifics (credentials, Extrinsic fields, enriched BuyerCookie) require dedicated per-buyer configuration, but the flow remains standard cXML. If your client is on Oracle, integration is entirely feasible — provided you anticipate Oracle conventions from the start.

If you have an Oracle client asking for PunchOut on Magento, let’s talk.