Dynamics Retail Discount Extensibility – Sample Test

It is under private review. If you need it now, ping me or your Dynamics retail extensibility team contact. We build sample test (Runtime.Extensions.PricingEngineSample.Tests in sample SDK) on top on the Dynamics retail pricing engine test foundation. Mock your new discount type (Folder TestDataManager) Extends PeriodicDisocuntData and PeriodicDiscountLineData from test foundation. See ExtensionDiscountData and ExtensionDiscountLineData….

0

Dynamics Retail Discount Extensibility – Test Foundation

Creating a new discount type is a complex task as we really need to understand how discount works functionally. Assuming we have just created a new discount type, how do we test it out? We can always deploy it to Dynamics Lifecycle Services sandbox and test it out there. I have tried it myself a few…

0

Dynamics Retail Discount Extensibility – Main Picture

Prerequisite: we assume you are familiar with Dynamics Retail Commerce Runtime framework and Dynamics AX. One pricing engine serves all retail channels All retail channels: store POS, call center orders and store front orders share the same pricing engine. Call center is part of AX, while POS and store front utilize commerce runtime framework via…

0

Dynamics Retail Discount Sample – Rounding

Rounding is hard. Sometimes, we do not have a choice. Let’s get down to code. PriceContext.HoldTogetherForDisocuntRounding = false Example first: $10 distributed to quantity 7, down to penny, Smallest amount: $0.01 Unit amount not-rounded is $1.42857143 (10 / 7) Take the floor: $1.42 Remainder: $0.06 ($10 – 7 * $1.42) Remainder / smallest amount: 6…

0

Dynamics Retail Discount Tribe – Rounding

Rounding is a pain. And rounding is not cheap either, if you round too often. In Dynamics retail discount engine, the general guideline is not to round when getting the basic discount applications (or discount application multiples) and when calculating discount deal estimate. We round when we applied a discount application and when we total…

0

Retail discount: Rounding I

When I first encountered rounding in retail discount, I wanted to solve it in discount design, i.e. prevent it from happening if possible. Unfortunately, we cannot. If you have a threshold discount of $10 off with purchase $50 or more and you buy three of the same products, I cannot round it per unit and…

0

Dynamics Retail Discount Concept: Effective Discount Method for Compound Ordering

In the concurrency control model of best price and compound within priority and no compound across, we can have multiple compounded discounts of the same priority, so which one to discount first? We could have a new property on the discount that indicates the ordering, but we have never had it. Instead, we rely on…

0

Dynamics Retail Discount Tribe – Discount Totaling For Best Price Within Priority

Let’s recap the compounding behavior for concurrency control model of best price within priority and compound across before hitting discount totaling. No compound within priority for each of non-threshold discounts and threshold discounts. Compound across priority for each of non-threshold discounts and threshold discounts. Compounded threshold discounts can compound on top of compounded non-threshold discounts,…

0

Dynamics Retail Discount Tribe – Discount Totaling For Best Price and Compound Within Priority

Before we get to the compounding discount totaling details for best price and compound within priority, recall the compounding behavior for configuration option of discount concurrency control: best price and compound within priority and no compound across. Compound within priority for each of non-threshold discounts and threshold discounts. No compound across priority for each of…

0

Dynamics Retail Discount Tribe – Discount Totaling

A tribe starts with a history. In enterprise POS (EPOS) in AX6 (a.k.a. Dynamics AX 2012), sales line totaling, which covers discount totaling, and taxes, etc., is called all over the place. In AX7 (a.k.a. Dynamics 365), the situation is better as it is wrapped in totaling service, which is called in few places. Let’s…

0