Troubleshoot Your Pricing Setups
Troubleshoot problems you encounter that involve pricing.
Various Lists
Trouble |
Shoot |
---|---|
I encounter an error when I create a sales order in the Order Management work area.
This problem might happen when I set up more than one business unit, I set up a price list for each unit, and the error only happens for one of the units. You might not have assigned the correct access set to the price list. |
Assume you created price list m for business unit n, price list y for business unit x, and the problem happens only when you create a sales order that references business unit x.
|
I add an item to a cost list and click Save. I add the item on the catalog line in Order Management, then click the price on the catalog line, but the price breakdown doesn't contain any text or values. |
If you add an item to the cost list but don't create a charge for it, pricing will fail. Make sure you click Create Cost Charge, set up the charge, then click Save when you add the item to the cost list on the Cost List page in Pricing Administration. |
I create a sales order for customer Computer Service and Rentals in the Order Management work area, add item AS54888 on the order line, click Submit, then an error displays.
The application can't find a matching price list for this transaction for pricing strategy Corporate Pricing Strategy.
Its possible you didn't add the item to the price list. For details, see How Profiles, Segments, and Strategies Work Together.
Try this.
-
Examine the profile.
-
In the Pricing Administration work area, click Tasks > Manager Customer Pricing Profiles.
-
On the Manager Customer Pricing Profiles page, search for customer Computer Service and Rentals.
-
In the search results, notice the value.
Customer Name
Customer Value
Computer Service and Rentals
Very High
-
-
Examine the segment.
-
Click Tasks > Manage Pricing Segments.
-
On the Manage Pricing Segments page, notice the values.
Pricing Segment
Customer Value
High Value
Very High
In this example, notice Pricing assigns the High Value segment to each customer that has a Very High value. Computer Service and Rentals has a Very High value, so Pricing places Computer Service and Rentals in the High Value segment.
-
-
Examine the strategy assignment.
-
Click Tasks > Manage Pricing Strategy Assignments.
-
On the Manage Pricing Strategy Assignments page, on the top part of the page, click the row that includes Header in the Assignment Level attribute, then notice the values that display in the matrix.
Pricing Strategy
Pricing Segment
Corporate Pricing Strategy
High Value
In this example, notice Pricing assigns the Corporate Pricing Strategy to the High Value segment. In the previous step, you determined Pricing places Computer Service and Rentals in the High Value segment, so Pricing uses the Corporate Pricing Strategy for Computer Service and Rentals.
-
-
Examine the strategy.
-
Click Tasks > Manage Pricing Strategies.
-
On the Manage Pricing Strategies page, search the Name attribute for Corporate Pricing Strategy.
-
In the search results, click Corporate Pricing Strategy.
-
Click Price Lists, then, in the Segment Price Lists area, notice you assigned one price list to the strategy.
Name
Currency
USD Price List
USD
At this point, you have confirmed that the profile, segment, strategy assignment, and strategy result in using the USD Price List for customer Computer Service and Rentals. So, its very likely you didn't add the AS54888 item to the price list, and that's what's causing the error.
-
-
Examine the price list.
-
In the Name column, click USD Price List.
-
On the Edit Price List page, in the Items area, search the Item attribute for AS54888.
-
The search likely doesn't return a result, so, in the search results, click Actions > Add Row, then add the AS54888.
-
I create a sales order in the Order Management work area, add an order line, but the currency on the order line defaults to a value I didn't expect.
Assume you used the Pricing Administration work area.
-
Created a price list named RMB Price List, set the currency for the price list to RMB, then added the AS54600 item to it.
-
Added the RMB Price List to the Corporate Pricing Strategy.
For details, see Use Different Currencies for the Same Customer.
Next, in the Order Management work area, you add the AS54600 to an order line. The currency on the order line defaults to USD. You expect it to default to RMB.
Its possible you didn't set up the default currency or currency conversion correctly.
-
Identify your strategy.
-
Make sure you have the privileges that you need to manage sales orders.
-
Go to the Order Management work area, open your sales order, set the Customer attribute, then click Actions > View Pricing Strategy and Segment.
-
Copy the strategy name, such as Corporate Pricing Strategy, to your clipboard.
-
Sign out of Order Management.
-
-
Examine your set up.
-
Make sure you have the privileges that you need to administer pricing.
-
Go to the Pricing Administration work area.
-
In the Pricing Administration work area, click Tasks > Manage Pricing Strategies.
-
On the Manage Pricing Strategies page, search for, then open Corporate Pricing Strategy.
-
On the Edit Pricing Strategy page, notice the value for the Default Currency attribute.
In this example, the order line defaults to USD, so its likely the Default Currency attribute contains USD. This set up is ok if you plan to use this strategy primarily for order lines that require USD.
-
Click Currency Conversion Lists, then examine the list.
-
-
Fix your set up.
-
Create a currency conversion list that converts USD to RMB. For details, see Manage Currency Conversion Lists.
-
Add the currency conversion list to your pricing strategy.
-
Pricing Rules
-
Make sure you add the list that contains the pricing rule to a pricing strategy.
-
Make sure you approve the list. Click Approve on the page that you use to create the list so you can add it to a pricing strategy and so the pricing algorithm can use it. Pricing displays Approve only if you sign in with pricing privileges, and only if you haven't already approved the list.
-
Make sure the transaction happens during the time frame that you specify when you set the start date and end date for the list.
Price Breakdown Doesn't Display a Value
I set up a discount rule, create a new sales order and add an item to it, but one of the lines in the price breakdown doesn't display a value until I click Save or Submit. I don't want to save or submit the order yet because I am providing a quote to my customer.
Try this.
-
Go to Pricing Administration.
-
Create a sand box. For details, see Create a Sandbox So You Can Edit Service Mappings.
-
Click Tasks > Manage Service Mappings.
-
Search for and open the service mapping you use with your rule, such as the Sales mapping.
-
Click Sources.
-
Map your attribute.
Assume you use the RoundingBillToPartyId attribute in your discount rule.
-
In the Sources list, click OrderCatalogLine.
-
In the Entity Mapping list, click Header.
-
In the Attribute Mappings list, click Actions > Add, then map the RoundingBillToPartyId attribute to the PartyId view object attribute.
-
-
Repeat step 5, but map RoundingBillToPartyId to PartyId in the OrderLine source.
Note
-
Examine the predefined mapping of RoundingBillToPartyId to PartyId in the Header entity of the OrderHeader source. The OrderHeader source provides pricing when you reprice or save the sales order.
-
The OrderCatalogLine source provides pricing on the catalog line when you search.
-
The OrderLine source provides pricing when you add an item to the sales order.
-
OrderCatalogLine and OrderLine don't come predefined with the mapping. You must add whatever attributes you use with your rule to OrderCatalogLine and OrderLine.
Service Mappings
Trouble |
Shoot |
---|---|
In the Pricing Administration work area, I click Tasks > Manage Service Mappings, open my service mapping for editing, then click Sources. But I can't map an attribute because the Add Row action on the Attribute Mappings tab is grey and not active. |
Here are some solutions you can try.
|
I set up a matrix class or algorithm variable and notice that the list of values for the Service doesn't contain any values, or doesn't contain the entity I set up in the service mapping. |
Remove any values you entered in the Alias of an entity. |
I encounter an error that's similar to this one.
In this example, the data type for LineItemRating_Custom is probably different across service mappings. For example, you might have set it up as a String in the Sales service mapping and as a Decimal in the MaterialTransfer service mapping. |
Make sure you use the same data type for your custom attribute in the Sales service mapping and in the MaterialTransfer service mapping. |
The list of values for the Join Entity is empty. |
Refresh the row. Click the next row in the list of entities, then click the row where the Join Entity is empty. If the problem persists, make sure you correctly set up your attribute. For example, make sure it doesn't contain any typographical errors. |
The Save action is disabled. |
Do.
|
Pricing doesn't save my changes. |
Do.
|
I move my service mappings from my test environment to my production environment, but production doesn't include my set up. |
In your test environment, on the Manage Service Mappings page, click Actions > View Source XML, then verify the XML includes your changes and that the changes are what you expect. In particular, examine your _Custom objects, make sure they exist, and you set them up correctly. Do it again in your production environment, and make sure the set up is the same in test and production. |
I encounter an incident error when creating or pricing a sales order. |
Do.
|
The attributes I set up don't match their intended use. |
Examine the descriptions for the attributes and make sure you're using them correctly. Go to SOAP Web Services for Oracle SCM Cloud, expand Price Request Service, then click Price Sales Transaction. |
Pricing Algorithms
You might encounter one of these errors when you test your pricing algorithm.
Trouble |
Shoot |
---|---|
I encounter an error message.
I encounter a java.math.BigDecimal exception. This error typically happens when Pricing can't process the price override. |
Add a check mark to the Allow Manual Adjustment option in the Price List Charge area of the price list. If caching is.
|
I encounter an error message.
This error typically indicates that you didn't format the XML syntax in the test case input correctly. |
Use an XML editor to make sure you format the XML correctly. |
I encounter an error message.
This error happens because the Weblogic Server doesn't include the service data object, the entities, or the attributes that you added to the PriceSalesTransactions service. |
Restart each OrderOrchestration Weblogic Server (WLS) that you use in your test. |
I encounter an error message.
This error might happen when you modify a pricing algorithm, save your changes, and then immediately publish the pricing algorithm. |
Try one of these solutions, then publish again.
|
I encounter one of these errors when I click Run Test.
These errors happen when an unsaved modification exists in the input payload and you click Run Test. |
Click OK in the error dialog, cancel your algorithm edit, navigate to the Manage Algorithm page, open the algorithm, make your changes, save them, then click Run Test. |
A
modification that I make to a pricing rule doesn't seem to go immediately
into effect. There's a delay. I encounter an application error when I import a sales order. |
Make sure the EnableCache variable equals False on your
pricing algorithm. EnableCache comes predefined as False. Don't set it to True. |
Import
You might encounter one of these errors when you import pricing.
Trouble |
Shoot |
---|---|
I encounter an error when I run the Import Price List scheduled process.
|
This problem might happen because there's no value set for the Default Price Periodicity UOM Class pricing parameter. To fix it, set a value for the parameter, then redo your import. For details, see Manage Pricing Parameters. |
I import a sales order into Order Management but the Your Price attribute on the order line is 0. This might happen if you import the sales order with the FreezePriceFlag attribute set to True. If FreezePriceFlag is True, then Pricing doesn't calculate price for the order line. Instead, it copies attribute values from your import payload, such as from the Extended Amount attribute on the DOO_ORDER_LINES_ALL_INT worksheet when you use file-based data import. |
Make sure your import payload has values in the attributes that Pricing needs to set price when you freeze pricing. For details, see Freeze Price on Sales Orders and Import Price Lists. |
I create an order revision, enable the Freeze Pricing and Shipping Charges option on it, then click Submit. At some later time, I copy the order, add an order line to the copy, but then encounter an error when I click Submit.
|
You can't use the Order Management work area to add the line because you froze pricing when you revised the original order, but you can import a line through order import. If you decide to import, make sure your import payload has the pricing details that Pricing needs to price the line. You can freeze price when you copy a sales order. For details, see Copy Sales Orders. |
Runtime
Troubleshoot problems that happen in your runtime environment.
Problems with Pricing Set Ups That Have Expired
Trouble |
Shoot |
---|---|
I create and submit a sales order in the Order Management work area on March 1, 2021. The next day, on March 2, 2021, I revise the sales order and submit it, but encounter an error.
|
Its possible that part of your pricing set up has expired.
Here are some of the objects that have end dates that you should examine.
If the end date has expired, then set it to a later date. As an alternative, redo your pricing set up so none of the objects have expired. For example, if the price list expired but you don't to use it any more, then create a new price list and add the item to the new price list. |
In January, I create a sales order in the Order Management work area, add an order line, set the UOM on the line to Box, then submit the order. In April, I revise the order but get an error when I submit it.
This problem might happen because the price list that Pricing used to price the item in January is no longer active. Pricing used a new price list to price it April, but the new price list doesn't have a charge for the Box UOM. |
For details, see Manage Price Lists. |
I add the AS54888 item to the Corporate Segment Price List and set the Pricing UOM attribute to Pallet when I add the item to the list. But at runtime, the UOM on the order line defaults to Each. |
Make sure the End Date attribute on Corporate Segment Price List is empty or contains a date that happens after the current system date. |
Problems with Pricing Strategies and Pricing Segments
Trouble |
Shoot |
---|---|
I create a new sales order in Order Management and encounter a problem on the Create Order page. The View Pricing Strategy and Segment dialog doesn't contain a value for the pricing segment and the strategy defaults to Corporate Pricing Strategy. I click the error icon and notice an error.
|
If the problem persists, make sure you create a profile, segment, strategy, and strategy assignment for the customer that you select in the Customer attribute on the Create Order Page in Order Management. |
I create a sales order in the Order Management work area. On the order header, I click Actions > Edit Currency Details, but the Order Currency attribute is empty. Or, I encounter one of these errors.
Its possible that you haven't set up a default pricing segment. |
Set up a default pricing segment. For details, see Manage Pricing Segments. |
I create a sales order in the Order Management work area and leave the Customer and Business Unit attributes empty. On the order header, I click Actions > Edit Currency Details, but the Order Currency attribute is empty. If I set the Customer and Business Unit first, click Actions > Edit Currency Details, then the Order Currency attribute displays a value. I expect the Create Order page to display my currency before I set any values on the order header. |
Set the value of the Default Currency attribute on your pricing strategy. For details, see Manage Pricing Strategies. |
I encounter an error: An error occurred while deriving a pricing strategy for the
transaction
This problem might happen because an attribute that has a unique value was changed. For example, while migrating between environments or upgrading to a new update, you change the value in the Source Code Name attribute on the Sales Pricing Strategy Assignment matrix class from PricingStrategyId to PricingStrategyID. |
Attribute values are case sensitive. Make sure your attribute values match each other exactly, including upper case and lower case. |
Other Problems
Trouble |
Shoot |
---|---|
I use the Add Unreferenced Return Lines action in the Order Management work area to add a return line, click Add, but then the return line doesn't have a price. |
Try this.
|
I add an item to a price list, but the order line I create in Order Management doesn't include the changes I made in the Pricing Administration work area. I am collecting planning data and using the Refresh and Start the Order Promising Server scheduled process to publish my changes. |
Wait for the scheduled process to finish and for your changes to propagate through your environment. Wait about one hour. |
The price breakdown on the Catalog Line or order line in Order Management doesn't contain the rows I need, such as Margin or Cost of Goods Sold. |
Set up the pricing results presentation. For details, see Manage Price Details on Order Lines. |
Other Resources for Troubleshooting
See sections in Administering Pricing for other troubleshooting tips.