Skip to content
Menu
Products · Advanced approval workflow

Advanced approval workflow

A workflow engine for Frappe and ERPNext. Conditions pick the workflow, each stage sets who may act and what they may edit, and every action is logged.

For
Organisations whose approvals depend on amount, department or funding source
Runs on
Frappe, with or without ERPNext
Request to posting
  1. Request
  2. Rules
  3. Fund owner
  4. Committee
  5. Approved
  6. Posted
Illustrative records · one request through its rules

One claim, three funds, each approved in turn.

The workflow is chosen by rules on the document. Each fund row runs its own approval, and the history records every step.

erp.client.in/app/expense-claimIllustrative data
Expense claim · approval historyFund 2 of 3
Submitted by applicantDraft to pending with guideDone
Committee reviewAll members respondedApproved
Fund 1Fund owner approvedDone
Fund 2Pending with fund ownerWaiting
Fund 3Starts after fund 2Queued

The problem

A standard Frappe workflow gives each document type one path. Real approval rules are rarely that simple: the route depends on the amount, the department or the grant that pays. Teams fall back on email, and nobody can trace who approved what.

What it does

  • Several workflows on one document typeChosen by conditions on the document and its child-table rows, in priority order
  • Stages with the roles or named users who may actAnd the fields each stage may edit
  • Transitions with their own conditionsFor example only above a set amount
  • Committee stagesevery member responds, the document moves on when all have answered, and one rejection sends it back
  • Per-fund routingwhen several funds pay for one document, each fund row goes through its own approval in turn
  • Comments on an actionOptional or mandatory per transition
  • Field visibility by role or condition; restricted fields are hidden when the document opens and protected when it is saved
  • A history of every actionwho acted, when, from which state to which, and the comment

How it works

  1. Define a workflow for a document type

    its conditions, priority, stages and transitions

  2. When a document is created

    The engine picks the matching workflow and sets its first state

  3. Approvers act from the document; each action is checked against the stage's roles, users and conditions

  4. At a final state

    The next fund row starts its own workflow, if the document has one

Works with

FAQ

You use it instead of the built-in workflow on the document types you choose. Document types without an advanced workflow keep working as before.

Yes. Conditions can read child-table rows, and when one fund's approval is complete the engine starts the workflow for the next fund row. It was built for multi-fund approvals in research grant administration.

Not on its own. Frappe's standard notifications can be set on state changes. Delegation and escalation are not built yet.

Only what the stage allows. Fields can be made visible by role or by condition, and the rest stay hidden and protected.

Start a conversation

See it running on your data.

A 45-minute demo on a copy of your documents, not a slide deck.