2021 R2 keep the SO open after releasing the invoice

  • 13 September 2023
  • 2 replies

Hello, could you provide some guidance on how to maintain the status of a sales order as 'open' even after we've issued the invoice? This specifically applies to orders containing special items. I've already included a checkbox labeled 'Is Special Item' on the sales order screen, and I thought it might assist in achieving this situation.

The rationale behind keeping the order in an 'open' status is to allow it to be marked as 'complete' only when the order associated with a purchase order (PO) has arrived at the warehouse.


Best answer by Brian Stevens 13 September 2023, 16:53

View original

2 replies

Userlevel 6
Badge +4

When working with Sales Orders and transitioning statuses, you must look to the Workflow Engine.  This has evolved more since your version of 21r2, but the basics still apply.  There are a number of resources available for customizing the workflow, from videos by Doug Johnson with Acumatica showing how to customize with the GUI in the Customization Projects screen to my own series of blog posts on Workflow from February 2022 for how to customize the workflow in code.

The basics of doing this are 4 parts:

  1. Add a field to the SOOrder DAC extension to store whether the SO should be allowed to transition to complete or left open.
  2. Add a condition in the workflow to monitor the new field.
  3. Update the workflow transition from Open to Complete (for each of your order types in the case of sales orders) to require the new field to be included in the condition of when the transition may occur.
  4. Add business logic, either in code or in a business event, to set the new field in the SOOrder DAC extension when appropriate to act as the gatekeeper to the transition.

Once the workflow is successfully updated and the project is published, the Sales Order should remain open until the conditions are met in business logic to cause the new field in the SOOrder DAC extension to be toggled and allow the final transition to complete.

One thing to keep in mind is that doing something like this alters the business logic of standard Acumatica and could have downstream effects, such as if a business event is watching for an SO that toggles to Complete to trigger some notification… which now would be delayed because you hold it back from transitioning as designed.  Of course, I have no idea if you face such a case here, but it is something to always consider when you change the flow of how the system functions.

Another thing you might consider is if it would be appropriate to add a new status between Open and Complete so that you update the current transition from Open to Complete to go Open to MyCustomStatus.  Then add a new transition from MyCustomStatus to Complete.  Only you can decide if such a thing is of value, but it would help the end user to clearly see when an order is truly open pending the normal primary action and when the primary action has been performed, but the order is still waiting for your custom activity to be completed.

At any rate, when updating the workflow, be mindful of the difference between updating an element (like transitions) and adding new ones.  When one exists already, you will need to update it.  When there isn’t an element matching your need (i.e. this transition) defined yet, you would add it.

Hi Brian,


Thank you so much for your response. And your link is really helpful. Really appreciate it. Cheers


About Acumatica ERP system
Acumatica Cloud ERP provides the best business management solution for transforming your company to thrive in the new digital economy. Built on a future-proof platform with open architecture for rapid integrations, scalability, and ease of use, Acumatica delivers unparalleled value to small and midmarket organizations. Connected Business. Delivered.
© 2008 — 2024  Acumatica, Inc. All rights reserved