Intercompany Invoicing and
Advance Pricing Integration
1
Intercompany Invoicing and Advance Pricing
Integration
OVERVIEW
This document gives an overview of the two new functionalities that are
enhancement to Oracle Inventory’s Intercompany Invoicing functionality. These
enhancements were released as part of patch set H features. The new features are
as follows:
1. Invoicing Internal Orders (of type Intransit Shipments) as a part of
Intercompany invoicing.
2. Using Advance Pricing (QP) setup and Engine to derive invoice price
for items to generate Intercompany Invoices.
Note: For information regarding setup for internal orders, please refer to
Purchasing, Order Management, and Shipping and Financial manuals. For
details on the setup for advanced pricing, please refer to advanced pricing users
guide.
Intercompany Invoicing for Internal Orders
Before patch set H of inventory, inter-company invoices were created for trade
orders only. Now users can set up a profile to create inter company invoices for
Internal Orders of type In-transit Shipments. The profile is called –
1. INV: Inter-company Invoice for Internal Orders. This profile can be set
at site level and assumes a default value of No.
The form to define the inter-company relations is common for both trade orders
and internal orders and remains unchanged. It is this set up between the selling
and shipping operating units that decides if an internal order or a trade order
qualifies for creating inter-company invoices (Both AR and AP).
Advance Pricing (QP) Engine Integration
In the existing functionality, the invoice price for creating inter-company AR
and AP invoices for Trade Orders is picked from the price list specified for the
customer in the customer setup. So every time an item in a trade order is
invoiced for a given customer, same price and the price list is used. In other
2
words, the price of an item is static. If user wants to use a different price, user
would have to either change the price in the price list for that item or change the
price list code in the customer set up. Item price could also come from an
external API, if the external API was programmed to return a value for that item.
This external API is a hook provided which users can program to use their own
criteria to return an invoice price.
With this enhancement, Inter-company invoicing program would be able to use
Advanced Pricing Engine to derive invoice price for an item. Advanced pricing
setup would allow users to define different rules based on which a price list
should be used to get invoice price for an item. Users can use this feature by
setting a profile otherwise the system would use the static price as explained in
the previous paragraph. The new profile is called-
2. INV: Advanced Pricing for Inter-company Invoice. This can be set at
site level. When this profile is set to “Yes”, user can use Advance
Pricing (QP) engine for Inter-company Invoicing.
Note: User is expected to purchase a separate license for Advance Pricing.
Setting this profile without a license will not provide the functionality.
New Request Type, Global Structure, Context and new set of Qualifier and
Pricing Attributes have been seeded to define advanced pricing rules for inter
company invoicing process. Details are given in the following pages.
INTEGRATION OF ADVANCE PRICING & INTERCOMPANY INVOICING
If profiles 1 and 2 are set to “Yes” and QP is installed then user will be able to
use QP for Intercompany invoicing of Internal Orders.
Flow chart given below gives in details the logic that is used to get item price
during the process of intercompany invoicing.
Intercompany invoicing for Sales Order and Internal Order will look for an
external API (customer / user programmable hook) to return a price for the items
that have been included in the Sales Order or Internal Order. If the API doesn’t
return a value and if both the profiles that are mentioned above are set to “Yes”,
then the pricing logic will try to get the price from the price list using the QP
engine. If QP finds the price for that Item in one of the price lists then
intercompany invoicing will process that record and move to the next record. If
QP is unable to find a correct price for that item then intercompany invoicing
will log an error message for that record and move to the next record.
Intercompany invoicing for Sales Order & Internal Order will look for an
external API (customer / user programmable hook) to return a price for the items
that have been included in the Sales Order or Internal Order. If the API doesn’t
return a value and If QP profile (profile # 2) is set to “No” and profile # 1 is set
to “Yes”, then the pricing logic will try to get the price from the price list then
that has been specified for that customer (in the customer setup). If there is no
3
price defined then an error message will be logged and pricing logic will go to
the next record and start processing it.
Pricing Logic for Intercompany Invoicing
IMPLEMENTATION CONSIDERATIONS
If users want to use Advanced Pricing feature for Intercompany Pricing, then
before defining pricelists, user has to set the following 2 profiles at the user level
with the following values:
Intercompany Price
for a given item
QP profile set
to “Yes”
QP profile set
to “No”
QP not
installed
QP
installed
Price
returned
Price not
returned
External (Customer)
API doesn’t Return
Price
External (Customer)
API Returns Price
Log Error/
End / Go to
next record
End / Go
to next
record
Customer
Price List
Price
returned
End / Go
to next
record
Price not
returned
Log Error/
End / Go to
next record
No
Customer
Price List
End / Go
to next
record
4
QP: Pricing Transaction Entity – Intercompany Transaction
QP: Source System Code - IC
This will allow the user to see and use the Intercompany context, in addition to
the Order Fulfillment context to define attribute-mapping rules.
SEED DATA SUPPORT OF ADVANCED PRICING INTEGRATION WITH
INTERCOMPANY INVOICING
Two new mappings/relationships between request type and source system codes
have been seeded. One is between request type IC and source system INV, and
the second is between request type IC and source system QP. The request type
IC and Source system INV are new set of seed data. The above two mappings
allow the users to have price lists that are common to both inter-company
invoicing and sales order invoicing. For trade orders, price lists are created with
source system code of ‘QP’, and the mapping between OM (Oracle order
management system) and QP (Advanced pricing) is used to pick pricelists for
trade order invoices. Similarly, inter-company users may decide to create
separate price lists for intercompany invoicing, that is with source system code
of INV. This can be achieved by setting the profile ‘QP: Source system code’ to
INV. In order to use only these prices lists for inter-company invoicing, the
mapping between IC and QP should be disabled, otherwise if pricing engine
finds a better fit for the price list defined under QP, it will return use that
pricelist.
A new global structure has been defined that can be used to define mapping
rules for qualifier attributes and pricing attributes for price lists. This global
structure is based on all the information that is captured and available in a sales
order or an internal sales order record. All seeded defaulting rules are defined by
using this global structure. Users can use the data in this global structure to
define more mapping rules. The global structure is listed at the end of this
document.
Following is the set of seeded Qualifier attributes, Pricing attributes and
defaulting rules to support inter-company invoicing:
Qualifier Context
Context Qualifier
Attribute
Data
Source
Table Validated Value Set
Intercompany_Invoicing Shipping
Organization
Qualifier_
attribute1
HR_OPERATING_UNITS
5
Selling
Organization
Qualifier_
attribute2
HR_OPERATING_UNITS
Customer ID Qualifier_
attribute3
HZ_CUST_ACCOUNTS,
Hz_parties
Customer Site ID Qualifier_
attribute4
ra_addresses_all,
ra_site_uses_all,
fnd_territories_vl ft
Default Attribute Mapping for Line Qualifier Attributes
Context
Pricing
Attribute Source Package Source Function
Defaulting
Condition
Template
Intercompany_Invoicing Qualifier
Attribute1
INV_IC_ORDER_
PUB
G_LINE.
IC_SHIPPING_ORG_ID
INV
Intercompany
Pricing
Intercompany_Invoicing Qualifier
Attribute2
INV_IC_ORDER_
PUB
G_LINE.
IC_SELLING_ORG_ID
INV
Intercompany
Pricing
Intercompany_Invoicing Qualifier
Attribute3
INV_IC_ORDER_
PUB
G_LINE.
IC_CUSTOMER_ID
INV
Intercompany
Pricing
Intercompany_Invoicing Qualifier
Attribute4
INV_IC_ORDER_
PUB
G_LINE.
IC_CUSTOMER_SITE_ID
INV Order
Volume
Context
Order Qualifier
Attribute1
INV_IC_ORDER_
PUB
G_LINE.ordered_date INV Order
Context
Volume Qualifier
Attribute15
INV_IC_ORDER_
PUB
G_LINE.ORDERED_QUA
NTITY
INV Order
Volume
Context
Default Attribute Mapping for Line Pricing Attributes
Context Pricing
Attribute
Source Package Source Function Defaulting
Template
Item Pricing
Attribute1
INV_IC_ORDER_
PUB
G_LINE.inventory_item_id INV Item
Context
Global Structure:
PACKAGE INV_IC_ORDER_PUB
6
accounting_rule_id
agreement_id
attribute1
attribute10
attribute11
attribute12
attribute13
attribute14
NUMBER
NUMBER
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
attribute15
attribute2
attribute3
attribute4
attribute5
attribute6
attribute7
attribute8
attribute9
booked_flag
cancelled_flag
context
conversion_rate
conversion_rate_date
conversion_type_code
customer_preference_set_code
created_by
creation_date
cust_po_number
deliver_to_contact_id
deliver_to_org_id
demand_class_code
earliest_schedule_limit
expiration_date
fob_point_code
freight_carrier_code
freight_terms_code
global_attribute1
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(30)
NUMBER
DATE
VARCHAR2(30)
VARCHAR2(30)
NUMBER
DATE
VARCHAR2(50)
NUMBER
NUMBER
VARCHAR2(30)
NUMBER
DATE
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(240)
global_attribute10
global_attribute11
global_attribute12
global_attribute13
global_attribute14
global_attribute15
global_attribute16
global_attribute17
global_attribute18
global_attribute19
global_attribute2
global_attribute20
global_attribute3
global_attribute4
global_attribute5
global_attribute6
global_attribute7
global_attribute8
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
7
global_attribute9
global_attribute_category
TP_CONTEXT
TP_ATTRIBUTE1
TP_ATTRIBUTE2
TP_ATTRIBUTE3
TP_ATTRIBUTE4
TP_ATTRIBUTE5
TP_ATTRIBUTE6
TP_ATTRIBUTE7
TP_ATTRIBUTE8
TP_ATTRIBUTE9
TP_ATTRIBUTE10
TP_ATTRIBUTE11
TP_ATTRIBUTE12
TP_ATTRIBUTE13
TP_ATTRIBUTE14
TP_ATTRIBUTE15
header_id
invoice_to_contact_id
invoice_to_org_id
invoicing_rule_id
last_updated_by
last_update_date
last_update_login
latest_schedule_limit
open_flag
order_category_code
ordered_date
order_date_type_code
order_number
order_source_id
order_type_id
org_id
orig_sys_document_ref
partial_shipments_allowed
payment_term_id
price_list_id
price_request_code
pricing_date
program_application_id
program_id
program_update_date
request_date
request_id
return_reason_code
salesrep_id
sales_channel_code
shipment_priority_code
shipping_method_code
ship_from_org_id
ship_tolerance_above
ship_tolerance_below
ship_to_contact_id
ship_to_org_id
sold_from_org_id
VARCHAR2(240)
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
VARCHAR2(240)
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
DATE
NUMBER
NUMBER
VARCHAR2(1)
VARCHAR2(30)
DATE
VARCHAR2(30)
NUMBER
NUMBER
NUMBER
NUMBER
VARCHAR2(50)
VARCHAR2(1)
NUMBER
NUMBER
VARCHAR2(240)
DATE
NUMBER
NUMBER
DATE
DATE
NUMBER
VARCHAR2(30)
NUMBER
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(30)
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
8
sold_to_contact_id
sold_to_org_id
source_document_id
source_document_type_id
tax_exempt_flag
tax_exempt_number
tax_exempt_reason_code
tax_point_code
transactional_curr_code
version_number
return_status
db_flag
operation
first_ack_code
first_ack_date
last_ack_code
last_ack_date
change_reason
change_comments
change_sequence
change_request_code
ready_flag
status_flag
force_apply_flag
drop_ship_flag
customer_payment_term_id
payment_type_code
payment_amount
check_number
credit_card_code
credit_card_holder_name
credit_card_number
credit_card_expiration_date
credit_card_approval_code
credit_card_approval_date
shipping_instructions
packing_instructions
flow_status_code
booked_date
marketing_source_code_id
upgraded_flag
lock_control
ship_to_edi_location_code
sold_to_edi_location_code
bill_to_edi_location_code
NUMBER
NUMBER
NUMBER
NUMBER
VARCHAR2(30)
VARCHAR2(50)
VARCHAR2(30)
VARCHAR2(30)
VARCHAR2(15)
NUMBER
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(30)
VARCHAR2(30)
DATE
VARCHAR2(30)
DATE
VARCHAR2(30)
VARCHAR2(2000)
VARCHAR2(50)
VARCHAR2(30)
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(1)
NUMBER
VARCHAR2(30)
NUMBER
VARCHAR2(50)
VARCHAR2(80)
VARCHAR2(80)
VARCHAR2(80)
DATE
VARCHAR2(80)
DATE
VARCHAR2(2000)
VARCHAR2(2000)
VARCHAR2(30)
DATE
NUMBER
VARCHAR2(1)
NUMBER
VARCHAR2(40)
VARCHAR2(40)
VARCHAR2(40)
[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/45641/viewspace-925312/,如需转载,请注明出处,否则将追究法律责任。