D365 Batch Server Caching Bug

4 min readJan 12, 2022

Although I feel that it’s good to read the whole article I know some of you just want the answer so head to the end of the article for the TL;DR section that gives a very quick summary of this story.

The Environment

For our D365 Cloud implementation we have created a few custom tables where we place JSON files containing information about our invoices, customer records, etc. These JSON files are created from our internal systems and are then uploaded via OData to D365.

Once every hour we have different batch jobs to process the different JSON file types and process them into D365. These batch jobs are custom but rely heavily on D365’s internal methods to ingest our information like AP Invoices.

We currently have two dedicated Batch Servers and three dedicated frontend servers.

The Change

We work with a contracting company who specializes in D365. They were assisting our accounting department with adding a new financial dimension. Our internal systems, however, don’t account for this dimension. The integration processes began to error out due to the fact that our JSON file did not contain enough information to account for that newly added financial dimension.

The fix seemed simple. We need to remove the financial dimension and then modify our existing applications to work with it. However once we reversed the changed to D365 we noticed that our integrations started failing randomly with the original error message.

The contracting company wasn’t sure what could be causing the issue and recommended we reach out to Microsoft’s support. The ticket sat open for a while with some dialog but we kept getting bounced between support departments since no one was sure what was actually happening.

On the surface everything seemed correct in regards to configuration but the error continued to pop up.

The Search

Our company decided it was time to dedicate my time to troubleshooting while Microsoft attempted to figure things out. I started by checking why certain jobs ran fine while others did not.

I decided to see which batch server things were running on. I navigated to

System Administration > Batch Jobs > Select a Job