Thursday, November 8, 2012

Oracle Pricing Formulas

Overview of Formulas
Formulas consist of mathematical expressions that the pricing engine evaluates to calculate the list prices of items and discounts applied to them. Formulas can be linked to a price list line or modifier line. You can use formulas to:
  • Create a price from a computation as an alternative to entering prices in a price list.
  • Calculate a price adjustment. (Pricing engine can calculate a discount by attaching a formula to a discount line)
  • Set up and maintain formulas based on component types.
When we attach a formula to a price list line, we do not have to enter the price for that line because the pricing engine uses the formula to calculate the final list price of the product or service. There is one exception exists in which we must enter the list price (base price) for the formula to use in it's calculation, if the formula has a list price as Formula Type.
We can attach a formula that has a List Price component to price list lines and to modifier lines.
How a formula calculates the list price:
Dynamic calculation: The dynamic calculations are dynamic in nature. This means the  list price resulting from the formula calculation is not calculated or stored anywhere until the sales order or the quote is entered with that price list line item. When the sales order/quote is entered, the pricing engine evaluates the formula and derive the list price and displays the final list price on the order/quote.
Static calculation: If the formula is attached to a price list line for static calculation of the final list price, we can run a concurrent program at any time to calculate the final list price using the formula up front and not wait until order entry/quote enter time and also store it in the price list.

Seeded Formulas

Oracle Advanced Pricing provides seeded formulas that we can use for different purposes.
Pricing Formula
A formula is a valid mathematical expression that you can use to determine the list prices of items and the discounts applied to those items. The formula lines provide details about each part of the formula.
Note: The concurrent program Build Formula Package should be run if you create or change a formula expression.
A formula can contain any of the following:
  • Parentheses: for example, (and)
  • Mathematical operators: for example, +, -, /, and *
  • Built-in functions: for example, NVL, SQRT, and MOD
  • Operands: Operands are step numbers about which you provide more detail. You can use as many step numbers as you need, up to the limit of the field. You can repeat a step number in a formula, for example, 1+2*2.Note: An operand is not a numeric constant. If you want to use a numeric constant in a formula, you must create a step number in the formula expression and then assign the numeric constant to the step number in a formula line
For example, the valid formula (1+2*SQRT(3)) / 4 contains:
  • Operands: 1, 2, 3, and 4
  • Mathematical operators: +, *, and /
  • Built-in function: SQRT
  • Parentheses: to group the operands and operators
For each preceding step number, you need to create four formula lines since the formula has four step numbers.
Oracle Advanced Pricing uses the formula line and evaluates it to obtain the value of the operand and calculates a formula. It does not use the face value of the step number.
You assign one of the following types to each formula line:
  • Function: The function GET_CUSTOM_PRICE retrieves a price from an external system and uses it in the formula calculation.
  • List Price: The price of the item in a specific price list to which you have attached a formula.
  • Factor List: Enables you to define pricing conditions that you can link to multiple pricing attributes or a range of these attributes. The pricing engine evaluates the formula, and then chooses one of these factors, depending into which range the actual pricing attribute of the item falls.For example, a step in the formula may have different factors defined for different ranges of glass thickness: a glass with thickness between 0.1 and 0.3 mm has a factor of 3, and a glass with thickness between 0.4 and 0.8 mm has a factor of 5. The pricing engine determines which factor qualifies when it evaluates an order and applies this factor in the formula calculation.You can also relate multiple factor conditions. For example, if the base pricing attribute for glass thickness is between 0.1 and 0.3 mm AND the length of the glass is between 0.5 and 2 m, apply the factor of 3 OR if the base pricing attribute for glass thickness is between 0.4 and 0.8 mm AND the length of the glass is between 0.5 and 2 m, apply the factor of 5.
  • Modifier Value: Uses the value entered in the Value field of the modifier line or price break line.
  • Numeric Constant: A numeric value.
  • Price List Line: The price of the item in a specific line of a specific price list.
  • Pricing Attribute: The absolute value of a pricing attribute (such as thickness or height) of an item.
Pricing attributes
Pricing attributes are characteristics of products and services that you can specify when the characteristics help to determine the price of a product or service. Distance, age of a related product, customer class, product family group, and level of service are examples of pricing attributes. You can specify one or a combination of pricing attributes and assign them to a product or service. At order entry time, the pricing engine evaluates the attributes you have specified during formula setup to calculate the price.
You can define as many attributes as you need to meet your pricing business needs. For example, you may use the formula 1*2 to calculate the price of a glass item. Step 1 is a pricing attribute for thickness and step 2 is the list price to calculate the price of a glass item; if 100 is the base price of the glass item and 0.3 is the value of the thickness attribute of the glass, then the pricing engine evaluates the formula as 0.3*100, which is 30.
Updating Formula Prices
Use this process to use static formulas to set list prices. When you attach a formula to a price list line, you can select from the following calculation methods:
Dynamic calculation: When we enter an order/quote, the pricing engine uses the formula to calculate the list price.
Static calculation: Before we enter order/quote , you run a concurrent process that calculates the list price.

1 comment: