Transfer Price is the price at which an item is transferred from one operating unit to another operating unit. Transfer price is also usually called as “Arm’s length Price” and is generally guided by the originating country’s accounting standards.
Logic for transfer price determination for shipping flows is explained in Figure . However, for procuring flow, you can specify whether the transfer price is same as the PO price in intercompany transaction flow. This means that an operating unit sells at the same price at which it procured the item to another operating unit. If you specify that the transfer price is not same as the PO price in the intercompany transaction flow, then system uses the same logic as depicted in . For procuring flow, you specify the pricing option (transfer price or PO price) separately for asset and expense items.

You can make use of the external API feature of the intercompany invoicing to develop your own custom logic for determining transfer price. For example, if you want to use the cost price as the transfer price, then build your custom logic to fetch the cost price. The name of the external API is MTL_INTERCOMPANY_INVOICES.get_transfer_price and the name of the file is INVICIVB.pls located at $INV_TOP/patch/115/sql. Ensure that the API returns transfer price along with currency code.
Please ensure that the transfer price is not 0. Oracle expects that the transfer price should be greater than 0. You will be able to create an intercompany AR invoice but will not be able to create an intercompany AP invoice resulting in intercompany reconciliation discrepancy. You need to set the profile “QP: Security Control” to ‘Off’, to generate logical transactions and for raising the intercompany AR invoice.

1. For a single process flow (one procure-to-pay cycle or order-to-cash cycle), you can model Oracle to generate intercompany invoices between two or more operating units. The building block of intercompany invoicing is the setup of intercompany transaction flow.
The intercompany transaction flow establishes the physical flow of goods and financial flow relationship between two operating units. The intercompany transaction flow establishes the relationship between one operating unit (known as Start Operating Unit) and another operating unit (known as End Operating Unit) about the actual movement of goods. Similarly, it also establishes the invoicing relationship between Start Operating Unit and End Operating Unit.
2. Intercompany transaction flow is of two types – shipping flow and procuring flow. You need to setup intercompany transaction flow of type shipping when selling operating unit is different from shipping operating unit. You need to setup intercompany transaction flow of type procuring when buying operating unit is different from receiving operating unit.
 
3.1 By enabling advanced accounting for an intercompany transaction flow, you would be able to generate multiple intercompany invoices between different operating units for the same physical movement of goods.
Oracle supports intercompany invoicing for both shipping and procuring flows. However, you need to use the ‘Advanced Accounting’ option for enabling intercompany invoicing for procuring flow even if it involves only two operating units. If you do not enable ‘Advanced Accounting’ option at the intercompany transaction header, then no logical transactions will be generated and no intermediate nodes can be defined
3.2 You need to define intercompany relations between each pair of operating units in the intercompany transaction flow. When advanced accounting is enabled for an intercompany transaction flow, you will be able to define multiple intercompany relationships between different operating units. If advanced accounting is set to No, then an intercompany transaction flow can have only one intercompany relation (it is between start operating unit and end operating unit).
 
At each pair of intercompany relationship, you will define the intercompany accounts, and currency code to be used on AR and AP invoices.
Note that in Figure 3.1 – Intercompany Transaction Flow, physical goods never flow through intermediate operating unit. Oracle creates ‘Logical Material Transactions’ between the operating units, based on which intercompany invoices between multiple operating units are raised.
3.3 No logical transactions will be created when you do not choose ‘Advanced Accounting’. For example, the transactions in Figure 4 can be broken down as depicted in Figure 6.
 
Logical transactions are useful to record financial transactions between two operating units without physical movement of goods. For example, in Figure 3.2 – Logical Material Flow, Vision Japan is an intermediate operating unit through which no physical goods flow. However, it is a financial intermediate node, which is involved in intercompany invoice flow. To facilitate accounting in the intermediate OUs, logical intercompany receipt and issue transactions are created. Similarly, logical receipt and logical sales order issue transactions are created for those receipts and issues that are not accompanied with physical receipt and issue of goods.
3.4 Advanced Accounting’ option is not available for internal requisitions – internal sales order business flow. Though you can set the ‘Advanced Accounting’ flag at Intercompany Transaction Flow header to ‘Yes’, system ignores the flag and does not generate any logical transactions. This means you cannot have an intermediate financial node in the intercompany transaction flow. Also, you cannot have intercompany invoicing for internal sales order with direct transfer (in shipping network between the inventory organizations) as an option. You have an flexibility to switch off intercompany invoicing for internal sales orders by setting the profile ‘INV: Intercompany Invoice for Internal Orders’ to No.
Intercompany invoicing is possible for inter-org transfers of type ‘In-transit’ only through ‘Internal sales Orders’. No intercompany invoicing is possible if you perform org transfers between two inventory orgs belonging two different operating units without ‘internal sales Orders’. Also note that intercompany invoice cannot be raised for inter-org transfers of type ‘Direct Transfer’ through Internal sales Orders.

Customer and Supplier relationship

Intercompany invoicing is widely used in multinational organizations. Sometimes you will find that these companies engage in a customer – supplier relationship.
For example, in above Figure you need to define Vision Japan as a customer in Vision China operating unit. Similarly, Vision China should be defined as a supplier in Vision Japan. When you define an intercompany relationship between Vision Japan and Vision China, actually you are establishing an internal customer and supplier relationship. Similar is the case for every intercompany relationship in an intercompany transaction flow. However, at present intercompany invoicing does not support any sales credit check.
Intercompany invoicing is done when one organization offers products / services to another operating unit. For example, when a customer order is processed through the order cycle and then invoiced, the selling organization records journal entries to accounts receivable, revenue, and as applicable tax and freight. The shipping warehouse records journal entries to its inventory asset and cost of goods sold accounts. When this scenario involves a selling organization in one business unit but a shipping warehouse in a different business unit, additional accounting must take place. The shipping organization needs to bill the selling organization at transfer price, and the selling organization needs to make the corresponding payment.
Note that intercompany invoicing is possible only between two operating units. You cannot invoice between two inventory orgs if they belong to the same operating unit.The intercompany AR invoice is the transaction used by Oracle to record intercompany receivable accounting for the shipping organization: debiting intercompany AR (at transfer price), tax, and freight and crediting intercompany revenue.
The intercompany AP invoice is the transaction used by Oracle to record the payable accounting for the selling organization: debiting intercompany COGS (at transfer price) and freight and crediting the intercompany payable account. Ideally, these transactions should happen automatically and as soon as possible after the shipment takes place. This can be done using the intercompany invoicing process within Oracle applications.
Oracle supports intercompany invoicing when:
  •  Shipping operating unit is different from selling operating unit and
  •  Receiving operating unit is different from procuring operating unit.
Basic Business Needs
Oracle Applications provides you with the features you need to satisfy the following basic business needs.
  • Enter sales orders from one operating unit and assign a shipping warehouse under a different operating unit.
  • Automatically create intercompany payable and receivable invoices to record intercompany revenue, payables and receivables.
  • Eliminate intercompany profit in the general ledger.
Major Features
Automatic Intercompany Sales Recognition
You can assign a shipping warehouse under a different operating unit to a sales order. The system automatically records an intercompany sale between the shipping organization and the selling organization by generating intercompany invoices.
Segregating Trade and Intercompany COGS and Revenue
You can define different accounts for Trade and Intercompany COGS and Sales Revenue to eliminate intercompany profits’ Transfer Pricing. You can establish your transfer pricing in intercompany invoices through Oracle Order Management and Shipping Execution’s price lists.

Extensible Architecture
At key event points in the programs, stored procedure callbacks have been installed, including invoice and invoice line creations, and the transfer pricing algorithm. You can insert PL/SQL code to append or replace existing program logic to fulfill your specific business requirements.

The organization models in Oracle Applications define organizations, their relationships, and the transactional flow among organizational structures. With the multi-org security model, you can customize Oracle Applications according to your business needs. In this topic, you learn about features of multi-org security model.

In the multi-org security model, each user within the organization is assigned responsibilities. These responsibilities are in turn attached to operating units (OUs) or inventory organizations. In this security model, the responsibility is the key because different responsibilities have distinct ways of securing the data contained in them.
For example, within general ledger (GL), data security is provided by the GL set of books (SOB). Additionally, each asset can be secured by setting up a hierarchy of asset books within an asset. Similarly, within manufacturing  applications and INV,  security is provided by inventory organizations (IOs) and for Fixed Assets (FA), security is provided by Corp Book.
The security for data Human Resource (HR) is implemented by the Business Group (BG). Similarly, data security for order management (OM), Accounts Receivable (AR), Account Payable (AP), Purchase Order (PO), Cash Management (CE), Project Accounting (PA), and Sales Compensation (SC) is provided by OU.

More and more companies are doing business globally, and taking advantage of the operations and tax benefits that can be achieved by running operations throughout the world. These companies have multiple operating units and organizations around the world. When goods are shipped or received, the financial ownership through these organizations does not necessarily follow the physical movement of goods. Oracle Applications support three main logistics needs of global organizations – Central Distribution, Central Procurement and Drop Ship.
  • Central Procurement (P2P)
  • Central Distribution (IR ISO)
  • Drop Ship
    1.  External (O2C)
     2. Internal (O2C)
A corporation manages its global operations in various countries through a network of subsidiaries, separate legal entities, licensees and several associated label franchisee. This complex network of operations is necessitated to take care of local legal and fiscal environment, which prevail in each of those countries.
Consider the below example:
Vision Operations (V1) is based in USA. It has a 100 % owned subsidiary company called Vision Asia (VA). VA in turn has two subsidiaries – Vision Japan (VJ) and Vision China (VC). VJ has manufacturing facilities in Osaka (O1) and distribution center at Tokyo (T1). Due to tax advantages, V1 sources all the goods from china through VJ. Though the financial transactions between V1 and VC are routed through VJ, logistic movement of goods takes place directly between V1 and VC.
Continuing the above example, Vision Operations (V1) has another subsidiary company called Vision Singapore (VS), 100 % that it owns. Individual plants procure components from their own suppliers. VS centralizes all the commodity (like steel, Aluminum etc.,) procurement needs of Vision Operations across Overview of Intercompany Invoicing 1 world and procures the material on behalf of all VJ and its subsidiary plants and places purchase orders on its suppliers. However, material is directly shipped from the suppliers to all the manufacturing plants.

Fig1
A key requirement for the global implementation of Oracle applications in such a complex business environment is the ability to process “intercompany transactions,” where one business unit (across OUs)invoices another for transfer of goods and services. Often these intercompany transactions involve transactions related to general expenses, funds transfer, salary transfers, asset transfers, royalty payments and product transfers.
For example, the organization structure depicted in figure 1 can be modeled in Oracle applications as depicted in Figure 2.

Following are the key implementation points you need to look into:
  • Understand the corporation business entities and the relationship between them. Identify selling-shipping relationships and procuring-receiving relationships.
  • Understand Oracle multi org structure and the building blocks in data structure.
  • Breakup the business relationships into manageable process flow and map it to various entities in Oracle applications.