• Automatic login reminder and license disablement

    When assigning licenses to a Dynamics 365 user, it would be beneficial if the system disabled and removed a license from a user if the user has not used the system for X days. X minus 5 days the system should send out a message to the user like this: “This is a login REMINDER for Dynamics 365. Kurt Hatlevik has not logged into for at least 25 days. Your last login was 2/20/2020 12:10:00 AM. Login to Dynamics 365 is required at least once within a 30 days window or your account may be deactivated without notice. Please login within the next few days to ensure access is maintained. Reactivation will require user administrator approval and will be dependent upon license availability.” This would make the system more secure, and it will also free up licenses for users that are actually not using the system.
  • Firm planned orders in batch based on query

    In master planning, it is possible to setup automatic firming time fence on coverage groups. What I experience as an requested feature is the possibility to perform firming of planned order in recurring batch job, based on a predefined query. I therefore suggest that I can create a feature, that would allow customer to automatically firming of planned orders. This would allow for faster supply chain, especially with the new planning optimization features. In retail a transfer order(or purchase) would then be created based on sales happening through the day, and same-day replenishment scenario's would be supported. See also https://kurthatlevik.com/2020/08/18/d365-commerce-the-need-for-speed-replenishment/ for additional details, and also CDE suggestion https://dev.azure.com/msdyncde/cde/_workitems/edit/196/
  • Side-by-Side attribute/price comparison

    It would be great if it would be possible to select multiple products and do a side-by-side comparison on attributes, prices etc in the eCommerce and on the POS. Could we add this to the roadmap ?
  • Sales order/Purchase order form simplified

    The performance of the sales order form is currently very slow. The main reason for this is that the form SalesTable currently have 35 data sources on the form itself. In addition 2 additional tables have been added on the form extensions. So just to open the form, close to 37 data sources are queried. This is madness and not maintainable from ALM or performance perspective. I therefore suggest that it should be considered to introduce some new simplified forms for Customers, Vendors, Sales order and Purchase orders. The new forms will live side-by-side with the larger forms, and are focused on simplified registration of SO's and PO's. The core concept is to have some very fast forms for registration and query.


    The similar concept have already been done for "planned orders simplified", and the idea is to extend this vision of simplicity as an option. In essence the new Sales Table form should contain only relevant fields from SalesTable, SalesLine and inventDim.


    Please evaluate as I'm tired of waiting 6 seconds for the sales order overview to open, and 5 seconds for the sales order details view to show up.

  • Omitting serialization of default values in JSON payloads

    It would be great and interesting to try out suppressing null and default values when serializing ODATA/JSON payloads. It would be interesting to see if if can shave off payload and a few milliseconds in network connectivity.

    Can you please try out the effect of this ? For situations with limited network bandwidth it could have a very positive effect :-)

    Here is a small C# samplecode on how to reduce the JSON payload.

    using System.Runtime.Serialization;
    using System.Text.Json;
    using System.Text.Json.Serialization;

    [DataContract]
    public class TestClass
    {
        [DataMember]

        public bool B1 { getset; }

        [DataMember]
        public bool B2 { getset; }

        [DataMember]
        public string? S3 { getset; }
    }

    class Program
    {
        static void Main()
        {
            TestClass tc = new() {B1 = true};
            JsonSerializerOptions options = new JsonSerializerOptions();
            options.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingDefault;
            var serialized = JsonSerializer.Serialize(tc, options);

            Console.WriteLine(serialized);
       }
    }

    Prints: {"B1":true}

  • Add filter on prospects to filter on field "Status of B2B prospect"

    In the prospects form (smmBusinessRelationsListPage) add the possibility to filter on the field "Status of B2B prospect", so that is is possible to create tiles/lists on B2B prospects that is "pending"


  • Indent on submenues (level 2+)

    When looking through the menues in D365 I see that more modules are having submenues in level 2+, and this looks a bit strange


    If you look in the menus where you have a submenu on level 3+ the hierarchal view disappears when expanding the menu. This makes it harder to see when a submenu starts and ends. Why not also use indents on sub menues ?