In this scenario we will demonstrate how to set up a Decision Table that you can use to customize your Quote Product items unit price based on selected attributes. For this we are using Override Price in the Quote Product. This sample shows how you can use North52 BPA in a Configure, Price Quote (CPQ) scenario.
For this article it is assumed that you have at least basic familiarity with Decision Tables and/or have read the following articles:
Note: We will not detail step-by-step instructions here on how to set up Conditions or Actions, please read the above articles if you need detailed configuration steps.
For this sample we will use bicycles as our Product and configure it to have the following attributes:
- Color (Blue, Green, Red)
- Size (Small, Medium, Large)
- Type (Mountain Bike, Racing Bike)
- Does it have a bell?
- Does it have a basket?
- How many reflectors have been ordered for it?
The following rules apply to the Bicycle Products
Base Price $100 is the starting price for a Bicycle as per the Price List
- Small bicycles are $10 cheaper
- Large bicycles are $10 more expensive
A red bike is $7 more expensive because of additional styling required
A blue bike is $5 cheaper
A mountain bike will add $20 to the base price
A racing bike will add $35 to the base price
Bell & Basket If a customer orders a Bicycle with both a basket and a bell there is an charge of $5
2 for $5
3 of 4 costs $10 dollars
5 or more costs an additional $15
N52 Formula Manager Solution
The Formula Manager solution works like this:
- A Decision Table of type 'Save - Perform Action' is created on the Quote Product entity
- The Source Property is set to 'Quantity'
- The Event is set to 'Create & Update'
- Exit on First Match is turned Off (unchecked)
The Decision Table
The Decision Table uses 7 calculations
Six of the calculations use the FindProductPropertiesByRegardingIDAndPropertyName() function which allows us to bring back each of the properties on the Bicycle.
The seventh calculation looks up the base price for the Bicycle on the on the PriceList.
Did you know?
Automated tests in Dynamics 365 helps with documenting processes
Maintaining automated tests helps you create 'living' documentation of your Dynamics 365 systems, minimising the potenetial for frustrating rework.
Building a test validates the requirements, makes it easy to spot ambiguity and incompleteness and can catch defects before they are released.
As requirements change, tests need to be updated to ensure they continue to validate, thus ensuring the documentation stays up to date.