Download - How to Configure Pricing Options for AX for Retail

Transcript

How to: Create and control pricing options in AX for RetailOverviewDynamics AX for Retail provides many pricing options to control prices and discounts which can specifically target Retail Channels or customers. Throughout this document, references to prices or pricing refer to the final price which the customer sees as the price of the item. References to discounts refer to additional reductions on top of the items price. Pricing management in AX for Retail is primarily managed through two modules. The first is the core AX concept of sales price trade agreements. These are used to set date effective prices on items or subsets of their variants. The second is Retail price adjustments. These offer greater flexibility to specify category pricing rules, active times, and percent markdowns.Discount management in AX for Retail is managed through two similar, though expanded, modules. First, core AX trade agreements can be used to set up sales line discounts, sales multiline discounts, and sales total discounts. These behave similarly to how they behave on AX sales orders. Second, Retail discounts allow category discount rules, active times, and complex setups for quantity discounts and mix & match discounts on sets of items.Of these pricing and discount management tools, sales price trade agreements, Retail price adjustments, and Retail discounts can be specified for individual channels. Discount trade agreements are not scoped to an individual channel.Price ManagementIn AX for Retail, the final channel price is found after searching three data sources:1. Item base price2. Sales price trade agreements3. Retail price adjustmentsThe price is retrieved from these data sources as follows:1. Apply sales price trade agreements for the current customer to find item price2. If nothing was found in step 1, apply sales price trade agreements for the current channel to find item price3. If nothing was found in step 2, the items base sales price becomes the item price4. Apply Retail price adjustments to the item price.5. If result from step 4 is lower than the item price, the item price is set to the new adjusted price.This logic has some consequences worth noting: The customer-specific price will override the channel-specific price. The base item sales price is only used when no applicable trade agreements can be found. The adjusted price will always be less than or equal to the price after considering trade agreements and base price. This is the item price the customer will pay.Now that we know the basic flow of pricing in AX for Retail, lets look at setting up each of these pricing options in detail.Base sales priceThe base sales price is set on the details page for released products. One way of opening the released product details page in AX is to navigate to Product information management -> Common -> Released products and double-click on the item in this list page. The base sales price field Price is found under the Sell fast tab in the Base sales price group. See picture below for illustration. This field will be interpreted as being in the channels currency.Note: Retail pricing logic will assume the Price unit field is set to 1.

Sales Price Trade AgreementsSales price trade agreements allow much more dynamic pricing rules. AX for Retail tries to mimic the behavior of sales price trade agreements on AX sales orders in the back office, so most documentation for sales order pricing carries over into pricing for Retail channels.Some of the features of sales price trade agreements in AX for Retail include: Pricing for specific items or subset of a specific items variants For example, a price can be set for all red variants of a particular shirt at once. Pricing can be specific to a customer, a customer sales price group, or all customers Pricing can be specific to a Retail channel Pricing can have from and to dates which define its effective period Pricing can be activated by certain quantities of items on a transaction Pricing can be restricted to particular unit of measure of an itemSales price trade agreements are journalled entities in AX for Retail. They can be managed through Price/discount agreement journals and wont factor into the price calculation until after they have been posted.A new trade agreement journal can be created in AX by navigating to Sales and marketing -> Journals -> Price/discount agreement journals. From this form, choose New, select a journal name, and click Lines.

From this form, the pending trade agreements in the journal are defined. The relation should be set to Price (sales), the item code set to Table, and the Account code set based on whether this should apply to a specific customer (Table), a customer group or Retail channel (Group), or all customers (All). The account selection field lets you specify a customer or group for the trade agreement. The item relation field lets you specify to item this agreement applies too. There are refining fields to apply this to particular variants and units of this item. The From field specifies the quantity needed to activate this agreement. The Amount in currency field specifies the sales price for this agreement.Underneath the grid of agreement lines, there are From date and To date fields which can enforce activation and expiration dates for the trade agreement. This date range is inclusive, and an empty date means there is no date specified which allows ranges to extend indefinitely into the past or the future.After configuring trade agreement lines, use the Validate and Post buttons in the action pane to verify and publish these trade agreements for use.Retail channel-specific sales price trade agreementsWe can set up sales price trade agreements which only apply in specific Retail channels. This is accomplished by using AX customer sales price groups. Weve extended these to be used as Retail price groups by adding an additional flag to them which allows them to be used for retail channels. You can create and manage these price groups as well as mark them for Retail channel use under Retail->Setup->Pricing and discounts->Retail price groups.

Once there are some customer price groups which have been enabled for Retail, you must associate the price groups with Retail channels. Each channel can belong to multiple price groups and different channels can belong to the same price groups. This association is set up from the Price groups button in the Action Pane for Retail stores or Online stores. They can be accessed from the list pages or the details pages. The following picture shows the two price groups to which Store 1 belongs.

Once channels belong to Retail price groups, we can start setting up channel-specific pricing based on those price groups. This is done by relating the sales price trade agreements or Retail price adjustments with the price group. (The same mechanism is used to associate Retail discounts with channels.)While creating a sales price trade agreement, by setting the Account code to Group the Retail price groups can be chosen just as a standard customer price group is chosen. This will result in that price trade agreement applying to all sales transactions in that Retail Channel. Keep in mind that any customer-specific trade agreements will override any channel-specific agreements.Advanced trade agreement configurationIt is likely that multiple sales price trade agreements will be active for a given combination of customer/channel/item at the same time. In these cases, basic familiarity with the pricing logic will help you know what to expect when these are consolidated into a single value.The first concept to understand is that all trade agreements in AX are expected to be queried in a well-defined search order. This search order is based on the account code and item code. It starts with the most-specific agreement type (i.e. specific customer for specific item) and ends with least-specific (i.e. all customers for all items).Enumerated, this search order is:1. Specific customer / Specific item2. Customer group / Specific item3. All customers / Specific item4. Specific customer / Item group5. Customer group / Item group6. All customers / Item group7. Specific customer / All items8. Customer group / All items9. All customers / All itemsYoull notice on the bottom of the trade agreement journal line form, there is a Find next field. This field is checked when searching through the trade agreements which apply to the current customer and item on the given date. The search continues through the whole search order as long as each agreement found has enabled the Find next option. When an agreement is found which disabled Find next the search will halt. The best price found up to this point is used.Updating or removing trade agreementsAnother advanced task is recalling an active agreement from use. This may be done to remove the agreement or just to modify some of its settings before posting it again. Because trade agreements are journalled entities, they are never modified directly. Instead we work with trade agreement journals which define what the trade agreements should look like. Not until we post the journal will we see any new trade agreements weve created or see the effects of modifying existing agreements.Recalling trade agreements is accomplished similarly to created new ones. You must create a new Price/discount agreement journal and open up the Lines form. This form has a Select function in the action pane. This will pull up a form which allows you to specify search criteria for a trade agreement. After completing this form and choosing Select, the journal lines form will contain all the trade agreements which met your search criteria. You can edit these trade agreements and when you post this journal, the original trade agreements will be updated.

Deleting trade agreements is nearly identical. After using the Select dialog form to find the trade agreements to be deleted, the Select all agreements to be deleted button in the Action strip of the trade agreement lines form will mark all the lines in the current journal for deletion when the journal is posted. Note that manually deleting lines from the agreement lines form (e.g. using Alt-F9) will merely exclude those agreements and/or their changes from being posted, it will not actually delete any active trade agreements.Enabling/Disabling types of trade agreementsEven with existing trade agreements of various types (price or discount) configured for various combinations of customers and items, they will only take effect if that particular combination of agreement type, account code, and item code has been enabled for the legal entity. The settings to control which combinations of trade agreements are valid is found under Sales and marketing->Setup->Price/discount->Activate price/discount.

This form contains a tab for each trade agreement type and within each tab, all the combinations of customer/item-specificity which are potentially valid for that trade agreement type. These individual combinations can be enabled or disabled to include or exclude them from consideration when calculating prices in AX or on the Retail channels.Retail Price AdjustmentsIn AX for Retail, price adjustments complement sales price trade agreements by providing more flexible scheduling scenarios (e.g. happy hour) and enabling markdowns on top of the trade agreement or base item price. They are always channel-specific and dont depend on the customer placing the order. They can be configured to override the item price (from trade agreements or base price) or reduce the item price by an amount or percent.Configuring Retail Price AdjustmentRetail price adjustments have to be configured to apply to a particular price group. These price groups are then mapped to channels. This way we can configure channel-specific pricing. Price groups can be assigned to multiple channels, so price adjustments can also be reused. See Section 2.2.1 for details on specifying retail price groups. Price Adjustments are opened from Retail->Common->Pricing and discounts->Price adjustments.

The currency on a price adjustment acts as an additional filter. The only price adjustments retrieved are those matching the channels currency.The concurrency setting specifies how we should resolve conflicts when multiple price adjustments apply to the same sales line. This same mechanism is used in discounts and will be described in detail in section 3.2.2.The status flag controls when the price adjustment should be used. When enabled, it cant be edited.The Validation fast tab allows specifying when the price adjustment is active. There are two types which can be used here. The Standard rule simply allows specifying an inclusive date range, by default the range will be active forever. The Advanced rule allows choosing one of the Retail Validation Periods to use. These periods also have start and end dates, but you can choose more advanced functionality for specific days of the week or times. This is described in detail in Section 2.3.2.The Lines fast tab is where the actual price adjustment rules are specified. This grid allows you to select the target products of a particular price adjustment rule. Products can be selected at the category, product, or variant level. The Unit field is used as an additional filter. The sales unit on the sales line must match this unit for the price adjustment to be applied.The method must be selected for the line. After choosing the method, the price adjustment values are entered in the fields to the right. The methods are as follows: [verify these labels match] Discount percent This is a percent off markdown. So entering a value of 10 for an item with an item price of $50, would give an adjusted price of $45. Cash discount amount This is an amount off markdown. So entering a value of 10 for an item with an item price of $50 would give an adjusted price of $40. Offer price This overrides the item price (as long as its better than the item price). This method will only apply on tax-exclusive channels. Offer price including tax This overrides the item price (as long as its better than the item price). This method will only apply on tax-inclusive channels.The price adjustment configuration also allows input of free-text long form descriptions and disclaimers. These are not consumed by the channels, but can be useful places to store human readable descriptions of the price adjustments intent.Using Advanced Validation PeriodsThe validation periods are used to specify what days and times the validation periods are used. These dates and times have no inherent time zone associated with them. When a channel is deciding whether to apply a price adjustment, it will get the time and compare it to the raw times and dates specified for the validation period. For the default implementations, POS will use the current machine time for the comparison; online channels will use UTC time for the comparison.Validation periods are opened from Retail->Setup->Pricing and discounts->Discount period.

The validation period has default settings on the header level and the ability to override each day of the week. There are 4 settings which are repeated across the form. They are: Start time Defines the inclusive starting time for the range Stop time Defines the inclusive stopping time for the range Is end time after midnight This box should be checked if the stopping time for the range is actually on the next day. This is useful for a range for example that runs from 11pm -1am on a Friday night. Friday is the day in question, but we specify that the stopping time is actually on the next day. Is valid in range This setting indicates whether the range weve specified should be active or inactive. For example, if we dont want adjustments from 3-5pm on a Tuesday, wed set a start time of 3:00 and a stop time of 5:00 and set Is valid in range to false.Overview of pricing types and usesThere are three sources of pricing in AX for Retail: base item price, trade agreement price, and Retail adjusted price. Each of these have slightly different functionality and uses. The key differences are called out below.

* Best price or first found refers to the find-next search mechanism of trade agreements. See section 2.2.2 for more details.Discount ManagementThere are two sources of discount rules in AX for Retail. The first are discount trade agreements. These are part of the core AX offering. Additionally, there are Retail discounts, which offer advanced functionality tailored to the needs of a retailer.Discount trade agreementsThe workflow for creating and editing discount trade agreements is identical to price trade agreements. See section 2.2 for information on working with trade agreement journals.AX has three types of trade agreement discounts: Line discounts Multiline discounts Total discountsLine discounts define percent off or amount off discounts which should apply to individual sales lines. When the pricing logic decides if these discounts should be applied, it will consider only the individual sales line, not the rest of the lines on the transaction. These can be specified to activate for particular variants, units, or quantities for that sales line.Multiline discounts define percent off or amount off discounts which should apply to groups of items across the transaction. They can be defined for specific item groups or set to apply to all items. When a possible effective multiline discount configuration is found, all lines on the transaction are considered when checking if the minimum required quantity is met.Total discounts define percent off or amount off discounts which should apply to the entire transaction. They are triggered based on the transaction total and proportionately distributed across the transaction based on price of the sales lines. Total discounts cannot be configured for specific items or item groups, they always apply to all items.The similarities and differences between the different discount trade agreement types are summarized below.

Item discount groupsItems can be associated with specific line discount groups and multiline discount groups to work with trade agreement discounts configured for those groups. In addition, items can be configured to be included or excluded from total discount calculations. This configuration is found under the Sell fast tab on the released product details form.

Customer discount groupsCustomers can be grouped for association to any type of trade agreements. These associations are found on the customer details form under the Sales order defaults fast tab. There are separate customer group types for prices, line discounts, multiline discounts, and total discounts.

Resolution of overlapping trade agreement discountsThere may be cases where the same sales line would qualify for discounts from both a line discount trade agreement and multiline discount trade agreement. The rule for how to handle these situations can be configured under Accounts receivable->Setup->Accounts receivable parameters. On this forms Prices tab, there is a Discount setting which sets this rule.

The 5 different values for this setting are: Line The value of the line discount is used. Multiline discount is ignored. Multiline The value of the multiline discount is used. Line discount is ignored. MAX(Line,Multiline) The higher of the two is chosen, i.e. best price. MIN(Line,Multiline) The lower of the two is chosen, i.e. worst price. Line+Multiline The amounts off and percents off are added from both types. For example, if the line discount is 25% off and the multiline is 25% off, the total percent off is 50%. Line*Multiline The amounts off are added and the percents off are compounded. For example, if the line discount is 25% off and the multiline is 25% off, the total percent off is 43.75%.Note that this setting only applies to the overlap between line and multiline trade agreement discounts. It does not have an effect on total trade agreement discounts or Retail discounts.Overview of trade agreement discountsThe similarities and differences between the various trade agreement discount types are summarized below.

* Best price or first found refers to the find-next search mechanism of trade agreements. See section 2.2.2 for more details.* Customer-specific means that the agreement can be specified for specific customer, one of the customer discount groups, or all customers.Retail discountsRetail discounts offer a complement to the trade agreement discounts. Like Retail price adjustments they are channel-specific, support concurrency rules, and have validation periods defining their effective dates and times. Retail discounts can also be conditionally applied by associating them with a coupon code. This coupon code must be on the retail transaction for any associated retail discounts to apply.Retail discount typesThere are three types of retail discounts. They range from simple item discounts, through tiered quantity-based discounts, to complex mix & match groups of items with various discounting methods. Retail discounts are found under Retail->Common->Pricing and discounts in the AX client.Discount offersDiscounts (or discount offers) are the simplest Retail discount. They will apply to individual sales lines. Products are added to the discount indirectly through categories, directly through products, or limited to specific product variants.

Simple Retail discounts offer three different discount methods:1. Discount percentagea. This is a percent off value on the sales line. E.g. 20% discount percentage on a $10 item results in a $2 discount on the line2. Discount amounta. This is an amount off value on the sales line. E.g. $5 discount amount on a $10 item results in a $5 discount on the line3. Discount pricea. This is a target effective price value on the sales line. E.g. $2 discount price on a $10 item results in a $8 discount on the lineb. There are two variants of this value for tax inclusive/exclusive channels. The discount price will only be applied if the tax setting matches the channel setting.There are 4 separate fields for entering the values for each of these methods. The AX form will disable the uneditable fields based on the method selection.Quantity discountsQuantity discounts offer tiered quantity-based discounts. They will apply to individual items on the transaction, but those items may be on different sales lines. The quantity of the item is considered across the entire transaction. Products are added to the discount indirectly through categories, directly through products, or limited to specific product variants.

Quantity discounts have an additional subform which is used to manage the quantity tiers for the discount. This subform is launched from the Configuration button in the action strip of the quantity discount form. Given the total item quantity on the transaction, the discount value of the greatest tier threshold less than or equal to the total item quantity is used.

Retail quantity discounts offer two different discount methods:1. Discount %a. This method means the tiered discount values should be interpreted as percentage off discount values. When activated, this method acts like the Discount percentage method of discount offers.2. Unit pricea. This method means the tiered discount values should be interpreted as unit prices for the item receiving the discount. When activated, this method acts like the Discount price method of discount offers. (Unlike those, however, it doesnt depend on tax settings.)Mix and match discountsMix and match discounts (often abbreviated M&M) offer the most flexible discount setup. For example, M&M discounts can accomplish BOGO, second item half price, percent/amount off item bundle, or least-expensive item free discounts. Mix and match discounts will apply to a set of items on the transaction which meets the group criteria for the M&M discount. These sets of items are considered across the entire transaction.

Similar to Quantity discounts, the group criteria are set by the Mix and match line groups button in the action strip of the mix and match discount form. On this subform, different line groups can be added to the M&M discount and, for each one, the number of items required to satisfy this group is specified. When a transaction has enough items from all groups to satisfy their requirements, a set of items which exactly matches the number and groups will receive the mix and match discount. These line groups can also have an associated color to aid in visualizing the groups on the discount lines on the primary form.

On the primary M&M discount form, products can be added by category, product, or variant. For each discount line specified, the line is associated with one of the line groups specified on the subform. Lets go through an example of this configuration:1. Adding line group A with 2 required items to M&M offer2. Adding line group B with 1 required item to M&M offer3. Adding item Bat on a discount line and associate with line group A4. Adding item Glove on a discount line and associate with line group A5. Adding item Baseball on a discount line and associate with line group BGiven this configuration, we can expect the following behavior for customer transactions:TransactionResult

2 Bats1 BallGets discount.

1 Bat1 Glove1 BallGets discount.

2 Gloves1 BallGets discount.

3 Gloves1 Bat2 BallsGets discount twice. Once for 2 Gloves & 1 Ball. Second for 1 Glove, 1 Bat, & 1 Ball.

2 Gloves1 Bat1 BallGets discount once and the extra Glove or Bat would be on a separate line without any discount.

The line group configuration dictates when the mix and match discount will be applied. What affect the discount has is decided by its method. There are 5 discount methods for M&M discounts.1. Discount %a. This method sets a percent off discount which applies to all lines in the instance of the discount.2. Discount amounta. This method sets an amount off which is distributed across all lines in the instance of the discount.3. Deal pricea. This method means setting effective price across all lines in the instance of the discount. The total price is calculated and then an appropriate discount amount is calculated in order to reach the target price for all the items.4. Least expensivea. This method means setting an amount off equal to the least expensive item in the application of the discount. Using the example configuration above, assume Bat is $40, Glove is $30, and Ball is $10. In this case, we end up with an amount off of $10 (price of the Ball) which is distributed across all three sales lines on the transaction. This method takes an argument which allows specifying that specific number of least expensive items should have their total price discounted from the instance.5. Line spec (Line-specific)a. This method allows configuring different behavior for each discount line (note: not line group) on the mix and match discount. b. Each discount line can be configured with one of two discount methods:i. Discount %1. This is a percent off value for items on the M&M instance from this discount line.ii. Deal price1. This is a unit price value for items on the M&M instance from this discount lineRetail discount concurrencyRetail discounts (and Retail price adjustments) support the idea of discount concurrency. These are rules for how to handle when multiple pricing rules apply to the same item(s) in a transaction. They specify when to find the best price for items or when to start stacking discounts on top of each other.For Retail discount concurrency, there are three concurrency methods for each discount. They are Exclusive, Best Price, and Compounded. This is roughly a way to specify discount priority/precedence with the Exclusive taking priority over Best Price and compounding only happening in the absence of other discount types.The basic rules are: If Exclusive discount(s) found: All non-Exclusive discounts discarded. Best applicable Exclusive discount chosen. Else If Best Price discount(s) found: Best Price of all applicable discounts chosen. Else If only Compounded discount(s) found: Best price of applicable non-compoundable discounts (e.g. price discounts) Then compound all applicable compoundable discounts (i.e. amount/percent off discounts)When comparing which Retail discount is better we consider atomic units of the discounts. You can think of it as the smallest set of lines which are required for the discount to remain valid. For discount offers (and price adjustments) this unit is an individual sales line. For quantity discounts, this unit is the set of sales lines with the same item. For mix & match discounts, this unit is the full set of sales lines which activated the discount. Also note that due to the inability to partially apply discounts, mix & match discounts should only ever have the Exclusive mode set, otherwise, the behavior as they interact with discount offers or quantity discounts will not always be desirable.Concurrency between trade agreement discounts and Retail discountsThere is no advanced configuration to handle the cases where a sales line qualifies for both a trade agreement discount and a Retail discount.If this occurs, the conflict is resolved in the following way on each sales line: If both mix & match and trade agreement total discount Leave both and delete any trade agreement line/multiline discounts Else If both mix & match and trade agreement line/multiline discount Leave mix & match. Remove trade agreement discounts Else If Retail discount (non M&M) and trade agreement line/multiline discount Keep whichever type (Retail or trade agreement) of discount gives lower price.Overview of discount types and usesThere are two types of discounts which can be configured in AX for Retail: discount trade agreements and Retail discounts. They offer some parallel and some complementary functionality.The similarities and differences between these two types are summarized below.

* Best price or first found refers to the find-next search mechanism of trade agreements. See section 2.2.2 for more details. Additionally, Line and Multiline discounts have a rough concept of concurrency. See section 3.1.3 for more details.