Purchase orders for every job, from the office or the site.
Raise each PO against the job it belongs to, get approvals from the field, and record goods received on site. You see committed cost per job before the supplier invoices arrive.
| PO No | Summary · Job | Status | Gross |
|---|---|---|---|
| 2026-6841 | Ready-mix concrete, 40 m³Job 3204 · Riverside warehouse slab | Pending Approval | 7,480.00 |
| 2026-6840 | Rebar deliveryJob 3199 · Kingston townhouses | Approved | 3,215.00 |
| 2026-6839 | Excavator rental, 2 weeksJob 3204 · Riverside warehouse slab | In Progress | 5,600.00 |
| 2026-6838 | Asphalt and line paintJob 3197 · Parking lot resurfacing | Approved | 2,940.00 |
Without a purchasing system, job costs come as a surprise.
In many companies, materials are ordered by phone from site, and the office only sees the cost of a job once the supplier invoices are posted.
Job costs found out too late
Committed cost per job is unknown until the invoices come in, when the margin is already gone.
With Expeni: committed cost (approved and pending POs) shows on each job budget straight away.
Site orders with no PO
A phone call to a supplier leaves nothing to match the supplier invoice to.
With Expeni: supervisors raise POs from their phone, so every invoice can be matched to a PO.
Deliveries not checked against the order
Short or wrong deliveries get paid in full because nobody recorded what arrived.
With Expeni: goods received are recorded on site, including partial deliveries.
How a purchase moves through Expeni
- Site supervisorRaises a PO against the job from a phone, and records goods received when the delivery arrives.
- Project managerGets an email and approves within their own approval limit.
- Operations director or ownerApproves orders above the project manager's limit. The PO can go to the supplier automatically as a PDF.
- Accounts payableMatches the supplier invoice to the PO and records the payment.
Made for companies that buy for many jobs
Cost control for the office, simple enough to use on site.
A budget for every job
Each job budget shows committed cost and what is left. Lock it when the job closes, or allow a set overrun.
Ordering from site
Supervisors raise POs and record deliveries on their phone. Nothing to install.
Approval limits and segregation of duties
Project managers approve within their limit and directors approve larger orders. Requesters can be blocked from approving their own orders.
Goods received and partial deliveries
Record what arrived on site, so finance can see it next to the supplier invoice before paying.
Materials catalogue and approved suppliers
Order common materials from your own catalogue and limit orders to approved suppliers.
GL accounts on PO lines
Code PO lines to GL accounts, so costs land in the right place in your books. Export to CSV.
purchase orders raised by one concrete contractor in Expeni since 2018, across more than 1,200 job budgets.
Questions contractors ask
Can we track spend per job?
Yes. Create a budget for each job. It shows committed cost (approved and pending POs) and what is left, and you can lock it when the job closes.
Can site staff order from their phone?
Yes. Expeni runs in the browser on any phone, so supervisors raise purchase orders and record goods received on site.
What happens with a partial delivery or a higher invoice?
Record what arrived as a partial delivery. If the supplier invoice is higher than the PO, it is held until the PO approver accepts the difference.
Does it connect to our accounting software?
Purchase orders, with their GL accounts, export to CSV for your accounting system. A QuickBooks Online integration is in development.
See Expeni set up for your jobs
We'll show you job budgets, site ordering and approvals in a live demo.

