Multithreaded Execution Of The Calculate Sales Totals Batch Job in Dynamics 365 Finance and Operations

In this blog post, we will learn about a new feature released in D365 Finance and Operations Platform updates 10.0.29 i.e., Multithread capability in the "Calculate sales totals" batch.
Navigation path
Modules -> Sales and marketing -> Periodic tasks -> Calculate sales totals
Background
The business functionality of this batch job was introduced about 3 to 4 years ago in Dynamics 365 FO mainly to bridge the gap in data synchronization between Dynamics 365 Sales & Dynamics 365 Finance and Operations.
In the scenario of Dynamics 365 Cross-apps when Dual-write is installed and all sales orders are created and updated in Dynamics 365 FO and then changes are reflected in Dynamics 365 Customer Engagement app when Calculate Sales Totals is executed in Dynamics 365 FO (Not before).
Basically, the main purpose of this batch job is the calculation and synchronization of monetary value.
Why Multi-thread approach required?
In the real-life business world, the sales department often demands accurate sales order totals displayed, besides the sales order grid.
Originally this batch job was designed to manage the performance issues by having two dedicated tables such as SalesOrderTotals and SalesOrderLineTotals. However, the average throughput of the total amount to be updated which includes invoiced and backorder lines was not great and impacted business users' downstream processes.
This feature helps improve system performance by enabling the system to use parallel processing when calculating sales totals in batches.
How does it work?
The feature adds a new "Number of threads" field to the "Calculate sales totals" dialog. If you choose to run the calculation in batch, you'll also be able to use this field to set the maximum number of threads. A value of zero or one uses a single thread, while values higher than 1 enable multithreading.
Note: This batch job does not change in Dynamics 365 FO Sales order header and Sales order line. The tables i.e., sales and line total tables populated to enable data sync to Dataverse (and CE).
Business benefit
A faster time to initiate downstream processes with correct sync data values across Dynamics 365 Apps.
I hope this article was a good read for you. Do share it with your friends and other peers.
Thank you for Reading - Let's Connect!
Enjoy my blog? For more such awesome blog articles - follow, subscribe and let's connect on LinkedIn , Twitter ,YouTube
Stay tuned!
Published on:
Learn moreRelated posts
D365FO Integration: Import Purchase Orders from PDF using Gemini AI
Learn how to use AI to import purchase orders into Dynamics 365 Finance from complex PDF files. This post covers integration design, sample pr...
Dynamics 365 Sales – Connect AI agents to sales workflows using Model Context Protocol server
We are announcing the ability to connect Dynamics 365 Sales to your agents and assistants with the new Model Context Protocol server. This fea...
Dynamics 365 Sales – Improve sales efficiency with Sales Qualification Agent’s email validation
We are announcing the ability to use the Sales Qualification Agent to validate email addresses in Dynamics 365 Sales. This feature will reach ...
How to Use Copilot Custom Prompts and AI Builder in Dynamics 365 Sales
This blog builds on our previous article, How to Configure and Use the Prompt Column in Dataverse, which you can read here. While that post fo...
Create X++ Client Plugins for Copilot Studio in Dynamics 365 F&O
Part 3 of the Copilot Studio + F&O extensibility series. Learn what client plugins are, when to use them, and how to build one in X++—fro...
We need to talk about... Dynamics 365 Sales... Sales Qualification Agents
Next in my blog, I wanted to talk about a new feature which is part of the recent release wave for 2025. The Sales Qualification Agent...
Dynamics 365 Sales – Get embedded experience for Copilot summaries
We are announcing an embedded experience for Copilot summaries in Dynamics 365 Sales. This feature will reach general availability on Septembe...
Build an X++ AI Tool for Copilot Studio in Dynamics 365 F&O
Learn how to wire real F&O business logic into Copilot Studio. This guide shows you how to build an X++ AI tool, set up security, auto/ha...
Microsoft Dataverse – Copilot support for finance and operations development
We are announcing Copilot support for finance and operations development in Microsoft Dataverse. This feature will reach general availability ...
Dynamics 365 Sales – Sales Qualification Agent is now fully autonomous
We are announcing that the Sales Qualification Agent for Dynamics 365 Sales is now fully autonomous. This updated feature is currently being r...