In the realm of Dynamics CRM 365 Project Service Automation, seamless invoice correction is imperative for operational efficiency. Recently, a client approached me with a perplexing issue: suddenly, they were unable to correct invoices. An ominous error message greeted them, suggesting that all transactions on the invoice had either been corrected or were in the process, rendering further corrections impossible. This is the error message I wanted to fix: All Transactions from this invoice have either been corrected or are being processed. No new corrections can be processed for this invoice.
Understanding the error message
This dilemma prompted a thorough investigation. While enlisting Microsoft Support was an option, we opted to delve into the issue independently due to the urgency of our client’s needs. While the message clearly says that the system is unable to correct the invoices due to the lack of data to correct, I needed to try to reproduce the issue in development / test environment. I discovered a curious pattern – older invoices were amendable, whereas newer ones were not. This observation proved pivotal in uncovering the root cause.
One thing that helped debugging the issue was to validate the “Has Corrections” field of the invoice. You can do that by checking the API v9.2 Endpoint with a query like this: /api/data/v9.2/invoices(b3e227e5-0395-ee11-be37-000d3a227549). The URL should be looking like this: myenv.crm4.dynamics.com/api/data/v9.2/invoices(b3e227e5-0395-ee11-be37-000d3a227549)
Once you’ve done this, find (with Ctrl+F) msdyn_hascorrections and confirm whether it says true or false. If it says “true” the solution provided in this post may not apply to you.
The “Correct this Invoice” Button
During my absence from the project, a modification had been made to the system: a Power Automate flow was implemented to automatically set invoices to the “Invoice Confirmed” status after a specific step in the business process flow, eliminating the need for manual confirmation via the Ribbon bar. However, this automation inadvertently omitted the creation of journal lines, as they were generated only upon manual confirmation. It was a case of incomplete automation – an oversight that rendered the system partially functional and lack of testing.
![](https://strohmayer.dev/wp-content/uploads/2024/04/image-1024x41.png)
Upon disabling this automation and implementing a custom Flow, which reverted the invoice status to “Draft” and subsequently triggered manual confirmation, I achieved the desired outcome. In doing so, I rectified the client’s issue and restored functionality to their Dynamics CRM system.
Don’t wait for the support – use them as backup plan
This experience underscores the importance of proactive problem-solving. While Microsoft Support remained engaged in an ongoing analysis phase, our intervention swiftly resolved the issue at hand. It serves as a reminder that in critical situations, proactive engagement can often yield faster results than relying solely on external support channels.
I hope this post applied to your issue as well and helped you to fix All Transactions from this invoice have either been corrected or are being processed. No new corrections can be processed for this invoice errorcode.
Conclusion
In conclusion, this case study highlights the intricate nature of Dynamics CRM 365 Project Service Automation and the critical role of thorough investigation and proactive problem-solving in resolving technical issues. As consultants, it is our commitment to empower clients with efficient solutions, ensuring seamless operation of their systems.
Also if you want to archive your invoices somewhere, take a look at my Blogpost on a cheap and easy to use backup method for single entities with the Azure Data Lake!