Manage Your Effectivity Dates

Make sure your effectivity dates work correctly when you price an item in Order Management or when you use the PriceSalesTransaction REST API.

The start date and the end date on a pricing entity determines when the entity is in effect. We refer to a set of these start and end dates as an effectivity date. The effectivity dates that you specify when you set up pricing affect runtime behavior. Here are some example error messages that you might get if you don't set up your dates correctly.
A matching price list cannot be found for this transaction for the pricing strategy

Pricing strategy was not determined for the transaction 

No matching pricing segment found for the transaction 

No matching pricing segment was found for the customer 
For more, go to REST API for Oracle Supply Chain Management Cloud, expand Order Management > Document Prices, then click Price Sales Transaction.

Example 1: Problem with the Price List's Dates

Assume you do this setup.

Assume you do this setup.

Assume you:

  1. Go to the Pricing Administration work area, then use the Edit Price List page to:
    • Set the start date on the Corporate Segment Price List to March 1, and leave the end date for it empty.
    • In the Price List Lines tab, you add the AS54888 Desktop Computer to the Corporate Segment Price List, add a charge to the item, set the start date for the charge to March 15, and leave the charge's end date empty.
  2. Use the Edit pricing Strategy page to:
    • Set the start date on the Default Pricing Strategy to March 15, and leave the end date for it empty.
    • Add the Corporate Segment Price List to the Default Pricing Strategy, use the Strategy Association Details area to set the start date to April 1 when you add the price list to the strategy, and leave the list's end date empty.

      You use the Strategy Association Details area to specify the dates when you want to use this price list with the pricing strategy. The Segment Price List Details area displays the start and end date that you set for the price list. You can't edit these dates on the Edit Pricing Strategy page, but you can edit them on the Edit Price List page.

  3. Go to the Order Management work area, create a sales order, set the Ordered Date attribute on the order header to March 20, add the AS54888 to the order, then click Actions > Reprice order.

    Pricing successfully determines the pricing strategy to use according to your pricing setup, but then Order Management displays an error message:

    A matching price list cannot be
              found for this transaction for the pricing strategy because the order date is outside the
              range of the start and end dates of the Strategy Detail for the price list in the
              strategy.

This happens because the Corporate Segment Price List doesn't start until April 1 on the Default Pricing Strategy, which is after the March 20 ordered date.

To fix this problem, set the start date for the Corporate Segment Price List on the Default Pricing Strategy to a date that happens before March 20, or wait until after the price list's April 1 start date, then reprice your order.

Example 2: Problem with the Charge's Dates

Assume you have the same setup that you use in example 1, but you also set up a $200 charge for the AS54888, set the charge's start date to May 15, and leave the charge's end date empty.

On May 10, you create a sales order with an order date of May 15 and add the AS54888 to the order. Pricing successfully determines the pricing strategy to use according to your pricing setup, but then Order Management displays an error message.

A matching price list cannot be found for this transaction for the pricing strategy because the charge start and end dates do not include the calendar date.
To fix this problem, change the charge's start date to a date that happens before May 10, or wait until after the charge's May 15 start date, and then reprice the order.

Apply the Theory Behind the Examples

Now that you can see how date problems happen at run time, you can use this section to consider how your effectivity dates might cause runtime problems. Consider these facts when you do your set up, or when you need to troubleshoot runtime problems.

Here are some important attributes that Pricing examines when it calculates price:

  • PriceAsOf
  • PricingDate
  • PricedOn

Pricing uses a variety of source attributes to determine PriceAsOf, PricingDate, and PricedOn, and these sources vary depending on whether Pricing is pricing the order header or the order line.

Header Entity Stores Details for the Order Header

Date Attribute Source Attribute Default Value Description
PriceAsOf OrderedDate CurrentPricingDate If OrderedDate is empty, the Pricing uses CurrentPricingDate.
PricingDate TransactionOn CurrentPricingDate If OrderedDate is empty, the Pricing uses CurrentPricingDate.
PricedOn - CurrentPricingDate PricedOn stores the date and time when Pricing prices the sales order. Pricing sets the value in PricedOn.

Note that CurrentPricingDate is the system date.

Line Entity Stores Details for the Order Line

Date Attribute Source Attribute Default Value Description
PriceAsOf OrderedDate Header.PriceAsOf If OrderedDate is empty, then Pricing uses PriceAsOf from the Header entity.
PricingDate TransactionOn Header.PricingDate If TransactionOn is empty, then Pricing uses PricingDate from the Header entity.
PricedOn - CurrentPricingDate PricedOn stores the date and time when Pricing prices the order line. Pricing sets the value in PricedOn.

Consider How Your Service Mapping Affects Dates

If you set up your own service mapping, and if your mapping modifies the OrderedDate source attribute or the TransactionOn source attribute, then you'll want to consider this section when you set up pricing, or when you troubleshoot your setup.

Pricing uses the runtime value in the Header.PriceAsOf date attribute to determine whether strategies, strategy assignments, profiles, matrices, and rules are in effect when it prices your order.

Here are some tips that you can use to make sure these entities are in effect when you need them.

Entity in Pricing Administration Description
Pricing Strategy

Make sure the start date and end date of your pricing strategy happens within the time frame that Header.PriceAsOf contains.

For example, if Header.PriceAsOf contains May 15, and if your pricing strategy's start date happens on May 14 and it's end date is empty, then you're good to go.

You set these dates on the Manage Pricing Strategies page.

Pricing Strategy Assignment

Make sure the start date and end date for the assignment level, pricing context, and transaction type in the assignment for your pricing strategy happens within the time frame that Header.PriceAsOf contains.

You set these dates on the Manage Pricing Strategy Assignments page.

Pricing Profile

Make sure the start date and end date of your pricing profile happens within the time frame that Header.PriceAsOf contains.

You set these dates on the Manage Customer Pricing Profiles page.

Row That You Add to a Pricing Segment Matrix

If you have a Pricing Segment matrix type, and if you enable the Date Effectivity option on that matrix, then make sure the start date and the end date of your matrix happens within the time frame that Header.PriceAsOf contains.

You set these dates on the Manage Matrix Types page.

Rule or Row That You Add to an Assignment Matrix

If you enable the Date Effectivity option for the Pricing Strategy assignment matrix type, then make sure the start date and the end date of the Pricing Strategy assignment matrix type happens within the time frame that Header.PriceAsOf contains.

You set these dates on the Manage Matrix Types page.

Various Kinds of Lists
List in Pricing Administration Date Attribute Description

Any of these lists that you add to a pricing strategy:

  • Price List
  • Cost List
  • Discount List
  • Currency Conversion List

Line.PriceAsOf

Make sure the start date and the end date that you specify in the header area of your pricing strategy and the start date and the end date that you specify in the Strategy Association Details area when you add the list to the strategy happen within the time frame that Line.PriceAsOf contains.

Any of these lists that you create or modify:

  • Price List
  • Cost List
  • Discount List
  • Currency Conversion List
Line.PriceAsOf

Make sure the start date and the end date that you specify in the header area of your list happens within the time frame that Line.PriceAsOf contains.

For example, if Line.PriceAsOf contains May 15, then make sure the start date that you set when you create or modify your list happens before May 15, and the end date that you set happens after May 15.

Price List for Configured Items

Entity in Pricing Administration Date Attribute Description
Price List That You Add to a Pricing Strategy

Line.PriceAsOf

Same as for a standard item or coverage item.
Child Item of a Configured Item That You Add to a Price List - Pricing doesn't use any date attribute.

Override a Price List According to a Pricing Term

Entity in Pricing Administration Date Attribute Description
Pricing Term That You Add to a Price List

Line.PriceAsOf

Make sure the start date and the end date that you specify for the pricing term happen within the time frame that Line.PriceAsOf contains.
Item That You Add to a Price List - Pricing doesn't use any date attribute.

Currency Conversion Rate

Entity in Pricing Administration Date Attribute Description
Conversion Rate Line.PricingDate

Make sure the start date and the end date of the conversion rate happen within the time frame that Line.PricingDate contains.

To set the conversion rate's date, use the Manage Currency Conversion Lists task to open your list for editing. In the Details area, click Conversion Rates, click Actions > Edit, then set the Start Date attribute and the End Date attribute.

If you use the conversion rate with a coverage, then Pricing uses the start date and the end date of the coverage's duration when it determines whether the conversion is in effect. If these coverage dates are empty, then Pricing uses the coverage's start date and end date.

Charges and Shipping Charges for Items, Configured Items, Configure Options, and Coverages

Entity in Pricing Administration Date Attribute Description
Charge on Any List, Such as a Price List Line.PricingDate

Make sure the start date and the end date of the charge that you add to the list happen within the time frame that Line.PricingDate contains.

Charge on the Adjustment Matrix of Any List or Pricing Term Line.PricingDate

If you enable the Date Effectivity Enabled option on the matrix, then make sure the start date and the end date of the adjustment that you add to the list happen within the time frame that Line.PricingDate contains.

For details, see Manage Pricing Matrix.

Rule on Any List Line.PricingDate

Make sure the rule's start date and end date happen within the time frame that Line.PricingDate contains.

For details, see Pricing Rules.

More Entities

Entity in Pricing Administration Date Attribute Description
Pricing Term That You Import Line.PricingDate

Make sure the start date and the end date of the pricing term that you import happens within the time frame that Line.PricingDate contains.

This requirement applies only with pricing terms that you import through some integrations, such as Channel Revenue Management.

Override Currency on a Pricing Strategy

Header.PricingDate

Header.PriceAsOf

Make sure the start date and the end date that you set when you use the Allowed Override Currencies tab of the pricing strategy happens within the time frame that Header.PricingDate contains, and that Header.PriceAsOf contains.

Filter Dates on Pricing Algorithms

You can use PriceAsOf, PricingDate, and PricedOn on these pricing algorithms to filter dates:

  • Set Initial Values
  • Get Sales Pricing Strategy
  • Validate Pricing Terms
  • Validate Override Currencies
  • Get Base List Price for Goods and Services
  • Get Currency Conversion Rates
  • Derive Price List
  • Apply Discounts
  • Apply Pricing Terms
  • Apply Matrices