Building off the latest release of the D365FO Admin Toolkit, I am excited today to announce the first version of the D365FO Environment Comparison solution. This solution allows you to export data / configurations from a source environment and compare it to the data / configurations in a destination environment. It then exports an Excel file with the findings of what has been added, removed, or modified.

Release Download: D365FO Environment Comparison v1.0

GitHub Link: D365FO Environment Comparison v1.0 Source Code

How to Utilize the D365FO Environment Comparison Utility

Let’s first start off by exporting the environment configuration from two D365FO environments:

This will create a zip file of data from different tables / configurations within a D365FO environment, currently the application supports:

  • Users
  • User Roles
  • User Role Organizations
  • Role Access

Once you have exported the environment configurations from both environments, open the D365FO Environment Comparison Utility. Here you can designate which environment configuration file should be treated as the ‘source’ file and which should be treated as the ‘destination’ file, you will also specify the location of where the analysis file should be exported:

Once the correct configurations have been set, click on ‘Generate Comparison’ button, the output window will show the progress of the analysis:

The application will then let you know when the comparison is completed and the output analysis file has been created:

The output Excel file will include four tabs:

  • Metadata
  • Overview
  • Details
  • Security Access Changes

The ‘Metadata’ tab will give you the date and time the comparison was done, the environments that were used for the ‘source’ and ‘destination’ and a numerical overview of added, modified, and removed objects:

The ‘Overview’ tab shows every object that was added, modified, and removed objects at a high level:

The ‘Details’ tab will show what actually changed for the objects in the ‘Overview’ tab. The ‘Old Value’ and ‘New Value’ columns will show the value change if the object was updated while the ‘Old Object’ and ‘New Object’ will show a serialized version of the entire object’s data:

The ‘Security Access Changes’ tab will show the changes to security role access, if a security change modified the access of a security role it will show the ‘old’ and ‘new’ value of the access settings:

Future Roadmap

I’m really looking forward to feedback on this feature as ensuring that data / configurations are the same across environments is something that I’ve struggled with on multiple client engagements. I want this to be viewed as a ‘platform’ that myself and others can add to for additional data / configuration options.

As always, please feel free to provide feedback to