Purchase Orders and Approvals That Actually Hold Up
Loose email approvals and spreadsheet POs fall apart the moment a job is queried. Here's how The ERP Experiment handles purchase orders and approvals — line-level partial approval, configurable approvers, and an audit trail that survives scrutiny.
Most construction businesses don't lack approvals. They lack approvals that hold up.
A supplier order gets a thumbs-up over email. A PO lives in a spreadsheet someone forgot to update. A line is queried on site and quietly changed. Then a job is disputed months later, someone asks "who approved this?", and the honest answer is a scramble through inboxes. The control was never the problem. The record was.
The Approvals & Purchase Orders module — phase two of the The ERP Experiment — is built to fix exactly that. It's a low-risk, bounded module by design: it manages commitments and who signed them off, and deliberately stays out of posting logic. (Here's why we sequence the ERP that way.)
Raise a PO against a real job
Every purchase order is raised against a project or job, with a supplier, optional cost codes per line, and as many line items as the order needs. The PO gets a clean, sequential reference (PO-0001, PO-0002…) so it can be quoted on a delivery note or an invoice without ambiguity.
While it's a draft, it's yours to edit. Nothing is committed and no one is notified until you choose to send it for approval.
Route approvals to the right people
When the order is ready, you send it for approval and add the approvers — by name and email — who should sign it off. There's no rigid hierarchy to maintain: you route each PO to whoever is right for that job, that supplier, that value.
Anyone whose Construct365 account email matches an approver sees the PO in their approvals inbox. The person who raised it keeps full visibility, and admins can always see it too.
Approve line by line
This is where most approval tools fall down. Real orders aren't all-or-nothing. Most of a PO is fine; one line is the wrong quantity, or priced against the wrong rate.
So approval here is per line. An approver can:
- approve the lines that are correct,
- reject the line that's wrong, with a note explaining why,
- and leave the PO in a clear partially approved state.
The PO's status is derived from its lines, never set by hand. While any line is still pending it stays pending. Once every line is decided it finalises automatically — approved if all lines passed, rejected if all were declined, partially approved for a mix. The committed value reflects only what was actually approved.
An audit trail that survives scrutiny
Every step is recorded in an append-only history that is never edited or deleted:
- who drafted the PO and when,
- who it was sent to for approval,
- each line decision — approver, timestamp, and any note,
- and the final outcome.
That's the difference between a workflow and a record. When a job is queried, you don't reconstruct what happened from memory and email — you show it.
Deliberately not your ledger
This module does not post costs to your accounts, and that's on purpose. Raising and approving commitments is a low-risk, recoverable workflow. Posting them into a ledger, job costing, and month-end close are part of the ERP financial core — built and validated separately, with much more caution. Keeping the two apart is the whole safe-sequencing idea behind the suite.
One subscription, every module
Approvals & Purchase Orders is included in the single ERP Experiment subscription, alongside every other module as it's released — no per-module pricing. If you're already subscribed, open the ERP hub and launch it; it runs inside Construct365 with your account signed in.
👉 See the ERP hub for the live module list, or the roadmap for what's coming next.
Frequently asked questions
Related resources
See Your Whole Site From One Dashboard
The ERP Experiment gains a Reporting & Dashboards module — live, read-only views across your projects, spend, purchase orders and subcontractor compliance, with filters and CSV export. No posting logic touched, no risk to your numbers.
Read guideFrom Approved PO to Paid Supplier: the Construction Purchase Ledger
A purchase ledger only earns trust when every supplier invoice ties back to an approved order, posts a balanced double entry, and pays out cleanly through BACS. Here's how Construct365 closes that loop.
Read guideThe Subcontract Ledger and CIS Without the HMRC Headache
Subcontract orders, cumulative certificates, retention held automatically and CIS deducted at the rate HMRC verified — with a balanced ledger behind every certificate and a monthly return you can file. Here's how Construct365's Subcontract Ledger module works.
Read guide