16Supply Chain Financial Orchestration

This chapter contains the following:

Oracle Fusion Supply Chain Financial Orchestration enables you to run financial orchestration flows and define business rules for financial orchestration. Using Oracle Fusion Supply Chain Financial Orchestration, you can:

  • Manage intercompany transactions and intracompany flows. Intracompany flows are present when a financial orchestration exists between two different profit center business units that belong to the same legal entity. You can separate the physical part of this transaction from the financial part of the transaction.

  • Support complex global structures without compromising supply chain efficiency.

  • Model your corporate tax structures in a global environment efficiently without impacting the physical movement of goods. You can deliver goods and services to your customers as quickly as possible, and lower your total supply chain costs at the same time.

  • Optimize operational efficiency by centralizing sourcing and order management functions.

  • Reduce implementation costs and cycle time.

  • React effectively to corporate reorganizations or acquisitions.

The following figure illustrates an example of an intercompany transaction for the Vision Corporation.

Example of an intercompany transaction for Vision
Corporation.

In this example, a financial orchestration flow exists between the Vision Distribution Center, located in Singapore, and Vision Operations, located in North America. The Vision Distribution Center sends the physical product that's involved in the transaction to retailers. It also sends the financial information and transfers ownership of the product in the financial books for the transaction to Vision Operations in North America. Each organization is a separate legal entity in Vision Corporation. However, these organizations are located in different countries. They require separate accounting and tax reporting. You can use Oracle Fusion Supply Chain Financial Orchestration to capture, process, and perform an accounting of the events. The events occur during an intercompany transaction in an enterprise that's similar to Vision Corporation. For example, you can use it to do the following:

  • Create documentation and accounting rules that specify the type of accounting documentation to create. For example, whether or not to create an intercompany invoice, to track profits in inventory, or to track trade distributions.

  • Create transfer pricing rules that specify whether to use the transaction cost, a purchase order price, or the sales order price as the basis to calculate the intercompany transfer price between the seller and the buyer. You can create transfer pricing rules that apply a markup or markdown percentage on the internal sale.

  • Create intercompany buyer profiles and intercompany seller profiles that Financial Orchestration uses to create the intercompany invoice. You can specify the business units that provide the following:

    • Procurement and payables invoicing for the profit center business unit.

    • Business unit that provides receipt accounting information.

    • Bill-to business unit and bill-to locations.

    • Procurement business unit.

  • Create financial orchestration qualifiers that specify when and under what conditions to run a financial orchestration flow. For example, you can create a rule to run an orchestration flow only if a particular supplier is involved in the transaction.

  • Create financial orchestration flows. You can specify the following:

    • Legal entities and business units that are involved in a flow.

    • Financial orchestration qualifiers that control when to use the flow.

    • Financial routes to use for the flow.

    • Transfer pricing rules and documentation accounting rules.

    • Date when the flow goes into effect.

  • Specify a priority among different flows.

In general, the term financial orchestration is used to describe the Financial Orchestration work area and the related tasks. This work area is part of the Manufacturing and Supply Chain Materials Management offering.

A financial orchestration flow automates the execution of the components within a financial flow once the movement of goods or fulfillment of services happens in the supply chain flow.

The following figure describes a typical financial orchestration flow.

This figure illustrates the supply chain financial
orchestration flow.

Components of the Flow

A financial orchestration flow is triggered when an Oracle Fusion Supply Chain application sends a notification that a supply chain event occurred, such as a shipment transaction. The applications can be Oracle Fusion Inventory, Oracle Fusion Receiving, and so on. The financial orchestration flow includes the following steps:

  1. Receive the supply chain event.

  2. Identify the financial orchestration flow to use in reply to the event. It uses the configuration that you specify to identify this flow:

    • Manage Supply Chain Financial Orchestration Qualifiers

    • Manage Supply Chain Financial Orchestration Flows

  3. Create an instance of the financial orchestration flow identified in the previous step.

  4. Create the tasks to run the instance.

  5. Interact with one or more Oracle Fusion applications. It can exchange information about the instance with these applications automatically, so you need not do any configuration to enable these interactions. It can interact with the following Oracle Fusion applications while the instance runs:

    • Oracle Fusion Distributed Order Orchestration: Provides the orchestration order information for shipment flows.

    • Oracle Fusion Procurement: Provides the purchase order information for procurement flows. It confirms whether a financial orchestration flow that does validation is available when it creates or updates a global procurement purchase order.

    • Oracle Fusion Product Information Manager: Provides information about the products that financial orchestration uses for each supply chain transaction.

    • Oracle Fusion Financials: Using the advanced global intercompany that you specify during its setup, Oracle Fusion Financials provides information about the supplier and customer that financial orchestration associates with each legal entity. Financial orchestration interfaces the intercompany receivables and payables invoices to Oracle Fusion Financials.

    • Oracle Fusion Materials Management and Logistics: Sends a notification indicating that a transaction occurred in the physical supply chain, such as a shipment or a receipt. It also sends other details about the transaction.

    • Oracle Fusion Managerial Accounting: Tracks cost elements.

  6. Financial Orchestration uses various web services to interact with other Oracle Fusion applications that provide and store costing, receivables, and payables data.

  7. Check the Monitor Financial Orchestration Execution page for any issues that occur during the execution of a financial orchestration flow.

This topic describes how to implement Oracle Fusion Supply Chain Financial Orchestration.

  1. Sign in to Oracle Fusion.

    Ensure you use a login that enables you to add a new implementation project that includes the Manufacturing and Supply Chain Materials Management product offering. Contact Help Desk to determine the login that you must use.

  2. Create an implementation project:

    1. In the Setup and Maintenance work area, from the Tasks menu, click Manage Implementation Projects.

    2. On the Implementation Projects page, click Actions, and then click Create.

    3. In the Name field, enter a value that describes your project, and then click Next.

      For example, enter My Financial Orchestration Project.

      • On the Create Implementation Project: Select Offerings to Implement page, include the Manufacturing and Supply Chain Materials Management offering, and click Save and Open Project.

        The application creates an implementation project that you can use to modify the financial orchestration flow.

  3. In the Setup and Maintenance work area, go to the following.

    • Offering: Manufacturing and Supply Chain Materials Management

    • Functional Area: Supply Chain Financial Flows

    • Task: Manage Supply Chain Financial Orchestration System Options

  4. Complete the Manage Supply Chain Financial Orchestration System Options task and click Done.

  5. Complete the tasks in the following sequence:

    • Manage Supply Chain Financial Orchestration System Options

    • Manage Supply Chain Financial Orchestration Documentation and Accounting Rules

    • Manage Supply Chain Financial Orchestration Transfer Pricing Rules

    • Manage Profit Center Business Unit Party Relationship

    • Manage Supply Chain Financial Orchestration Qualifiers

    • Manage Supply Chain Financial Orchestration Flows

    • Manage Drop Ship Financial Flows.

    Note: Oracle recommends that you follow the tasks in the specified sequence. Some tasks depend on the completion of a previous task in the sequence. For example, you must create a transfer pricing rule first, so that you can specify this rule when you create a financial orchestration flow.
  6. Import the business units, customers and suppliers required to create relationships for intercompany invoices.

    This information is required to create the profit center business unit to party relationship. During the Export and Import Application Setup process, ensure that you import the business objects of the Financials offering first before you import the business objects of Manufacturing and Supply Chain Materials Management offering.

Documentation and Accounting Rules

You can define the currency to use in the financial orchestration flow. For example, you can use the same currency as the seller or the legal entity. You can set the currency option while creating or updating an accounting rule. The currency options that you can set are:

  • Selling Node: Use the same currency that the seller uses. For example, if the seller uses the US dollar and if the buyer uses the Euro, then the supply chain financial orchestration process uses the US dollar throughout the entire transaction. This includes invoice data.

  • Buying Node: Use the same currency that the legal entity uses in the primary ledger. This legal entity resides in the business unit.

  • Source document: Use the currency that the source document uses.

You can select the Currency Option in the Documentation and Accounting Rules dialog box.

Define a conversion type if there are different currencies involved in the supply chain financial orchestration process. A conversion type is used to calculate the transfer price automatically. You can specify a conversion type while creating or updating a documentation and accounting rule.

You can select a conversion type from the Documentation and Accounting rules dialog box that appears when you create or edit a documentation rule. Select a conversion type from the list of values in the Conversion Type field.

Oracle Fusion Cost Management uses trade distributions when it does the cost accounting distributions for the transactions that financial orchestration sends. These are the accounting distributions that Oracle Fusion Cost Management uses for intercompany accrual, intercompany cost of goods sold, and so on.

You can now track intercompany profit in the physical inventory's item costs in a separate cost element type.

For example, lets assume Vision Operations, an inventory organization, owns inventory valued at 10.00 USD which was transferred from another inventory organization, Vision Manufacturing. Vision Manufacturing added a markup of 1.50 USD to its item cost of 8.50 USD to arrive at a sales price of 10.00 USD to Vision Operations. In Vision Operation's item cost, the intercompany profit in inventory of 1.50 USD is tracked in a separate cost element type with the cost element as Vision Manufacturing, the source organization which incurred this gain.

Tracking Profit in inventory separately enables you to eliminate the intercompany profits in the inventory valuation during financial consolidation process. You can enable or disable this feature using the Track Profit in Inventory option while creating the Documentation and Accounting rule.

If you use the Intercompany invoice option on the Manage Documentation and Accounting Rules page to include intercompany invoices, then Financial Orchestration creates the following intercompany invoices during the transaction:

  • Accounts payable invoice. A transaction that records the payable accounting when one business unit buys goods or services from another business unit.

  • Accounts receivable invoice. A transaction that records the receivable accounting for the shipping business unit in an intercompany flow. It records journal entries in accounts receivables for the seller, it records revenue, and it records tax and freight charges. It adds journal entries to the inventory asset account and the cost of goods sold account for the shipping warehouse.

If you specify to not include intercompany invoices, then Financial Orchestration does not create any intercompany invoices during the transaction. An intercompany invoice is not required. For example, an intracompany trade that occurs between business units that belong to the same legal entity might not require an intercompany invoice. In this situation, a trade distribution in cost accounting handles the accounting for the receivables and payable balances.

For all transactions except nonshippable sales, generation of intercompany invoices is optional. This option can be configured in the documentation and accounting rules.

Note: For nonshippable sales, you must deselect the Trade Distributions option, and enable Inter Company Invoices on the Create Documentation Accounting Rules page.

Financial Orchestration Transfer Pricing Rules

Accounting Transfer Price

Accounting transfer price is the intercompany transfer price that financial orchestration uses for the documents and transactions created in a financial orchestration flow. You can specify the account transfer price on the Transfer Pricing Rules dialog box.

The following table gives the options available for accounting transfer price. You can select one of these options.

Option Description

Transaction Cost Basis

Use the production cost that the seller incurs to produce the product.

  • Nonshippable Sales: This price basis isn't supported for internal transfers.

Source Document Price Basis

Use the price in the sales order or a purchase order based on the business process type.

  • Procurement: Use the price in the purchase order line.

  • Shipment: Use the selling price from the sales order line.

  • Internal Transfer: This price basis isn't supported for internal transfers.

  • Drop Ship: Use the line price in the purchase order line. Use the check box to select the sales order price instead of the purchase order price.

Note:

Financial Orchestration excludes the shipping charges in the sales order line from the selling price when it calculates the transfer price. It also treats a recurring charge on a sales order line as a one-time charge when it calculates the transfer price. Financial Orchestration doesn't support a sales order line that includes a recurring charge.

Transfer Pricing Markup Percentage

You can use the Markup Percentage on the Manage Supply Chain Financial Orchestration Transfer Pricing Rules page to enable the seller to earn a profit or to incur a loss on an intercompany transaction. To determine the intercompany transfer price, Financial Orchestration multiples the Markup Percentage with the value of the Accounting Transfer Price. For example, if an item costs 1.00 USD, and if you set Markup Percentage to 15, then Financial Orchestration sets the transaction price for this item to 1.15 USD.

You can also enter a negative value to incur a loss. For example, assume the Singapore Distribution Center must mark down the items that it sells to retailers by 15%. So, if an item costs 1.00 USD, and if you set Markup Percentage to -15, then Financial Orchestration sets the intercompany transfer price for this item to 0.85 USD.

You can specify the following financial orchestration system options on the Manage Supply Chain Financial Orchestration System Options page. Financial Orchestration uses the following options to process a financial orchestration flow:

  • Item Validation Organization: Specify the organization that financial orchestration uses to validate each item according to the qualifiers that you create.

  • Service Item: Specify the service item that various financial orchestration tasks use.

  • Maximum Number of Records per Batch: Specify the number of records that financial orchestration gets when it processes supply chain events. You can use this value to tune the performance of your server environment.

  • Calculate tax for trade receipt accrual: Select this check box to calculate taxes on the intercompany accrual transaction.

Profit Center Business Unit to Party Relationships

A profit center business unit is a part of a company that you treat as a separate business. Your organization calculates the profits and losses for this profit center separately from other parts of the organization.

An intercompany buyer profile must be defined for profit center business units that act as a buyer in a buy and sell relationship. A buyer profile consists of two sections:

  • Setup for the buyer's payable invoice and purchase order

  • Customer locations for the seller's receivables invoice and sales order

Setup for Buyer's Payable Invoice and Purchase Order

Procurement and Payables Invoicing are business functions. A business unit acting as a shared service center can provide these services to a profit center business unit. You can define this relationship in the setup for the Buyer's Payable invoice and PO. The procurement business unit and the bill-to business units defined here are used to create intercompany payables invoices in the buying business unit. The bill-to business unit is also used to derive the attributes required for receipt accounting in Oracle Fusion Cost Management. Hence, the procurement and bill-to business unit have to be defined even when intercompany invoices aren't expected to be created for the buy and sell relationship.

Customer Locations for Seller's Receivables Invoice and Sales Order

The profit center business unit that acts as a buyer in a buy and sell relationship also must be defined as a bill-to location. This bill-to location is used to create intercompany receivables invoices in the selling business unit. The bill-to location associated with a buying business unit should belong to the customer account associated with the Buying business unit's Legal Entity in the Manage Intercompany Supplier Customer association task.

The customer bill-to locations belongs to a reference data set called customer address set. The buying profit center business units are represented by customer bill-to locations. The customer bill-to locations belong to a reference data set called customer address set. The selling profit center business unit can use the bill-to locations belonging to the customer address set to which it has subscribed to. The bill-to location representing the buying profit center business unit must be available in the customer address set subscribed by the selling business unit. The customer locations need not be associated if intercompany invoices aren't expected to be created for the buy and sell relationships.

Intercompany Seller Profile

You can specify the intercompany seller profile in the Profit Center BU Profiles section of the Create Profit Center BU to Party Relationship page. You must specify it for a profit center business unit that acts as a seller in a buy and sell relationship. You can use the following sections:

  • Business Unit for Seller's Receivables Invoice. In the Receivables Business Unit list of values, select the profit center business unit where Financial Orchestration sends the receivables invoice.

  • Supplier Site for Buyer's Payables Invoice and Purchase Order. You can use the following list of values:

    • Buyer's Procurement Business Unit. Select the profit center business unit that acts as the seller in the buy and sell relationship.

    • Buyer's Bill to Business Unit. Select the business unit where Financial Orchestration sends the bill.

    • Supplier Site. Select the supplier site that Financial Orchestration uses to create the intercompany payables invoice.

FAQs for Profit Center Business Unit to Party Relationships

If you define an intercompany seller profile, and then at some later point you modify this profile, then Financial Orchestration displays an error message that describes that you updated the supplier profile and that you must also update the seller profile with new supplier information. To fix this error, you must use the Profit Center BU Profiles section of the Edit Profit Center BU to Party Relationship page to modify the seller profile. If you do this modification, then this page displays the name of the supplier that you modified in the Supplier field. You must also do similar work if you modify the buyer. For example, if you modify the intercompany buyer profile, then you must also modify this profile with the new buyer information.

When can I delete an intercompany buyer or seller profile?

You can delete an intercompany buyer or seller profile based on the profit center business unit. The profit center business unit must not be a buying business unit in any financial route of a supply chain financial orchestration flow.

Financial Orchestration Qualifiers

A financial orchestration qualifier is a rule that specifies when to run one of the financial orchestration flows that you create in the Manage Supply Chain Financial Orchestration Flows task. If you don't create any qualifier, then Financial Orchestration runs the financial flow for all the transactions that it receives.

This table lists all the qualifiers used for each of the business process type in the Supply Chain Financial Orchestration Qualifier Flow.

Business Process Type Qualifiers

Procurement

  • Inventory Asset Value

  • Purchasing Category

  • Ship to Organization

  • Supplier

  • Supplier Country

  • Supplier Site Code

Shipment

  • Inventory Asset Value

  • Financial Orchestration Category

  • Ship From Organization

  • Order Type

Internal Transfer

  • Inventory Asset Value

  • Financial Orchestration Category

  • Ship From Organization

  • Ship to Organization

Drop Shipment

  • Inventory Asset Value

  • Financial Orchestration Category

  • Purchasing Category

Nonshippable Sales

  • Asset Item

  • Financial Orchestration Category

  • Item

  • Item Class

  • Sold to Party

  • User Item Type

  • Order Type

Manage Supply Chain Financial Orchestration Flows

You can use a financial orchestration flow to do the following:

  • Manage the internal trade relationships that exist between two entities. These entities might reside in the same organization but in widely dispersed physical locations, including in different countries.

  • Define the trade relationship that exists between two entities, including business rules, internal controls, regulatory compliance, and other terms and conditions. You can use these controls to run, monitor, and evaluate the transactions that occur in the trade relationships that exist between two entities.

  • Orchestrate supply chain events that occur as the result of a transaction that is associated with a financial orchestration flow. This includes events that this flow receives from an external source application.

  • Start tasks in an external application that is part of the financial orchestration flow.

  • Create a series of financial movements of goods that can provide equitable distribution of the product margin to the countries and tax jurisdictions that are involved in a transaction.

  • Set a date that indicates when to start using a financial orchestration flow. This dating enables you to configure Financial Orchestration so that it creates transactions that are associated with a source document that occur before the date when the modified financial orchestration flow goes into effect. Financial Orchestration can also associate transactions with this flow when your source system creates the source document after this date.

Primary Routes

A primary route indicates an agreement to transact goods and services between the two primary profit center business units. The start node represents the internal seller and end node represents the internal buyer. A financial orchestration flow can have more than one primary route. The terms and conditions of financial settlement are defined as part of financial route. In the primary route in a financial orchestration flow, you can specify the start and end business units.

The start and end business units of a primary route may differ based on the business process type of the financial orchestration flow.

The following table lists the start and end business units of a primary route.

Business Process Type Start Business Unit End Business Unit

Procurement

Sold to Business Unit

Receiving Business Unit

Shipment

Shipping Business Unit

Selling Business Unit

Internal Transfer

Shipping Business Unit

Receiving Business Unit

Each primary route may have one or more financial routes. During the financial orchestration process, a primary route is first identified for each source order. If a financial orchestration flow does not have multiple intermediary financial organizations under the primary routes, you can use a simplified view in the Create Financial Orchestration page. This is the default view. You can use a combined table to define the primary and financial routes.

If a financial orchestration flow has multiple intermediary financial organizations under the primary routes, select the Separate Primary and Financial route check box to view the primary and financial routes separately in the Create Financial Orchestration page.

Financial Routes

A financial route contains the terms and conditions that determine the nature of the intercompany transaction, such as the documentation, accounting and pricing rule to use.

Each primary route must have at least one financial route. You could optionally specify the sell side and buy side tax determinants. This is used to calculate the taxes in the intercompany receivables invoice and intercompany payables invoice respectively. You must provide a receivables invoice type, a credit memo type and payment terms when intercompany invoices have to be created between the selling and buying business unit of the financial route. There can be more than one financial route for a primary route when one or more intermediary business units are expected.

Register a Third-Party Transfer Price Calculation Web Service

In some scenarios, you may want to use a third-party pricing web service to calculate the transfer price used in a Supply Chain Financial Orchestration flow. To do so, you must first register the web service.

To register a third-party transfer price web service:

  1. Sign in to Oracle Supply Chain Management Cloud as an Application Implementor or Administrator.

  2. In the Setup and Maintenance work area, go to the following.

    • Offering: Manufacturing and Supply Chain Materials Management

    • Functional Area: Supply Chain Financial Flows

    • Task: Register Financial Orchestration Third-Party Transfer Pricing Service

  3. Enter the URL of the third-party web service in one of the following formats:

    • If you're using the predefined Service Name (FinancialOrchestrationTransferPriceCustomService) and Port Name (FinancialOrchestrationTransferPriceCustomPort), use the syntax given in the following table.

      Syntax Example

      {HTTP_Protocol}://{Host_Name}:{Port}/{ServiceName}

      https://abc.com:8888/ws/FinancialOrchestrationTransferPriceCustomService/1.0

    • If you're using a modified Service Name and Port Name, use the syntax given in the following table.

      Syntax Example

      {HTTP_Protocol}://{Host_Name}:{Port}/{ServiceName},CustomServiceName,CustomServicePort

      https://abc.com:8888/ws/FinancialOrchestrationTransferPriceCustomService_VS/1.0,CustomFinancialOrchestrationTransferPriceServiceName,CustomFinancialOrchestrationPortName

  4. Select a security policy from the following options:

    • oracle/wss10_username_token_with_message_protection_client_policy

    • oracle/wss11_username_token_with_message_protection_client_policy

    • oracle/wss_http_token_over_ssl_client_policy

    • oracle/wss_saml_token_over_ssl_client_policy

    • oracle/wss_username_token_over_ssl_client_policy

  5. Enter a User Name and Password.

  6. Enter a Keystore Alias.

  7. Click Save and Close.

Note: Use the predefined specifications while creating the web service specifications. Specifications, such as the input and output parameters and data types and the operation name, aren't configurable.

The WSDL template to use for the web service is as follows:

<wsdl:definitions
     name="FinancialOrchestrationTransferPriceCustomService"
     targetNamespace="http://xmlns.oracle.com/apps/scm/fos/orchestrationProcesses/transferPrice/transferPriceCustomService"
     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
     xmlns:tns="http://xmlns.oracle.com/apps/scm/fos/orchestrationProcesses/transferPrice/transferPriceCustomService"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
     xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    >
    <wsdl:documentation>
        <name>Compute Custom Transfer Price</name>
        <docCategories>
            <category>None</category>
        </docCategories>
    </wsdl:documentation>
    
    <wsdl:types>
        <xs:schema version="1.0" targetNamespace="http://xmlns.oracle.com/apps/scm/fos/orchestrationProcesses/transferPrice/transferPriceCustomService/proxy/types"
             xmlns:xs="http://www.w3.org/2001/XMLSchema">
            <xs:complexType name="customTransferPriceResponse">
                <xs:sequence>
                    <xs:element name="description" type="xs:string" minOccurs="0"/>
                    <xs:element name="errorsExistFlag" type="xs:boolean" minOccurs="0"/>
                    <xs:element name="unitPrice" type="xs:decimal" minOccurs="0"/>
                </xs:sequence
            </xs:complexType>
            <xs:complexType name="customTransferPrice">
                <xs:sequence>
                    <xs:element name="agreementFTRId" type="xs:long" minOccurs="0"/>
                    <xs:element name="currencyCode" type="xs:string" minOccurs="0"/>
                    <xs:element name="customerDeliverToLocationId" type="xs:long" minOccurs="0"/>
                    <xs:element name="customerShipToLocationId" type="xs:long" minOccurs="0"/>
                    <xs:element name="eventId" type="xs:long" minOccurs="0"/>
                    <xs:element name="flowInstanceId" type="xs:long" minOccurs="0"/>
                    <xs:element name="fromBusinessUnitId" type="xs:long" minOccurs="0"/>
                    <xs:element name="fromLegalEntityId" type="xs:long" minOccurs="0"/>
                    <xs:element name="inventoryItemId" type="xs:long" minOccurs="0"/>
                    <xs:element name="lineTypeCode" type="xs:string" minOccurs="0"/>
                    <xs:element name="purchaseOrderDestination" type="xs:string" minOccurs="0"/>
                    <xs:element name="purchasingCategory" type="xs:string" minOccurs="0"/>
                    <xs:element name="quantity" type="xs:decimal" minOccurs="0"/>
                    <xs:element name="quoteModeFlag" type="xs:boolean" minOccurs="0"/>
                    <xs:element name="requisitionOrganizationCode" type="xs:string" minOccurs="0"/>
                    <xs:element name="shipFromOrganizationCode" type="xs:string" minOccurs="0"/>
                    <xs:element name="sourceDocumentId" type="xs:string" minOccurs="0"/>
                    <xs:element name="sourceDocumentType" type="xs:string" minOccurs="0"/>
                    <xs:element name="supplierSiteId" type="xs:long" minOccurs="0"/>
                    <xs:element name="toBusinessUnitId" type="xs:long" minOccurs="0"/>
                    <xs:element name="toLegalEntityId" type="xs:long" minOccurs="0"/>
                    <xs:element name="transactionDate" type="xs:dateTime" minOccurs="0"/>
                    <xs:element name="unitOfMeasure" type="xs:string" minOccurs="0"/>
                    <xs:element name="CtoSalesRows" minOccurs="0" maxOccurs="unbounded">
                        <xs:complexType>
                            <xs:sequence>
                              <xs:element name="configItemId" type="xs:long" minOccurs="0"/>
                              <xs:element name="inventoryItemId" type="xs:long" minOccurs="0"/>
                              <xs:element name="subItemType" type="xs:long" minOccurs="0"/>
                              <xs:element name="lineId" type="xs:long" minOccurs="0"/>
                              <xs:element name="parentLineId" type="xs:long" minOccurs="0"/>
                              <xs:element name="unitQty" type="xs:decimal" minOccurs="0"/>
                              <xs:element name="unitUom" type="xs:string" minOccurs="0"/>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:complexType>
        </xs:schema>
        <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://xmlns.oracle.com/apps/scm/fos/orchestrationProcesses/transferPrice/transferPriceCustomService"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://xmlns.oracle.com/apps/scm/fos/orchestrationProcesses/transferPrice/transferPriceCustomService"
             xmlns:ns1="http://xmlns.oracle.com/apps/scm/fos/orchestrationProcesses/transferPrice/transferPriceCustomService/proxy/types">
            <import namespace="http://xmlns.oracle.com/apps/scm/fos/orchestrationProcesses/transferPrice/transferPriceCustomService/proxy/types"/>
            <xsd:complexType name="computeCustomTransferPrice">
                <xsd:sequence>
                    <xsd:element name="arg0" type="ns1:customTransferPrice"/>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:element name="computeCustomTransferPrice" type="tns:computeCustomTransferPrice"/>
            <xsd:complexType name="computeCustomTransferPriceResponse">
                <xsd:sequence>
                    <xsd:element name="return" type="ns1:customTransferPriceResponse"/>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:element name="computeCustomTransferPriceResponse" type="tns:computeCustomTransferPriceResponse"/>
        </schema>
    </wsdl:types>
    <wsdl:message name="computeCustomTransferPriceInput">
        <wsdl:part name="parameters" element="tns:computeCustomTransferPrice"/>
    </wsdl:message>
    <wsdl:message name="computeCustomTransferPriceOutput">
        <wsdl:part name="parameters" element="tns:computeCustomTransferPriceResponse"/>
    </wsdl:message>
    <wsdl:portType name="FinancialOrchestrationTransferPriceCustom">
        <wsdl:operation name="computeCustomTransferPrice">
            <wsdl:input message="tns:computeCustomTransferPriceInput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
                 ns1:Action=""/>
            <wsdl:output message="tns:computeCustomTransferPriceOutput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
                 ns1:Action=""/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="FinancialOrchestrationTransferPriceCustomSoapHttp" type="tns:FinancialOrchestrationTransferPriceCustom">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="computeCustomTransferPrice">
            <soap:operation soapAction=""/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="FinancialOrchestrationTransferPriceCustomService">
        <wsdl:port name="FinancialOrchestrationTransferPriceCustomPort" binding="tns:FinancialOrchestrationTransferPriceCustomSoapHttp">
            <soap:address location="http://localhost:7101/FinancialOrchestration-FosTransferPriceService-webapp/FinancialOrchestrationTransferPriceCustomService"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

How You Set Priorities for Financial Orchestration Flows

You can set the Priority of a financial orchestration flow to specify which flow to use when more than one flow is available for two primary trade partners. The lower the number you use, the higher the priority. For example, if you set the Priority to 1 for Flow A, and 2 for Flow B, then financial orchestration will use Flow A. In a more detailed example, assume the following situation exists:

The following table gives an example to describe the use of priority for a financial orchestration flow.

Financial Orchestration Flow Priority Shipping Business Unit Selling Business Unit Qualifier Rule

1

10

BU A

BU B

Category = Category B

2

20

BU A

BU B

Category = Category A

3

30

BU A

BU B

None. Applicable to all documents.

The following table summarizes how to set up the priority for each financial orchestration flow in this example.

Source Document Financial Orchestration Flow Priority Result

DOO fulfillment line 1

Flow 1

Priority for Flow 1 is 10. Priority for Flow 3 is 30.

Financial Orchestration assigns Flow 1 the highest priority.

DOO fulfillment line 2

Flow 2

Priority for Flow 2 is 20. Priority for and Flow 3 is 30.

Financial Orchestration assigns Flow 2 the highest priority.

DOO fulfillment line 3

Flow 3

Only Flow 3 is assigned.

Financial Orchestration doesn't use the Priority.

Supply Chain Financial Orchestration Validations for Brazil

If the buyer business unit is located in Brazil, internal material transfers must comply with specific requirements.

The Brazil-specific requirements are as follows:

  • Transfer of ownership on shipment

  • All fiscal documents must be in Brazilian Real (BRL)

  • No tax calculation in intercompany invoices

To comply with these requirements, Oracle Supply Chain Financial Orchestration Cloud provides additional validations for all internal material transfer related financial orchestration flows. For example, a buyer business unit in Brazil must indicate the following:

  • In the Manage Documentation and Accounting Rule page, the currency option is set to Buying node.

  • In the Manage Documentation and Accounting Rule page, the ownership change event for forward flow, Internal Transfer, is set to Interorganization Shipment.

  • In the Manage Supply Chain Financial Orchestration page, the Transaction Business Category is set in Sell Side Tax Determinants, and is passed to the intercompany receivables invoice and Oracle Fusion Tax. Oracle Fusion Tax is configured to not apply taxes for this transaction business category.

This example demonstrates how to create a financial orchestration flow for Vision Corporation, a multinational company that makes and sells computerized toys.

It describes how to create a financial orchestration flow between the following units:

  • Vision Operations: The selling business unit located in the United States.

  • Vision Distribution Center: The financial intermediary business unit located in Singapore.

  • Vision China: The shipping business unit located in China.

  • Schatze Toy Company: A retailer with locations in Germany.

The following figure illustrates the financial orchestration flow for Vision Corporation discussed in this example. It demonstrates how this flow separates the physical flow of goods from the financial flow for this transaction.

Financial orchestration flow used for Vision Corporation
in this worked example.

The following table summarizes the key decisions for this example.

Decisions to Consider In this Example

Flow Type

Shipment

Selling business unit

Vision Operations

Customer

Schatze Toy Company

Shipping business unit

Vision Manufacturing

Intermediary business unit

Vision Distribution Center

Qualifier

All asset items

Sales order currency

USD (United States Dollar)

Sales order price

100.00 USD

Intercompany transfer price

Vision Manufacturing, Vision Distribution Center: Cost plus 15%

Vision Distribution Center, Vision Operations: Sales order price less 10%

Intercompany trade currency

Vision Manufacturing, Vision Distribution Center: SGD

Vision Distribution Center, Vision Operations: USD

Intercompany invoice

Vision Manufacturing, Vision Distribution Center: Required

Vision Distribution Center, Vision Operations: Required

Track profit in inventory

Vision Manufacturing, Vision Distribution Center: Yes

Vision Distribution Center, Vision Operations: Yes

Summary of the Tasks

The tasks involved to create a financial orchestration flow are:

  1. Creating documentation and accounting rules

  2. Creating transfer pricing rules

  3. Creating profit center business unit party relationships

  4. Creating financial orchestration qualifiers

  5. Creating financial orchestration flows

  6. Setting financial orchestration system options

  7. Testing your financial orchestration flow

Creating Documentation and Accounting Rules

In this example, we create two documentation and Accounting rules:

  1. Vision Manufacturing Documentation and Accounting Rule

  2. Vision Distributions Documentation and Accounting Rule

Creating the Vision Manufacturing Documentation and Accounting Rule

For the trade between Vision Manufacturing and Vision Distributions, Vision Manufacturing is the seller. It uses the currency of the buyer, Vision Distributions and it uses the standard currency rate that Vision Corporation uses. Vision Manufacturing uses trade distributions, tracks profits in inventory, and requires an intercompany invoice. To create the documentation and accounting rules, do the following:

  1. In the Setup and Maintenance work area, go to the following:

    • Offering: Manufacturing and Supply Chain Materials Management

    • Functional Area: Supply Chain Financial Flows

    • Task: Manage Supply Chain Financial Orchestration Documentation and Accounting Rules

  2. On the Manage Documentation and Accounting Rules page, click Actions, and then click Create.

  3. On the Create Documentation and Accounting Rule page, set the values listed in the following table.

    Field Value

    Name

    Vision Operations Documentation and Accounting Rule

    Currency Option

    Buying Node

    Conversion Type

    Corporate

    Trade Distributions

    Selected

    Track Profits In Inventory

    Selected

    Intercompany Invoices

    Selected

    Effective Start Date

    Today's date

  4. Click Save and Close.

Creating the Vision Distributions Documentation and Accounting Rule

For the trade between Vision Distributions and Vision Operations, Vision Distributions is the seller. It uses the currency of the sales order and it uses the standard currency rate that Vision Corporation uses. Vision Distributions uses trade distributions, tracks profits in inventory, and requires an intercompany invoice. To create the documentation and accounting rules, do the following
  1. In the Setup and Maintenance work area, go to the following:

    • Offering: Manufacturing and Supply Chain Materials Management

    • Functional Area: Supply Chain Financial Flows

    • Task: Manage Supply Chain Financial Orchestration Documentation and Accounting Rules

  2. On the Manage Documentation and Accounting Rules page, click Actions, and then click Create.

  3. On the Create Documentation and Accounting Rule page, set the values listed in the following table.

    Field Value

    Name

    Vision Distributions Documentation and Accounting Rule

    Currency Option

    Source Document

    Conversion Type

    Corporate

    Trade Distributions

    Selected

    Track Profits In Inventory

    Selected

    Intercompany Invoices

    Selected

    Effective Start Date

    Today's date

  4. Click Save and Close.

Creating Transfer Pricing Rules

In this example, we will create two transfer pricing rules:
  1. Vision Manufacturing Transfer Pricing Rule.

  2. Vision Distributions Transfer Pricing Rule.

Creating the Vision Manufacturing Transfer Pricing Rule

Vision Manufacturing must use the production cost that it incurs to produce computerized toys as the transfer pricing rule. It requires a 15% markup on this cost so that it can realize a profit when it sells products to internal buyers. To create the intercompany transfer price between Vision Manufacturing and Vision Distributions, do the following:

  1. In the Setup and Maintenance work area, from the Tasks menu, click Manage Implementation Projects.

  2. On the Implementation Project page, in the Task list, click Go To Task next to Manage Supply Chain Financial Orchestration Transfer Pricing Rules.

  3. On the Manage Transfer Pricing Rules page, click Actions, and then click Create.

  4. On the Create Transfer Pricing Rule dialog box, set the values listed in the following table.

    Field Value

    Name

    Vision Manufacturing Transfer Pricing Rule

    Accounting Transfer Price

    Cost Basis.

    Markup Percentage

    15

    Effective Start Date

    Today's date.

  5. Click Save and Close, and then click Done.

Creating Vision Distributions Transfer Pricing Rule

Vision Operations is the selling business unit. It retains a 10% margin on the sales order price when it sells products to external sellers. To create the intercompany transfer price between Vision Distributions and Vision Operations, do the following work:
  1. In the Setup and Maintenance work area, from the Tasks menu, click Manage Implementation Projects.

  2. On the Implementation Project page, in the Task list, click Go To Task next to Manage Supply Chain Financial Orchestration Transfer Pricing Rules.

  3. On the Manage Transfer Pricing Rules page, click Actions, and then click Create.

  4. On the Create Transfer Pricing Rule dialog box, set the values listed in the following table.

    Field Value

    Name

    Vision Distributions Transfer Pricing Rule

    Accounting Transfer Price

    Source Document Price Basis

    Markup Percentage

    -10

    Effective Start Date

    Today's date.

  5. Click Save and Close, and then click Done.

Creating Profit Center Business Unit Party Relationships

In this example, we will create the profit center BU Party relationship for the following business units:
  1. Intercompany buyer profile for Vision Operations

  2. Intercompany seller and buyer profile for Vision Distributions

  3. Intercompany seller profile for Vision Manufacturing

Creating Intercompany Buyer Profile for Vision Operations

To create the party relationship for the Vision Operations profit center business unit, do the following:

  1. In the Setup and Maintenance work area, from the Tasks menu, click Manage Implementation Projects.

  2. On the Implementation Project page, in the Task list, click Go To Task next to Manage Profit Center Business Unit Party Relationships.

  3. On the Manage Profit Center BU to Party Relationships page, click Actions, and then click Create.

  4. On the Create Profit Center BU to Party Relationships page, set the values listed in the following table. Leave all other fields at their default value.

    Field Value

    Profit Center Business Unit

    Vision Operations

    Default Trade Organization

    V1

    Ship-to Location

    Leave empty

    Vision Operations is an intercompany buyer. It buys the goods from an internal organization, Vision Distribution Center.

  5. In the Profit Center BU Profiles section, edit the Intercompany buyer profile.

  6. In the Bill to BU for Payables Invoice and PO, set the values listed in the following table. Leave all other fields at their default value, and then click OK.

    Field Value

    Procurement Business Unit

    Vision Operations

    Bill to Business Unit

    Vision Operations

  7. In the Customer Locations for Seller's Receivable Invoice and Sales Order, set the values listed in the following table. Leave all other fields at their default value, and then click OK.

    Field Value

    Seller's Customer Address Set

    Vision Operations

    Bill-to location

    CDRM_112

  8. On the Create Profit Center BU to Party Relationships page, click Save and Close.

Creating Intercompany Seller and Buyer Profile for Vision Distributions
To create the party relationship for the Vision Distributions profit center business unit, do the following:
  1. In the Setup and Maintenance work area, from the Tasks menu, click Manage Implementation Projects.

  2. On the Implementation Project page, in the Task list, click Go To Task next to Manage Profit Center Business Unit Party Relationships.

  3. On the Manage Profit Center BU to Party Relationships page, click Actions, and then click Create.

  4. On the Create Profit Center BU to Party Relationships page, set the values listed in the following table. Leave all other fields at their default value.

    Field Values

    Profit Center Business Unit

    Vision Distributions

    Default Trade Organization

    D1

    Ship to Location

    Leave Empty

    Vision Distributions is an intercompany seller. It sells the goods to an internal organization, Vision Operations.

  5. In the Profit Center BU Profiles section, edit the Intercompany buyer profile.

  6. In the Bill to BU for Payables Invoice and PO, set the values listed in the following table. Leave all other fields at their default value, and then click OK.

    Field Values

    Receivables Business Unit

    Vision Distributions

    Customer Address Set

    Vision Distribution Set

  7. In the Supplier Site for Buyer's Payable Invoice and PO, set the values listed in the following table. Leave all other fields at their default value, and then click OK.

    Field Values

    Buyer's Procurement Business Unit

    Vision Operations

    Buyer's Bill to Business Unit

    Vision Operations

    Supplier Site

    VDB_SUPPLIER_SITE

    Vision Distributions is also an intercompany buyer. It buys the goods from an internal organization, Vision Manufacturing.

  8. In the Profit Center BU Profiles section, edit the Intercompany buyer profile.

  9. In the Bill to BU for Payables Invoice and PO, set the values listed in the following table. Leave all other fields at their default value, and then click OK.

    Field Values

    Procurement Business Unit

    Vision Distribution

    Bill to Business Unit

    Vision Distribution

  10. In the Customer Locations for Seller's Receivable Invoice and Sales Order, set the values listed in the following table. Leave all other fields at their default value, and then click OK.

    Field Values

    Seller's Customer Address Set

    Vision Manufacturing Set

    Bill-to location

    CDRM_236

  11. On the Create Profit Center BU to Party Relationships page, click Save and Close.

Intercompany Seller Profile for Vision Manufacturing

To create the party relationship for the Vision Manufacturing profit center business unit, do the following:
  1. In the Setup and Maintenance work area, from the Tasks menu, click Manage Implementation Projects.

  2. On the Implementation Project page, in the Task list, click Go To Task next to Manage Profit Center Business Unit Party Relationships.

  3. On the Manage Profit Center BU to Party Relationships page, click Actions, and then click Create.

  4. On the Create Profit Center BU to Party Relationships page, set the values listed in the following table. Leave all other fields at their default value.

    Field Value

    Profit Center Business Unit

    Vision Manufacturing

    Default Trade Organization

    C1

    Ship-to location

    Leave Empty

    Vision Manufacturing is an intercompany seller. It sells the goods to an internal organization, Vision Distributions.

  5. In the Profit Center BU Profiles section, edit the Intercompany buyer profile.

  6. In the Bill to BU for Payables Invoice and PO, set the values listed in the following table. Leave all other fields at their default value, and then click OK.

    Field Value

    Receivables Business Unit

    Vision Manufacturing

    Customer Address Set

    Vision Manufacturing Set

  7. In the Supplier Site for Buyer's Payable Invoice and PO, set the values listed in the following table. Leave all other fields at their default value, and then click OK.

    Field Value

    Buyer's Procurement Business Unit

    Vision Distributions

    Buyer's Bill to Business Unit

    Vision Distributions

    Supplier Site

    VMG_SUPPLIER_SITE

  8. On the Create Profit Center BU to Party Relationships page, click Save and Close.

Creating Financial Orchestration Qualifiers

You must create the financial orchestration qualifiers that configure Financial Orchestration to run the financial orchestration flow for Vision Operations only when the C1, a warehouse that belongs to the Vision Manufacturing ships an asset item. To create these qualifiers, do the following:

  1. In the Setup and Maintenance work area, from the Tasks menu, click Manage Implementation Projects.

  2. On the Implementation Project page, in the Task list, click Go To Task next to Manage Supply Chain Financial Orchestration Qualifiers.

  3. On the Manage Financial Orchestration Qualifiers page, click Actions, and then click Create.

  4. On the Create Financial Orchestration Qualifier page, set the values listed in the following table. Leave all other fields at their default value.

    Field Value

    Name

    Vision Operations Qualifiers

    Description

    Asset Item = "Yes" AND ship-from organization = "C1"

    Business Process Type

    Shipment

  5. Click Actions, Add Before, and then set the values listed in the following table.

    Field Value

    Parameter

    Asset Item

    Operator

    Equals

    Value

    Yes

  6. Click Actions, Add Before, and then set the values listed in the following table.

    Field Value

    Parameter

    Ship-from organization

    Operator

    Equals

    Value

    C1

    C1 is a warehouse that belongs to Vision Manufacturing.

  7. Click Save and Close.

Creating Financial Orchestration Flows

You must create a financial orchestration flow. To create this flow, do the following:

  1. In the Setup and Maintenance work area, from the Tasks menu, click Manage Implementation Projects.

  2. On the Implementation Project page, in the Task list, click Go To Task next to Manage Supply Chain Financial Orchestration Qualifiers.

  3. On the Create Financial Orchestration Qualifier page, set the values listed in the following table Leave all other fields at their default value.

    Field Value

    Name

    Vision Operations Financial Orchestration Flow

    Business Process Type

    Shipment

    Priority

    1

    Effective Start Date

    Today's date

  4. On the Create Financial Orchestration Flow page, in the Primary Routes section, click Actions, click Add Row, and then set the values listed in the following table. Leave all other fields at their default value.

    Field Value

    Shipping Business Unit

    Vision Manufacturing

    Shipping Legal Entity

    Vision China

    Selling Business Unit

    Vision Operations

    Selling Legal Entity

    Vision Operations

    Effective Start Date

    Today's date

  5. On the Create Financial Orchestration Flow page, in the Primary Routes section, click Actions, click Add Row, and then set the values listed in the following table. Leave all other fields at their default value.

    Field Value

    Selling Business Unit

    Vision Manufacturing

    Selling Legal Entity

    Vision China

    Buying Business Unit

    Vision Distributions

    Buying Legal Entity

    Vision Singapore

    Selling Trade Organization

    Leave empty.

    Buying Trade Organization

    D1

    Transfer Pricing Rule

    Vision Manufacturing Transfer Pricing Rule

    Documentation and Accounting Rule

    Vision Manufacturing Documentation and Accounting Rule

    Receivables Invoice Type

    Intercompany

    Receivables Credit Memo Type

    Credit Memo

    Payment Terms

    Immediate

  6. On the Create Financial Orchestration Flow page, in the Primary Routes section, click Actions, click Add Row, and then set the values listed in the following table. Leave all other fields at their default value.

    Field Value

    Selling Business Unit

    Vision Distributions

    Selling Legal Entity

    Vision Singapore

    Buying Business Unit

    Vision Operations

    Buying Legal Entity

    Vision Operations

    Selling Trade Organization

    Leave empty.

    Buying Trade Organization

    V1

    Transfer Pricing Rule

    Vision Manufacturing Transfer Pricing Rule.

    Alternatively, you can define the transfer pricing rules in Oracle Fusion Pricing and associate the Transfer Pricing Rule attribute to the value Pricing Strategy.

    There is a new predefined value 'Pricing Strategy' for the Transfer pricing Rule attribute in the financial flow. If the transfer pricing rule is set as 'Pricing Strategy', Oracle Fusion Pricing derives the transfer pricing for the node.

    Documentation and Accounting Rule

    Vision Distributions Documentation and Accounting Rule

    Receivables Invoice Type

    Intercompany

    Receivables Credit Memo Type

    Credit Memo

    Payment Terms

    Immediate

  7. Click Save.

Setting Financial Orchestration System Options

You must set the Financial Orchestration system options. To create these options, do the following:

  1. In the Setup and Maintenance work area, from the Tasks menu, click Manage Implementation Projects.

  2. On the Implementation Project page, in the Task list, click Go To Task next to Manage Supply Chain Financial Orchestration system options.

  3. On the Manage Financial Orchestration system options page, click Actions, and then click Create. Enter the values listed in the following table.

    Field Value

    Item Validation Organization

    V1

    Service Item

    RR_RP_Item24

    Maximum Number of Records per Batch

    100

    Calculate tax for trade receipt accrual

    Select this check box

  4. Click Save and Close.

Testing Your Financial Orchestration Flow

Perform the following steps to make sure your financial orchestration flow works correctly:

  1. Sign in to your order capture system, and then use it to create a sales order that will start the financial orchestration flow that you configured in this example.

  2. Make sure the order includes an asset item that a warehouse belonging to the Vision Manufacturing must ship to the Schatze Toy Company. The values listed in the following table are examples that will start this flow. Your order capture system might use different field.

    Field Value

    Business Unit

    Vision Operations

    Ship-to customer

    Schatze Toy Company

    Warehouse

    C1

  3. Pick Release and ship the sale order line.

  4. Verify Financial Orchestration Execution.

    • Navigate to the Financial Orchestration work area, and then the Monitor Financial Orchestration Execution page.

  5. Issue a query that locates the order. For example, in the Sales Order field, enter the Orchestration Order number that you noticed in step 1, such as 181094.

  6. Verify that the Search Results shows the sales order and its status. The financial orchestration flow created by you has been used for financial orchestration execution. Click View Tasks to show the list of financial orchestration tasks that will be created for this sales order.