How to create a process flow from Excel data

How to read a process flow out of the spreadsheet you already maintain: which existing column is the boxes, which is the arrows, which is the branch labels, and which one is a swimlane diagram.

A worked example, stage by stage

  1. Row order is already the arrows

    The step column supplies five labels, and most of their arrows are implied by the order they came in. Two are not. "Order and master data complete?" skips over row 3, and "Supply the missing order details" points back at row 2 — a number smaller than its own row is what row order cannot say.

  2. Which rows are really questions

    The shape column turns three of the first nine rows into diamonds, and "Credit hold released?" reveals three exits with nothing written on them yet. Row 9 becomes a terminator: "Order cancelled on credit refusal" is where an order stops for good, and the sheet had it as an ordinary step.

  3. The exception column arrives

    Line text says which case each arrow carries — "Over limit", "Prepay first", "Refused", and "Obtained" on the loop back to "Proof of delivery received?". "Paid in full by the due date?" still shows one exit, because the rows its other two answers need are not in the sheet yet.

  4. The rows the notes column hid

    "Short-paid" now has somewhere to go: the deduction is coded, a dispute opened, "Deduction valid?" decides it, and a credit note clears the line back into "Invoice cleared and order closed". Four rows the sheet carried as one sentence, and a decision it never had at all.

  5. Owners turn it into a map

    The dunning ladder arrives, then the lane columns make every handoff visible. Three boxes drop into the "Customer" lane — the order, the details it had to supply, the prepayment — and a wait on the customer is not the same problem as a wait on "Credit control".

How it works

  1. Inventory the columns before you paste

    Write out every column heading in the sheet and put beside it which editor column it becomes: Box text, Line to, Line text, Horizontal lane, Vertical lane, or nothing. Most operational sheets already fill four of those. The headings that map to nothing — a status flag, a cycle time, a system name — belong in the step's comment.

  2. Read the notes column for hidden routes

    Go down the Notes or Comments column and mark every sentence containing if, on hold, unless, or chase. Each one is a step the sheet never gave a row to, and each needs its own row before any numbering starts. Expect to finish with more boxes than the row count you began with.

  3. Paste the step column into Box text

    Open a new chart in QueryChart and paste the step column, and only the step column, into Box text. One column wide is deliberate: the other four already exist in the sheet and get mapped one at a time, so you can watch what each of them adds instead of pasting five at once and unpicking the result.

  4. Number the routes, backwards ones included

    Line to holds the row numbers a step leads to, separated by commas. On the straight-through path that is just the next number down, which the row order already told you. The work is everything else: the correction that returns to an earlier check, the query that rejoins mid-flow. Those numbers are smaller than the row holding them.

  5. Map the owner column onto Vertical lane

    Move the owner column into Vertical lane and any phase or stage column into Horizontal lane. Check the phase column first: Horizontal lane orders the chart left to right, so its values must be phases the process passes through in sequence. A Status column records the state one order has reached, and those states have no sequence.

  6. Hand it back to the sheet's owner

    Whoever has been maintaining the tab is the only reviewer who can say which of the notes you promoted to rows were real exceptions and which were one-offs that happened twice. Send them the link rather than an exported image: the tab already exists in four versions because it was once attached to an email, and a picture starts that again.

Frequently asked questions

How do I turn an owner column into swimlanes?

Map it onto the Vertical lane column, and the phase column, if you have one, onto Horizontal lane. Lanes are keyed by their label rather than by an id, so every row carrying the same text lands in the same lane and a single typo creates a second one. Two things the column will not give you: the steps your customer or supplier performs, because a tab records the work your own team is measured on, and the second owner on a step that two roles share. Both have to be added by hand, and both are handoffs.

Do I need to add a next-step column to my spreadsheet?

Yes — every row that is not an ending needs a number in Line to, because row order draws no arrows by itself. What you do not need is that column already finished in Excel. On the straight-through path the number is mechanical, the next row down, and it can be typed as you go. The one you almost certainly do not have is the branching set: a refusal returning to an earlier check, a query that rejoins mid-flow, an end state that stops the work early. Only three rows in the example carry no target.

How do I convert a spreadsheet with a column per team?

Unpivot it first. A matrix sheet — steps down the side, teams across the top, a mark where a team is involved — keeps its owner values in the column headings, and the editor wants them in one column: one row per step, the heading of the marked column in Vertical lane. A row bearing two marks will not collapse into one lane value, and it is usually two steps that arrive in different lanes. Columns holding dates instead of marks belong to a tracker: they record when one order passed each stage.

Why does the diagram have more boxes than my sheet has rows?

Because a sheet records the steps somebody does and hides the ones that depend on something going wrong. Every exception written into a notes field becomes a row of its own, together with the decision that routes to it and the end state where the process stops early. A forty-row process sheet producing fifty-odd boxes is normal, and the extra boxes are precisely the ones the sheet was worst at showing you.

Map your own order-to-cash process

The template behind this guide

Order-to-cash process flowchart (order received to cash applied) — A six-lane order-to-cash process flowchart: order and master data check, credit hold and release, dispatch, proof of delivery, invoicing, cash application, short-payment deductions, dunning and write-off.

More in Process mapping guides