A common request from Dynamics 365 for Finance & Operations users is to add new custom data fields within various forms, to allow them to track additional data for their business needs. Most times it’s just a straightforward data field meant for additional data tracking and no custom logic behind it. One way to ‘add’ a field would be to find an existing field that is not needed, and have it re-purposed. Another method would be to go through the process of getting the developer to add the field and the necessary metadata to a table and form.
Wouldn’t it be great if Dynamics 365 for Finance and Operations had a simpler way of adding basic fields such as:
- A Legacy Account field in both the Vendor and Customer masters
- A Vendor Tax Registration number(s) field so that we have a record of their VAT tax type registration numbers in their master record
- A Yes/No toggle to indicate that the employee has been enrolled for benefits
- A field for benefit type based on a drop-down list of defined values of self, self+spouse, family
Adding those fields just became easier, as of Platform Update 15. Now instead of involving developers and customizing tables, the user (with proper permissions – either System Administrator or Runtime Customization Power User) can add a new custom field to a form on their own.
Sounds great, doesn’t it? There are some caveats, but that will come later in the blog.
How to Add a Custom Data Field on a Form
Let’s take the Legacy Account field as the first example – it will be an alphanumeric field that is formatted as a text field in the Customer and Vendor masters.
In addition to adding an existing field to the form, Dynamics 365 for Finance and Operations’s Form Personalization functionality now allows you to create a new custom field.
To create the new custom field, go to the form where you want to add the custom field and either click OPTIONS > Personalize this form
or right click within the form and select Personalize.
This will bring up a bar on the screen, select Insert>Field.
Select the area of the form where you want to add the new field, and this will bring up the usual list of existing fields that can be added to the form, along with the new functionality of ‘+Create new field ’.
Select Create new field.
The drop-down list for Table name will list all the tables that impact the form. Select the logical table for the new Legacy Account field to be added to – in this case the Customers table.
Enter a Name prefix for the new data field.
Select the field Type – in this case Text. When field type is Text, there is an additional field to identify the Length.
Enter a Label – the user will see this as the name of the field on the form.
Enter the Help text, which provides the end user with more information about this data field.
Click Save if this is the only (or last) field to create for the form.
Click Save and New if there is another new field to create for the form.
There will be a pop-up, answer Yes to continue.
The new field will appear on the form. You may need to move it (through personalization) to the preferred location on the form.
NOTE: The field may appear gray and not editable. You may need to refresh your screen, or better yet log out and log back in for it to be editable.
Now that the new field has been created, the field can be added (through personalization) to the All Customers summary form.
Non-Text Type Custom Fields
The full list of options for the Type are:
A Yes/No toggle to indicate that the employee has been enrolled for benefits would be of the type; Checkbox.
A field for benefit type based on a drop-down list of defined values of self, self+spouse, family would be of type; Picklist.
In the case of a Picklist, complete the list by clicking New to add to the Values section.
Managing the Custom Fields
A user with system administration privileges, can view and manage all the custom fields created by all users in the system.
System Administration > Setup > Custom fields.
You can edit the Label, Help text, Length of text fields, as well as add new values for Picklist type fields. What you cannot change is the NamePrefix, FieldName and Type.
Adding New Custom Field to a Data Entity
Exposing the new custom field to Data Entities will allow you to use the new field in the Open in Excel and Data Management processes.
Note that not all available data entities allow for custom fields to be added.
System Administration > Setup > Custom fields.
On the left side, select the Table and then select the custom field.
Open the Entities fast tab on the right side.
Mark the Data Entity that you would like to expose the new field to.
Click Apply Changes
Then there will either be a blue success bar
or a red bar to indicate the system was unable to expose it to that data entity.
Now that the customer legacy account field has been exposed to the CustCustomerV3Entity data entity, Open in Excel functionality will have that field as an available field to be added to the Excel sheet.
A Data Management file based on that data entity should also have that field as available for importing/exporting. Not all custom fields are readily available through Data Management. The technical group may need to flag the custom field as visible/enabled in the backend.
List of Cautions, Caveats and Limitations
The above processes look great and seem to be the answer to allowing for the rather minor enhancement of adding custom fields at the user level, but proceed with caution.
Some important limitations of end-user created custom fields are:
- Not able to add business logic as it requires developer coding. It’s simply an additional field with no real business logic or data validation behind it.
- Not able to add indexes to the custom field. Searching on the field in larger tables can cause a noticeable slowdown.
- Not able to add the field on existing reports.
Being able to see the field on forms is done with personalization. Users could add the newly created field themselves or an administrator can copy a form layout/template to all or selected users.
The new custom field is environment specific. If you add it within your PROD environment it will be available for all legal entities within that environment. If you want to also add it to all or some of your other environments (Test, Dev, Training, etc.) you will need to do them all individually, opening up to the possibility that the custom field is not precisely identical in all environments.
Within System Administration > Setup > Custom fields, a user can delete the custom field and all the custom data associated with the field.
I hope that the information on adding custom fields in Dynamics 365 for Finance and Operations has been informative. At the very least it is a ‘good to know’ that still requires a balancing act to determine if it is best suited for end-user creation or development customization.
Tell Us about Your D365FO Needs
We specialize in providing technical assessments, break-fix support, optimization services, and solution expansion projects for Dynamics 365 for Finance and Operations.Contact Us