Expense reimbursement (BPMN)

A short process with one genuinely interesting part: the receipts check, which sends the claim back rather than rejecting it.

Expense Reimbursement Workflow

#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.



Build the happy path first. Always.