INTRODUCTION TO WORKFLOW
This Chapter describes the Workflow functionality in Compiere. A Workflow is used to automate business procedures or "workflows." Items such as documents, information, or tasks are passed from one participant to another in a way that is controlled by certain rules or procedures.
Workflows can be initiated by an incoming item via the Compiere Mail Gateway or by Processing a Document that has been Imported or manually entered.
WHAT IS WORKFLOW?
Workflow is usually defined as "steps involving people", whereas Business Process Management is defined as "workflow and system activities".
THE WORKFLOW AND BUSINESS PROCESS MANAGEMENT
Compiere fully supports Business Process Management (BPM) and is based on the Workflow Management Coalition and OMG standards. In the following, we use the term Workflow to include BPM capabilities.
In contrast to other ERP and CRM applications, Workflow is not "on top" of the application; Compiere is based on Workflow. The Compiere Workflow Engine is Compiere's core transaction management. That means that all processes in Compiere are automatically workflow enabled and easy to extend and modify. As workflow is completely integrated, Compiere workflows are easier to maintain and can provide much more functionality then the external or add-on workflow offerings of some other ERP and CRM vendors.
Types of Workflow
Compiere provides three types of workflow:
- General Workflow - Provides guidance and step-by-step instructions for achieving a task. Examples of general workflow in Compiere are the setup wizards. A user from the menu initiates this type of workflow.
- Document Process Workflow - This type of workflow controls the processing steps of all document types and is automatically started when processing a document. Typically this type of workflow could be extended to cater for approval of a document where Purchase Order may exceed a certain value.
- Document Value Workflow - This type of workflow is automatically started when any entity fullfils a user defined condition. An example may be the approval process for a new customer where credit and pricing approval is required prior to the trading with the new customer.
Node Actions and Transitions
A Compiere Workflow Node (Step) can have the following Actions
- Automatic Process - Any Process, Report, Task, Workflow, Document Action
- User Action - Any Window Form where a user needs to confirm Completion
- Set Variable - Any Column to Constant or Variable
- User Choice - Any Choice (e.g. approval), List selection
- Wait (Sleep) - can also be used for Start/End/etc.
Transition between nodes can optionally have conditions. Multiple transitions from a node allow parallel processing. This enables complex scenarios to be modeled using Compiere's workflow functionality.
Approvals (Responsible Persons)
Users can define an approval hierarchy or use the organization hierarchy defined in Compiere.
A person responsible for a workflow can be a human (specific or invoker), a group (role), or (supervisor) of a User, Organization or System (in that order). Different persons can be responsible for each workflow node/step.
The Workflow Activity window provides the list of activities which are pending for approval.
Priority, Escalation, and Alerts
Compiere provides dynamic priority management enabling Compiere to be used for Call Center routing and priority based customer support.
Users can define escalation rules resulting from inactivity and send alerts to the persons responsible for the workflow and/or the Supervisor.