Slightly Complicated Workflow for Purchase Order

Hi everyone, need some help here as I am creating a customized Workflow for PO as shown below:

  1. Purchase User submits PO to Purchase Manager for approval (to approve the procurement)
  2. Purchase Manager then approves which will now require Accounts Manager’s approval (to approve and to allocate funds)
  3. If the total amount exceeds Accounts Manager’s $5,000 transaction limit, higher authorization is required from COO to approve
  4. If the total amount does not exceed Accounts Manager’s $5,000 transaction limit, no authorization is required BUT if exceeds $3,000, an email Notification will be sent to COO.

My workflow setup:

Note: HOD (Head of Department) is referring to Purchase Manager

Problems I am facing now:

Problem #1:
As you can see in the “Workflow” screenshot, I have set “1” at the very beginning for Purchase User to submit PO. The problem now, Purchase User could’t cancel nor amend the PO after submission despite that Purchase User is given the permission to “Cancel” and “Amend” in Role Permission Manager. So how can I fix this to enable PO to be cancel-able and amend-able?

Problem #2:
The reason I want the PO to be submit-able at the very beginning is because I wanted the system to keep an audit trail of all the amendments, be it amended by Purchase User or the higher authorities in the workflow. But after since I implemented this workflow, it does not keep an audit trail due to the fact that it cannot be amended. Any solution for this?

Problem #3:
Since PO is submitted at the very first stage, any users in the workflow is able to “Make” Purchase Receipt from the submitted PO even though it is not yet approved by the higher authority as set in the workflow.

Similarly, if the PO is rejected, users can still “Make” Purchase Receipt. How can I fix this? The PO should not be able to make Purchase Receipt or anything else if it’s not approved.

1 Like

In your workflow, you haven’t set a state “Cancelled” and nor there is a transition to it.

First, create a Cancelled state with doc status = 2 and write a rule for it from the Approved by Finance state

Cancelling can only happen once the doc is submitted. Once you create the state to solve problem 1, Cancel-Amend should take effect.

1 Like

Hi Raymond_Liew I am curious what tool you used for your diagram? Maybe LibreOffice can accomplish that possibly with layers - my guess one for the flow symbols another for the user Roles!?

Hi Clarkej, I am using Microsoft Visio… Still learning BPMN diagram… :joy:

1 Like

Thank you kennethsequeira for your help… Will try it out today.

You can consider using “Track Changes” instead.

You can turn this on for Purchase Order by checking “Track Changes” checkbox in Doctype > Purchase Order. However, this won’t leave copies of the previous version and will simply track the changes done in the doctype.

FWIW, you can also check out for a great tool for this. If you need self-hosted there is also a app implementation for Nexcloud.

1 Like

A dedicated process modelling tool is We use it extensively along with as the process engine. is an online SaaS version of the modeler specifically for larger teams wanting to collaborate on models.