Implementing Pricing

This chapter covers the following topics:

Overview of Implementing Pricing Chapter

This chapter contains information on how to implement price lists and other pricing features for an Oracle iStore implementation.

Pricing Functionality Overview

Oracle iStore displays prices for site products in both the catalog pages and the shopping cart. All item prices are retrieved from price lists; thus, every Inventory item for sale in your sites must appear on at least one price list. You can create price lists in Oracle Order Management Suite's Basic Pricing module, which is included in your purchase of Oracle iStore. Using Oracle Advanced Pricing, a separately licensable product, you can enhance the range of pricing functionality in your sites. In addition, you can use qualifiers and modifiers to alter the list price of items based on specific parameters. By setting a profile option, you can specify whether the Pricing Engine retrieves site-specific price lists or retrieves the best price from any available price list.

Oracle iStore caches prices in the catalog for site-based price lists and guest users. In the shopping cart, which retrieves prices through Oracle Order Capture, prices are not cached.

Note that this guide contains summarized pricing information and data specifically related to Oracle iStore. For complete pricing information, consult the following guides:

Pricing Terminology

The following definitions of common pricing terms can assist your understanding of Oracle Pricing functionality.

Basic Pricing Versus Advanced Pricing with Oracle iStore

Using Basic Pricing a price list can contain:

Using Advanced Pricing, a price list can contain:

Best Price and Site-Based Price List Scenarios

Oracle iStore retrieves price list information in one of two scenarios, depending upon the value of the profile option, IBE: Use Price list Associated with Specialty Site.

See the appendix, Profile Options, for more information on this profile option.

Note that when using this method, prices are not cached in the catalog -- therefore performance will diminish.

The only exception to this rule is for walk-in/guest users. Regardless of the value set for IBE: Use Price List Associated with Specialty Site, for walk-in users, the default price list is always determined by the price list set in the Site Administration UI. In addition, guest users always see the cached prices.

Note: Depending on the Incompatibility Resolve Code setup in the Event Phases, the pricing engine uses either the lowest price or the lowest precedence (lowest number) value per item to get the best price.

Other Pricing Profile Options

For details on other profile options used in the pricing process, see the following sections of the appendix, Profile Options,: "Customer UI Pricing Profile Options" and "Customer UI Mandatory Setup Profile Options".

Price Lists Overview

Price lists are essential to ordering products because each item entered on an order must have a price, and item prices always come from some price list. Each price list contains basic list information and one or more pricing lines, price breaks, pricing attributes, qualifiers, and secondary price lists. Basic price list information includes the price list name, effective dates, currency, pricing controls, rounding factor, and shipping defaults, such as freight terms and freight carrier.

Price lists can be tied to modifiers and qualifiers, giving you the ability to offer discounts, promotions, and deals to your customers -- or to automatically add freight charges or surcharges to an order.

You can define the following types of prices on price lists:

Multiple-Currency Price Lists

In addition to single-currency price lists, Oracle iStore supports price lists in multiple currencies. Multiple-currency price lists reduce maintenance costs if you are doing business in more than one currency, because all items in all currencies can be contained and maintained within a single source price list.

Following are some key points of multiple-currency price list support:

The Global Bin is used in the Customer Application to allow switching of currencies -- see the chapter, Implementing Initial Customer Application Pages, for more information on the Global Bin.

High-Level Steps to Set up Multi-Currency Price Lists

Important: Once you convert your data structure to enable multi-currency price lists, you cannot revert back to single-currency price lists.

To set up multiple-currency price lists:

  1. Ensure that each currency you plan to use has been set up. See the Oracle General Ledger User Guide for more information.

  2. Set the Oracle Pricing profile option, QP: Multi-Currency Installed, to Yes at the site level.

  3. Run the Oracle Pricing concurrent program to convert existing single-currency price lists to multi-currency: Run (one time) the concurrent program, Update Price Lists with Multi-Currency Conversion Criteria. The program creates a currency conversion list for each combination of price list currency and rounding factor, and attaches a currency conversion list to each price list and agreement. This is a mandatory step, since without this the pricing engine cannot use the current price lists as multi-currency price lists.

    Note: You only need to run this program if you are not implementing a fresh install of Oracle Applications.

  4. Set the profile option, QP: Multi-Currency Usage, to Yes at iStore application level.

    Note: Ensure that other Oracle applications which use price lists and which you are integrating with also have the same setting for this profile option.

  5. Create or update a base currency price list and attach the conversion list to it. In Oracle Pricing, set up Currency Conversion Rates (Price Lists > Multi-Currency Conversion Setup) and, optionally, currency specific markup/markdown equations.

For information about how to set up price lists, see the "Creating Price Lists" section, in this chapter.

  1. After you set up price lists, you must assign price lists to specific sites using the Oracle iStore Site Administration Application. Assigning price lists is covered in the chapter, Implementing Site Management.

Refer to the Oracle Advanced Pricing Implementation Guide for additional information on the pricing functionality described above.

Pricing Qualifiers Overview

Pricing qualifiers can modify an item's price based on various criteria, such as site name, item number, or quantity. Once the qualifiers are set up and associated to a price list, in most cases, the price change is automatically applied by the pricing engine, either in the Customer Application catalog or the shopping cart.

After you tie qualifiers to price lists, the attributes are used to pass specific data (for example, information about a customer, an item, or an order) to the pricing engine, and then to apply the price change. Qualifiers also can be tied to modifiers to provide List Price/Your Price discounts. In addition, pricing qualifiers can be grouped into qualifier groups and these groups also can be tied to price lists.

See the following sections within this chapter for more information:

For detailed information on pricing qualifiers, see the Oracle Advanced Pricing User Guide.

Pricing Qualifiers Supported by Oracle iStore

All of the pricing qualifiers that are supported by Oracle iStore are supported at the shopping cart level -- but in the catalog pages, a only subset these supported attributes are available to the pricing engine.

The following table shows the pricing attributes supported in the Customer Application. The table also shows the context for the attributes, whether they are supported in the catalog in addition to the shopping cart, and whether they are supported at item level (also known as line level) or cart level (also known as order or header level). Remember, all of the following are supported in the shopping cart; some are only supported in the catalog. Customer contexts are supported in a Best Price scenario only.

Oracle iStore Supported Pricing Qualifiers
Context Attribute Catalog Support? Supported Level(s)
Customer Customer Name Yes Item and Cart levels
Customer Customer Class Yes Item and Cart levels
Customer GSA Yes Item and Cart levels
Customer Account Type Yes Item and Cart levels
Customer Party ID No Item and Cart levels
Customer Sales Channel Yes Item and Cart levels
Customer Agreement Name No Item and Cart levels
Customer Agreement Type No Item and Cart levels
Customer Bill To (site) No Item and Cart levels
Customer Invoice to Party Site No Item and Cart levels
Customer Ship To (site) No Item and Cart levels
Customer Ship To Party Site No Item and Cart levels
Customer Site Use No Item and Cart levels
Item Item Number (inventory_item_id) Yes Item level only
Item ALL_ITEMS (all items being priced) Yes Item level only
Item Item Category (determined by inventory_item_id) No Item level only
Item iStore Section No Item level only
Item Segments 1-20 (key item flexfield segments) No Item level only
Minisite Minisite_ID Yes Item and Cart level
Modifier List Price List Yes Item and Cart levels
Modifier List Promotion Number (Promo Code) No Item and Cart levels
Order Line Category No Item level only
Order Line Type No Item level only
Order Customer PO No Item and Cart levels
Order Order Category No Item level only
Order Order Type No Item and Cart levels
Order Request Date No Item and Cart levels
Order Pricing Date No Item and Cart levels
Order Shippable Flag No Item and Cart levels
Pricing Attribute Parent List Price No Item level only
Pricing Attribute Model ID Yes Item level only
Segment Market Segment No Item and Cart levels
Segment Target Segment No Item and Cart levels
Terms Shipping Terms No Item and Cart levels
Terms Payment Terms No Item and Cart levels
Territory Sales Territories No Item and Cart levels
Volume Line Volume Yes Item level only
Volume Line Weight Yes Item level only
Volume Order Amount (sum of the list prices on all active order lines) No Cart level only
Volume Item Amount No Item level only
Volume Item Quantity No Item level only
Volume Period1 Item Quantity No Item level only
Volume Period2 Item Quantity No Item level only
Volume Period3 Item Quantity No Item level only
Volume Period1 Item Amount No Item level only
Volume Period2 Item Amount No Item level only
Volume Period3 Item Amount No Item level only

Oracle iStore Site as Pricing Qualifier

You can use an Oracle iStore site as a pricing qualifier, with the following features:

Using site as a qualifier is supported at cart and item levels, and is supported both in the catalog and cart/checkout phases of an order.

Setting up Site as Pricing Qualifier

You set up this qualifier in pricing just as you would any other qualifier, selecting Minisite as the Context and Minisite_ID as the Attribute. Minisite_ID will be the Site ID of the site.

To enable the use of site as a pricing qualifier, you must also set the profile option, IBE: Use Site As Pricing Qualifier, to Yes, at the iStore application level. The default value is No.

Other Guidelines

Here are some other guidelines to keep in mind:

Use Cases

The following use cases can aid your understanding of this functionality.

Use Case 1

Discount is defined as a modifier and site name as a qualifier defined in Pricing.

Use Case 2

Discount is defined as a modifier and site name as a qualifier defined in Pricing.

Use Case 3

Discount is defined as a modifier and site name as a qualifier defined in Pricing.

Preconditions ---

Use Case 4

Use Case 5

All the above scenarios are valid. Users can add items to shopping cart; all items can have the different/same item level price list. In this case, discount will be calculated based on site from where the item was added. In this scenario, guest user will see list price in catalog, as best price is calculated after the user signs in.

Pricing Modifiers Overview

Modifiers are pricing actions that drive your pricing processes in addition to price lists, formulas, and agreements. Modifiers can adjust net price either up or down. Modifiers enable you to set up price adjustments (for example, discounts and surcharges), benefits and promotions (for example, coupons) and freight and special charges that the pricing engine applies immediately to pricing requests or accrues for later disbursement.

To create a price list that contains a discount, use the Discount List Modifier. This enables you to display a different price for List Price/Retail Price and Your Price in the Customer Application. These prices appear next to the product in the catalog pages. The value for List Price is from the basic price list, while the value for Your Price is the basic price list plus the associated discount list modifier. For steps detailing how to set up a 0discount modifier, see the section, "Creating Price Lists with Discount Modifiers", within this chapter.

Pricing modifier functionality also can be used to set up promotion codes in Oracle iStore. See the chapter, Implementing Carts and Orders, and the Oracle Order Management Implementation Manual for complete details.

Order Management Suite's Basic Pricing module includes discount list modifier functionality. Although the discount is created using basic pricing, it must contain specific attributes to function properly in Oracle iStore.

For more information, see the Oracle Order Management Implementation Manual and the Oracle Advanced Pricing documentation.

Promotion Code Modifiers

Setting up promotion codes for Oracle iStore involves the following high-level process:

  1. Set up promotion code in Oracle Order Management: Set up a modifier of type "Promotion". The modifier must also be marked as "Automatic" and "Ask for". See the Oracle Advanced Pricing Implementation Guide, "Modifier Type Setup" section, for more information.

  2. Set iStore promotion code profile option: The profile option, IBE: Use Promotion Code, enables/disables the appearance of the Promotion Codes link in shopping cart. For more information on this profile option, see the appendix, Profile Options, in this guide. More information on cart behavior and promotion codes can be found in the chapter, Implementing Carts and Orders.

  3. Ensure setting of B2B user permission: B2B users must have the IBE_VIEW_NET_PRICE permission to use promotion code functionality.

Promotional Goods Modifiers

Promotional goods (PRG) modifiers allow you to automatically add buy-one-get-one-free items when users purchase another item. They also allow you to offer discount products in your sites.

PRG Terminology

The following PRG terminology may aid your use of this feature:

Setting up PRGs

In addition to the Oracle Pricing setups, the following are the steps/guidelines specific to Oracle iStore:

  1. Ensure Pricing Event Phase: When setting up PRGs, ensure that they are in the pricing All Lines Adjustment event phase.

  2. Modifier Level Setting: Be sure to set the modifier at the Line Group level. If set at the Line Level, when a customer splits a qualifying item, the quantities of the promotional item and the qualifying item will not remain consistent.

  3. Point or Range Setup: Implementers can set up the PRG modifier in Oracle Pricing in two ways:

    • Point --- Irrespective of quantity of qualifying item, always give x quantity of PRG.

    • Range --- Depending on quantity of the qualifying item, give y quantity of PRG. For example: If a user buys item A, he will get 2 of PRG item B. If the user buys 2 of item A, he will get 4 of PRG item B.

  4. Add PRG Information to Products or Sections: By default, the Oracle iStore catalog does not differentiate between promotional/qualifying goods and non-promotional/non-qualifying goods in terms of how these items display. Therefore, if you wish customers to recognize a PRG/qualifying item in the catalog, you must manually tell customers that such an item exists. One way to do this is to add the PRG/qualifying information directly into the item name or description. Another way would be to create a specific section populated with the applicable PRG/qualifying items and then label the section accordingly.

PRG Rules, Guidelines, and Behavior

The following rules, guidelines, and behavior apply to PRG functionality with Oracle iStore:

PRG Use Cases

The following use cases can aid your understanding of the PRG feature:

If the customer adds a computer to the cart, as soon as the pricing engine is called, a new line is created for the free mouse item. The user should not be able to change the item, quantity, or UOM of the PRG.

The price list for the line should be the price list set for the PRG in Oracle Pricing. The list price on the cart should be the price from this price list.

The user should be able to delete the PRG.

Any freight charges for the PRG should be returned by pricing and added to the cart.

If the user deletes the computer, the mouse should automatically be removed from the cart.

All requirements from Scenario 1 are valid for this scenario. In addition, if the user deletes either the computer or the keyboard, the monitor should be automatically removed from the cart.

All requirements from Scenario 1 are valid for this scenario. Currently, the pricing engine doesn't support attaching services to PRGs, and Oracle iStore currently only allows users to buy services for a serviceable item with a reference to an existing order line. Hence, merchants can implement this functionality as, "Buy 1 computer and 1 year extended warranty" and get a printer for a 50 percent discount. In this case, the computer and extended the warranty together are the qualifying items.

Note that Oracle iStore must have the quantity of the qualifying item and promotion item the same.

For example, if the merchant has set up the following:

Qualifying item: Computer (Quantity: 2)

PRG item: Printer (Quantity: 1)

Steps:

  1. The user adds one computer to the shopping cart.

  2. The user increases the quantity of computers to two. Printer gets added to cart.

  3. User decreases the quantity of computers to one. Printer gets deleted from the cart.

  4. User increases the quantity of computers to two. Printer gets added to cart.

Pricing Agreements

Pricing agreements define the price list of the items in the cart and provide mechanisms to derive discounts. Agreements can be universal or customer-specific -- however, Oracle iStore does not support universal agreements unless previously added to a quote through an integration with Oracle Quoting.

Oracle iStore makes pricing agreements available as an action from the shopping cart. The Pricing Agreements action retrieves the Pricing Agreements page, where customers can assign available pricing agreements at the cart or item level. For information on how agreements display in the shopping carts, see the chapter, Implementing Carts and Orders.

General Pricing Agreement Guidelines

Consider these guidelines as you implement pricing agreements:

For information on implementing pricing agreements, see the Oracle Order Management Implementation Manual .

Item-Level Agreements

B2B customers can select pricing agreements in a shopping cart at item level. To enable item-level agreements for B2B users, set the profile option, IBE: Use Line Agreements, to Yes at iStore application level.

If a B2B user is assigned the permission, IBE_USE_PRICING_AGREEMENT, and the profile option, IBE: Use Line Agreements, is set to Yes, the user can set cart and item-level agreements.

Note that service items and promotional items are not candidates for item-level agreements.

If a pricing agreement is assigned at the item level, the price will be retrieved by the corresponding price list. Otherwise, Oracle iStore will use the price list associated to the pricing agreement assigned at the cart level.

Commitments

In a B2B scenario, users can use commitments to complete the billing process. To enable commitments in your sites, set the profile option, IBE: Use Commitments, to Yes at the iStore application level.

Commitments can be associated with an agreement. Thus, the agreement and corresponding price list can get pulled for the line, even if users do not have permission and the agreement profile is turned off. If those are off, then users will not be able to set agreements on the commitment page, but the agreements tied to commitments will still be pulled in, and so will the corresponding price list.

Customer Account Price Lists

The Customer Account Price Lists feature allows implementers to display, in the Customer Application catalog, products and prices from price lists tied to a customer. This feature is implemented as an iStore profile option, along with Oracle Pricing setups.

Customer Account Price Lists Functional Flow

Following is the functional flow for catalog logic when using the customer account price lists feature:

  1. If the customer account profile option is Yes and the price list can be located, the application retrieves and caches the account-level price list, and displays these prices in the catalog.

  2. However, if the price list cannot be located, the application checks the value of the site-based price lists profile, IBE: Use Price List Associated with Specialty Site.

    • If the site-based price lists profile is Yes, the application retrieves and caches the price list specified for the site, and displays these prices in the catalog. If it cannot retrieve this price list, the application sets the price list to null, and no prices are retrieved.

    • If the site-based price lists profile is No, the application sets the price list to null, and no prices are retrieved.

Implementing Customer Account Price Lists

Use the following steps to implement customer account price lists:

Step 1 - Set Profile Option

The profile option, IBE: Use Customer Account Price List, controls whether the customer account price lists feature is available to the runtime catalog. Set at site level to Yes to use the feature. The default value is null, which is treated as No.

Note that specific behavior is exhibited when using this profile option with the site-based price lists profile option, IBE: Use Price List Associated with Specialty Site. See the following table for more information.

Behavior of Customer Account and Site-Based Price Lists Profile Options
IBE: Use Price List Associated with Specialty Site is. . . And IBE: Use Customer Account Price List is. . . Effective Price List will be. . .
Yes or Null Yes Customer account price list if existing, otherwise, site-based price list
Yes or Null No or Null Site-based price list
No Yes Customer account price list
No No or Null Best price from Pricing Engine

Note: Best price search should be enabled only when both of the above profile options are set to No. For other combinations of the above two profile option values, best price search is not supported and should not be enabled.

Step 2 - Link Customer to Price List

Steps

  1. Set up a price list.

  2. Link a customer to the price list. Refer to the Oracle Advanced Pricing Implementation Guide for steps.

  3. Bounce the middle-tier and Web Cache servers.

Creating Price Lists

This section contains quick steps for creating price lists. See the pricing documentation listed in this section's Reference area for complete information.

Prerequisite

Steps

  1. Log in to Oracle Forms as a user with access to the Pricing menus and navigate to the Price List Setup menu.

  2. Navigate to the Price List form and enter required values. Use the points below as a guide; for complete information, see the Oracle Order Management and Oracle Pricing documentation.

    • Price List Name: Use a name that reflects the site implementation. For example, VISION_US_PL.

    • Description: Include a short description of the price list. For example, Euro price list for VISION_US implementation.

    • Currency: Choose a default currency. For example, choose DOL for the VISION_US_PL.

    • Multi-Currency Conversion: If multiple-currency price lists have been implemented, select the conversion price list for the price list you are creating.

  3. Navigate to the List Lines tab and add products to the price list:

    • Enter Items in the Product Context field.

    • Search for and select products in the Product Value field.

    • Enter Prices in the Value field.

  4. Save your work.

Guidelines

Reference

Creating Price Lists with Discount Modifiers

This section contains quick steps for creating price lists with discount modifiers. See the pricing documentation listed in this section's Reference area for complete information.

Prerequisites

Steps

  1. Log in to Oracle Forms as a user with access to the Pricing menus.

  2. Navigate to the Define Modifier Form.

  3. In the Main tab, enter the following fields:

    • In the Type field, enter Discount List.

    • In the Name field, enter a user-friendly name.

    • In the Currency field, choose a default currency for the modifier.

    • Check Active and Automatic.

  4. In the Modifiers Summary tab, enter the following values:

    • In the Level field, choose Line.

    • In the Modifier Type field, choose Discount.

    • In the Start Date field, pick the start date that applies.

    • Check Automatic.

    • In the Pricing Phase field, choose List Line Adjustment.

    • In the Product Attribute field, choose ALL_ITEMS.

    • In the Volume type field, choose Item Amount.

    • In the Break Type field, choose Point.

    • In the Operator field, choose Between.

    • In the UOM field, choose Ea.

  5. In the Discounts/Charges tab, enter the following values:

    • In the Formula field, choose Handling.

    • In the Application Method field, choose Percent.

    • In the Value field, enter your discount percentage amount.

      For example, enter 10.

  6. Save your work.

  7. After creating the pricing modifier, to generate and display the correct prices, run the pricing concurrent program, Build Attribute Mapping Rules. Bounce the Apache server after the concurrent program completes.

  8. After running the Build Attribute Mapping Rules concurrent program, the price list is available in the Site Administration UI. Associate the discounted price list to a site. For more information, see the chapter, Implementing Site Management.

Reference