Dynamics 365 is a robust platform to build apps per your business needs and enhance existing applications like Sales, Customer service, Project service and Field service. You may have various requirements for which you will have to customize your system. Over the course of my projects I have found the following helpful in customizing Dynamics 365
Know When and When Not to Re-Purpose
Do Not Re-purpose existing fields, unless the schema name resembles very close to your business need. This rule is very true for most of the out of the box entities within Dynamics 365 CE like Accounts & Contacts. Also, now with new apps like Project Service & Field Service this is very true because a lot of calculations and plugins are running based on the existing fields and if you re-purpose them not knowing the full impact on other functions then overall functionality is impacted.
Customization isn’t Always the Right Answer
If a business requirement would require you to customize the system vs. using standard features, then I would highly recommend that you revisit the requirement and reason with the business or a change in user interaction. The business users are highly receptive to low cost and early implementation if it meets 80% of the need and require workarounds for the rest of the 20%. You would be surprised at how flexible the business is when it comes to the matter of budget and timeline
Use Quick Create
Always setup Quick Create forms for your custom entities, the D365 mobile app uses quick create forms for new records and it provides a fast data entry for your users for the records they interact with most frequently.
Avoid a Headache with Duplicate Detection
Leverage Entity Relationships
Leverage entity relationships with the Account & Contact entity. The out-of-the-box account & contact entities are quite special because of their usage across different applications and the system in general. The rollup views at these entities allow you to view activities from all other entities within the account or contact form. The rollup views are now an option available when setting up the relationship between custom entities. The hierarchy views already available within these entities allow you to view data from related and custom entities rolled up to the primary record.
Keep Names Consistent
When renaming an existing entity (changing the display name) make sure to also update view name and message names under the entity customization. A business user can get easily confused with different names for an entity form to a view to the message displayed within dialog boxes for an entity. Like renaming Leads to Prospects, you will also have to change the display name for a few views and messages under the lead entity so that it doesn’t say Leads in some places vs. prospect in the menu sections
Don’t Forget to Check Relationships and Field Mapping
When in the process of creating new custom fields on existing entities, remember to examine the relationship to other entities and the field mappings from one entity to the other. A classic example is relationship between Account & Sales Orders. You will end up creating custom fields and in some cases would need those fields on the Order entity as well. The mapping would need to be created for new fields and ensure that the corresponding new fields on the related entity are also created the same way to be able to map them. In some cases, the mapping list between related entities is not viewable from a link and therefore you would have to use direct URLs to access them (like Quote product to Order product mapping). So always check the relationships and field mapping when creating new custom fields
Don’t Underestimate Embedded Reports
I haven’t seen enough usage of embedded reports on entity forms but this can be useful at times. In cases where you must summarize a few fields from the detail records to a summary record you can create rollup fields. But rollup fields also have certain limitations in terms of their execution and update of values. If the summary values don’t need to persist then you can always create a report and embed that on the entity form. The embedded reports can also be used to show interactive charts and data from other entities on an entity form without creating a relationship between the different entities.
Add-ons Are a Good Option
Consider using some Dynamics CRM add-ons like North52, attachment manager, MS D365 Export service, etc. Most of the apps have some sort of price tag to it, but there are some helpful ones like North52. North52 business rules allow you to customize your D365 system like its just configuration and standard with the use of North52 features. In some cases, you can avoid customization with just the rich feature set available with North52. Then there are apps like the attachment manager (multiple ones available on Appsource, and free one from Microsoft) which help you manage your overall Dynamics database size by maintaining the attachments in notes and email attachments outside of Dynamics CRM (in Azure Blob storage, or SharePoint) and avoid high database costs for D365.
Replace Complex Customizations with Apps
With the updates to Dynamics 365 CE along with its integration with PowerApps and Flow, it is highly recommended that you view both of these as options to replace complex customizations. You can also use PowerApps and Flow to leverage features within the applications that are being updated on a frequent basis and providing added functionality. You can run asynchronous workflows with Flow thus taking the resource load of running some of the workflows out of the CRM resources but also interact with other services which would have otherwise required custom plugins if created within CRM. PowerApps allow you to create new user interactions and interfaces without custom HTML coding and embed those interfaces within the CRM web app. Both applications are available on mobile devices.
Manage Your Customizations More Easily
Last but not least, use XrmToolbox. This free community developed tool provides so much flexibility to create/manage customizations and leverage the use of standard features which otherwise would have been difficult to manage. For example, you can mass update user settings and roles without having to create customizations or manual updates in the system. You can create custom FetchXML and upload them to view definitions within CRM, or you can use scheduling of some workflows using the plugins available within XrmToolbox. The plugins available within XrmToolbox are useful and new ones are getting added to the library often.
Work with KTL Solutions
It’s time to transform your business by putting the full power of your data to work.
Microsoft Dynamics 365 unifies CRM and ERP capabilities by delivering new, purpose-built applications to help manage specific business functions, including Sales, Customer Service, Field Service, Operations, Marketing, Project Service Automation, and Financials.
If you’re struggling to decide between customizations or using standardized applications, contact KTL Solutions today. One of our qualified and knowledgeable team members will be able to help you figure out what’s best for your business. To fully take advantage of the powerful capabilities of Microsoft Dynamics and ensure a seamless implementation, it helps to work with a trusted partner.
Find your partner at KTL Solutions.