Understand the pricing technique you can use in your SAP system to cater to IRS and EU arm’s length transfer pricing guidelines. Avoid double taxation on cross-country and jurisdiction transfers in an intercompany value chain. Follow configuration and master data checklists as well as two sample process flows that illustrate the technique.
Key Concept
Intercompany transfer pricing guidelines, generally referred to as the arm’s length principle or standard, are applicable when goods or services cross borders between related parties such as company codes in a company. The arm’s length principle of transfer pricing states that the amount charged by one related party to another for a given product must be the same as if the parties were not related. Thus, the value added in a jurisdiction should be taxable in that jurisdiction. Multinational enterprises perform intercompany or interplant transfers to move materials between plants in the same or different countries or tax jurisdictions to manufacture a final product. For manufacturing organizations, factors such as resource availability, lower operational and labor costs, government policies, and scale economies play a decisive role in setting a production base across various geographies to be productive around the clock. In the case of service organizations (e.g., IT consulting), the justification is provided by factors such as 24/7 support using a global delivery model (i.e., executing a project with members distributed globally).
SAP offers a stock transport order (STO) process for intercompany transfers that operates as a pull method. The purchase order is raised in the receiving plant that requires the material. For this purchase order, an outbound delivery is created and goods are issued from the sending plant that has excess material. The goods remain in transit until they are received in the receiving plant.
Intercompany billing is generated in the sending company code. The SAP system offers the RD04 output type and IDoc communication to cater to the matching principle requirement to book the cost of sales (i.e., the vendor invoice in the receiving company code). The various legal guidelines for intercompany transfer pricing are based on the company’s value addition to the material being transferred. The SAP system offers condition types equipped with the capability to address these guidelines.
However, after the completion of the STO process, you might need to reverse the process for cross-site inventory leveling or to cater to a specific demand. The requirement could arise due to material damage in shipping and handling, the need for repair or rework in the received material, or merely because the sending plant now has a requirement surge for material not expected in forecasting models. Legal guidelines prevent arbitration via a circular movement of material, and accountants don’t want that company to pay the tax twice. I’ll discuss a pricing design using native SAP system capabilities to address the concerns of both tax administrators and accountants.
STO Configuration and Master Data in the SAP System
I am using the term interplant transfers to refer to the transfer of material between two plants in the same company code. Intercompany transfers refer to the transfer of material between two plants in different company codes. I’m assuming that basic settings pertaining to an organizational structure are in place, including:
- Company codes
- Plants
- Sales organization
- Purchasing organization
- Distribution channel
- Shipping point
- Material settings: product division and material type
Tables 1 and 2 show a configuration checklist and master data checklist that you can use to ensure the STO and stock transport returns work in your SAP system.

Table 1
Configuration checklist for STO

Table 2
Master data checklist for STO
I am using plant DMA1 in company code 100 (USA) as the supplying plant and plant DMA2 in company code 230 (Costa Rica) as the receiving plant. Figure 1 displays the material flow.

Figure 1
Material transfers using STO
Throughout the rest of the article, I’ll explain the STO process, represented by the blue arrow in Figure 1, and the STO returns process, represented by the green arrow.
STO Process
The process flow in Figure 2 graphically describes the STO process steps applicable for the transfer of material between plants in the same and different legal entities. Process step 4 (cross-company internal billing) and step 5 (cross-company internal vendor invoice generation) are valid only for stock transfer across company codes.

Figure 2
Process flow for STO process
Now I’ll explain the accounting effects that result from the process steps I just described.
Step 1. Create a Stock Transport Purchase Order
Say there is a demand for the material ITEM in plant DMA2. You can configure the demand to generate purchase requisitions automatically via materials requirement planning or from the sales order. Manually, production managers in plant DMA2 can also generate requisitions based on forecasting models outside the SAP system. Buyers can create the purchase order (transaction ME21N in Figure 3) in legal entity 230 to initiate the STO process.

Figure 3
Purchase order for STO process
In the stock transport purchase order in Figure 3, the vendor DMA1 maps to the sending plant DMA1 in its master record. This is how the sending plant is determined for the STO process. The condition type P101 picks up the price of the material in the sending plant. I’ll show you later how this price is used to valuate material in the receiving plant using the material ledger.
Step 2. Create an Outbound Delivery in the Sending Plant
With reference to the purchase order, the outbound delivery (transaction VL10B, shown in Figure 4) is created in plant DMA1. Plant shop floor managers enter the delivery storage location and picked quantity and then click the Post Goods Issue button to issue the material out of the sending plant DMA1. Note the Post Goods Issue button in Figure 4. This changes to Post Goods Receipt when I use the stock transport returns order. This is logical because the material is returning to the sending plant.

Figure 4
Outbound delivery for STO process
Step 3. Issue Materials Out of the Sending Plant
The goods issue out of sending plant DMA1 generates a material document of movement type 643. The movement type 643 appears in the material document via transaction MB03. Figure 5 shows the accounting document (via transaction FB03) with an automatic accounting entry posted for the movement. Each financial posting associated with goods movement and invoicing is reversed in the stock transport returns process, nullifying all financial effects of the STO process.

Figure 5
Accounting document for goods issue in the STO process
Note that if you’re using the material ledger, there are additional considerations. For more, see the sidebar “Intercompany STO Process’ Impact on the Material Ledger.”
Step 4. Create Delivery-Based Billing with Automated Transfer Pricing
Intercompany billings and their associated internal vendor invoices are generated automatically in SAP systems using billing and vendor invoice batch jobs. In the partner profile maintenance using transaction WE20, you can also configure the INVOIC IDoc triggered from a billing document to simultaneously post the internal vendor invoice (Figure 6). The matching principle states that expenses are recognized in the same accounting period in which revenues are booked. The cost of sales is booked instantaneously via INVOIC when revenue is booked via intercompany billing, thereby meeting the matching principle requirement on a real-time basis.

Figure 6
Delivery-based intercompany billing for the STO process
There are various legal guidelines for intercompany transfer pricing based on the company’s value addition to the material being transferred. The SAP system offers condition types equipped with the capability to address these guidelines and prevent any manual error in the price input. The pricing condition technique coupled with condition exclusion functionality also facilitates automated batch jobs for the creation of billing and vendor invoice documents in the sending and receiving plants, respectively, to prevent manual effort in these postings.
You can meet transfer pricing requirements in your SAP system using condition techniques via condition types such as VPRS, PI01, PI02, IV01, and IV02 for cost-based pricing. VPRS is an internal condition that picks up the standard price from the material master record (MBEW-STPRS). Condition types PI01 (fixed amount) and PI02 (percentage) are used to add absolute or percentage markup over the cost of the material. Condition types IV01 and IV02 have PI01 and PI02 as the reference conditions, respectively. Thus, the condition record of the reference condition overrides the condition record IV0*.
For value-added materials that are meant to be sold from the destination plant, you can determine the transfer price as the average sales price of the product to any third-party customer. Usually, these average sales prices are calculated by data-mining tools and are updated in the condition record for condition types. You can also use what is called the condition exclusion technique, which is featured in the sidebar “Formulate Rules to Exclude a Condition.”
Figure 7 shows the billing document created from the outbound delivery. Select the line item and click the item pricing condition icon to get the details of how the transfer price was calculated (Figure 7). You can see that condition type VPRS picked the standard price of $10 of material ITEM in sending plant DMA1. The condition type PI02 has marked up the price by 9% over the cost of material as reflected in its standard price. For more about one condition type, called the statistical condition type, see the sidebar “Identify the Statistical Condition.”

Figure 7
Transfer price calculation for intercompany billing in STO process
Step 5. The INVOIC IDoc Is Automatically Triggered via Output Type RD04
You can configure the output type RD04 to post the vendor invoice automatically. You can display the INVOICE IDoc generated from the billing document by following menu path Goto > Header > Output in Billing document Display/change screen and clicking the Processing log button in the subsequent screen (Figure 8).

Figure 8
RD04 output from the billing document
Accounting documents for billing and vendor invoices are tied to each other by the billing document number in the Reference field. The financial posting for the billing document and the internal vendor invoice are shown in Figures 9 and 10.

Figure 9
Accounting document for internal billing

Figure 10
Internal vendor invoice posted by the IDoc
Step 6. The Material Is in Transit
At this point, the material is in transit. Imagine this as the material being transferred in a ship from the US to Costa Rica. From an accounting standpoint, the materials were removed from the books of legal entity 100 the instant you posted the goods issue. However, you must valuate the material in this shipment, which was shipped out sometime close to month end, and bring it to your accounting books as a month-end valuation activity.
SAP provides a standard report in transaction MB5T to valuate in-transit inventory for store transfers. This report successfully valuates the stock transferred between two plants in the same legal entity at the standard price. However, the standard SAP system’s valuation of in-transit inventory at the purchase order price for intercompany STO process does not satisfy business requirements.
Note
SAP offers a new business function LOG_MM_SIT to value cross-company stock transfers in SAP enhancement package 5. This means that stock in transit is automatically valuated.
As shown in Figure 3, you can design the pricing schema for the system to propose the cost of the material in the sending plant as the price in the purchase order. You can see how MM pricing condition P101 fetches the standard price of the material item in sending plant DMA1 and populates the stock transport purchase order in Figure 3. However, if the buyer overrides the system-proposed price to, say, market price, the in-transits are valuated at the buyer-proposed price. In Figure 11, you can see the havoc that occurs when in-transit inventory is not valuated, as the buyer used a price of zero for purchase order 4501000588.

Figure 11
In-transit inventory valuation report for STO process
Tip!
Another requirement for in-transits is to find the age of the material since it has been in transit. This helps track the aged materials to see if they were lost while in transit and consequently to write them off the books of account. Companies use custom reports in their SAP systems to address this requirement.
Step 7. Post Goods Receipt of the Material in the Receiving Plant
As the material arrives at the receiving plant, the goods receipt (transaction MIGO) is posted by the shop floor managers in the receiving plant DM02 with movement type 101, which creates the accounting entry shown in Figure 12. This brings the material from in-transit state to the stock in unrestricted use status in the receiving plant.

Figure 12
Goods receipt for STO process
Note
SAP offers a new business function LOG_MM_SIT to value cross-company stock transfers in the material ledger with SAP enhancement package 5. This transfers the cost component split for the good from one company code to the next, avoiding this issue.
Now that I’ve looked at the STO process, let’s explore the STO returns process.
STO Returns Process
After the completion of STO process, you might need to reverse the process. This requirement could arise due to material damage in shipping and handling, repair or rework that is needed in the received material, or merely because the sending plant has a sudden demand for more material.
As shown in Figure 1, the material transferred from plant DMA1 to plant DMA2 using the STO process can be returned to plant DMA1 from plant DMA2 in two ways:
- Using the STO returns process, which is applicable for both value-added material (e.g., FERT and HALB) transfers and non-value-added material (e.g., ROH) transfer
- Using a fresh STO to pull back a non-value-added material
Figure 13 explains the process flow for the STO returns process. Process steps 6 and 7 are applicable only in cases of stock transfers across legal entities.

Figure 13
Process flow for STO returns process
As a stock transport returns order is a push method, it is more suitable in scenarios in which the material is damaged in transportation or a repair is identified upon receipt of the material. The damaged item is pushed back to the sending plant. On the other hand, a fresh stock transport order process is a pull method, which is more suitable for cross-site inventory leveling based on demand.
In the case of intercompany returns, global tax and trade accountants require the original billing and vendor invoice, respectively booked in the sending and receiving legal entities, to be reversed. They want to ensure that there is no double-booking of revenue and consequent tax as the value-added material (e.g., HALB or FERT) underwent a circular movement across legal entities. However, you can use a fresh STO for non-value-added material (e.g., ROH) because you transfer these materials at a transfer price equal to the cost of the material. Thus, even though there is double-booking of revenue in the circular movement, there is no profit and consequently no duplication of tax.
Note
Some companies also use the fresh STO process for returning value-added materials due to a complicated system landscape. For companies with third-party logistics systems tied up to the SAP system to carry out warehouse transactions, additional customization with regard to the stock transport returns order movements are not justified by the volume or frequency of returns transactions. Therefore, customization programs are written in FI to reverse the billing and vendor invoice document postings created during the STO and fresh STO processes for returns.
Now I’ll show you how the STO returns process reverses every transaction and accounting entry created during the STO process. For example, imagine 10 quantities of material ITEM were transferred from DMA1 to DMA2 using the STO process. Out of these 10 quantities, two were damaged in shipping and handling.
Step 1. Create an STO Returns Purchase Order
In the purchase order for the original STO, use transaction ME22N to create an additional line item to return the materials by checking the Returns Item indicator in the purchase order line item (Figure 14). The pricing schema proposes a purchase price of $10 (i.e., cost of material ITEM in the original sending plant DMA1).

Figure 14
Returns purchase order for stock transport returns order
Note
You can also create a separate purchase order to return the material, but having an additional line in the purchase order for the original STO helps link the returns to the original purchase order for which damaged items were received.
Step 2. Create Returns Delivery in the Original Sending Plant DMA1
With reference to the returns purchase order, the returns delivery is created in the sending plant’s legal entity. Figure 15 shows the returns delivery for the stock transport returns order. It is noteworthy that the SAP system automatically suggests Post Goods Receipt in case of returns delivery because the returned material comes back to plant DMA1.

Figure 15
Returns delivery for stock transport returns process
Step 3. Post Goods Receipt Reversal in the Original Receiving Plant DMA2
The accounting document for goods receipt reversal is shown in Figure 16. A comparison with Figure 12 shows how postings in the original goods receipt have been reversed. You see that the postings to the inventory, GR/IR, and purchase price variance have the debit and credits reversed to nullify the financial impact to all these accounts.

Figure 16
Accounting document for goods receipt reversal for STO returns process
Step 4. The Material Is in Transit
A standard SAP report valuates the in-transit inventory that can be displayed in transaction MB5T. The in-transit inventory is valuated at the purchase order price in the returns line. In Figure 17, there were two return lines in purchase order 4501000588 with the prices $10 and $0, respectively.

Step 5. Receive the Returns Materials in the Sending Plant DMA1
You can post the goods issue reversal in DMA1 by clicking the Post Goods Receipt button in Figure 15. The accounting document for goods issue reversal shown in Figure 18 is the reverse of that goods issue.

Step 6. Create a Delivery-Based Billing Document for Intercompany Transfers
The batch job for creating billing documents based on delivery automatically picks up the returns delivery and creates billing. This creates the accounting document shown in Figure 19.

Step 7. Generate the INVOIC IDoc Automatically
The RD04 output type generates the INVOIC IDoc from returns billing in step 6. This INVOIC IDoc creates the vendor invoice document in the receiving company code. The postings in the accounting document for internal billing and internal vendor invoice for the return STO shown in Figures 19 and 20 are simply reverses of those created in the original STO process shown in Figures 9 and 10.

Tip!
You can carry out the stock transport returns order with the same flow as the STO process by imagining that you are sending a negative quantity of the material.
Formulate Rules to Exclude a Condition Condition exclusion is a technique used to formulate rules to exclude one condition type or a group of condition types when the system finds a condition record for another condition type or group (
Figure A). Typically, the technique is used to find the most favorable price or most suitable discount when multiple prices or discounts are applicable simultaneously. I’ll use the condition technique to set up a rule to select a market-based price (e.g., the average sales price) for a value-added material transfer while the pricing procedure uses cost plus markup. Cost plus markup refers to the standard price of the material in the sending plant incremented by a certain percentage or dollar amount for a non-value-added material transfer.

Figure A
Condition exclusion technique in transfer pricing design
You can maintain condition exclusion by following menu path Customizing > Sales and Distribution > Basic Functions > Pricing > Condition Exclusion. An exclusion group, as shown in Figure B, is a group of condition types that is compared with other groups during pricing. It results in the exclusion of an entire group.

Figure B
Exclusion groups to club condition types
As shown in Figure C, condition exclusion procedure D (Exclusive) deactivates all the condition types in exclusion group ROH as the SAP system finds a condition record for condition type XTP1 in exclusion group FERT.

Figure C
Configuration for condition exclusion
If condition records are maintained for all value-added materials in the system, they are transferred at the average sales price. Non-value-added items are transferred at cost plus markup. To demonstrate, the condition record is maintained for condition type XTP1 at $12 per unit of material VITEM (Figure D). As you transfer a unit of non-value-added material ITEM and a unit of value-added material VITEM, the pricing procedure and the condition exclusion configuration proposes a cost plus markup price for ITEM and an average sales price for VITEM.

Figure D
Internal billing for non-value-added and value-added material transfer
In Figure E, you can see how the exclusion technique deactivated condition types VPRS and PI02 as the SAP system found a condition record for condition type XTP1.

Figure D
Demonstration of condition exclusion in transfer price calculation
Identify the Statistical Condition Statistical condition types aid in price calculation, but left alone they do not post amounts in document line items. You can identify statistical condition VPRS by the inactive icon in the pricing details in
Figure E, which is part of the “Formulate Rules to Exclude a Condition” sidebar.
Because condition type VPRS has been termed statistical in the pricing procedure, I have indicated 109% in PI02. Had I removed the statistical indicator for condition type VPRS in the pricing procedure, I would have maintained the condition record for condition type PI02 at 9% to get the same amount.
Intercompany STO Process’ Impact on the Material Ledger
Figures A and
B, which you display using transaction CKM3N (material price analysis), are applicable if the sending and receiving plants use the material ledger. The SAP system treats the goods issue from the sending plant for an intercompany STO as consumption and treats the goods receipt in the receiving plant as a purchase from any vendor. The value that is transferred to the receiving plant’s legal entity purely depends on the price in the purchase order. The price column for row GR for purchase order 4501000588 in
Figure A shows the havoc created by the buyer who used the price of zero. (This is the zero price populated by the user in purchase order 4501000588 by overriding the system-proposed price of the material in the sending plant by condition type P101 in purchase order 4501000588, which results in no value being transferred to DMA2.)

Figure A2
Material price analysis in the sending plant for the intercompany STO process

Figure B2
Material price analysis for the receiving plant in the intercompany STO process
Prior to SAP enhancement package 5, even when you use the standard SAP system’s pricing schema to populate the purchase order with the price of the material (in the sending plant) being transferred, the cost components are not captured by the condition types. Thus, the cost components of the material are lost in intercompany transfer. Say the material ITEM with a standard price of $10 has its cost components as material ($3), labor ($4), and overhead ($3). Upon intercompany transfer of this material, using $10 as the price in the purchase order, the cost component in the receiving plant becomes material ($10).
Ashim A. Nanda
Ashim A. Nanda is a managing consultant in SAP FI/CO working with IBM Global Business Services. He has more than eight years of experience with implementation, global rollout, and maintenance projects for clients in the pharmaceutical, telecommunication, automotive, and high-tech industries. Ashim holds an MBA in finance and systems from Xavier Institute of Management, India, and a degree in electrical engineering from University College of Engineering, India.
You may contact the author at ashim.nanda2001@gmail.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.