Example of How Pricing Algorithms Price Items, Part 1

Learn how a pricing algorithm prices an item. Use this knowledge to write or modify an algorithm that meets your specific pricing requirements.

Introduction

Here are some example set ups you can do that meet your specific needs.

Step

Example Usage

1. Get reference attributes.

Get an attribute for the item, such as item weight.

Use a descriptive flexfield in Product Information Management to get a price list.

2. Get pricing strategy.

Use a specific price list for each customer.

Use a strategy assignment matrix according to precedence.

3. Get price list.

Use a descriptive flexfield in Trading Community Architecture to determine the price list to use when calculating price.

4. Get base list price.

Make sure the sales order includes a minimum quantity for the item.

Override the base list price.

Convert a unit of measure.

Here's a summary of the flow that prices an item.

Here's a summary of the flow that prices an item.

Note

To start, lets consider the first four steps. These steps get the details that pricing needs before it can calculate price.

1. Get Reference Attributes

Let's take a look at how pricing algorithms price an item. Here's the scenario.

  • You need to price an order line that includes item AS54888 Desktop Computer with a quantity of 2 for customer Computer Service and Rentals.

  • If your customer orders the AS54888 with a quantity of 1 to 10, give a 10% discount off the base list price. If the quantity is more than 10, give a 20% discount.

  • Give an additional $100 discount when Computer Service and Rentals orders the AS54888.

  • Don't round the total.

A reference attribute is a kind of attribute that pricing uses to get details from an application. The first step is to get them so pricing can start the flow.

A reference attribute is a kind of attribute that pricing uses to get details from an application. The first step is to get them so pricing can start the flow.

Note

  1. Order Management sends a request to pricing to price a sales order. The request includes important attributes that pricing needs to start the process, such as.

    • Customer ID that pricing can use to get customer details from Trading Community Architecture

    • Inventory Item ID that pricing can use to get item details from Product Information Management

  2. The service mapping uses the request to create the input SDO.

  3. The algorithms communicate through the service mapping to get customer and item details.

  4. The service mapping writes the results to the output SDO.

Learn how a service mapping uses Trading Community Architecture and Product Information Mapping. For details, see Create Your Service Mapping. You an also learn about party. For details, see Overview of Displaying Customer Details on Sales Orders.

Here are the algorithms you use to get reference attributes.

Algorithm Name

Function Name

Description

Retrieve Reference Attributes

getItem

Get the item attributes.

-

getPartyAttr

Get the party attributes.

-

getPartyOrgProfile

Get attributes for the party organization profile.

-

getPartyPersonProfile

Get attributes for the party person profile.

Classify Item

Types

getItem

Get item attributes from Product Information Management.

Get Item Extensible Attributes

getUDAs

Get attributes for user defined items.

These functions are view object lookups. You can use each function to meet your specific needs. For example, if you need to get the weight of the item, use the getItem function to get the value of an extensible flexfield you create, perhaps named Weight.

The service mapping creates the output SDO.

The service mapping creates the output SDO.

Note

  • The service mapping adds the ItemAttribute, PartyAttribute, and PartyOrganizationProfile entities in the output SDO.

  • The PartyId for Computer Service and Rentals is 1006, which maps to the CustomerId in the input SDO.

  • The InventoryItemId for the AS54888 is 149, and it maps to the InventoryItemId in the input SDO, which is also 149.

  • In this example, the output SDO doesn't include a person because PartyType is Organization, not person.