Pacten

Approval chains, and how routing decides who is asked - Pacten Guides

Approvals across Pacten are one engine, not one per app. Purchase orders, cash requests, salary advances, stock transfers and payroll runs all ask the same question in the same way, so learning it once is enough.

THE WHOLE MODEL
Three ideas do all the work
Everything else is a detail of one of these.
1
A route belongs to a policy
A policy is a kind of thing being approved — purchase orders are one, cash requests another. Each has its own route, so tightening who signs off spending does not change who signs off a stock transfer.
2
A route is levels joined by rules
A level is a group of people, one of whom has to approve. A rule says what happens when a level approves: finish, or carry on to another level. A rule can be conditional on the value, which is what lets a large order travel further than a small one.
3
Routing follows the person, not the thing
Which route applies is decided by the department of whoever raised it — not by what was bought, or which division it was for.
HOW A ROUTE IS CHOSEN
The default, unless a department has its own
Nobody is ever left with no route, as long as a default exists.
Why the requester, and not the order
Because every person has a department, and most of the things being approved carry no routing information at all. Routing on the requester works for every kind of request on day one, rather than only for the one that happens to record a division.
WHEN A ROUTE CANNOT FINISH
A level that finds nobody
It is a configuration mistake, and it is recoverable.

A level can end up with nobody in it — a named person who has left, a group that is now empty, or “the requester’s own manager” in an app that keeps no reporting lines. A request that reaches such a level stops there, and the request itself will tell you so rather than sitting silent. Whoever is allowed to edit the route can release it past that level. Fixing the route is the better answer; the release is there so a mistake is never permanent.

One last thing worth knowing. The route is copied onto each request the moment it is raised, and that copy is what the request follows to the end. Editing a route changes what happens to future requests and leaves everything in flight exactly as it was — so you can reorganise approvers without stranding a week of pending orders.