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.
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.