Example of How Pricing Algorithms Price Items, Part 2

Determine which pricing strategy to use for your customer for the sales order.

2. Get Pricing Strategy

Determine which pricing strategy to use for your customer for the sales order.

Note

  • The output SDO from the Get Reference Attributes step provides the input SDO.

  • The algorithm uses some values in the strategy to apply values in the output SDO to the header and the line. For example, it uses the value for the AllowCurrencyOverrideFlag attribute.

  • If the algorithm fails for some reason, say, there's a faulty set up in Pricing Administration, then it marks the header as in error.

Here's what the Get Sales Pricing Strategy algorithm does.

What the Algorithm Does

How the Algorithm Does It

1. Get the customer pricing profile so it can identify the header Id.

Examine the profile in Pricing Administration.

2. Determine the pricing segment to use.

Use HeaderId to evaluate the pricing segment matrix, then assign the PricingSegmentCode attribute on the header in the output SDO.

In this example, it assigns corporate_segment. It also uses conditions in the segment to create the Pricing Segment Explanation, such as Size=Medium.

3. Identify the strategy assignment.

Examine the strategy assignment matrix according to the pricing context and the type of transaction.

In this example, the context is Sales and the transaction is a sales order.

4. Get header values for the pricing strategy.

Evaluate the strategy assignment matrix to identify the strategy, then set PricingStrategyId on the header of the output SDO.

5. Set the pricing strategy on the lines.

Set PricingStrategyId on each of the lines in the output SDO.

The algorithm uses your set ups in the Pricing Administration work area. For example:

The algorithm uses your set ups in the Pricing Administration work area.

Here are details about the attributes in the SDOs. Bold font indicates attributes that the algorithm added to the output SDO during its analysis of your set ups in Pricing Administration. Font that isn't bold indicates values that the algorithm gets directly from the input SDO.

Entity

Attributes in Input SDO

Attributes in Output SDO

Header

-

AllowCurrencyOverrideFlag: Y

PricingDate: 2019-03-26 @ 08:32:53

PricingSegmentCode: CORPORATE_SEGMENT

PricingSegmentExplanation: The applicable pricing segment for this transaction is Pricing Segment=Corporate Segment Precedence=1 because Revenue Potential=Medium Customer Size=Medium Cost To Serve=Medium Customer Value=Medium Customer Rating=Medium

PricingStrategyId: 300100071623888

Line

HeaderId: 1

InventoryItemId: 149

InventoryOrganizationId: 204

ItemType: Standard

LineCategoryCode: Order

LineId: 1

LineQuantity2: Ea

LineQuantityUOMCode: Ea

LineTypeCode: ORA_BUY

PriceAsOf: 2019-03-26 @ 08:32:53

PricedOn: 2019-03-26 @ 08:32:53

PricingDate: 2019-03-26 @ 08:32:53

ShipToLocation Id: 929

UnreferencedReturnLineFlag: N

AllowCurrencyOverrideFlag: Y

AppliedCurrencyCode: USD

DefaultCurrencyCode: USD

HeaderId: 1

InventoryItemId: 149

InventoryOrganizationId: 204

ItemType: Standard

LineCategoryCode: Order

LineId: 1

LineQuantity2: Ea

LineQuantityUOMCode: Ea

LineTypeCode: ORA_BUY

PriceAsOf: 2019-03-26 @ 08:32:53

PricedOn: 2019-03-26 @ 08:32:53

PricingDate: 2019-03-26 @ 08:32:53

PricingStrategyId: 300100071623888

ShipToLocationId: 929

UnreferencedReturnLineFlag: N

Customer Pricing Profile

-

CosttoServeCode: ORA_MEDIUM

CustomerId: 1006

CustomerPricingProfileId: 3001000177658578

CustomerRatingCode: ORA_MEDIUM

CustomerSizeCode: ORA_MEDIUM

CustomerValueCode: ORA_MEDIUM

PriceAsOf: 2018-11-10 @ 08:32:53

RevenuePotentialCode: ORA_MEDIUM

Note

  • The value 300100071623888 in PricingStrategyId identifies the Corporate Pricing Strategy.

  • The value 3001000177658578 in CustomerPricingProfileId identifies pricing profile Computer Service and Rentals.

Here are some of the functions you can use with Get Sales Pricing Strategy.

Function Name

Description

GetCustomerPricingProfile

Get values for the customer pricing profile.

A typical modification you can do is to get a specific price list for each of your customers. You can use GetCustomerPricingProfile and a descriptive flexfield to implement this kind of modification on the line.

GetPricingSegmentMatrix

Get the type of pricing segment matrix.

getStrategy

Get the pricing strategy.

getStrategyAssignmentMatrix

Get the pricing strategy assignments.

A typical modification is to set up a precedence on the assignment matrix, and then run matrix rules according to precedence.