This chapter covers the following topics:
Oracle Advanced Pricing is a separately licensed application that provides a flexible pricing engine to execute pricing and promotional calculations for Oracle Order Management and other Oracle applications. Oracle Advanced Pricing models complex data relationships to determine optimal pricing for your business.
Note: For more information about implementation steps, setup procedures, and profile options, see Oracle Advanced Pricing Implementation Guide.
Oracle Advanced Pricing handles complex pricing situations for a range of business requirements and industries.
Business-to-business sales in consumer goods, telecommunications, services, high technology, automotive, aerospace, and defense industries.
Direct-to-consumer sales in telemarketing, mail order, and web store businesses.
With Oracle Advanced Pricing, you can perform the following functions:
Create a list price for an item or item hierarchy.
Set a list price based on volume breaks.
Assign security privileges to pricing users to control their view or maintain access to price lists and modifiers. You can also control which operating units can use price lists or modifiers.
Define price breaks using block pricing to evaluate prices as a single block. For example, if item weight is between 5 and 15 pounds, then the price is $5. If the weight is between 16 and 30 pounds, then the price is $10.
Maintain price lists by searching across a single or multiple price lists and updating the price, formula, or effective dates of price list lines.
Set up usage pricing and counter pricing to calculate price based on usage brackets.
Set a list price and discounts at multiple levels of flattened hierarchies and use precedence to select the right price or discount.
Dynamically calculate price based on a simple or a complex formula.
Create a price relation (for example, the price of item A is the price of Item B + $20).
Create multiple currency conversion criteria for a single base currency price list.
Set up General Services Administration (GSA) prices.
Define pricing agreements.
Get a price or discount from an external source (for example, my price = competitor's price - 5 percent).
Set a percentage-based, fixed, or lump sum discount or surcharge.
Apply dimensional pricing (for example, if the width is between 2 and 4 and thickness is between 1 and 3, then multiply the price by 0.3).
Apply a benefit or surcharge based on the total volume of multiple order lines in the same order.
Set up deals and promotions such as these examples:
Buy one get one free
Coupon issue (spend more than $1,000 and get a coupon valued at $100 for a future purchase)
Other item discount (buy A and B, and get 20 percent off on C)
Item upgrade (for the price of a 12-oz. shampoo, get a 16-oz. shampoo)
Term substitution (spend more than $100 and get upgraded to air shipment)
Set discounts as to be accrued.
Set up freight and special charges.
Mark discounts as exclusive or as incompatible with each other.
Create cascading discounts (discounts to be applied on subtotals).
Set spending and usage constraints to stop the application of a promotion when a limit is reached.
Query on multiple modifier criteria across all modifier setups.
Create eligibility conditions by grouping qualifiers.
Define qualifier and qualifier mapping rules (for example, if today = Sunday, then give a 10 percent discount).
View the criteria that the engine uses to select price and modifiers for a pricing request.
Create and update price lists and modifiers using WebADI.
Audit the header and line fields of price lists and modifiers.
Oracle Advanced Pricing and its pricing engine work through open, business object oriented application programming interfaces (APIs) see Oracle Integration Repository.
The pricing engine receives transaction information, prepares pricing requests, selects price lists and modifier lists, and applies price adjustments (benefits) to the transaction.
The pricing engine, which appears in the diagram shown later in this section, evaluates the following questions to determine a price:
Who qualifies for certain prices and benefits?
What is the product hierarchy and what pricing attributes pertain to this item or service?
How should I adjust the order price or order line price?
Who Qualifies?
Pricing qualifiers control who is eligible for certain prices (price lists) and benefits (modifiers).
Some examples of qualifiers are:
Customer Class = VIP
Order Type = Special
What are the Product Hierarchy and the Pricing Attributes?
The product hierarchy and pricing attributes control what is being priced or modified on a price list or modifier list.
For example, one product hierarchy with pricing attributes is "All plastic items of grade B quality get a 50 percent discount."
How Should I Adjust the Price?
Pricing modifiers control how a modifiers affect the final price (selling price).
Here are some examples of modifiers:
Receive a discount of 2 percent
Buy one, get one free
Get a 480 ml shampoo for the same price as a 360 ml shampoo
Get a coupon for 100 currency units if you spend more than 1,000 currency units
The pricing engine performs pricing and benefit calculations for other Oracle applications through open APIs.
The engine performs the following functions:
Prepares the price request structure
The calling application submits a price request, which the pricing engine configures into a pricing request structure. The pricing request structure provides information about all the qualifiers and product pricing attributes.
Selects applicable price lists and modifier lists
This function selects which price lists are eligible for the current pricing request. It uses the qualifiers and pricing attributes to select an eligible list of prices or modifiers that it can apply to the pricing request lines according to the certain rules.
Determines the base list price
This function takes the validated price list lines and applies them to the pricing request lines. You can specify the list price on a price list as unit price, percent price, or formula.
Applies benefits and adjustments (from modifier lists) to list price to determine selling price
This function takes the validated modifier list lines and applies them to the pricing request lines to provide price adjustments, such as discounts, price breaks, surcharges, coupons, item and term substitutions, and other item discounts. Discount and surcharge modifiers affect the selling price; freight charge modifiers do not affect the selling price.
Calculates the final selling price
The following diagram shows the relationships between the main pricing concepts described previously.
A sales order
The qualifier hierarchy
The pricing request
The pricing engine
The list price and adjustments
The setup entities: price lists, qualifiers, modifiers, products, formulas, and pricing attributes
Pricing Overview Diagram
In Oracle Applications, a basic level of security called function security is used to manage users' access to each application its windows, functions, and reports. Typically, the system administrator assigns system access at the responsibility or user level. See Oracle E-Business Suite Security Guide for more information about function security.
Oracle Advanced Pricing provides an additional level of security called pricing security. You can use pricing security to restrict some pricing activities, such as the ability to view and update pricing entities, to specific users. Any user with the Oracle Pricing Administrator responsibility can set up and maintain pricing security in the HTML user interface. See Oracle Advanced Pricing Implementation Guide.
Security Privileges
A pricing administrator is typically responsible for setting up security privileges. Use security privileges to define who can view and who can maintain each pricing entity. For more information, see Oracle Advanced Pricing Implementation Guide.
Related Topics
Oracle Advanced Pricing Implementation Guide, Pricing Security
For many pricing features, Oracle Advanced Pricing provides an HTML user interface (UI) with guided steps and user-friendly methods for the setup and maintenance of modifiers, price lists, and qualifiers. You can use this UI to complete many of the pricing tasks that were previously available only in the Oracle Forms interface. To access the HTML UI, select the Oracle Pricing User responsibility and click the Home link to go to the Oracle Advanced Pricing Home page.
Note: The HTML UI is available only in Oracle Advanced Pricing.
The following examples show the two interfaces. The first example shows an Oracle Advanced Pricing HTML page that is used to create a price list.
Example of Oracle Advanced Pricing HTML Format: Create Price List Page
The second example shows an Oracle Advanced Pricing window that is used to create a price list in the Oracle Forms interface.
Example of Oracle Advanced Pricing in Oracle Forms: Advanced Pricing - Price Lists Window
You can use the HTML UI to complete the following common pricing tasks:
Create price lists, price list lines, and price break lines.
Create the following types of modifier lists:
Deal List
Discount List
Promotional Goods
Surcharge List
Create the following types of modifier lines:
Discount
Surcharge
Price Break
Promotional Goods
Maintain price lists in the Price List Maintenance feature.
Create qualifiers for price lists and modifiers.
Search for price lists and modifiers.
In many cases pricing entities such as price lists that are created in one UI can be maintained in the other. For features and entities that are not available in HTML, use the Oracle Forms interface.
Related Topics
Oracle Advanced Pricing Home page (HTML Interface)
Using Modifiers in the HTML User Interface
Using Price Lists in the HTML User Interface
Creating Qualifiers (HTML Interface)
Using the Price List Maintenance feature (HTML Interface)
Qualifiers control who receives benefits, and can be used to assign list prices, discounts, and promotions in various ways.
To specific customers
To customer groups
To order types
To an order amount
Qualifier groups allow you to group multiple conditions and to assign them to a single benefit. For more information, see Oracle Advanced Pricing User's Guide.
Pricing attributes control the items being priced or modified on a price list or modifier list.
Qualifier and product attributes are used to define customer or product hierarchies:
A product hierarchy element defines product-related pricing characteristics such as item number, category, or brand.
A customer hierarchy element defines customer-related pricing characteristics such as customer name or customer number.
With attribute mapping you can extend your pricing capabilities by using data from a variety of nonstandard sources to drive your pricing actions. Data sources can be within or outside of Oracle Applications. With the attribute management feature you can create and update, contexts and attributes and disable attributes.
For more information about attribute mapping and management, see Oracle Advanced Pricing Implementation Guide.
Price lists associate prices and currencies with products and services. Each price list contains basic header information and at least one item line. Price lists can have:
Prices for specific products, product groups, and services
Prices as absolute values, as percentages of other prices, or as formulas
Prices applicable to the entire organization or to one operating unit
Negative prices
Service Items
The pricing engine treats services the same way it treats items. You can set a unit price per service, or you price a list of services and assign each service a percentage of the total price.
For more information, see Oracle Advanced Pricing User's Guide, Price Lists.
Pricing modifiers control how the pricing engine can modify the pricing requests and pricing request lines. You can select from the following modifier list types and then add modifier lines to define the actual adjustments or benefit such as a 10 percent discount:
Deal
Discount List
Freight and Special Charge List
Promotion
Surcharge List
The following table shows scenarios with examples of the qualifiers, modifiers, and pricing attributes that support them:
Scenario | Qualifier | Modifier | Product Hierarchy | Pricing attribute |
---|---|---|---|---|
XYZ Corporation gets 10% discount on all the products | Customer = XYZ Corporation | 10% discount | Null | Null |
If Order_Type = Return and customer class = Retail then apply 15% surcharge for all electronic items. | Order Type = Return Customer Class = Retail |
15% surcharge | Electronic items | Null |
Grade B motor oil gets $20 off | Null | $20.00 discount | Motor oil | Grade B |
For more information on modifier list and line types and using modifiers, see Oracle Advanced Pricing User's Guide, Overview of Modifiers.
Pricing formulas allow the pricing engine to determine item prices based on the following:
A combination of pricing attributes and factors based on the value of a pricing attribute
The list price on the price list line to which the formula is attached
The list price on any specific price list line
A numeric constant
A customizable function
You can also attach a formula to a modifier line to calculate discounts. A price list line uses two types of formulas:
Static: Specify the formula and execute a concurrent process that calculates absolute price values.
Dynamic: Specify the formula, and the pricing engine uses the formula in its calculations each time that someone orders the product.
For more information, see Oracle Advanced Pricing User's Guide, Formulas.
Decide whether your prices are at an individual product level, at the product hierarchy, or both. Also, determine the precedence levels in your organization. Determine if you base list prices on the volume purchased. Plan the number of price lists. To get a better performance, minimize the number of price lists and price list lines by using a combination of qualifiers, modifiers, pricing attributes, and formulas.
Categorize your discounts and promotions into the appropriate modifier types. Each modifier type produces different results: for example, the Other Item Discount requires the customer to order the original item as a prerequisite to offering the discount; however, the Promotional Goods discount adds a new line to the order.
The pricing engine may calculate different selling prices depending on how you group your discounts into buckets. Plan your cascading discounts so that you can assign discounts to buckets based on the subtotal on which each discount needs to be applied.
The pricing phase assigned to a modifier determines when the adjustment or benefit of the modifier is applied. For example, a modifier assigned to the List Line Adjustment phase is applied after leaving the order line, while a modifier assigned to the All Lines Adjustment phase is applied only after the order line is saved.
Decide to which event and phase each discount and promotion belongs. You should place:
Line-level discounts in the Line Adjustments phase
A promotion such as Buy items A and B and get a discount on Item C in the All Lines phase
Modifiers to apply when orders ship in a ship event
Phases are also associated with order events. To apply a discount only when an order is shipped, assign the modifier to a phase that runs in the SHIP event.
Suppose you create a Discount modifier (10 percent discount) and assigned it to the All Lines Adjustment phase. Then suppose a sales order for Item AS54888 (with list price $200) and an ordered quantity of 1 qualifies for that modifier. If the order line is entered but not saved, only the list price ($200) is retrieved. However, when the order line is saved or you move to the next line, the modifier assigned to the All Lines Adjustment phase is applied and the price changes to $190.
See the Oracle Advanced Pricing Implementation Guide for more information on pricing phases.
Assigning modifier lines to an incompatibility group enables the pricing engine to use incompatibility processing to resolve incompatibility between multiple eligible modifier lines. If an incompatibility occurs, the pricing engine reviews the modifier lines in the incompatibility group (assigned for a specific phase), evaluates their precedence value from highest to lowest priority, and then selects the modifier line with the highest priority. In Precedence processing, the lower value has the higher precedence (number 1 has the highest priority). The precedence value is evaluated from both the product precedence and qualifier precedence. The highest precedence (lowest value) is determined based on the precedence values in the qualifier and product precedence fields. For more information, see Oracle Advanced Pricing Implementation Guide, Incompatibility Groups and Exclusivity.
Categorize the modifiers into line, group line, and order modifiers. How the pricing engine treats a modifier can change, depending on your classification.
It is important that you understand how the pricing engine operates with these flags so that you can set them to reflect your business needs. Analyze all of your discounts, promotions, and charges in terms of these features.
Precedence preferences, profile options, break types, and pricing attributes control the behavior of the pricing engine. Determine the values for these settings that reflect your business needs.
Evaluate default precedence values for qualifiers and product hierarchy-related attributes and change them to reflect your business needs. When incompatibility is encountered between price lists or modifier lists, the pricing engine attempts to resolve the incompatibility by ordering the qualifier attributes and product attributes from highest to lowest priority (number 1 is the highest priority).
For more information, see Oracle Advanced Pricing Implementation Guide, Precedence and Best Price.
Decide the pricing units of measure for each item. The pricing units of measure determine if the pricing engine selects a modifier.
The list price in the order unit of measure overrides the precedence. When the pricing engine processes a pricing request, it first chooses eligible price list lines whose unit of measure matches the calling unit of measure. If multiple price list lines with matching units of measure exist, the pricing engine chooses the price list line with the greatest precedence (the lower the number, the greater the precedence). If no price list lines with matching units of measure exist, the pricing engine looks for price list lines with a selected primary unit of measure flag for that item, and then it chooses the best precedence price list line (attributes are defined with a precedence value to resolve incompatibility).
For more information, see Oracle Advanced Pricing Implementation Guide, Unit of Measure.