Manual · Engineering
Manual13 min read

Procurement — buy and receive

Vendors, purchase orders, the two-gate approval, goods receipt, supplier invoices and payment.

ForProcurementWarehouseFinanceExecutive

The module that puts stock into the books

Goods receipt is the only inventory action that posts a journal entry. That single fact makes procurement the boundary between operations and accounting.

Vendors

Create each supplier you buy from once. Vendors are used by purchase orders and payables.

VendorsProcurement → Vendors → New Vendor

The purchase-to-pay cycles

Follow the cycles in order. Each one names the form to open first.

  1. P1

    Raise the purchase order

    Choose vendor, order date, delivery due, currency and line items (product variant, quantity, unit cost). Save → status PENDING. The exchange rate is captured from the order date. Duplicate variants on one order are rejected.

    Procurement → Purchase Orders → New Purchase Order
  2. P2

    Get it approved

    Submit for approval → PENDING_APPROVAL. The COO confirms the operational need (ops gate), then the CFO confirms funding (finance gate) → APPROVED. A CEO can approve in one step. Escalate when the amount exceeds an approver's authority; Reject returns the order to PENDING with a reason.

    Procurement → Purchase Orders → Submit for Approval
  3. P3

    Receive the goods

    Open the approved order and Fulfil/Receive. In one transaction the system raises on hand, lowers on order, writes one RECEIPT movement per line and posts Dr 1300 Inventory / Cr 2050 GRNI.

    Procurement → Purchase Orders → Fulfil / Receive
  4. P4

    Record the supplier invoice

    Choose the vendor, optionally link the PO, and enter the invoice. The system validates the link and rejects over-invoicing. On save it posts Dr 2050 GRNI + 2310 Input VAT / Cr 2000 Accounts Payable.

    Finance → Payables → New Purchase Invoice
  5. P5

    Pay the supplier

    Enter date, amount, method and reference. Posts Dr 2000 AP / Cr 1000 Cash or 1010 Bank. Partial payments leave the invoice PARTIALLY_PAID; the final payment sets PAID and clears AP exactly.

    Finance → Payables → open invoice → Record Payment

The two-gate approval

A purchase order passes an operations gate and then a finance gate. This is deliberate separation of concerns: the operation is justified before the money is committed.

PENDING ─(Submit)─► PENDING_APPROVAL ─(COO ops gate)─► ─(CFO finance gate)─► APPROVED ─(Fulfil)─► FULFILLED
     ▲                    │
     │ (Reject)           └─(Escalate)─► ESCALATED ─(CEO approve)─► APPROVED
     └────────────────────────────────────┘

Any non-FULFILLED order ─(Cancel)─► CANCELLED
Purchase order lifecycle

Rule

Approval posts nothing

No ledger entry is posted at approval. This is deliberate — payables must not be overstated before goods arrive. Approval only sets on-order quantities against stock.

What the system checks on a supplier invoice

  • The vendor must match the linked purchase order's vendor.
  • The currency must match the purchase order's currency.
  • The purchase order must be APPROVED or FULFILLED.
  • The invoice subtotal may not exceed the purchase order total.

GRNI nets to zero when goods are received and invoiced for the same amount — that is your three-way match (PO, goods receipt, invoice). A mismatch leaves a GRNI balance to investigate.

Status reference

StatusMeaningNext
PENDINGDraft or returned for changeSubmit, or Cancel
PENDING_APPROVALAwaiting ops and/or finance gateApprove, Escalate, Reject
ESCALATEDRouted to the CEOCEO approve, Reject
APPROVEDCleared to receiveFulfil, Cancel
FULFILLEDGoods received — journal posted—
CANCELLEDAbandoned; reverses on-order and any receipt—

Reports

ReportAnswers
Procurement ReportsPurchases by vendor, PO status, spend
Vendor SpendHow much you have bought from each vendor
Payables (AP) AgingOutstanding payables by days overdue
Three-Way MatchPO vs goods receipt vs invoice exceptions

Worked example

  1. 01

    Raise

    PO-001: vendor CableCo, 100 × CABLE-10MM @ USD 10 = 1,000 → PENDING.

  2. 02

    Approve

    Submit → COO ops gate → CFO finance gate → APPROVED (no GL; on order 100).

  3. 03

    Receive

    Fulfil → FULFILLED; on hand +100, on order −100; GL Dr 1300 Inventory 1,000 / Cr 2050 GRNI 1,000.

  4. 04

    Invoice

    Purchase invoice 1,000 linked to PO-001 → GL Dr 2050 GRNI 1,000 / Cr 2000 AP 1,000.

  5. 05

    Pay

    Payment 1,000 by bank → GL Dr 2000 AP 1,000 / Cr 1010 Bank 1,000.

  6. 06

    Check

    GRNI for PO-001 = 0; AP for CableCo = 0; stock valuation shows 100 units.

Troubleshooting

MessageFix
Only PENDING purchase orders can be approvedSubmit the order, or re-open a rejected one
PO must be pending approval for operational gateSubmit for approval first
PO already has operational approvalProceed to the finance gate
Operational approval must come before financial approvalThe COO approves the operations gate first
Only pending approval POs can be escalatedEscalate only from PENDING_APPROVAL
CEO can only approve POs in PENDING_APPROVAL or ESCALATED statusUse the normal gates, or escalate to the CEO
Purchase order must be approved or fulfilled to invoice against itApprove and receive the PO
Invoice subtotal exceeds the purchase order totalCorrect the invoice or the PO
Purchase order vendor does not match the invoice vendorMatch the vendor to the PO
Purchase order currency does not match the invoice currencyMatch the currency to the PO
Cannot pay an invoice whose purchase order is not approvedApprove the PO first
Payment exceeds outstanding balanceReduce to the exact balance
Cannot cancel an already received or cancelled orderNothing to do — the goods are received
Duplicate line item for variant…Merge quantities into one line
No active warehouse foundActivate or create a warehouse (CH 04)

Ledger boundary and reconciliation

  • GRNI (2050) should net to roughly zero for POs that are both received and invoiced. A residual means a missing receipt or invoice.
  • Inventory GL (1300) should equal receipts less any reversed receipts. Compare it to the Inventory Valuation report.
  • AP (2000) should equal the sum of unpaid supplier invoices; agree it to the AP Aging report.
  • Input VAT (2310) should equal the recoverable tax on recorded supplier invoices.

Cheat sheet

Order
Vendor → PO → Submit → Ops gate → Finance gate → Receive → Purchase invoice → Pay
Buy from a supplier
Purchase Orders → New Purchase Order
Approve
Open the PO → operations gate (COO) → finance gate (CFO)
Receive stock
Open the approved PO → Fulfil / Receive
Record a supplier bill
Payables → New Purchase Invoice
Pay a supplier
Payables → open invoice → Record Payment

Rule

Rules that never change

PO approval posts nothing; goods receipt posts Inventory/GRNI. A PO must be approved before it can be paid. You cannot invoice more than the PO total. GRNI should net to zero once each PO is received and invoiced. Posted entries are reversed, never edited.