Hi,
Our customers would like to use four decimals for purchase unit. I did look at the article on docs (https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/extensibility/decimal-point-precision), but I am not sure if this is only for display. Because they would like to keep four decimals even when calculating the cost/price etc. Is it just simply change the EDT to four decimals, or we need to search all the posting code to remove some kind of decRound x++ code?
Thanks,
Hi Yuji,
Assuming you are aware of the price unit functionality and how pricing works in conjunction.
www.encorebusiness.com/.../
If you still need to make changes, it should be EDT change, don't see anything else mentioned related to code change. What you will definitely require is detailed testing after the change is done in DEV/TEST environments. You may also have to review how your purchase orders are transmitted and if it's required to show these 4 decimal places on the purchase order reports.
The Database already stores 12 decimal places (all prices/units) but without extending the EDT you can only use 2 decimal places (that's the default).
If you carefully read the article it says enter, maintain, and view data with a maximum precision you are going to set on edt. You can try it by yourself and see if you get the correct results.
Just out of curiosity, what is the real world unit where they would use it? For example if price per kilogram is 0,0001 EUR, you can set up price for gram 0,1 EUR.
Or use price quantity: 100 kg = 0,01 EUR.
Try to understand a bit about the EDT extension, use AmountCur as an example, if I extend AmountCur to change it to 6 decimals, would this affect other EDTs which also extends AmountCur (e.g. UnitAmountCur)?
Yes, all EDTs which inherit this base EDT (via "Extends" property) will be changed.
It looks like in SQL Server, the price unit and amount is 6 decimals. Is there any way to configure to increase it?
Nope.
Internally all decimal values are always stored with 6 decimal precision in D365FO.
We have faced this scenario in the past where there are two products whose price has to be displayed with 4 and 6 decimal precisions.
Not sure about the exact scenario in your case, but used simple math of dividing by 100 and 10,000 to get 4 and 6 decimal precisions, based on the category of the product being used. In our case, we had Fuel as one product(6 decimal precisions) and normal fleet spare parts as another product (4 decimal precisions).
Completely agree with Nikolaos about the 6 decimal precision storage in D365FO.
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
As AI tools become more common, we’re introducing a Responsible AI Use…
We are honored to recognize Abhilash Warrier as our Community Spotlight honoree for…
These are the community rock stars!
Stay up to date on forum activity by subscribing.
CA Neeraj Kumar 2,188
André Arnaud de Cal... 868 Super User 2025 Season 2
Sohaib Cheema 593 User Group Leader