Workflow
Workflows define the lifecycle of a document instance in the system, which includes all necessary, sequential steps used to process documents in the system. This includes information about which users can access a document, all available actions that can be taken, and when actions can be taken.
Each document goes through a workflow in the system, but there are various workflows for different levels of data and document types, and the workflows can be customized. Although workflows can be customized, the general pattern for each document type must be followed.
Input, Criteria and Request documents only go through their assigned workflow once. The document is created, and when all workflow steps are completed, it can be processed once. For example, a Voucher is created and when it is completed, the necessary database tables are updates.
However, Maintenance documents can go through their workflow multiple times. When the document is created, it completes the workflow and is saved to Final. If the document needs to be edited, the workflow is used to enter edits. For example, an employee document goes through a workflow when initially created, and then if the employee has a change, such as a pay rate or name change or is terminated, their employee record would have to be updated and processes through the workflow again.
Workflow Basics
Each document instance in the system must go through a workflow. Workflows have the following key pieces:
-
States: A state is a discrete stage in a workflow lifecycle. Examples of states include In Progress and Pending Approval.
-
Actions: An action is an operation that a user can take when the workflow is in a particular state. Examples of actions include Save, Approve, and Reject.
-
Actors: An actor is a workflow specific role that can take particular actions within the workflow. Examples of actor include a Submitter or Approver.
Actors are mapped to security responsibilities in order to grant access to any number of organizational roles. For example, both Project Managers and Accounting Managers are organizational roles that can be configured as an Approver actor on the same workflow. For more information about responsibilities, see Security.
Example
The following example outlines a simple, sample approval workflow. The workflow contains two states, In Progress and Pending Approval. From the In Progress state, all users with the Project Manager responsibility can access the document instance and perform one of three available actions, Save, Submit, or Cancel.
If the Submit action is taken, the document instance will move to the Pending Approval state, which makes the document instance available to users with the Accounting Manager responsibility. From the Pending Approval state, Accounting Managers can choose the Approve or Reject action.
Standard Workflows
Workflows can be simple and straightforward and consist of a single action used to quickly approve and move a document instance to the final database. However, workflows can be more complex and require review and approval before a document instance can be moved to the final database. For some documents, such as Prebill, Final Bill, Payment Generation, Timesheet, and Project, more complex multi-step, multi-reviewer workflows have been developed and are discussed in the topic for each document. For a list of standard workflows, see the
workflow manifest.
Generally, most documents do not need approval, and once submitted, they are automatically added to the final database and made available for further processing as needed. When a standard system workflow is different from the basic workflow, it is discussed in the topic for the document. For information on how to customize a workflow, see the Model Designer documentation.
Conditional Routing
Conditional workflow routing allows you to define specialized rules for a custom workflow. These rules can be used to route document instances through different variations of a workflow based on a value in the document instance. The condition can be build based on any data element in the document.
For example, you could define a conditional routing based on the project fee. If a project fee hits a certain threshold, you can route the document instance to different levels of management.
For example, when the project Fee is:
- Less than $10,000: The project is automatically approved.
- Greater than or equal to $10,000: The project is routed to a manager for approval.
- Greater than or equal to $100,000: The project is routed to a director for approval.