SAP Flow purchase_quotation purchase_order grpo ap_invoice purchase_return ap_credit_memo outgoing_payment

Procure to Pay

The purchasing document chain from purchase order to vendor payment โ€” the three-way match, GRNI, the GL effect of each step, and how Norma automates it.

Procure-to-pay (P2P) is the vendor-facing process โ€” how a company buys goods or services from a supplier and pays for them. It is the mirror of order-to-cash, and it controls three things a business cannot afford to get wrong: purchasing discipline, inventory accuracy, and cash flow. Like the sales flow it is a chain of documents created in a fixed order, each recording who is involved, what is bought, how much, and the effect on inventory and accounting. Understanding the flow means knowing which document comes next and what each one does; answering a question about the process is an explanation, never a document creation.

The document chain

The chain runs from a request for a price, through a firm commitment to buy, to the physical receipt of goods, the vendor’s bill, and the payment that settles it.

flowchart TD
    REQ([Purchase Request]) -->|sourced| PQ[Purchase Quotation]
    PQ -->|vendor selected| PO[Purchase Order]
    PO -->|goods arrive| GRPO[Goods Receipt PO]
    GRPO -->|vendor invoices| API[A/P Invoice]
    API -->|payment due| OP[Outgoing Payment]
    OP -->|matched| BR[Bank Reconciliation]

    style REQ fill:#f0f0f0,stroke:#999
    style PQ fill:#ede9fe,stroke:#7c3aed
    style PO fill:#ede9fe,stroke:#7c3aed
    style GRPO fill:#dcfce7,stroke:#16a34a
    style API fill:#fef9c3,stroke:#ca8a04
    style OP fill:#fef9c3,stroke:#ca8a04
    style BR fill:#f0f0f0,stroke:#999

The purchase request and the purchase quotation are optional sourcing steps. The purchase order is the commitment; the goods receipt PO (GRPO) is where inventory moves; the A/P invoice records the liability; and the outgoing payment settles it and feeds bank reconciliation.

What each document does

As in the sales flow, the crucial fact is when inventory and accounting move. Inventory increases at the goods receipt โ€” not at the invoice โ€” and a temporary liability account bridges the two.

DocumentInventory effectAccounting effectRequired?
Purchase RequestNoneNoneNo
Purchase QuotationNoneNoneNo
Purchase OrderNoneNoneYes (as commitment)
Goods Receipt POIncreases stockDebit Inventory / Credit GRNIYes
A/P InvoiceNone (GRPO already posted)Debit GRNI / Credit VendorYes
Outgoing PaymentNoneDebit Vendor / Credit BankYes
Bank ReconciliationNoneMatches bank statement to paymentYes

GRNI โ€” Goods Received Not Invoiced โ€” is a temporary liability account that holds the value of received-but-not-yet-billed stock. It is opened by the goods receipt and cleared by the A/P invoice. A GRNI balance that never clears is a classic sign of a receipt that was never matched to a vendor bill.

The three-way match

Best-practice purchasing does not pay a vendor on the strength of an invoice alone. It matches three independent facts first: what was agreed, what arrived, and what is being charged. Only when all three agree is the invoice cleared for payment.

flowchart TD
    PO["Purchase Order โ€” what we agreed to buy"]
    GRPO["Goods Receipt PO โ€” what actually arrived"]
    API["A/P Invoice โ€” what the vendor is charging"]

    PO --> MATCH{Three-Way Match}
    GRPO --> MATCH
    API --> MATCH

    MATCH -->|quantities + prices match| PAY[Approve for Payment]
    MATCH -->|discrepancy| HOLD[Hold โ€” investigate]

In SAP Business One the match is built automatically by the reference chain: the A/P invoice is based on the GRPO, which is based on the PO. Following the base- document references (BaseType / BaseEntry / BaseLine) reconstructs the whole match, so the discipline is enforced by how the documents are copied forward, not by a separate reconciliation step.

Each document in detail

Purchase Request. An internal request to buy something. It has no external effect and may trigger an approval before a purchase order is raised.

Purchase Quotation. A request for a price from one or more vendors. It reserves no stock and posts nothing; its job is to let a buyer compare offers before committing.

Purchase Order. The legal commitment to the vendor. It moves no stock and posts nothing, but it shows as an open purchase order in stock and MRP reports โ€” a demand signal that says “this stock is coming.” Skipping the PO removes that signal and the ability to match later.

Goods Receipt PO. The physical receipt of goods. It increases stock immediately and posts debit Inventory, credit GRNI โ€” accruing the liability before the bill has arrived. The warehouse on each line decides where the stock lands. It normally references the originating PO, and partial receipts are allowed.

A/P Invoice. The vendor’s bill and the company’s obligation to pay. It does not change stock โ€” the GRPO already did that. It posts debit GRNI (clearing the accrual), debit VAT Recoverable, credit Accounts Payable. If no GRPO exists it falls back to debiting Expense or Inventory directly. An A/P Credit Memo reverses an A/P invoice.

Outgoing Payment. The disbursement to the vendor. It posts debit Accounts Payable, credit Bank, and can settle one or several open invoices by cheque, bank transfer, or card.

The journal entries

The GRNI account is what makes purchasing accounting work across the timing gap between receiving goods and receiving the bill. The three postings for a โ‚ฌ1,000 purchase at 17% VAT show it opening and closing.

Step 1 โ€” Goods Receipt PO (goods arrive, not yet invoiced):

DR  Inventory                        1,000
CR      Goods Received Not Invoiced        1,000
Step 2 โ€” A/P Invoice (vendor invoice arrives):

DR  Goods Received Not Invoiced      1,000
DR  VAT Recoverable                    170
CR      Accounts Payable (vendor)          1,170
Step 3 โ€” Outgoing Payment:

DR  Accounts Payable (vendor)        1,170
CR      Bank Account                       1,170

Between step 1 and step 2 the company holds stock it has not been billed for, and the GRNI balance is exactly that value. Step 2 moves the liability from GRNI (an accrual) to Accounts Payable (a real, dated debt); step 3 turns that debt into cash out.

Common mistakes in this flow

Each of these breaks either the three-way match or the inventory-to-ledger reconciliation, and each leaves a signature a report can find.

MistakeConsequence
Creating an A/P Invoice without a GRPOThree-way match broken; inventory not updated
Receiving into the wrong warehouseStock in the wrong location; picking fails
Paying the vendor before the GRPO is matchedPaying for goods not confirmed as received
Not using Purchase Orders at allNo commitment tracking, no MRP feed, no match
PO quantity โ‰  GRPO quantityA discrepancy needing manual adjustment

How Norma automates the flow

Norma splits purchasing work the same way it splits sales work โ€” reading is free, writing is gated.

Reading the flow. Norma answers purchasing and payables questions with read-only connector tools: list_purchase_orders, get_purchase_order, list_grpos, get_grpo, list_ap_invoices, and get_ap_invoice retrieve the documents and their status. Payables health comes from get_ap_aging (how overdue the vendor balances are), get_credit_exposure, get_cash_flow_forecast, get_stock_coverage, and get_unhedged_demand. These tools only read the Service Layer, so they carry no review gate.

Advancing the flow. Raising a purchasing document is a write, and every write is gated. Norma drafts a create_purchase_order (and, as the write backlog lands, the matching receipt, invoice, and corrective purchase_return / ap_credit_memo documents) and posts it to the connector, which targets the Service Layer create path /b1s/v1/<Docs> โ€” for example /b1s/v1/PurchaseOrders. Nothing reaches SAP until a human reviews and approves the draft. When Norma copies a document forward, it sets the base-document references so the PO โ†’ GRPO โ†’ A/P-invoice chain is intact and the three-way match reconstructs itself โ€” exactly the discipline that stops a company paying for goods it never received.