Route purchase requests through amount-based approvals and issue numbered POs before the money is spent.
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.
Requests route to one, two, or three approvers based on thresholds you set, and nothing becomes a PO until fully approved.
Every request carries an append-only activity log and approval trail, exportable to CSV or JSON at any time.
One click on a fully approved request generates a sequential, unique PO number and a printable purchase order.
Totals are kept in integer cents throughout, with fractional quantities supported and correctly rounded.
Installs through a web form on plain PHP 8 and MySQL or SQLite, with no Composer, no Node, and no cron jobs.
Checkout isn't open yet. Leave your email and we'll send one note the moment Approva can be purchased — nothing else.
Two-minute web installer on PHP 8.1+ with MySQL or SQLite; a Dockerfile is also included for containerised deployments.
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.
Yes — three roles: requester, approver, and admin (who can also act as an approver and manages vendors, cost centers, settings, and PO generation).
Not directly. Approva exports the register as CSV/JSON for you to import or reconcile in your accounting system; it does not post to a general ledger.
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.
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.
The live demo is being prepared — check back shortly.
Demo — coming soon