GovernFinance Operations

Stop approving purchases in the hallway

One form, tiered by spend, paused for a real human sign-off, and audited end to end

Stop approving purchases in the hallway

Every finance team runs the same broken process. A purchase request arrives as an email, a Slack DM, or a hallway ask. Someone squints at the amount, someone else says "fine, go ahead," and the paper trail is a screenshot in a thread. Then an auditor asks the one question that matters — who approved this, at what amount, and when — and you spend an afternoon reconstructing an answer that should have written itself. FluidGrids turns that mess into a single governed flow.

It starts with one form. A requester submits vendor, line items, a cost center, and a justification, and the run begins. A validate node stops anything malformed — a missing vendor, a negative amount, a blank cost center — before it can reach your ledger or an approver's inbox. The instant a clean request lands, a Google Sheets node appends it as a row, so the durable record exists before anyone has decided anything. A calculator node then does the math you shouldn't trust the requester to do, summing the line items into the canonical approval amount everything downstream branches on.

Here's where spend tiers stop being a habit people forget under deadline. A switch node reads that computed amount and routes the request to the approver it actually warrants — a small order clears light, a five-figure contract goes to a director. A Slack node posts the request to that approver with everything they need to decide: requester, vendor, the computed figure, cost center, justification, and a link straight back to the run. No more guessing who's supposed to sign off on what.

Then the run pauses — for real. An internal wait node parks the run at the decision point and holds its entire state while a person decides on human time. Minutes or days, it doesn't matter; the parked run burns no execution time and forgets nothing. When the approver responds, they don't just click yes or no — they resume the gate with a payload: approved, rejected, an adjusted amount, a note. That payload is real data. An if node routes the approved path forward and the rejected path to a decline, exactly like any other field in the graph, and a SendGrid email closes the loop with the requester either way.

Because pause and resume are permission-guarded, a manager can't release a director-tier gate, and rejection is a first-class outcome rather than an error — the intake row you wrote at arrival means a declined request is still auditable evidence, not a gap. And the audit trail you always had to assemble by hand now assembles itself: run history pins the workflow version that executed, the pause, the resume payload with the approver's identity, and every node that acted on it. The next time someone asks who approved what, at what amount, and when, the answer is already sitting in the run.

Do it yourself

Intake a purchase request from a form, validate it, log it, compute the amount, route by spend tier, pause for a human decision, and notify the requester with the outcome audited end to end.

0 / 12
  1. Open My Workflows and click New to start a blank workflow.

    You should see: A blank canvas opens with the node palette visible.

    Open in app

Ready to make this your story?

We use cookies for essential site functions and, with your consent, for analytics to improve FluidGrids. We don't use advertising or cross-site tracking cookies. See our Cookie Policy.

Preferences