Expense reimbursement (BPMN)
A short process with one genuinely interesting part: the receipts check, which sends the claim back rather than rejecting it.
#What this example shows
A loop that returns work rather than ending it.
A service task for the payment run.
A data object representing the receipt.
#How to build it
Step | What you do |
|---|---|
1 | Start event: Claim submitted, with a data object for the receipts. |
2 | User task: Manager approval. |
3 | User task: Finance checks receipts. |
4 | Exclusive gateway: receipts valid? If not, back to the claimant. |
5 | Service task: Include in next payment run. |
6 | End event: Paid. |
#Making it your own
Attach the data object to the tasks that read it, using dotted associations.
A returned claim is not a rejected claim; draw them differently.
Add a timer if your policy has a submission deadline.
#Related
Build the happy path first. Always.
