---
title: Procurement overview
order: 1
updated: 2026-07-12
---

# Procurement overview

Procurement covers everything you do to buy from suppliers: building a cart of the items you need, sending a request for quotation (RFQ) to several suppliers at once, tracking and chasing who replies, comparing their rates, awarding the winner, and turning the winning quote into a purchase order (PO) that you send, chase, and finally receive against.

This page is the map of the whole module — the screens, how they connect, the statuses a request moves through, and who is allowed to do what. Each screen has its own detailed page linked below.

## Open Procurement

*Procurement* is a top-level group in the left sidebar. It only appears once you hold at least one procurement permission — an empty group is hidden entirely. Two of its screens have no sidebar entry at all and are reached from an *Options* dropdown on their parent list.

The sidebar entries, in order, are:

| Sidebar entry | What it is | Needs |
|---|---|---|
| *Add to Cart* | Build the list of items to source and tick suppliers per line | *Add Items to Procurement Cart* (`procurement.addToCart`) |
| *RFQ Cart* | Review the cart and dispatch the RFQ | *View Procurement Cart* (`procurement.viewCart`) |
| *Enquiries* | The *Procurement Enquiries* list of every RFQ you have sent | `procurement.viewAlreadyPlacedEnquiries` |
| *Purchase Orders* | Every PO raised on a supplier | *View Already Placed Purchase Orders* (`procurement.viewAlreadyPlacedPurchaseOrders`) |

Two follow-up screens are **not** in the sidebar — open them from the *Options* dropdown of their parent list:

- *Vendor Follow-Up* — chase suppliers who have not replied to an RFQ. Opened from the *Procurement Enquiries* *Options* menu. See [Vendor follow-up](/docs/procurement/vendor-follow-up).
- *Purchase Order Follow-Up* (*PO Follow-up*) — chase suppliers on issued POs. Opened from the *Purchase Orders* *Options* menu. See [Purchase order follow-up](/docs/procurement/purchase-order-follow-up).

Suppliers themselves never sign in here. They use a separate **supplier portal**, reached only through the unique link in their RFQ email — no account or password. See [Supplier portal](/docs/procurement/supplier-portal) and [Supplier dashboard](/docs/procurement/supplier-dashboard).

## The screens under Procurement

Each screen below has a full page of its own; this is the one-line orientation and where it sits in the flow.

### Add to Cart

Pick a product head and code, set the quantity, choose the *Makes* you will accept, write a description, and tick the suppliers to send that line to. The supplier list narrows by the chosen head and makes. Repeat per item. You can also pre-fill the cart from an existing customer enquiry or a confirmed sales order. See [Add to cart](/docs/procurement/add-to-cart) and [Add to cart from a sales order](/docs/procurement/add-to-cart-from-order).

### RFQ Cart

Review the collected lines grouped one row per supplier, adjust per-supplier contact persons, attachments, and CC/BCC recipients, set a closing date, pick the sending email account, and dispatch. Sending assigns the RFQ number, locks the cart, and moves the suppliers into *Procurement Enquiries*. See [RFQ cart](/docs/procurement/rfq-cart).

### Procurement Enquiries

The list of every RFQ you have sent. Each row is one RFQ (one cart) and opens a detail modal listing every supplier on it; each supplier opens its vendor detail page. From here you also close/reopen an enquiry, view its lifecycle history, and open *Vendor Follow-Up*. See [Procurement enquiries](/docs/procurement/enquiries).

### Vendor responses (vendor detail)

One supplier's RFQ, their submitted quotation, and the actions you can take next — fill the rates on their behalf, generate a purchase order, or close their invitation. See [Vendor responses](/docs/procurement/vendor-responses).

### Create a purchase order

A PO is your written instruction to a supplier. Create one either generated from a winning vendor response (the usual route, pre-filled with supplier and priced lines) or added directly. See [Create a purchase order](/docs/procurement/create-purchase-order).

### Purchase Orders / View a purchase order

The *Purchase Orders* list holds every PO with its number, supplier, totals, PO date, and status. Opening one shows the full detail page where you send it, edit it, attach files, add additional charges, keep universal notes, and delete it. See [View a purchase order](/docs/procurement/view-purchase-order).

### Follow-ups

*Vendor Follow-Up* and *PO Follow-Up* are bulk chase screens — select several open invitations (or sent POs) and send a reminder to all of them at once. See [Vendor follow-up](/docs/procurement/vendor-follow-up) and [Purchase order follow-up](/docs/procurement/purchase-order-follow-up).

## A typical procurement's life

1. **Decide what to buy.** Open *Add to Cart* and add each item with quantity, makes, description, and the suppliers to send it to. Or start from a customer enquiry / sales order to pre-fill the cart.
2. **Send the RFQ.** Open *RFQ Cart*, set the closing date and any attachments, pick the sending account, and *Send Enquiry*. The RFQ number is assigned at this moment and the cart clears.
3. **Track replies.** Watch *Procurement Enquiries*. Suppliers fill their rates through the self-fill link in their email, or a staff member enters the rates on their behalf. You can opt in to a notification that fires the instant a supplier submits.
4. **Chase the quiet ones.** Send reminders from *Vendor Follow-Up*.
5. **Award and raise a PO.** Open the winning vendor's response and *Generate Purchase Order*. Review every line, then save.
6. **Send and receive.** Send the PO to the supplier, chase it from *Purchase Order Follow-Up* if needed, and receive stock against it in Inventory — see [Add a stock arrival](/docs/inventory/add-stock-arrival).

## RFQ (enquiry) statuses

An RFQ event — internally a *sourcing event* — moves through these statuses. The current one shows on the *Procurement Enquiries* list and on the RFQ detail modal.

- `draft` — the cart has been built but not yet sent. Drafts are hidden from the enquiries list unless you explicitly include the *Draft* status in the filter.
- `released` — the RFQ has been emailed to its suppliers. The RFQ number is now assigned and the cart is locked.
- `quoted` — at least one supplier has submitted a quotation.
- `awarded` — every line item on the RFQ has been awarded to a supplier (each line covered by a live, non-reverted award). Split awards across suppliers still count as awarded once every line is covered.
- `closed` — the RFQ is finished: no further quotes are accepted and every open vendor invitation on it is cancelled. Closing can carry an optional reason saved to the audit trail, and a suitably permissioned user can reopen it. See [Procurement enquiries](/docs/procurement/enquiries).

Every state change (create, release, follow-up, quotation-submit, award, close, reopen, auto-no-bid, and so on) is written to a per-RFQ audit log, viewable as the lifecycle/reopen history timeline.

## Vendor invitation statuses

Within one RFQ, each supplier you invited carries its own status, shown on the RFQ detail modal and the vendor detail page:

- `invited` — created in the cart, not yet emailed (while the RFQ is still a draft).
- `emailed` — the RFQ email has been dispatched to this supplier.
- `quoted` — this supplier has submitted a quotation.
- `no-bid` — the supplier declined, or was auto-flipped to no-bid after the follow-up cap was reached without a reply.
- `superseded` — the cart matrix changed after the supplier was emailed, so this invitation was replaced by a revised one; any quote already on it is preserved in history.
- `cancelled` — the invitation was cancelled, typically because the whole RFQ was closed.

## Purchase order statuses

A PO moves through its own state machine, shown on the *Purchase Orders* list and detail page:

- `draft` — created or generated, not yet sent to the supplier. Editable and deletable.
- `sent` — dispatched to the supplier. Once sent the PO is **locked** from ordinary edits and deletion (the server re-checks on every mutation). Editing a sent PO needs the *Revise Sent Purchase Order* permission, which reverts it to `draft` for a re-send and records the change in history.
- `partiallyArrived` — some, but not all, of the ordered stock has arrived against it.
- `arrived` — the PO is fully received.
- `cancelled` — the PO was cancelled.

## Numbering

RFQ and PO numbers are firm-wide and are configured once by an administrator under *Settings → Firm Customisation*, not on these screens.

- **RFQ number** — a cart-level base counter assigned when the RFQ is released (e.g. `2026-00123`), plus a trailing letter added automatically per supplier in cart-add order (`-A`, `-B`, … `-Z`, `-AA`, `-BB`). There is no revision suffix for RFQs. See [RFQ number format](/docs/settings/document-templates#rfq-number-format).
- **PO number** — either *Auto* (a firm counter consumed when the PO is sent) or *Manual* (you type each number). See [PO number format](/docs/settings/document-templates#po-number-format).

The vendor-facing RFQ email, the PO email, and every follow-up email are also templated firm-wide. See [Document templates](/docs/settings/document-templates).

## Who can do what

Procurement is gated by fine-grained permissions (an administrator holds them all). Each builds on the one it depends on, so the base view permission is required before the actions above it:

| Permission (key) | Unlocks |
|---|---|
| `procurement.viewCart` | Open the RFQ cart page |
| `procurement.addToCart` | Add items to the cart and set closing date / attachments |
| `procurement.sendEnquiryToSupplier` | Dispatch the RFQ and clear the cart |
| `procurement.vendorEnquiryFollowUp` | Send RFQ follow-up reminders |
| `procurement.viewAlreadyPlacedEnquiries` | Open *Procurement Enquiries* and enter a vendor's quotation |
| `procurement.fillQuotationOnBehalfOfVendor` | Fill a vendor's rates on their behalf |
| `procurement.viewMailHistoryOfEnquiries` | See the RFQ email correspondence |
| `procurement.closeEnquiry` | Close an RFQ or one supplier's invitation |
| `procurement.reopenEnquiry` | Reopen a closed RFQ (requires close permission) |
| `procurement.viewAlreadyPlacedPurchaseOrders` | Open the *Purchase Orders* list |
| `procurement.createPurchaseOrder` | Create a PO |
| `procurement.editPurchaseOrder` | Edit a PO before it is sent |
| `procurement.reviseSentPurchaseOrder` | Edit a PO after it is sent (reverts it to draft) |
| `procurement.deletePurchaseOrder` | Delete a PO before it is sent |
| `procurement.copyPurchaseOrder` | Duplicate an existing PO |
| `procurement.sendPurchaseOrderToSupplier` | Email a PO to the supplier |
| `procurement.allowPurchaseOrderFollowUp` | Send PO follow-up reminders |
| `procurement.viewUniversalNotes` / `editUniversalNotes` | See / edit the shared notes panel on a PO |
| `procurement.viewProductAnalytics` | See stock/sales/purchase analytics while building a PO |

Permissions are set under [Users and permissions](/docs/settings/users-and-permissions). Because a lazy or hostile client could forge any request, every action is re-verified on the server — a payload that skips a permission, references an item outside its RFQ, or edits a locked (`sent`) PO is rejected regardless of what the screen showed.

## Before you start

- The supplier and its contact person must already exist. See [Suppliers](/docs/records/suppliers) and [Supplier contacts](/docs/records/supplier-contacts).
- The product heads and codes you want to source must exist. See [Products](/docs/records/products).
- The brand / *Make* you want must be available on the relevant suppliers, or they won't appear in the shortlist. See [Manufacturers](/docs/records/manufacturers).

## Common questions

### Do I have to send the same RFQ to several suppliers?

No, but that is the point of the cart. Each line can be ticked against several suppliers so their replies land side by side under the same RFQ, ready to compare and award.

### How do I link procurement back to a customer enquiry or order?

Open the customer's enquiry from the [Enquiry bank](/docs/enquiry-bank/enquiry-bank-list) and use its cart action — the cart is pre-filled with the enquiry's items (see [View an enquiry](/docs/enquiry-bank/view-enquiry)). Or start from a confirmed sales order — see [Add to cart from a sales order](/docs/procurement/add-to-cart-from-order). The RFQ can aggregate items from more than one customer enquiry into a single request.

### Why can't I edit or delete a purchase order?

Once a PO is `sent` it is locked. Deleting is only possible while it is still a `draft`. To change a sent PO you need the *Revise Sent Purchase Order* permission, which pulls it back to `draft` so it can be re-sent; the change is recorded in the PO's history.

### A supplier went quiet — will the system give up on them for me?

If you configured a follow-up cap, an invitation that receives that many reminders without a reply is auto-flipped to `no-bid` and drops off the chase list. Otherwise it stays open until you mark it or close the enquiry. Set the cap on the RFQ template — see [Vendor follow-up](/docs/settings/document-templates#vendor-follow-up).

### Where do the RFQ and PO numbers come from?

They are firm-wide formats configured once by an administrator, not chosen per send. RFQ numbers are assigned at release and get a per-supplier letter; PO numbers are either auto-counted or typed manually. See [RFQ number format](/docs/settings/document-templates#rfq-number-format) and [PO number format](/docs/settings/document-templates#po-number-format).

### I closed an RFQ by mistake — can I undo it?

Yes, if you have the *Reopen Closed Enquiry* permission. Reopening restores the RFQ to its pre-close status and brings every vendor invitation that the close cancelled back to its previous state. See [Procurement enquiries](/docs/procurement/enquiries).
