The application is built from two processes, each containing a single workflow:
- Dictionaries houses the Contractor Details workflow – it is used for creating a dictionary (list) of contractors that contains some of their basic data. Each contractor is represented by a workflow instance, and can be made Active or Inactive depending on where the instance is located in the workflow (see diagram below). Contractor data can be updated in either step using the Update path button.
This dictionary workflow is then used as a data source (BPS Internal View) to provide values for a choice field in the main Invoice process, which is used to register invoices.
- Invoice process contains the Invoice workflow – which is the main workflow of the application, it is used to register, analyze, and (if necessary) approve and settle invoice documents.
On the Analytical breakdown step, the person responsible for this task will specify whether a settlement is required, and will enter the value of that settlement.
Depending on the entered value, the two Flow control steps (Need to be settled? and Need cost approval?) will direct the workflow along the appropriate paths.
Once the application is imported, two dedicated buttons will be available on the application’s Portal site. They are used for launching the workflows mentioned above: Contractors Dictionary to add an instance to the dictionary, and New Invoice to start an instance of the main workflow. The application page will also provide links to various reports that help track progress, as well as the Invoice information dashboard which compiles information from various report views and can also we used to start workflow instances.
Interesting design tidbits:
- The contractor list choice field on the Analytical Breakdown step is powered by the [Invoice] – Dictionary – Contractors BPS internal view data source, which is populated by adding workflow instances to the Contractor details
- Supporting choice fields like the invoice type picker, project picker, category picker etc. are powered by multiple Fixed value list type data sources which can be found and edited directly in WEBCON BPS Designer Studio (in the Data sources section, just like all other sources).
- The following things are dependent on the Does invoice need to be settled? checkbox in the Analytical breakdown step:
- The path that is selected in the Flow Control step Need to be settled?
- Whether the Payment date form field is shown nor not – this condition is defined in the Edibility and visibility tab of the form field’s configuration.
- The Flow Control step Need cost approval? will check whether the value of the invoice exceeds 5000. This value can of course be parametrized by using a process constant (or global constant) instead of a rigid value entered in the business rule.
- On the Send to invoice recipient path, there is a validation condition that checks whether an attachment was added on the Registration The rule which checks this is configured in the path configuration, in the Parameters tab. The formula looks like this: