BPMN Data Objects and Data Stores Explained

Not every diagram needs to show data. But when it matters — for compliance, automation, or system design — BPMN has the elements.

Data elements in BPMN

Data elements in BPMN represent information that flows through a process — documents, records, forms, datasets. They are optional: most diagrams work fine without them. Add data elements when you need to show what information a task needs or produces.

The data elements

Data Object

A document or piece of information used or produced by a task. Shown as a page icon with a folded corner. Example: "Invoice", "Application form", "Customer record". Can have states like [draft] or [approved].

Data Store

A persistent repository of data that lives beyond a single process instance. Shown as a cylinder. Example: "Customer Database", "ERP System", "Document Archive".

Data Input / Data Output

Formal inputs and outputs of a process. Data input: what the process needs to start. Data output: what the process produces when it finishes.

Data Association

A dotted arrow connecting a data element to a task. Shows that the task reads from or writes to that data. Not a sequence flow — data associations do not control the order of execution.

When to model data

  • -Compliance and audit — regulators want to see what data is accessed, where it is stored, and who touches it.
  • -System integration — when designing automation, data elements show which systems need to exchange information.
  • -Complex handoffs — when work passes between teams and the receiving team needs specific information to continue.

For most process documentation, data elements are unnecessary noise. Add them only when they answer a question someone will ask.

Related guides

Keep learning

Frequently asked questions

Should I always model data in BPMN?

No. Data elements are optional and add visual complexity. Only include them when they serve a purpose: compliance requirements, system integration design, or clarifying handoffs.

What is the difference between a data object and a data store?

A data object is a transient piece of information within one process instance (e.g., an invoice). A data store is a persistent repository shared across instances (e.g., a database).

Can data associations control the flow?

No. Data associations (dotted arrows) show data dependencies, not execution order. Only sequence flows (solid arrows) control when tasks execute.