Purchasing is where you commit money on a job — getting quotes, raising purchase orders to suppliers, and raising subcontract orders to your trades. Everything you commit here flows into Job Cost as a committed cost against the budget, so you can see what’s been locked in before any invoice arrives.
Cost codes and budget first. Purchase order and subcontract lines commit against your budget lines (cost codes). Set up cost codes and create the job’s budget before you start committing (see Jobs & Job Cost).
The three things you do here
- Quote requests (RFQs) — ask several vendors to price the same scope, compare what comes back, and award the work.
- Purchase orders (POs) — order materials and goods from suppliers.
- Subcontract orders — engage subcontractors for a package of work.
POs and subcontract orders together are your commitments. The Commitments screen shows them combined, and the Purchasing dashboard gives you the overview.
Quote requests (RFQs)
An RFQ lets you put one scope in front of several vendors and compare apples with apples.
Creating an RFQ
- Open Quote requests and choose Create quote request.
- Set up the request — the project, the scope, and the items you want priced. You can build the item list from the estimate’s budget so you’re requesting prices against the right cost codes.
- Add the vendors you want to quote, and attach any drawings or documents they need.
Sending and receiving
- Send the RFQ to your chosen vendors. Each receives an email with a link to a secure vendor portal — they don’t need a CortexPM login.
- Vendors acknowledge the request and submit their prices through the portal.
- The RFQ moves through Draft → Sent → Evaluating → Awarded → Order placed → Closed as the process runs (and can be Cancelled before awarding).
Comparing and awarding
- As quotes come in, review them against each other. Each vendor’s submission has its own status (submitted, under review, revision requested, accepted, declined, and so on).
- Award the submission you’re going with. (You can also propose a submission as the preferred one before formally awarding.)
- Create a purchase order from the quote — CortexPM turns the awarded vendor’s quoted items into a PO, carrying the prices and cost codes across.
Tip: you can also apply a vendor’s quoted line straight to an estimate line, so a real quote can sharpen your pricing even before you award (see Estimating).
Purchase orders
A purchase order is your formal order to a supplier.
Creating a PO
- Open Purchase orders and choose Create purchase order (or create one from an awarded RFQ as above).
- Set the vendor, the project, the delivery (site) address, site contact, required date and any terms. Your default PO terms from Company settings pre-fill here.
- Add line items — each against a cost code / budget line, with quantity, rate and amount. The subtotal, tax and total are worked out for you.
- Save as a draft, or create and send to push it through (including syncing to Xero if connected).
The PO lifecycle
A PO moves through Draft → Pending Approval → Approved → Sent → Acknowledged → Partially Received → Fully Received → Closed (or Cancelled). You set its status as it progresses; the vendor can acknowledge receipt through the portal link.
PO documents and what’s committed
- Generate the PO PDF to send to or print for the supplier.
- Once raised, the PO’s value shows as a committed cost against its cost codes in Job Cost.
- As supplier invoices come in against the PO (see Accounting), the PO’s billed amount rises and its unbilled balance falls — so you can see what’s committed but not yet invoiced.
Watch out: a PO can be locked to prevent edits. Unlock it first if you need to change a locked order.
Subcontract orders
A subcontract order engages a subcontractor for a package of work, rather than ordering goods. Subcontract orders work much like POs:
- Open Subcontract orders and Create one. These are often raised from a subcontract set up in the Contracts module, pulling its scope items across (see Contracts).
- Add the line items for the package, against the relevant cost codes.
- Save, then edit as needed and generate the subcontract order PDF to issue.
Like POs, subcontract orders run Draft → Pending Approval → Approved → Sent → Acknowledged → Partially/Fully Received → Closed, and their value commits against the budget in Job Cost.
Commitments and the dashboard
- Commitments lists your POs and subcontract orders together — your total committed spend on a job.
- The Purchasing dashboard summarises purchasing activity so you can see what’s outstanding at a glance.
- Unbilled commitments highlight where you’ve committed money that hasn’t been invoiced yet — useful for forecasting and the cost-to-complete picture.
The Price Library
Price libraries live at Settings → Price Libraries and are covered in full in Estimating. Two things about them belong here, because they happen in Purchasing.
Pricing a PO from the library
Line item descriptions on a purchase order autocomplete against your active libraries, so a PO can be built from known rates rather than typed from scratch. As on an estimate, the rate is copied onto the PO line when you add it — later library changes don’t move it.
Quoted rates on an RFQ comparison show the Est. Rate (from the linked estimate line) and the Lib. Rate (the current library rate) beside what the vendor quoted, so you can see at a glance whether a quote is in the right range.
Pushing real prices back into the library
This is the one worth building a habit around. On a purchase order that’s been approved or beyond, where lines are linked to library items, you’ll see:
Some lines on this PO are linked to a price library item. You can update those library rates to the actual PO prices.
Update library with actual rates sets each linked item’s rate to what you actually paid on that PO, ex GST. Existing estimate and PO lines are untouched — only the library moves.
Do it on every PO where you negotiated, and your library stops being a wishlist and starts being a record of your real buying power. Six months of that is worth more than any published rate book.
Watch out: it overwrites the stored rate for that item. If a PO carried an unusual one-off price — a rush job, a favour, a distressed supplier — don’t push it back.
Xero sync
Purchase orders sync with Xero in both directions — Import from Xero, Send to Xero on an individual PO, or run a full sync on demand.
One Xero organisation per company entity. If you trade through more than one company, each connects to its own Xero organisation with its own sync settings, rather than one connection across the account. Setting it up is covered in Getting Started.
Purchase order sync is switched on or off per entity in Xero Sync Settings, along with bills, sales invoices, payments, contacts and invoice documents.
Where to next
Commitments become actual costs when the bills arrive — see Accounting for recording supplier invoices, OCR capture and matching them back to these orders. To formalise the trades you engage, see Contracts.