Skip to content

Use an work flow engine to drive various ecommerce flows

inspiran edited this page Jan 10, 2011 · 2 revisions

Abstract

E-commerce flows such as order to cash and purchasing flows can be technically supported by means of work flows http://en.wikipedia.org/wiki/Workflow. The order to cash flow is used as example to describe common work flow concepts:

  • Agent
  • Work flow step (user | system activity)
  • Work flow container
  • Work flow agent inbox | Universal work list

Agent

An agent is the basis participant in an work flow. This can be a human being (customer, employee responsible) or a system user. Several agents handle the order to cash process at various stages. If the customer creates a sales order, it needs to be typically processed by a sales clerk. In some cases this means that a supervisor needs to approve before the sales order can be prepared for shipment (eg. granting an additional discount).

Work flow step, activities and tasks

A work flow consists of a serious of steps, linked together using various constructs such as a sequential link, loop, fork, ... Two main types of steps can be distinguished: user or system steps. A user step relates to an activity performed by a human being. For instance, one could specify that if the sales clerk grants a discount higher than ten percent, the sales manager needs to approve the invoice. After the sales clerk saves the invoice the sales manager will receive a task (through an email, sms, ....) to approve or reject the discount.

A system step could be an automatic notification which sends an SOAP message to a third party service (eg. FedEx) when the goods are ready for shipment.

Work flow container

The work flow container contains all runtime data needed to guide the process from start to end. Typically the work flow container will reference the sales order and involved agents. Furthermore a status is maintained to keep track of the work flow ( "started", "in progress", "completed", ...). In the order to cash flow the container would hold following information:

  • salesOrderNumber: 1293489398
  • status: in progress
  • salesClerkResponsible: John Doo
  • accountManagerResponsible: Herr Flick
  • responsibleSalesDivision: EmeaBeveragesDivision

Work flow agent inbox

The work flow agent inbox is an user interface similar to an email inbox which lists all actions the agent should perform. In the context of ecommerce this would mean that whenever a sales order is created, based on certain agent determination rules, the sales order is assigned to a sales clerk (eg. a sales order for a customer in the UK should be forwarded to a sales clerk responsible handling this area). The agent should then receive a new task "new sales order 1293489398 to be processed" displayed in the work flow inbox. Other tasks in the order to cash process could be:

  • Customer payment dispute for invoice 2293489399
  • Shipment handling issue for sales order 1293489398
  • Need approval to grant discount for sales order 1293489398

If payments were not received in time, additional flows could be started to notify customer and maybe even the legal department about unpaid invoice(s).

When the agent opens a task, a task description is displayed together with a task description, possible actions the agent can choose from and/or the linked user interface: eg. the customer payment dispute task would open the invoice together with the reason why the customer disagrees. The user interface would display actions which the clerk could choose from such as "create credit note" or "disagree with dispute". Based on the chosen action specialized notifications can be send to the customer and other agents.