How to cater for steps that can happen at different times / in different orders
What happens when you have a step in your workflow that could happen at several different points, for example you wish to confirm that the job has been invoiced but this may happen at various different points in the process.
You have a few options here:
Option 1 -> Use a date job field instead of a stage:
You can add a date job field to your workflow route, this will allow a user to record that something has happened regardless of the current stage of the job.
Often it can be effective to combine this approach with the use of a traffic light workflow action to insist upon the date field being completed by a certain point, this essentially prevents the job from progressing further until the date field is completed.
If you wish to allow the user to record that the action was not applicable then set the Additional features field to Target & Tick box. You would also use the Traffic light workflow action called Date field completed or tickbox set.
This will work well for the invoicing example and can allow Glide to incorporate checklist functionality.
The downside is that you do not have a stage to see on reporting such as the Progress Overview widget. This can be overcome by having a stage at the point at which you need the task to be complete, the stage effectively confirms that the date box has been completed and of course you would use the traffic light at this point to prevent further progress until it is done. Jobs held at this stage would then be visible on a specific row on the progress monitor.
Option 2 -> Consider having different routes:
If your stages happen in different orders for different groups of clients but would be certain to occur at a set point in the workflow for each individual group then you could create a route for each group of clients. This would allow you to retain all the benefits of a properly constructed workflow.
This would not be recommended where you already have another reason to differentiate routes, you could end up with more route variations than is practical.
Option 3 -> Consider multiple sub-systems:
You may be struggling to summarise your workflow in a series of stages that happen in a set order where you are trying to merge multiple processes into the one workflow.
For example in your combined Year End Accounting and Corporate tax workflow you can not have 2 x stages to send out the Accounts and Corporate Tax as well as 2 x stages to record that the Accounts and Corporate Tax have been signed. This s because although you may alway send them out in one order (or even together) you simply can not control the order in which the documents will be returned.
You might well benefit here from treating the Accounts and Corporate Tax as two distinct processes that you wish to track separately. As they share a job date and frequency this is a great example of where having two sub-systems would be very useful. You can have a 'Send documents' and 'Documents received' stage on both sub-systems, each would move independently of the other and have its own progress monitor and other widgets.
Note: You can also resolve this with option 1, just have 2 x date fields to record the dates both were returned and a stage called 'Awaiting signed documents', make it impossible to progress until both date fields are complete.