Customer and Vendor Proposed Change Approvals: D365 Finance and Operations

In most organizations customer and vendor setup is a task handled by the Accounting or the Supply Chain team and in some cases both with each responsible for specific setups. There are also very sensitive fields on the customer and vendor record that may need more control and require review and approval before a change can be made. Dynamics 365 Finance and Operations solves the business need to control these specific customer and vendor record fields through customer or vendor approvals. These are specific fields that will trigger a workflow that can be routed to specific teams or people based on conditions set in the workflow.

In this post we will go through the simple setup required to enable this functionality and run through how it works. This post will show a very simple example, but this functionality can be expanded based on your business needs. The example in this post will be on the customer side but the setup and process is the exact same on the vendor side.

Proposed Changes Workflow

The first step to set up proposed change approvals for customers and vendors is to set up the proposed customer changes workflow. To do this navigate to Accounts receivable > Setup > Accounts receivable workflows. Click the “New” button and click the “Proposed customer changes workflow” option.

You will be prompted to log into the workflow editor. After entering your credentials, the workflow editor will appear. On the workflow you can drag and drop workflow items on to the workflow canvas based on what you need the workflow to do. For more on workflows see this post.

In this example I have set up my workflow to auto approve if the credit limit change is less than $250,000. If it is greater than that amount it will get routed back to me for approval. You can route this based on user groups, specific users, or even the position hierarchy.

Below you can see that I am looking at the proposed change table and looking at the credit limit. So, this will mean that if the new proposed credit limit is greater than $250,000 it will need to be approved.

Then inside the approve workflow item I set the “Assignment type” to be “Workflow”.

On the workflow user I set this to be the “Workflow originator” which will just route the approval back to me. This is just easier for demonstration purposes. If you were configuring the actual workflow, you would select a user, user group, or position hierarchy as the basis for routing the workflow for approval.

Next click the “Save and close” button to save your workflow.

Approval Parameters

Now that we have the workflow set up, we need to set up the fields that we want to trigger the workflow. Navigate to Accounts receivable > Setup > Accounts receivable parameters. To enable the functionality set the “Enable customer approvals” to “Yes”. Then below that enable the fields where you want to trigger a proposed change workflow. In this example I am going to trigger it based on a credit limit change.

The “Data entity behavior” selection dictates how updates from data entities should be treated if they update any of the selected fields for approval. You can have the change completely rejected, it can also trigger a change proposal and go through workflow, or it can just update without any approval.

Process a Proposed Customer or Vendor Change Approval

Now that we have the setup required for this functionality, we can go and process a proposed change approval. To do this I will change the credit limit on a customer and send it through the workflow. Navigate to Accounts receivable > Customers > All customers.

Open a customer record and click on the “Credit and collections” fast tab. Now I will change the credit limit from $450,000 to $500,000.

Once I do that and save the form I get this flyout form that shows me all of the proposed changes fields that have been changed and what the original and proposed values are. If I made a change by mistake and I want to discard the change I can either discard a specific change by clicking the “Discard” button on a specific change or I can click “Discard all changes” which will discard all the changes made and leave them as their original values. If I want to proceed with the change proposal I can click “Close” to continue.

Now you can see that there is a “Proposed change” button that is visible. If you click on this button, you will see the same flyout form that shows the original value and proposed value. You will also see the standard workflow button that allows approvers to approve, reject, delegate, etc.

If you click on the “Workflow” button you will notice that the only option is to submit. That is because the proposed change has not been submitted to workflow. You can manually submit changes, or you can set a recurring batch job to run in the background that will automatically submit these changes to the workflow.

Navigate to Accounts receivable > Periodic tasks > Submit proposed customer changes. Here you can add any filters that you want or you can just set a recurrence and click “Ok” to put the job into the batch queue.

Now if I go back to the home page I can see that I have a work item that I need to approve.

I can click through directly to the customer where the change has occurred and I can review the changes by clicking on the “Proposed change” button and then if I am good with the change I can click the “Approve” option.

After the workflow completes, the proposed change is accepted and updated.


I personally love this feature because it has been a requirement on many of my projects in the past and it is great to have this functionality now in the standard Dynamics 365 Finance and Operations product. If you have a segregation of duties or shared duties requirements around customers and vendors and you need to manage data changes, take a look at this functionality and see if it can be applied to your unique business needs.

Tim Woods

Tim has been an AX/D365 Finance and Operations Consultant for over a decade and loves to share insights and knowledge from multiple full cycle implementations.

Recent Posts