How to create a process flow diagram
A process flow diagram is three artefacts under one name. How to choose the level from what the diagram will be used for, hold that level across every box, and break a sub-process out instead of inflating one.
A process flow diagram sets out the steps, decisions and handoffs of a process at one chosen level of detail: a single procedure, a process crossing teams, or a whole end-to-end cycle.
The short version
- "Process flow diagram" names three artefacts: a procedure, a process crossing teams, a whole chain.
- The level comes from what the diagram will be used for, never from the process itself.
- Grain is measured in handoffs, not in minutes: one box can legitimately hold six weeks.
- Decisions do not raise the level: a diamond carries routing rather than work.
- A box too big for the diagram becomes a second chart, not six boxes in place.
The name covers three different diagrams
Three artefacts answer to the name, and the procure-to-pay chart below could be any of them. A procedure-level diagram would take one of its rows ("Record receipt against the purchase order") and spend fifteen boxes on the screens, the tolerances and the chasing. A process-level diagram would draw the match and its exceptions alone: four lanes, Accounts payable through to Procurement. The one actually drawn is the chain, a stated need to reported spend. The naive version produces all three at once.
A box is one commitment somebody can take on and finish, and nothing inside it changes where the flow goes next. That rule has to be written down before the first row, because the level comes from the use rather than from the process: the same procure-to-pay cycle is properly fifteen boxes for an auditor tracing a control and ninety for a new buyer learning to raise a requisition. Both are right, and a diagram attempting both is neither.
The procure-to-pay cycle below is held at one level across six phases and 26 rows. "Run a sourcing exercise and award" is a single box covering weeks of work, deliberately, because nothing that happens inside it changes where the flow goes next. When "Goods or service receipt recorded?" finds nothing recorded, it sends the invoice back to "Record receipt against the purchase order," the same level, repeated, which is all a loop ever is.
From a stated need to reported spend
Procure-to-pay from a stated need to reported spend: 26 rows, six phases, one grain throughout, and an entire tender held inside a single box.
Set the grain before row one
The requesting work is finished six rows in: an event, "Raise a requisition with coded specification", then "Funds available in the cost centre?", whose "No" already ends at "Requisition declined or deferred". Neither gate added a screen or a reminder: a diamond carries routing, not work.
One box, six weeks
"Contract or framework in place?" opens the market route: "Yes, call off" reaches "Issue the purchase order to the supplier" directly, while "No, go to market" passes through "Run a sourcing exercise and award": one box holding an entire tender, because nothing inside it changes the route.
Exceptions at the same grain
Delivery, receipt and the invoice arrive, then three gates in a row. "Goods or service receipt recorded?" sends "Missing, chase it" back to "Record receipt against the purchase order", and only the "Outside tolerance" exit of the match renders yet; the clean route joins later.
Where the loops close
Both remaining loops close here, and neither drops a level. "Exception resolved?" points "Resolved, re-match" back at "Three-way match within tolerance?", and "Raise a retrospective PO and log it" returns to the receipt check. "Still disputed" ends at "Dispute handled under the contract".
Hold it to the last row
Payment posted, the run released, then "Update the vendor and spend records". Four rows in this chart are terminal (a declined requisition, a dispute handed to the contract, an unpaid invoice with no PO, and "Cycle closed and spend reported"), and each is one box rather than a summarised route.
How it works
Name the reader and the use
Write one sentence: who opens this diagram, and what question they open it to answer. Training somebody to perform a job, fixing the handoffs between two teams, and finding where a cycle loses weeks are three different questions, and they produce three differently sized diagrams of the same work.
Fix the grain as a written rule
State it before typing: a box is a unit of work with one owner and one outcome, and nothing inside it changes where the flow goes next. Set a box budget as well (ten to twenty for a procedure, twenty to forty for a process crossing teams) and treat overspend as a levelling error rather than as thoroughness.
Type the steps into rows at that grain
Each row's Box text column is one box, and the diagram builds as the rows do. Work through the process in order and resist expanding the part you happen to know best; the grain rule is what answers whether a step you want to split is really two. The layout is generated, so there is nothing to rearrange afterwards.
Number the routes and label the forks
The Line to column takes the row numbers a step leads to, comma separated where there is more than one, and Line text carries the branch labels in the same order. A number lower than the row it sits on draws a loop back, which is how a diagram says work is repeated without dropping to a finer level.
Fill the lane columns, then break out the bulge
Horizontal lane holds the phase and Vertical lane the owner. Now look for the bulge: the phase carrying three times the boxes of its neighbours. Move its contents into a second chart at the finer level, leave one box behind in the parent named as an outcome, and reference the child from that row's comment.
Test the level on the named reader
Trace the finished chart with the reader from step one and ask one thing of every box: is this the wrong size for them? Expect two answers: one box they want opened, three they never needed. Then write the reader and the level into the chart's title, so the next person proposing a box has a stated scope to argue with.
Mistakes to avoid
No named reader, so nothing is out of scope
Without a named reader and a named question, every proposed addition sounds reasonable and the diagram accretes until nobody opens it. That argument is never really about the process; it is about who the diagram is for.
Simplifying by deleting the diamonds
Asked to make a diagram simpler, most people remove decisions rather than close boxes. Drop "Purchase order referenced?" and the whole no-PO arm leaves with it: shorter, the same level, and now describing one route where there are two.
Expanding a box where it stands
A step that turns out to be complicated collects six boxes in place, and every box around it now reads as a summary. Move it into its own chart and leave the one box behind, so the parent holds one level and the detail holds another.
Time as a reason to split
Elapsed time is not grain. A tender is one box when its internals do not change the route, while a two-minute check that decides where the work goes next has earned a diamond of its own.
Create your own process flow diagram
Take the procure-to-pay cycle as your own chart, then set the grain from the reader you have in mind and close every box below it.
Related guides
Frequently asked questions
What is a process flow diagram?
A diagram of the steps and decisions in a process, drawn at one chosen level of detail. The term covers three distinct artefacts: a procedure-level diagram of a single job, a process-level diagram of work crossing several teams, usually in swimlanes, and a chain-level diagram of an end-to-end cycle such as procure-to-pay. They share a notation and answer different questions, which is why the level has to be stated rather than assumed.
Is a process flow diagram the same as a flowchart?
In business use they are interchangeable: a process flow diagram is a flowchart of a process. In chemical and process engineering they are not. There, a process flow diagram is a specific engineering deliverable showing equipment, streams, flow rates and major control loops, standardised by ISO 10628, and the activity diagram most people are after would be called a process flowchart or a process map. Establish which of the two is being asked for before drawing anything.
How do I break a process flow diagram into sub-processes?
Leave one box in the parent and let the child own the level below it. "Run a sourcing exercise and award" is the seam in the example: the parent keeps it as one box whose label ends in the outcome the next arrow depends on (an award), and the child chart begins with the event that box receives and ends in exactly that outcome. That makes the boundary testable: read the child's last row and it must state what the parent box promised. Nothing is drawn twice, and each diagram holds one level.
Which level of process flow diagram should I draw first?
The level that matches the problem in front of you, which is usually the process level that crosses teams. Handoffs between functions are where work stalls, and that level is the only one which shows them. Draw the chain level when the question is where a whole cycle loses its weeks, and the procedure level only when somebody has to be trained on a specific job. Producing all three up front gives you three diagrams that will disagree with each other within a quarter.
