Spend Management Blogs by Members
Check out community member blog posts about spend management and SAP Ariba, SAP Fieldglass, and SAP Concur solutions. Post or comment about your experiences.
Showing results for 
Search instead for 
Did you mean: 

Business requirement

During Implementation of Ariba Commerce Automation and Ariba Supply Chain Collaboration one of the requirements that comes up very frequently is integration of purchase order pricing conditions with Ariba Business Network.

Most of the times clients expect integration of additional purchase order charges like packing and forwarding charges, freight charges, handling charges on a PO that is sent from SAP ERP to Ariba Business Network as a part of DSN / CA or SCC. This requirement is often considered as a basic must have requirement by the client because this information is required when supplier is creating the Invoice, for supplier to book the additional expenses separately.

High level Solution

SAP ERP allows configuration purchase order pricing procedure that suits the business requirement. A pricing procedure consists of wide range of conditions for different types of charges, discounts etc. Based on business processes an organization can have multiple pricing procedures for different segments like domestic material procurement, import material procurement, service procurement etc.

Based on the way charges and discounts are considered for the calculation of net price, we can broadly classify Integration of purchase order Pricing Conditions into two scenarios .

  1. Unit Price is inclusive of additional charges, and these charges must be sent to Ariba Business Network.
  2. Unit Price is exclusive of additional charges, and these charges must be sent to Ariba Business Network.

Considering above scenario, there are two methods, we can integrate additional charges with Ariba business network via Integration suite managed gateway (aka CIG).

  1. Perform the mapping to send the additional charges as “Extrinsic Comments”.
  2. Perform the mapping to send the additional charges as “Cost Elements”.

For above mentioned scenario 1 and 2, methods of integrating additional charges with Ariba business network should be different. Curious to know why?

Here is the answer,

When additional charges are integrated with Ariba as a Cost Element, at the time of creating PO based Invoice in Ariba, all these charges get added up in the invoice amount.

Considering scenario 1, where the net price is already inclusive of additional charges, following method “b” will result in higher Invoice amount than expected, in this case the best option is to send these charges by following method “a”.

Detailed solution:

In this blog we will discuss the methods of integrating charges for both the scenarios without having adverse impact during Invoicing.

Let us consider both the scenarios one by one

Scenario 1:

Example of SAP PO where Net Price is inclusive of Additional Charges.

Pricing Conditions on SAP POPricing Conditions on SAP PO

 To make these conditions visible in Ariba Business Network, first step is to capture the same in IDOC which is not available with standard integration.

The basic type of Purchase Order IDOC is “ARBCIG_ORDERS”. This IDOC has a segment E1EDP01 which represents Item Data, and segment E1EDP05 available inside E1EDP01 represents Item Conditions Data.

Structure of E1EDP05 is shown below.

Structure of E1EDP05Structure of E1EDP05

 As discussed earlier, first step is to capture the conditions details in E1EDP05 with the help of an enhancement. The Enhancement can be implemented in EXIT_SAPLEINM_002 - ZXM06U02 or in EXIT_SAPLEINM_011 - ZXM06U33.

Considering we have only additional charges and not discount, enhancement is done to pass values in required fields only, once the enhancement is completed, IDOC structure may look like the one shown in image below.

Enhanced IDOC StructureEnhanced IDOC Structure

Next step after having values appearing in the PO IDOC is to map it in CIG mapping tool.

In scenario 1 where the requirement is to show the price breakup without having any impact on invoicing, the mapping needs to be performed between “E1EDP05” and “extrinsic” nodes.

Mapping with Extrinsic NodeMapping with Extrinsic Node

BETRG contains condition total which needs to be mapped with <Extrinsic>.

The limitation here is, it is not possible to map currency in <Extrinsic> node, as no sub-node is available. Hence work around could be specifying the name (added as a constant) indicating that, the amount is in PO currency as shown below.


Create a duplicate node of Extrinsic to add the mapping.

Creating Duplicate Extrinsic NodeCreating Duplicate Extrinsic Node

Now draw a line from BETRG to Extrinsic #2 and specify the source condition as Condition Type corresponding to P&F Charges.

BETRG Mapping with Extrinsic NodeBETRG Mapping with Extrinsic Node

Since in this case two different Pricing Procedures are in scope, wherein two different condition types are used for P&F Charges (one from each pricing procedure), both the conditions are specified here with operator “OR”.

Extrinsic Node Mapping ConditionsExtrinsic Node Mapping Conditions

Perform the mapping on similar note for all the Conditions, by creating duplicate <Extrinsic> nodes in target structure.

Once the mapping is completed, PO sent to supplier portal will have conditions under “Other Information” section as shown below.

PO Visible in Supplier Portal, with Pricing Breakup as informationPO Visible in Supplier Portal, with Pricing Breakup as information

This data helps the supplier with the price breakup information and has no impact during invoicing.

Scenario 2:

Now consider the second scenario, where Net Price in SAP is exclusive of additional charges.

In this scenario as well, process till getting the additional conditions in IDOC is same, here the way mapping is performed differs the outcome.

In this scenario mapping must be performed between <E1EDP05> from source and <modification> of target structure.

First create a duplicate node of Modification to add mapping.

Creating Duplicate Node of ModificationCreating Duplicate Node of Modification

Draw a line from “KSCHL” to “name” to map the condition type, for better understanding  “KOTXT” can be  mapped with “Description” field.

KSCHL and Name mappingKSCHL and Name mapping

Source conditions can be specified as shown below

Conditions Details of KSCHL and NameConditions Details of KSCHL and Name

Map BETRG with Money

Mapping BETRG with MoneyMapping BETRG with Money

Conditions can be added as shown below.

Conditions Details of BETRG - MoneyConditions Details of BETRG - Money

 Map KOIN with currency by following same steps.

Similarly repeat the mapping by creating duplicate modification node till all the conditions are mapped.

Once the mapping is completed, PO sent to supplier portal will have conditions under “Allowances and Charges” as shown below.

PO in Supplier Network, with additional charges as cost elementsPO in Supplier Network, with additional charges as cost elements

 In this scenario when supplier creates Invoice, all the charges get added up in Invoice amount.


  • SAP ERP and Ariba Business Network supports pricing conditions on Purchase Order, but CIG Add-on does not, hence integration of pricing condition is not available as part of standard integration.
  • It is possible to integrate additional charges without impacting Invoice amount when the net price is inclusive of these charges.
  • Based on the requirement, for two different scenarios there are two different ways of integrating the additional charges. After analyzing the situation one can finalize the integration approach, however in my opinion best approach should be integrating the charges as cost and discount elements and if required update the pricing procedure to make net price exclusive of charges. If customer is reluctant to update the pricing procedure and wants to send it just as price breakup information, then 1st approach discussed in this blog can be considered.
1 Comment
Product and Topic Expert
Product and Topic Expert
0 Kudos

Very well done @Shreyas_RM! This is a practical problem faced by many & such detailed solution explanation is indeed of great help to all.
Really appreciate you & Team sharing knowledge. This helps overcoming common issues easily & focussing efforts on specific ones.