Anda di halaman 1dari 10

Print

Go Back

Next Page

Oracle Advanced Pricing R11i in a Nut Shell

Oracle Advanced Pricing R11i in a Nut Shell

Bibhuti Bhusan Chand Rapidigm Inc.

Abstract
Is your product pricing very complex and difficult to manage? This paper gives you an overview of Oracle Advanced Pricing R11i. Learn all about the new pricing model and features. Explore the power of built-in functionalities to transform your complex pricing structures to simple ones with even more control.

Introduction
Today is an era of cutthroat competition. In such an environment, flexible-pricing capability is very critical. You practically need to structure pricing in such a fashion that you could typically price the same product at a different price for every customer based on certain strategic scenarios. You want the capability to sell a product at the best price, special promotional price or any other desired price. It is not the discounted price, which matters all the time. Several organizations make their margins by adding small surcharges or additional charges to each order line or the entire order based on certain conditions. You want these charges to apply automatically and have the capability to manually overwrite some. In simple terms, you want complete flexibility, control and visibility over your pricing structure. Oracle Advanced Pricing R11i provides answers to most of these needs. This paper will give you an insight of the Oracle Advanced Pricing module release 11i. Explore the new features of 11i specific to Advanced Pricing. This paper will give you an overview of the Oracle Advanced Pricing concepts and its architecture. Get a complete understanding of what and how can you achieve various industry-pricing needs. Oracle Advanced Pricing provides several features that enable you to efficiently set up a robust pricing system, and model complex data relationships that determine the appropriate or correct selling price. The Oracle Advanced Pricing module allows you to have dynamic pricing based on several characteristics of a customer and/or an item. Customers are now capable of implementing custom pricing logic utilizing APIs and PL/SQL procedures. Explore how to leverage the flexibility of the Oracle Advanced Pricing module to configure this module to fulfill your business specific needs.

Pricing Concepts
Pricing Rules, Pricing Actions, Pricing Controls and Pricing Extensibility are the key pricing concepts. Pricing Rules: Pricing rules are the pricing policy or terms associated to customer or product hierarchy. Oracle Advanced Pricing allows you to associate pricing actions to a group or a level of group to which a customer belongs. You can also base pricing rules on order or line volume. Pricing rules govern who becomes eligible for a specific price.

OAUG Europe 2002

Copyright 2002 Bibhuti Bhusan Chand

Page 1

Go Back

Next Page

Oracle Advanced Pricing R11i in a Nut Shell

Pricing Actions: Pricing action are specific pricing activities that applies to an order, order line or multiple lines. Pricing action enables to populate a list price, price adjustments and selling price on the sales order. Pricing actions relates to pricing objects like price list, modifier, formulas and agreements. Pricing Controls: Pricing control controls how the pricing actions are applied. You may achieve pricing controls using effective dates on price lists, modifiers, and agreements. You can also achieve pricing controls by defining what pricing phase the actions be applied. The pricing phases can map to various activities during order entry and processing. There are many other ways to control pricing. Pricing Extensibility: Pricing needs is very different from organizations to organization. Oracle Advanced Pricings provides the flexibility to its users to accommodate industry specific pricing requirements by using its attribute mapping functionality and a set of pricing APIs.

Oracle pricing engine determines the selling prices for products and services. It provides answers to the following questions: Who qualifies for prices and benefits? What is the item or service, which is being priced or modified? How do we adjust the order price or the order line price?

Qualifiers

Who qualifies?

Pricing Hierarchy Pricing Attributes

What is the item or service?

Modifiers

How should I adjust the price?

How Pricing Works

Oracle Advanced Pricing prices any transaction by first identifying a list price. Price list contains the list price. The pricing engine determines whether the price found on the price list must adjust. Modifiers control the amount of these adjustments, and can modify a price by either giving a discount or adding a surcharge. Once the pricing engine has selected one or more modifiers that adjust the price, it computes the final selling price.

Figure below illustrates a basic pricing flow:

Get List Price

Apply Modifier

Final Price

OAUG Europe 2002

Copyright 2002 Bibhuti Bhusan Chand

Page 2

Go Back

Next Page

Oracle Advanced Pricing R11i in a Nut Shell

Pricing Engine, Qualifiers, Attribute Mapping, Price Lists, Modifiers and Formulas are the various pricing components. The Pricing Engine selects the appropriate price list and adjusts the price by the applicable modifiers, based on the Pricing Engine inputs. Price lists: Price List contains price for items and/ or services. For example: Corporate Price List, Winter Promotion Price List. Modifiers: Determines how the eligible Pricing Request or Pricing Request line be adjusted. For example: Discounts, Surcharges, Coupon Issue, Item Upgrade, Terms Substitution, Freight Charge, Promotional Goods.

Inputs to the Pricing Engine are: Pricing Qualifiers: The pricing qualifiers determine who is eligible for a price or modifier list. For example: Order Type, Customer Class, Customer Site, and Customer Name. Pricing Attribute: The Pricing Attribute determines what is being priced or modified on a price or modifier list. For example: Item Category, Product Brand, Location, Distance, Age, and Volume.

The Final Price is the extended price, which is equal to the original price on the price list minus any eligible discounts, plus any other applicable surcharges or promotions. Figure below illustrates how Oracle Pricing works:

Input
Pricing Qualifiers Pricing Attributes
Price Lists Base Price Formulas Agreements Modifiers Adjustments Agreements

Output
Final Price

Oracle Pricing Engine

With Oracle Pricing, you can define the price lists and modifiers to be very specific, generic or any combination in between. For example: Price List A is for Product X and applicable for Customer ABC. Price List B is for All Products and applicable for All Customer. Price List C is for all products belonging to Item Category A and B and applicable for All Customers.

OAUG Europe 2002

Copyright 2002 Bibhuti Bhusan Chand

Page 3

Go Back

Next Page

Oracle Advanced Pricing R11i in a Nut Shell

Pricing Engine
The Pricing Engine takes the pricing request from the calling application, selects the applicable price lists and modifier lists and determines the base list price. It then calculates the final selling price by applying the benefits and surcharges from the modifier lists to the base list price. Pricing Engine consists of two engines: Search Engine: The search engine uses the qualifiers and pricing attributes passed from the calling application to select the price list lines and the modifier list lines that may apply to the pricing request. As part of this process, the search engine uses rules of eligibility, incompatibility, exclusivity, and precedence. For each pricing phase the search engine executes the following functions: Selects eligible price list lines and modifier list lines using predefined pricing rules Resolve incompatibilities among eligible benefits Applies the eligible benefits to the pricing request

Calculation Engine: For each pricing request line and its associated pricing request line details, the calculation engine calculates the base price, adjusted price, and extended price.

Figure below illustrates the Pricing Engine:

Calling Application (OM, CRM)

Pricing Request Pricing Engine

Pricing: Search Engine Phase

Pricing: Calculation Engine

OAUG Europe 2002

Copyright 2002 Bibhuti Bhusan Chand

Page 4

Go Back

Next Page

Oracle Advanced Pricing R11i in a Nut Shell

Qualifiers
Qualifiers decide who are eligible to receive benefits (discounts/ surcharges). Qualifiers can be associated to the Modifiers and Price Lists to define rules that govern who is eligible to receive a specific price, promotion, discount or benefit. There are a set of seeded basic qualifier contexts and associated qualifier attributes for use. Examples of Qualifiers: Specific Customers Customer Groups Order Types Order Amounts Geographic Location

You can tie qualifiers to modifiers both at the list or/ and line level. This enables to restrict the eligibility for a list or group of modifier lines. For example if an order is not eligible for a modifier list, it is not eligible for any of the line level modifiers on the list, even if the lines have qualifiers for which the order is eligible. You can create complex qualifier sets consisting of multiple qualifiers that are evaluated together in AND and OR relationships. You can define qualifier groups, which comprises of multiple qualifiers tied together in AND and OR relationships. For example: Customers must belong to VIP class and order amount must be within the range, $5000 to $9000 or Order Type must be Special Order. You can link qualifier groups to price lists and modifiers to define rules governing who can receive a particular price, discount, promotion or benefit.

Attribute Mapping
With Attribute Mapping, Oracle Advanced Pricing provides the capability to refer to non-seeded (not delivered outof-box) data elements and attributes. Attribute Mapping controls what the pricing engine: Prices and Modifies

With Advanced Pricing, you have the capability to access your pricing related business specific data and use it according to your pricing rules. You may be capturing some data critical for you business on the customer record which demands a special pricing or a promotion. You can use flexfields on the customer record to enter these data. In turn, you can define these flexfield values as qualifiers for your discounts, surcharges and promotions. Some typical examples where you could use the attribute mapping functionality: Define a qualifier based on the total order value since the beginning of the current calendar year. If total order value exceeds $10,000 customer gets 5% additional discount. Define your own customer classifications in addition to the standard groupings that Oracle provides. You use these groups to control pricing; if a customer belongs group A, the customer receives a 15% discount or if the customer belongs to group B then that customer receives a 10% discount. Define a qualifier like if today is last day of the month then receive 5% discount. Define an additional element in the product hierarchy to give discounts based on the brand of the product.

OAUG Europe 2002

Copyright 2002 Bibhuti Bhusan Chand

Page 5

Go Back

Next Page

Oracle Advanced Pricing R11i in a Nut Shell

Price Lists
Price lists are critical to ordering products because each item entered on an order must have a price. Each price list contains basic list information and one or more pricing lines, price breaks, pricing attributes, qualifiers, and secondary price lists. Price lists contain prices and currencies associated with products and services. Prices on the price list can be: An absolute value Derived from a formula Either a positive or negative value

You may define prices that apply to the entire organization or be specific for a single operating unit. Price lists can have a start and end date. This gives an opportunity to create price lists in advance of when they need to be effective. Users cannot use these price lists on sales orders until their effective start dates. The pricing engine allows the use of secondary price lists. If an item appears on both the primary and a secondary price list with the same effective dates, the pricing engine uses the primary price list to price the item. If an item does not exist on the primary price list, the pricing engine uses the secondary price list. If an item appears on the primary price list but the effective end date has passed, the pricing engine uses the price on the secondary price list. Oracle Pricing enables price list maintenance several ways: Manually adding lines to the price list Copying price list lines from one price list to another Adding a new group of inventory items to a price list by specifying a range Adding a new group of inventory items to a price list by specifying an item category Adjusting the price of all items on the price list by an amount or percentage Adjusting the price of items belonging to a category or a range of items by an amount or percentage

Modifiers
Modifiers enable to setup price adjustments, benefits and freight and special charges that the pricing engine applies immediately to pricing requests or accrues for later disbursement. Examples of price adjustments: discounts and surcharges. Examples of benefits: free goods, coupons and product upgrade. Modifiers can be defined to be automatic or manual. Automatic modifiers apply automatically to the order or order lines based on the eligibility rules defined. Manual modifiers need the user to manually associate to any applicable order or order line. You can create ask for promotions or deals, the pricing engine does not apply these modifiers unless the customer asks for them. At order entry, one must reference such modifiers to apply them. You can define modifiers to be incompatible, if you do not want the pricing engine to apply them to an order or order line in combination with other modifiers. Using modifiers, you can: Setup a modifier list with multiple modifier lines Define modifiers with or with out override capability Create eligibility rules for modifiers by assigning list and line level qualifiers Define modifiers that are incompatible with other modifiers Create exclusive modifiers

OAUG Europe 2002

Copyright 2002 Bibhuti Bhusan Chand

Page 6

Go Back

Next Page

Oracle Advanced Pricing R11i in a Nut Shell

Create cascading modifiers Accrue monetary and non-monetary benefits

The following are the modifier list types supported in Oracle Advanced Pricing: Discount Surcharge Freight/Special Charges Promotion Deal

For each list type that you define, you can associate certain line types. The available line types are: Discount: Creates a negative price adjustment. Surcharge: Creates a positive price adjustment. Freight charge: Creates a freight charge. Item upgrade: Replaces a specific item ordered with another item for the same price. Terms Substitution: Term Substitution replaces freight charges, shipping charges, and payment terms with charges that are more favorable. Other item discount: Gives a price adjustment or benefit to a specified item on an order when the customer orders one or more other items on the same order. Promotional goods: Adds a new item with a price adjustment or benefit when the customer orders one or more other items on the same order.

Figure below illustrates the Process flow, Events and the various associated Pricing Phases:

Order Flow

Events Enter Order Line

Book Order

Re-price Order

Phase 0

Phase 1

Modifiers

Phase 2

Phase 3

Phase 4

OAUG Europe 2002

Copyright 2002 Bibhuti Bhusan Chand

Page 7

Go Back

Next Page

Oracle Advanced Pricing R11i in a Nut Shell

Note:

Events are points in the process flow of the calling application at which it sends a pricing request to the pricing engine. The information that the pricing engine returns, for example, base prices, price adjustments, promotions, or freight charges, depends on the pricing phases of the event. Pricing phase controls which price lists and modifiers, the search engine would consider and in what sequence they apply to the pricing request.

Figure below illustrates Pricing Events mapping to the respective Pricing Phases:

Pricing Event Mapping


Events
ENTER ORDER LINE 0 1 BOOK ORDER 2 3 4 REPRICE ORDER 2 3 4

Pricing Phase

Phases
LIST LINE BASE PRICE LIST LINE ADJUSTMENTS ALL LINE BASE PRICE ALL LINE ADJUSTMENTS HEADER LEVEL ADJUSTMENTS ALL LINE BASE PRICE ALL LINE ADJUSTMENTS HEADER LEVEL ADJUSTMENTS

Formulas
Formulas are mathematical expressions that the pricing engine uses to determine the list prices of items and the discounts that apply to these items. Pricing Formulas enables the pricing engine to determine item prices based on a combination of price list, numeric constant, pricing attribute, factor list and customizable function. Using Pricing Formulas, you can: Create a price by computation as an alternative to entering prices in a price list Calculate a price adjustment. For example, you can instruct the pricing engine to calculate a discount by attaching a formula to a discount line.

You may link formulas to either a price list line or a modifier line. Formulas associated on the price list line could be dynamic or static. Dynamic Formula Calculation: Pricing engine uses the formula to calculate list price at the time of order entry. Static Formula Calculation: You need to execute a concurrent process before order entry, which calculates the list price.

OAUG Europe 2002

Copyright 2002 Bibhuti Bhusan Chand

Page 8

Go Back

Next Page

Oracle Advanced Pricing R11i in a Nut Shell

Discounts
Examples of some of the common discount scenarios used in the industry that can be easily set up using the advanced pricing module: Any customer who purchases item XYZ, quantity between A to B gets a discount of X percentage. Any customer who purchases any item of quantity X and above gets a discount of Y percentage. A customer with the customer status ABC when purchases any item quantity between A to B gets a special discount of X percentage. If a customer belongs to the customer class XYZ, they get X percentage additional discount on all purchases. If a customer belongs to the ABC or XYZ customer class, they get an additional X percentage discount on all purchases. Manual discounts (by Amount) with overwrite capability, applicable for all customers. Manual discount X percentage with non-overwrite option, applicable for all customers purchasing item ABC. Manual discounts (by Amount) with overwrite capability, applicable for all customers. Any customer belonging to customer class ABC who spends $ Y and above per order receives an X percentage Preferred Customer Discount on the entire order. Any customer buying products of a specific item category gets a Volume Discount based on the various quantity slabs. The eligibility volume is total number of units purchased for that specific item category on the entire order (quantity is accumulated across multiple items in a single order). The discount applies to all eligible lines and keeps changing as the quantity increases or decreases.

Surcharges
Examples of some of the common surcharge scenarios used in the industry that can be easily set up using the advanced pricing module: Any customer belonging to the customer class ABC, when spends less than a value of $ Y per Order gets an X percentage surcharge. Any customer belonging to the customer class XYZ placing a Rush Order (delivery requested within two days) receives a $ X per unit surcharge. Any customer placing an order for item A for less than X units gets a Y percentage surcharge.

Promotions
Examples of some of the common promotional offers used in the industry that can be easily set up using the advanced pricing module: For every three units of item XYZ purchased all customers receive X currency units off. Any customer buying products of a specific item category gets a Quantity Discount based on the various quantity slabs. The eligibility volume is the number of units purchased for that specific item category on any specific order line. This is not a cumulative type of discounting.

OAUG Europe 2002

Copyright 2002 Bibhuti Bhusan Chand

Page 9

Go Back

Oracle Advanced Pricing R11i in a Nut Shell

For every two units of item XYZ all customers get a third one free. Any customer placing an order for an item XYZ during the period Start Date to End Date automatically gets a free product upgrade to item ABC for no extra charge. Any customer who buys an item ABC gets the second one at X percentage discount.

Pricing API
Oracle Pricing has a set of Application Program Interfaces (APIs) available. You may use these APIs in custom programs for automation of some of the pricing functions.

Below is the list of some of the main Pricing APIs available: QP_Price_formula_PUB.Get_Price_Formula (Formula Calculation API): The Formula Calculation package consists of entities to calculate the value of a formula. QP_Price_formula_PUB.Process_Price_Formula (Update Formula Prices API): The Update Formula Prices package consists of entities to update formula prices. QP_CUSTOM.Get_Custom_Price (Get Custom Price API): You may add custom code to this customizable function. The pricing engine while evaluating a formula that contains a formula line (step) of type function calls this API. QP_PREQ_GRP.Price_Request (Price Request API): The Price Request Application Program Interface (API) is a public API that allows you to get a base price and to apply price adjustments, other benefits, and charges to a transaction. QP_MODIFIERS_PUB.Process_Modifiers (Business Object for Modifier Setup API): The Business Object for Modifier Setup package consists of entities to set up modifiers. QP_QUALIFIER_RULES_PUB.Process_Qualifier_Rules (Qualifiers API): The Qualifiers package consists of entities to set up qualifiers. QP_ATTR_MAPPING_PUB. Build_Contexts (Attribute Mapping API): The Attribute Mapping package consists of entities to map attributes. QP_Price_List_PUB.Process_Price_List (Price List Setup API): The Price List Setup package consists of entities to set up price lists.

About the Author


Bibhuti Bhusan Chand, Senior Software Engineer with Rapidigm Inc. has around 8 years of experience in designing and developing with various Oracle products. He has played functional and technical lead roles in numerous Oracle Applications implementations. His involvement includes analysis, business processes re-engineering, setup, conversions, customizations, interfaces, upgrades and user training. Bhusan holds a Bachelors Degree in Electronics Engineering and is a regular presenter at various Oracle Conferences across the world. Bhusan is reachable at bchand@rapidigm.com.

OAUG Europe 2002

Copyright 2002 Bibhuti Bhusan Chand

Page 10

Anda mungkin juga menyukai