Check out the latest Retail updates!Learn about the key capabilities and features of Dynamics 365 Retail and experience some of the new features.
Download overview guide | Watch Retail video
2019 release wave 2 Discover the latest updates and new features to Dynamics 365 planned through March 2020
Release overview guides and videos Release Plan | Preview 2020 Release Wave 1 Timeline
Ace your Dynamics 365 deployment with packaged services delivered by expert consultants. | Explore service offerings
Connect with the ISV success team on the latest roadmap, developer tool for AppSource certification, and ISV community engagements | ISV self-service portal
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Program | Finance TechTalks | Customer Engagement TechTalks | Upcoming TechTalks
As per client request we have to extends the D365 retail POS extension for custom discount calculation.
We are using affiliation for University students. For university student -we have a 3 months offer.
1. October - December (3 months)
2.Each student will get 50% discount with maximum $2000.
As per my understanding I found that we should go for custom extension.
Can any one give me a better way?
If we need to write retail POS extension for custom discount calculation. How can we start the development?
I am new to retail development. But have previous experience on FnO extension development.
Thanks in advance
Hi, could you, please, explain what you mean by 'maximum $2000'?
3 months + 50% discount is standard configuration
Thanks for your reply.
2000$ maximum means
For 1 student
3 months + 50% discount= 2000$(max)
That means 1 student get maximum discount amount 2000$. Not more than that. If any one reach the limit he/she will not allow for 50% discount.
Thank you for explanation.
You are right, it will be extension to calculate every time, what amount is left from 2000$ for students.
Probably, I would recommend pure D365 extension (X++) without touching Retail itself:
1) Configure 50% discount via affiliation 'Student 50%'
2) Assign this affiliation to all students
3) Create batch job running in background that will be
a) calculating how much discount every student already received
b) when was the 1st date of discount usage - so check 3 months limit
If for any student batch job sees, that student should not use this discount anymore - update student record and remove 'Student 50%' discount from it
4) As soon as 'Affiliations' data job runs, students without affiliation assigned will stop receiving discounts.
This way you do not override any retail disc. calculation (that can influence bad on performance) + you do not need to transfer information about 'spent amount' to store databases (in case of RSSU/RSCU - you will have to anyway calculate this amount in F&O and push to Retail, because students can shop in many stores)
Thank you very much for your details guide line.
"If for any student batch job sees, that student should not use this discount anymore - update student record and remove 'Student 50%' discount from it"
-- should I do this in CRT?
Do I need to store the spent amount in customer profile?
As I am new to retail development, what will be good option the calculation and time validation extension implement in CRT part?
If any example or doc share will much appreciated.
There is an alternative way, suggested on some forum: you can use loyalty cards with loyalty tiers - for every tire you can have amount limits defined (like, if more than 2000 amount => switch to 'no discounts' tire) and also expiration dates for tiers
Business Applications communities