Example of How Pricing Algorithms Price Items, Part 4

Create a charge for the item on the price list, then use the charge as the base list price for the item.

4. Get Base List Price

The base list price is the price you charge for a quantity of 1 for the item before you apply any tiered pricing that you set up for the item.

Create a charge for the item on the price list

The output SDO from the Get Pricing Strategy provides the input SDO.

You can use these algorithms to meet your specific needs. Here are some examples.

  • Override the base list price according to a value that the Order Entry Specialist enters into an extensible flexfield on the order line.

  • Match price list charges for a unit of measure that doesn't match the unit of measure on the order line. Convert the unit of measure on the order line to the unit of measure you need to use.

  • Make sure the quantity on the order line is equal to or greater than a minimum quantity that you set for the item.

Here's what the algorithms do.

What the Algorithms Do

How the Algorithms Do It

1. Find charge candidates for coverage items.

-

2. Find charge candidates for component items.

-

3. Find charge candidates for items and component items.

Use values in the input SDO to find charge candidates. For each item, match the item, unit of measure, business unit, and line type.

Assume the Corporate Pricing Strategy includes the Corporate Segment Price List. 300100071623855 identifies the list. This price list includes the AS54888 item with a Pricing UOM of Each and Line Type of Buy.

Create a charge candidate for each charge that it finds that matches the query.

On the Edit Price List page in Pricing Administration, assume you search the Corporate Segment Price List for the AS54888 item. The search returns row 1 and row 2, and each row contains the AS54888 with a Pricing UOM of Each and Line Type of Buy. Each of these rows is a candidate to become the charge.

4. Filter duplicate charge candidates.

If the query finds more than one charge candidate for each line, then filter them according to the item's precedence.

An item that has a charge defined takes precedence over other items. For example, if row 1 from your search on the Edit Price List contains a charge in the Charge area but row 2 doesn't, then the filter will return only row 1.

5. Create charges.

-

6. Calculate cost-plus pricing.

-

7. Create charge component for the base list price.

Use the base price from you set up to set the unit price and calculate the extended amount.

For the 5. Create charges step, create a charge for each candidate that remains after filtering them. For example, if the AS54888 on row 1 and the AS54888 on row 2 each contain a charge, then create a charge for each of them. If no charge candidates match the query criteria, then the algorithm creates an error.

create a charge for each candidate that remains after filtering them

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

  • Tiered adjustment, then the algorithm populates the TierQueue entity in the output SDO.

  • Price adjustment matrix, then the algorithm populates the MatrixQueue entity.

Here are details about attributes in the SDOs.

Entity

Attributes in Input SDO

Attributes in Output SDO

Line

AllowCurrencyOverrideFlag: Y

AppliedCurrencyCode: USD

AppliedPriceListId: 300100071623855

DefaultCurrencyCode: USD

DefaultPriceListId: 300100071623855

DefaultPriceListPrecedence: 1

FromCurrencyCode: USD.

HasAlternatePriceList: Y

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

-

Charge

-

CanAdjustFlag: Y

ChargeAppliesTo: Price

ChargeDefinitionCode: QP_SALE_PRICE

ChargeDefinitionId: 3001000070841552

ChargeId: 1

ChargeSubtypeCode: ORA_PRICE

ChargeTypeCode: ORA_SALE

CompSeqCntr: 1001

CurrencyCode: USD

EstimatedPricedQuantityFlag: N

EstimatedUnitPriceFlag: N

LineId: 1

NeedsCostPlus: N

NeedsMargin: Y

ParentEntityCode: LINE

ParentEntityId: 1

PriceTypeCode: ONE_TIME

PricedQuantity: 2 Ea

PricedQuantityUOMCode: Ea

PrimaryFlag: N

RollupFlag: N

RunningUnitPrice: 2500

TaxIncludedFlag: N

ChargeComponent

-

ChargeComponentId: 1

ChargeId: 1

CurrencyCode: USD

ExtendedAmount: 5000 USD

PriceElementCode: QP_BASE_LIST_PRICE

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

SequenceNumber: 1000

SourceId: 3001000071623860

SourceTypeCode: PRICE_LIST_CHARGE

UnitPrice: 2500 USD

In this example, the base price is 2,500, the quantity is 2, so the algorithm calculates the extended amount as 5,000.

Here are some of the functions you can use with the algorithms you use to get the base list price.

Algorithm Name

Function Name

Function Type

Description

Get Base List Price For Goods And Services

constructChargeCandidate

Script

Create a data object for the charge candidate according to the view row of the charge definition.

-

getChargeDefinitionName

View object

Lookup

Get a single row for the translated name of the charge definition.

-

getCharges

View object lookup

Get price list charges in your pricing setup that match the single price list.

-

getDurationConversionRate

Script

Get the UOM conversion rate for part of the duration.

-

getOKCUomMappings

View object lookup

Get mappings in the contracts okc_ tables to call the contracts API.

For details about okc_ tables, go to Tables and Views for CX Sales and B2B Service, then see the Contracts chapter.

-

getPriceList

View object lookup

Get your price list.

-

getRootCharge

View object lookup

Get the price list charge of a root item.

-

getUomTranslation

View object lookup

Get the unit of measure table for translations that exist for the UOM.

Compute Cost Plus Price

None

-

-

Derive Cost

List

getCostCharge

Hierarchical view object lookup

Get the cost elements.

Get Cost Elements

getCosts

View object lookup

Get costs elements from your setup.