BPMN Data Objects and Data Stores in Visio (Show the Paperwork)
A BPMN diagram shows the work, but where's the paperwork? Learn how to add data objects and data stores to a BPMN process in Visio, with an invoice process as the example.
Step by step
Intro
- BPMN data. A BPMN diagram shows the work but not the paperwork. Data objects and data stores show the information each task uses or saves. Here they are added to a simple invoice process in Visio.
- BPMN Shapes stencil. All the shapes come from the BPMN stencil in the Shapes pane.
Build the process
- The process. Drop a Start Event and label it Invoice received. The process starts when an invoice arrives. Drop a Task and label it Check invoice. This is where finance checks the invoice. Connect Invoice received to Check invoice with a Sequence Flow, the solid arrow that shows the order of the work. Drop a second Task and label it Pay invoice. Connect Check invoice to Pay invoice with another Sequence Flow. Drop an End Event and label it Invoice paid. The process ends here. Connect Pay invoice to Invoice paid with a Sequence Flow. The work path is now complete.
Data objects
- Data object. Now add the paperwork. Drop a Data Object, the page with a folded corner, and label it Invoice. A data object is information that exists only while the process runs. Link the Invoice to Check invoice with an Association, the dotted line. Don't use a Sequence Flow here: data doesn't do work, so it is not a step in the flow.
Data stores
- Data store. Drop a Data Store, the cylinder, and label it Finance system. A data store is information that is still there after the process ends. Here, the payment record is saved in the finance system. Link Pay invoice to Finance system with another Association.
- Done. Click an empty part of the page to clear the selection and see the finished diagram.
The difference
- The difference. Use a data object for information that only lives during the process, like the invoice being checked. Use a data store for information that is kept, like a system or database. Link both with a dotted Association, never a Sequence Flow.
Common mistakes
- Linking data with a Sequence Flow. A Sequence Flow is the solid arrow for the order of the work. Data is not a step, so link data objects and data stores to tasks with the dotted Association.
- Putting the data object inside the flow. If Invoice sits between Check invoice and Pay invoice on the main path, it looks like a step. Keep it beside the task it belongs to and attach it with an Association.
- Mixing up data objects and data stores. Ask whether the information is still there after the process ends. If yes, like the finance system, use the Data Store cylinder. If it only matters during this run, like the invoice being checked, use the Data Object.
- Using a data store for a person or team. A data store is a place where information is kept, such as a system or database. People and teams who do the work belong in pools and lanes, not cylinders.
When a business analyst uses this
In a process mapping workshop with the finance team, a business analyst adds the invoice as a data object and the finance system as a data store. That shows which tasks read or write which information, so system integration needs and data owners come up before the requirements are signed off.
Questions people ask
What is the difference between a data object and a data store in BPMN?
A data object is information that exists only while the process runs, like an invoice being checked. A data store is information that is kept after the process ends, like a finance system or database.
Which line connects a data object to a task in BPMN?
Use an association, the dotted line. A sequence flow, the solid arrow, only shows the order of the work, so it should never connect data to a task.
What do the folded page and cylinder shapes mean in BPMN?
The page with a folded corner is a data object, and the cylinder is a data store. Both show information, not work, so they sit beside the tasks rather than in the flow.