The Purchase order fulfilment example describes a process for handling customer orders. This article shows how you can add a condition to the process to resolve a problem instead of cancelling the order.
Process overview
You can use Effektif to handle incoming customer orders, with the Fulfil purchase order process. The simplified version of this process starts with a purchase order and handles shipment and invoicing.
The process starts with a Check purchase order task, for checking to see whether the purchase can be successfully fulfilled before attempting to ship products. However, this model doesn’t show what happens if the order cannot be fulfilled, such as when the products on the order are not in stock.
Adding an option to reject the order
You can make the result of the checking the purchase order explicit by adding an exclusive gateway for a human decision after the check, to capture the result of the check.
Adding this gateway in Effektif will add Accept and Reject buttons to the form displayed for the Check purchase order user task, one for each named transition from the gateway. Now you can run the process and select Reject to close the order without continuing to the Ship products task.
This is an improvement that will record the result in the case’s activity stream. You can also add a Rejection reason field to the Check purchase order user task form, so there’s a record of what happened. This gives visibility to your colleagues about what happened with the order, but it doesn’t help the customer.
Adding a resolution task
The next process improvement is to add ways to resolve problems, instead of just cancelling an order when there’s a problem. For example, if you can’t fulfil the order because products are not in stock, you could keep the order open and wait for new stock to become available.
Add a new Wait for available stock user task to the process, and a third transition from the exclusive gateway that adds a Hold option to the Check purchase order task.
The new waiting task is effectively an ‘on hold’ order status. In Effektif, add reminders to the Wait for available stock task to prompt you to (repeatedly) check for new stock after a certain amount of time.
Adding an order cancellation notification
Another improvement is to notify the customer when the order is rejected, by sending an email notification. Add a Send email task before the order rejected end event.
See the Salesforce integration tutorial for an example of using a Send email task to set up an email notification in Effektif.