Setting up PunchOut for OCI

In this section you'll learn how PunchOut works using OCI, and which configurations and parameters to use for setting it up.

How PunchOut works using OCI 

  1. Known as OCI in SAP, you can jump from your e-procurement system to Unite.

  2. A button will be set up in your e-procurement system containing a URL with parameters you can configure, including access data. When clicked, the jump to Unite is triggered.

  3. Choose the items you want and add them to your shopping basket. When you’re done, proceed to check out. Click on the return button on the shopping basket page.

  4. The purchase request will be transferred back to your ERP system as a quote.

  5. If you have stored master data such as address, cost centre or cost type in your system, these will be added automatically (data enrichment).

  6. Start your internal approval processes.

  7. Once the quote is approved, the order is transferred from your system to Unite.

  8. Unite processes the order and forwards it to the supplier, who ships the goods directly to you. 

Configurations and parameters for setting up OCI 

How to configure OCI URL parameters correctly 

Here are some useful tips for configuring your URLs correctly:

  • The URL that performs the jump to the Unite platform contains parameters that are assigned certain values. The following example contains the mandatory parameters:   

https://www.mercateo.com/basket/oci?USERNAME=YourUSERNAME&PASSWORD=YourPASSWORD&HOOK_URL=https://www.mercateo.com/basket/httpecho

(Unite used to be called Mercateo. For technical reasons, we keep using the Mercateo URLs for the time being.)

  • If multiple parameters are included in the URL they should be linked by an ampersand (&). Each parameter consists of a name and an assigned value, connected by an equal symbol (=), as shown in the example URL above. 

  • Generally, OCI fields are limited to 255 characters. If more than 255 characters are required, use the parameter NEW_ITEM-CUST_FIELDx (where x can stand for 1 to n options), as this field supports 1,000 characters.

  • Parameters starting with ‘NEW_ITEM-’ can be added flexibly. Alternatively, ‘NEW_ITEM-’ can also be replaced by ‘NI-’.

For example:

  • NEW_ITEM-CUST_FIELDx

  • NEW_ITEM-MatGroup

  • NEW_ITEM-SomeName

Unite can loop through fixed parameter values (e.g. shippingMatGroup=99009900) and transfer variable values (e.g. NEW_ITEM-MATGROUP=__CUSTCLASSSYS__). Variable parameter values are indicated by double underscores ‘__’.

When you’ve entered URL parameters into your system for direct entry to Unite, these parameters will overwrite any preset values.

In some procurement systems, such as SAP, the parameters can also be entered into a table. The figure below shows an example of such a table.

Mandatory parameters (minimum requirements)

The following parameters meet Unite’s minimum requirements and are mandatory: 

Mandatory parameters

Description

PunchOut-URL

Use this target address for accessing the catalogue:
https://www.mercateo.com.com/basket/oci?

USERNAME

This parameter is for authentication and typically contains the customer number assigned by Unite.

PASSWORD

Unite assigns a unique password. If specific views are created, Unite will assign additional passwords. The password for each view must be included as parameter value 'n' in the URL and is the only distinguishing feature between the views.

Note: This password is different from the password for logging in to Unite.

HOOK_URL

This parameter sets the return address for your e-procurement system. In SAP systems, this is created automatically.

Example: In the example URL above, the HOOK_URL is defined as &HOOK_URL=https://www.mercateo.com/basket/httpecho. This httpecho has a verification function since it echoes the return values in the browser rather than sending the order to your e-procurement system.

Note: If using SAP systems, this parameter should be placed in the last position otherwise any subsequent parameters may not be transmitted correctly.

Automatically transferred item information 

The following item information is transmitted automatically:

  • item number (NEW_ITEM-EXT_PRODUCT_ID)

  • price (NEW_ITEM-PRICE)

  • price unit (NEW_ITEM-PRICEUNIT)

  • quantity (NEW_ITEM-QUANTITY)

  • item unit (NEW_ITEM-UNIT)

  • item description (NEW_ITEM-DESCRIPTION)

  • item long description (NEW_ITEM-LONGTEXT)

  • currency (NEW_ITEM-CURRENCY)

  • offer number/basket ID (NEW_ITEM-EXT_QUOTE_ID)

  • delivery time (NEW_ITEM-LEADTIME; in days)

Parameters for basic settings 

Use the following parameters to configure basic settings: 

Basic settings parameters

Description

externalUserId

The user identification must be transmitted in the field externalUserId to personalise individual users when jumping to Unite and in partner webshops.

externalUserIdParam

If the user identification cannot be transmitted in the field externalUserId and is instead transmitted in the field USER, use externalUserIdParam to specify this:

Example: externalUserIdParam=USER

~TARGET

  • Default value: _top
  • Valid values: '_top', '_parent', '_main', 'frameset'

The target attribute is set in the <form> tag for the return. If the parameter is not set, the default '_top' is used as the default value. For 'frameset', please provide the ID of the desired frame to which the return should be directed.

 NEW_ITEM mappings for standard Unite features 

NEW_ITEM mappings

Description

NEW_ITEM-CUST_FIELD3=__TAX__

With this parameter the Value added tax (VAT) of the item is transmitted. The VAT rate is product-dependent – in Germany it’s either 7% or 19%.  

  • Use NEW_ITEM-CUST_FIELD3=__TAX__ to configure the VAT rate of the product to be transmitted in this field. The transmitted data will be, for example, NEW_ITEM-CUST_FIELD3=0.19 or NEW_ITEM-CUST_FIELD3=0.07.  

  • Use NEW_ITEM-CUST_FIELD3=__TAX100__ to configure the VAT rate of the product is transmitted as a percentage.  

  • Use NEW_ITEM-CUST_FIELD3=__TAX[0.07=a,0.19=b,*=c]__ to customise which value is transmitted for the respective VAT rate (e.g. 7% is mapped to ‘a’, 19% to ‘b’, and everything else to ‘c’).

NEW_ITEM-CUSTOM1=__DELIVERYDATE__

This parameter returns the delivery date (DD-MM-YYYY).

Note: Keep in mind that time passes during your internal approval process that you will have to add to the above delivery date. Additionally, stock levels and therefore the delivery time may have changed.

NEW_ITEM-CUST_FIELD2=__RCDESC__

This parameter transmits the return conditions as plain text. We recommend adding this information to the NEW_ITEM-CUST_FIELD as this field supports up to 1,000 characters.

NEW_ITEM-…=__MANUFACTURER__

The manufacturer name is transmitted using this parameter.

NEW_ITEM-…=__MANUFACTURER_AID__

The manufacturer item number is transmitted using this parameter.

NEW_ITEM-…=__EAN__

The EAN code is transmitted using this parameter.

NEW_ITEM mappings for commodity groups 

NEW_ITEM mappings

Description

NEW_ITEM-MATGROUP=__CUSTCLASSSYS__

Use this parameter to specify the product group. The classification system is set by the OCI configuration in your specific view. Unite supports the ECLASS and UNSPSC classification systems per default. If you prefer a customised product group mapping, please contact your Unite technical consultant.

NEW_ITEM-EXT_SCHEMA_TYPE

Use this parameter to transmit the classification standard of the product group. The spelling of the classification standard can be customised as needed.

Example:
-NEW_ITEM-EXT_SCHEMA_TYPE=__CUSTCLASSSYSTYPE__
-NEW_ITEM-EXT_SCHEMA_TYPE=__CUSTCLASSSYSTYPE[UNSPSC=Unspsc]__

If the item does not contain any information about the classification system, a default classification standard can be used with parameter 'defaultMaterialGroupType'.

Example: defaultMaterialGroupType=ECLASS

shippingMatgroup

If you want to transmit a fixed product group for shipping costs, such as 99009900, set the parameter as follows: shippingMatGroup=99009900.

Note: This parameter can only be used if the shipping costs are sent as a separate line item (see section ‘Parameters for shipping costs’ below).

NEW_ITEM mappings for G/L accounts relating to items and shipping costs 

NEW_ITEM mappings

Description

NEW_ITEM-xxx[P]=__FEATURE[K-YourCompanyNameSK]__

Use this parameter to specify the G/L account.

NEW_ITEM-xxx[S]=0815

If the shipping costs are transmitted as a separate line item, this parameter allows a fixed G/L account value to be determined.

For example:

  • NEW_ITEM-SACHKONTO[P]=__FEATURE[K-YourCompanyNameSK1]__
  • NEW_ITEM-SACHKONTO[S]=0815

([P] = product / [S] = shipping costs)

If you wish to transmit the G/L account, please contact your Unite technical consultant.

Fixed and variable values from the Buyer AID for Exclusive Catalogues 

With this option a variable value can be read from your Exclusive Catalogue. The value is defined in the BUYER_AID field. If there is no value in the catalogue, a predefined fixed value is transmitted.  

NEW_ITEM-CONTRACT=__FEATURE[variable-exclusive-catalog-Buyer_AID_value, default-fixed-value]__

For example:

  • NEW_ITEM-CONTRACT=__FEATURE [YourCompanyName_Contract_ID,4600020310]__

  • NEW_ITEM-CONTRACT_ITEM=__FEATURE [YourCompanyName_Contract_Pos,10]__

Separator = comma (,)  

If you want to transmit these values, please contact your Unite technical consultant who will coordinate the necessary setup. 

Parameters for shipping costs 

Shipping costs can be transmitted as a separate item or added to the percentile item price (shipping cost splitting). Shipping cost splitting is configured by your designated Unite technical consultant as part of your system setup. 

Parameters for shipping costs

Description

skipZeroShippings

  • Default value: false
  • Valid values: true, false
    This parameter configures whether shipping cost items with a value of €0 are transmitted or suppressed.
    If shipping cost splitting isn’t enabled, the parameter must be set to true.

shippingMatGroup

If you receive shipping costs as a separate line item, you can define a fixed product group for shipping costs, e.g. 99009900:
shippingMatGroup=99009900

You can find more information about the product group in section NEW_ITEM mappings for commodity groups’ above.

ociItemserviceMode

  • Default value: ZERO_ONE
  • Valid values: OMIT, TRUE_FALSE, ZERO_ONE, ONE_ZERO, X

Use this parameter to configure whether the item is a product or shipping costs.

  • OMIT = The item row will be omitted
  • TRUE_FALSE = If true, then shipping – if false, then product
  • ZERO_ONE = If ‘0’, then shipping – if ‘1’, then product
  • ONE_ZERO = If ‘1’, then shipping – if ‘0’, then product
  • X = If empty, then shipping – if ‘0’, then product

NEW_ITEM mappings for attachments 

NEW_ITEM mappings

Description

NEW_ITEM-SIDAB=__SIDAB__

If a safety data sheet is available, the parameter will return the value ‘1’. In this case, the URL to the safety data sheet will be sent in the field NEW_ITEM-ATTACHMENT.

The parameter returns a value of ‘0’ if there is no safety data sheet.

NEW_ITEM-ATTACHMENT=__MIME__

This parameter allows access to URLs of images, data sheets, and safety data sheets.

For example:

  • NEW_ITEM-ATTACHMENT=__MIME[image]__
  • NEW_ITEM-ATTACHMENT2=__MIME[datasheet]__
  • NEW_ITEM-ATTACHMENT3=__MIME[safetyDatasheet]__

allowAttachments

  • Default value: true
  • Valid values: true, false
    The transmission of attachments by default can be switched off using allowAttachments=false.

Parameters for transmitting search keywords 

Use the parameter routing=category&id=xx to transmit the user’s search keywords to Unite. When accessing via OCI, the corresponding Unite page for the search term will open directly.  

Please transmit umlauted letters such as ä, ö, ü as ae, oe, ue and ß as double-s.  

Example:

  • User entry: ‘Bürobedarf’

  • Transmitting to Unite: routing=category&id=Buerobedarf 

Shopping lists feature

The parameter externalUserId=xx is required so that Unite can activate the shopping list feature for you.

Modifying a shopping basket 

This function allows the user to modify shopping baskets or purchase order requests after transmitting the basket but before transmitting the order.  

Changes must only be made using this function, as item prices and shipping costs can change depending on order quantities. Modifying the shopping basket solely within your system could lead to errors during the ordering process.  

During this process, a new (!) shopping basket is created and exported. The old shopping basket must be deactivated in your system. 

This can be done in two ways:  

Manual entry

The requester manually enters the offer or shopping basket ID manually in the search field. This will take the requester to the existing offer where the required adjustments can be made. 

Automated

The existing shopping basket is automatically called up via a dynamic URL using the parameter routing=basket&id=<Id>

This parameter sends the ID of the existing offer or shopping basket to Unite. For example, shopping basket xyz0815 is called up using the parameter routing=basket&id=xyz0815.

In this case, the ID readout from the OCI return value NI-EXT_QUOTE_ID must take place in your system.  

Information about the existing shopping basket is contained in the relevant OCI return fields: 

OCI return field

Description

NI-EXT_QUOTE_ID

Parameter value: __EXPORTID__
Use this parameter to take the quote ID created.

EXT_QUOTE_ITEM

Parameter value: (no value required)
Use this parameter to take the position number of the item in the shopping basket.

Your Unite technical consultant can answer any questions related to modifying the shopping basket. 

Resending the shopping basket 

This function allows the requester to create a new offer or shopping basket based on a previously approved purchase order request (containing the same items). The new request must go through approval again and be sent as an order.  

Similar to the two ways of modifying a shopping basket, the process involves accessing the original, already-ordered offer, making the necessary changes, and submitting a new order based on the updated request.  

For questions about the resending the shopping basket function, your designated Unite technical consultant will be happy to support you.  

If you are using a specific webshop and need to transmit the item offer number directly to your supplier, your Unite technical consultant can also provide guidance. 

Parameters set by Unite

The following parameters are set by Unite and do not need to be configured by you:

  • http_content_charset  

  • NEW_ITEM-VENDOR

  • priceUnitIsQuantity

  • ociButtonName

  • hideCheckoutButton

  • hideSendBasketButton

  • punchoutFormAutoCommit

  • keepBasketAtExport

  • addViewOptions

  • enableShoppingLists

Technical support

The setup of the interfaces initially requires a technical implementation project. If you’re an administrator responsible for configuring PunchOut, please contact Unite’s Technical Support.

Was this helpful?