Approva
Route purchase requests through amount-based approvals and issue numbered POs before the money is spent.
The problem it solves
Someone in your team wants to buy something. Right now that "approval" is a Slack message and a forwarded email, and the first time finance hears about it is when the invoice arrives. Small and mid-sized organisations that have outgrown "email the manager" still lack a repeatable requisition-to-approval-to-purchase-order flow with an audit trail, without buying and configuring a full ERP.
- No threshold-based rule for who must approve a purchase
- No append-only trail of who approved what, when, and why
- Nothing to turn an approved request into a numbered purchase order
What you get
Amount-based approval routing
Requests route to one, two, or three approvers based on thresholds you set, and nothing becomes a PO until fully approved.
Full approval audit trail
Every request carries an append-only activity log and approval trail, exportable to CSV or JSON at any time.
Numbered PO generation
One click on a fully approved request generates a sequential, unique PO number and a printable purchase order.
Integer-cent money math
Totals are kept in integer cents throughout, with fractional quantities supported and correctly rounded.
Two-minute self-hosted install
Installs through a web form on plain PHP 8 and MySQL or SQLite, with no Composer, no Node, and no cron jobs.
REST API + signed webhooks (new in 1.1)
Bearer-key API with the same role guards as the UI, HMAC-signed webhooks on submit/approve/reject/PO, and an OpenAPI spec that imports straight into Power Automate as a custom connector.
Installable mobile app (PWA)
Add it to a phone or tablet home screen straight from the browser — a full-screen app served from your own server, with no app store involved. Business data is never cached offline, so what you see is always live.
Own It 2.0 — API, 2FA, backups, dark mode
Approva 2.0 adds the 2.0 owner layer. Upgrade by replacing the files — the database migrates itself, and it is still the same one-time purchase.
- REST API with an OpenAPI spec and signed webhooks
- Two-factor sign-in (TOTP)
- Email notifications through your own SMTP
- CSV import with a mandatory dry run
- One-click backups
- Dark mode
Own It 3.0 — works for your AI, not just for you
Approva 3.0 adds an MCP endpoint, so Claude, ChatGPT agents or n8n can list requests, raise them and record approvals through the same guards a person faces — and deliberately cannot cut a purchase order.
- Roles with email invitations and a last-admin guard
- Out-of-office delegation that can never approve its own request
- Append-only audit trail across browser, API and agent
- Printable PDFs
- File attachments
- Saved views
- Your logo and colours throughout
- Scheduled backups with a guided dry-run restore
- Optional single sign-on (OIDC)
Pricing — one-time, yours forever
- ✔ Full source included — PHP you can read and change
- ✔ No subscription. One payment, yours forever
- ✔ It never phones home
- ✔ Your data stays on your server
No reviews yet — so here is what we offer instead. Every competitor price on our comparison pages is source-linked and dated, and when a vendor’s price won’t load we say so rather than guess. See the sources for yourself →
Screenshots
Honest limitations
- Not accounting/ERP software; no general-ledger posting, no journal entries
- No payment processing — issues POs only; never pays vendors
- No 3-way matching, goods receipt, inventory, or budget/encumbrance tracking
- No punchout catalogs or supplier-portal integration
- Single-tenant: one organisation per installation
- Routing is by amount thresholds only — not per department, category or vendor rules
- Pick any currency at install (EUR, GBP, AUD, CAD, CHF and more are formatted natively) — but one per installation: a single install cannot hold requests in two different currencies, and there is no FX conversion
- Notifications go to the address you configure (an approvals inbox), not to each approver individually
- Attachments and backups live on your own server's disk — no S3 or object storage
Two-minute web installer on PHP 8.1+ with MySQL or SQLite; a Dockerfile is also included for containerised deployments.
Covered in these guides
Every Ownware tool now has an MCP endpoint an AI agent can use under the same guards a person faces, plus roles with email invitations, an append-only audit trail, printable PDFs, your branding, guided backups and restore, and optional single sign-on.
Precoro starts at $499/month. Procurify won't quote publicly. The self-hosted answer is an ERP module that takes months to configure. For a business that just needs "two signatures over £2,000," there is nothing in between.
Frequently asked questions
How do the approval thresholds work?
You set amounts in your own currency. A request at or above the first threshold needs a second approver; at or above the second, a third. Below the first threshold, one approver is enough, and an approver can never approve their own request.
Is it multi-user? What are the roles?
Yes — three roles: requester, approver, and admin (who can also act as an approver and manages vendors, cost centers, settings, and PO generation).
Does it integrate with QuickBooks, Xero, or SAP?
Not with prebuilt connectors — but Approva ships a REST API with an OpenAPI spec and HMAC-signed webhooks, so approvals and POs can be pushed anywhere by Power Automate, Zapier, n8n or your own code, and 3.0 adds an MCP endpoint so an AI agent can drive it under the same approval rules a person faces. The register also exports as CSV and JSON, and every request and PO prints as a PDF.
Can Power Automate or Logic Apps use it?
Yes — two ways. Point a webhook at the Power Automate HTTP-request trigger to react to approvals instantly, or import /api/openapi.json as a custom connector and every endpoint becomes a native action. Both are covered step-by-step in API.md, which ships in your download.
Does it pay vendors?
No, deliberately. Approva approves purchase requests and issues purchase orders. It does not process payments or connect to your bank or AP system — paying the supplier happens in your accounting tool after you send the PO.
Will it run on my shared host?
Yes. Plain PHP 8 with MySQL (or SQLite for zero-config), no Composer, no Node, no cron jobs. It installs in about two minutes through a web form.
Can an AI agent really use it — and can it approve things it shouldn't?
It can use it, and no. Approva 3.0 exposes an MCP endpoint (POST /mcp) that authenticates with the same revocable API key as the REST API and enforces the same guards: an agent cannot approve a request its own user raised, cannot record a second decision, and cannot decide once the workflow has closed — it gets the same refusal sentence a person sees. There is deliberately no tool for issuing a purchase order: committing money to a supplier stays a human click.
What happens when an approver is on holiday?
They delegate. An approver hands their approvals to a colleague for a date window, and two rules keep the control intact: the delegation can never be used on the delegating approver's own request, and the delegator and their delegate can never both be counted on one request. Decisions read “as delegate for …” in the request log, the audit trail and the PDF.



