How to Configure Workflow in iDempiere
The Workflow window in iDempiere defines the sequence of nodes, transitions, and conditions that control how a document such as an invoice moves from Prepare to Complete. A correctly configured workflow keeps document status accurate, prevents unauthorized completion, and ensures every invoice follows the same audit trail before it posts to accounting.
Process Flow

Business Rules
- Only Active workflows are available for assignment to a document type.
- A workflow must be Valid before it can drive live document processing.
- Publication Status must be Released for the workflow to apply to transactions.
- Each Node represents one processing step; Sequence controls the order of transitions.
- A Transition Condition restricts movement between nodes based on a column value.
- Access tab entries control which Roles can view or execute the workflow.
- Read Write access must be enabled for a role to action workflow-driven documents.
- Standard Transitions without a condition always execute once the prior node completes.
Prerequisites
- Organization configured for the workflow scope.
- Role configured and available for Access assignment.
- Target table identified (e.g., C_Invoice_Invoice) for document-based workflows.
- Document Type configured and ready to be linked to the workflow.
- Business Partner and standard document setup completed for the linked table.
Navigation
Menu → Application Dictionary → Workflow → Workflow
Configuration Steps
Enter a Search Key and Name, set Workflow Type to Document Process, select the Table the workflow applies to, and set Publication Status to Released once testing is complete.
| Field | Sample Value | Description |
| Search Key | Process_Invoice | Unique identifier for the workflow |
| Name | Process_Invoice | Display name shown when assigning the workflow |
| Workflow Type | Document Process | Defines the workflow as a document status workflow |
| Table | C_Invoice_Invoice | Table the workflow controls, e.g., invoices |
| Data Access Level | Organization | Scope of records the workflow can act on |
| Publication Status | Released | Must be Released for use in live transactions |
| Valid | Checked | Confirms the workflow passed validation |

Step 2: Define Workflow Nodes
In the Node tab, create a node for each processing stage, set Action to Document Action, and choose the matching Document Action such as Prepare. Leave Join/Split Element as XOR for standard single-path routing.
| Field | Sample Value | Description |
| Name | (DocPrepare) | Label for this processing step |
| Action | Document Action | Type of activity performed at this node |
| Document Action | Prepare | Specific document action triggered |
| Join Element | XOR | Rule for merging incoming transitions |
| Split Element | XOR | Rule for branching outgoing transitions |
| Active | Checked | Makes the node available in the workflow |

Step 3: Define Node Transitions
In the Transition tab, select the current Node and the Next Node, assign a Sequence number, and keep Active checked so the path is available during processing.
| Field | Sample Value | Description |
| Node | (DocPrepare) | Starting node of the transition |
| Next Node | (DocComplete) | Node the document moves to next |
| Sequence | 100 | Order in which transitions are evaluated |
| Description | (Standard Transition) | Notes describing the transition purpose |
| Active | Checked | Enables this transition path |

Step 4: Define Transition Conditions
Open the Condition tab under the relevant Node Transition, choose And/Or logic, set the Operation, select the Column to evaluate, and enter the comparison Value.
| Field | Sample Value | Description |
| Node Transition | (DocPrepare)_100_(DocComplete) | Transition the condition applies to |
| Sequence | 10 | Order conditions are evaluated |
| And/Or | Or | Logical operator combining multiple conditions |
| Operation | = | Comparison operator applied to the column |
| Column | C_BPartner_ID_Business Partner | Field being evaluated |
| Entity Type | User maintained | Identifies the condition as custom-defined |


Step 5: Configure Workflow Access
In the Access tab, add the Role that should use the workflow, check Active to enable it, and check Read Write only if that role is allowed to modify workflow-driven documents.
| Field | Sample Value | Description |
| Role | POTS Admin | Role granted access to the workflow |
| Active | Checked | Enables this access record |
| Read Write | Checked | Allows the role to action workflow documents |

Step 6: Validate and Activate the Workflow
Return to the Workflow header tab, click Validate Workflow, confirm the Valid checkbox is set, and change Publication Status to Released.
Common Issues and Resolutions
| Issue | Cause | Resolution |
| Workflow does not appear when assigning to a Document Type | Publication Status is not Released or workflow is inactive | Set Publication Status to Released and confirm Active is checked |
| Invoice stuck in Prepare status | No valid transition exists from the current node | Add a Transition to the next node with correct Sequence |
| Role cannot process the invoice | Access tab has no entry for the role, or Read Write is unchecked | Add the role in Access and enable Read Write |
| Validate Workflow fails | Missing Start Node or broken transition chain | Check Node and Transition tabs for gaps in the sequence |
| Multiple conditions conflict | And/Or logic combined incorrectly across conditions | Review Sequence and And/Or settings for each condition |
| Workflow changes not reflected on existing documents | Workflow is cached or document already started with prior workflow | Restart the client cache and test with a new document |
Next Steps
- Configure Document Type to link the workflow to invoices or other documents.
- Review Role and User Access windows to confirm approval permissions.
- Set up Invoice window defaults so new documents use the correct workflow.
- Test the workflow end-to-end with a sample invoice before releasing to stores.