Self-hosted approval workflow software
Self-hosted approval workflow software: amount-based routing, the rule frozen on the record, and the numbered order at the end.
approval workflow software, self-hosted is usually searched a week after an invoice arrived that nobody remembers agreeing to. The purchase was reasonable, the person who made it was reasonable, and there is no record of who said yes. What the searcher wants is not a workflow engine; it is a short, boring trail that answers one question later.
The three things missing when this search happens
A rule about who approves what. Not a habit -- a rule, expressed in amounts, that applies before anybody is asked.
A trail that cannot be rewritten. Who approved, when, and why, in an order nobody can adjust afterwards.
Something that turns an approval into an order. An approved request that never becomes a numbered purchase order is a conversation, and the supplier has no idea it happened.
Approva is built around exactly those three and deliberately stops there.
Try the Approva demo ↗Live, on sample data, no sign-up.
The feature that matters most, and it is not the routing
Amount-based routing is the visible feature: a request goes to one, two or three approvers depending on how much it is for, and the thresholds are yours. That part every product in the category has in some form.
The feature that matters later is quieter. **The rule that applied is frozen on the record at submission.** Six months from now the thresholds will have moved, and a system that renders history against today's rules will show a request approved by the wrong number of people. Approva stores the rule with the request, so the record explains itself without anybody reconstructing what the policy was in March.
Per-cost-centre rules sit alongside that, because a threshold appropriate for the workshop is rarely appropriate for marketing.
What owning the copy changes
Procurement systems are priced per user per month, and the users of an approval system are everyone who spends money -- which is most of the organisation. That pricing makes a control cost more the more completely it is applied. Approva is licensed per installation, so putting every cost-centre owner into it costs nothing.
The record stays too. An approval trail is only worth anything as history, and the history that matters is the year you no longer have the subscription. On your own server it is a database you back up in one click.
What to look for
Money in integer cents. Approval thresholds are comparisons against amounts, and floating-point arithmetic at a boundary is exactly where an approval silently routes to the wrong tier.
Numbered purchase orders generated from the approval. So the thing the supplier receives and the thing that was approved are the same object.
The requester told the outcome. A decision nobody hears is a decision that gets asked about again.
An append-only audit trail. Not an editable history with a modified date.
An install you can do in an afternoon. Approva runs on PHP with PDO and a database on ordinary hosting; there is no container runtime and no queue to keep alive.
A REST API with signed webhooks, if an approved request has to become a row somewhere else without a person retyping it.
The limits, stated plainly
Approva is not an accounting system or an ERP, and it posts to no general ledger. It does not process payments: it approves requests and issues purchase orders, and it never moves money or pays a vendor. There is no three-way matching between order, goods receipt and invoice, no inventory, and no budgeting or encumbrance accounting. There are no punchout catalogues and no supplier portals -- a request describes the purchase in your own words. One currency per installation, chosen at install from a list that formats natively. One organisation per installation.
If what you actually need is the supplier side -- who the vendors are, what the contracts say and when they renew -- that is Supplia, and the two are commonly run together.
Questions people ask
What happens to old approvals when the thresholds change? Nothing. The rule that applied is frozen on the record at submission, so history renders against the policy that was in force at the time rather than against today's.
Does it pay the supplier? No. It approves the request and issues a numbered purchase order. Payment happens wherever your money already moves, which is also why there is no bank detail in the system.
Can approval limits differ by department? Yes. Rules are per cost centre as well as per amount, so the workshop and the marketing budget can carry different thresholds.
Where to look next
The product page is Approva, with the full feature record and the limits in the product's own words, and the Back-Office Suite holds it with the related registers. The alternatives page covers one of the hosted procurement platforms people arrive from, another covers a second, and the side-by-side sets them next to each other. For what those platforms charge per user per month, read the observatory: every figure is quoted verbatim beside the date it was read and a link to the page it came from, and a platform that publishes no price is recorded as publishing none. Prices are on the observatory; read them on the date shown there.