When Batch Post Sales Orders (Report 296) is executed through a Job Queue, the Job Queue can complete successfully even though some eligible Sales Orders remain unprocessed.
This creates a risk in automated invoicing processes because users see the Job Queue status as Completed and may assume that all eligible orders were processed successfully.
Currently, there is no clear visibility of:
- Which Sales Orders were not processed
- How many orders were skipped
- Why individual orders were skipped or could not be posted
- Whether the execution was only partially successful
Suggested Enhancement
Improve the Job Queue and batch posting functionality so that when some records are processed successfully and others are not, Business Central provides clear visibility of the partial processing result.
Ideally, the functionality should:
- Provide a status such as Completed with Warnings or Partially Successful.
- Show the total number of eligible, successfully processed, and unprocessed Sales Orders.
- Log the Sales Order numbers that were not processed.
- Provide the reason why each Sales Order was not processed.
- Make these details available in the Job Queue Log Entries or another standard monitoring page.
- Allow users to easily identify and reprocess the unsuccessful records.
Example
If 500 Sales Orders are eligible for processing and only 350 are successfully posted, the Job Queue could show:
- Eligible Orders: 500
- Successfully Processed: 350
- Not Processed: 150
- Status: Completed with Warnings
Users should also be able to view the 150 unprocessed Sales Orders and the reason for each one.
Business Value
This enhancement would make automated batch posting more reliable and transparent.
It would help businesses quickly identify incomplete processing, reduce manual reconciliation, prevent users from assuming that all orders were successfully processed, and improve monitoring of high-volume automated posting processes.
The same capability could also be useful for other batch-processing activities executed through the Job Queue where individual records may remain unprocessed without causing the complete Job Queue execution to fail.
