2026 RELEASELive Demo
KatixoAIERP
Purchasing & Inbound Warehousing Guide

Purchase Orders & Goods Receipt (GRN)

Master the complete Procure-to-Pay (P2P) lifecycle in Katixo. Convert stock shortages into supplier purchase orders, perform inbound physical inspections with Goods Receipt Notes (GRN), capture batches and expiry dates, assign warehouse racks, and verify supplier invoices with 3-way matching.

1. Module Overview: The Procure-to-Pay (P2P) Pipeline

In wholesale distribution, retail chains, and manufacturing enterprises, procurement controls the business's largest cash outflows and guarantees inventory availability. In Katixo ERP, purchasing is organized into three tightly-governed operational stages:

Stage 1

Purchase Order (PO)

Commercial contract sent to the supplier specifying agreed items, quantities, negotiated rates, and delivery due dates.

Stage 2

Goods Receipt Note (GRN)

Physical inspection at warehouse unloading. Captures supplier batches, expiry dates, rack locations, and updates stock balances.

Stage 3

3-Way Match & Bill

Audits PO prices vs GRN accepted quantities vs Supplier Bill before booking liability in Accounts Payable (AP 2000).

2. How to Create a Purchase Order (Step-by-Step)

  1. 1
    Go to Procurement > Purchase Orders > Click "New Purchase Order":Select the supplier from your contact directory. Katixo automatically fetches the supplier's GSTIN, state code, and default payment terms (e.g. Net 30, Net 45).
  2. 2
    Select Receiving Warehouse & Expected Date:Choose the destination warehouse or branch where goods should be delivered. Set the expected delivery date for supplier lead time tracking.
  3. 3
    Add Item Lines & Negotiated Purchase Rates:Search items by name, SKU, or barcode. Enter ordered quantities and unit purchase rates. The system verifies HSN codes and applies the correct GST percentage automatically.
  4. 4
    Approval Routing (Governance):If your organization has configured multi-level approval workflows (e.g., POs over ₹50,000 require Manager approval), clicking Submit moves the PO to PENDING_APPROVAL. Once approved, the PO enters APPROVED.
  5. 5
    Issue to Supplier:Click "Issue PO" to generate the legal PO document. Send it to the vendor with one click via WhatsApp or PDF email. Status updates to ISSUED.

3. Physical Inbound Receiving: The Goods Receipt Note (GRN)

When the supplier's truck arrives at the warehouse loading bay, warehouse staff create a Goods Receipt Note (GRN) to inspect incoming goods:

Quality Inspection

Staff enter Received Quantity, Accepted Quantity, and Rejected Quantity. Damaged or near-expiry packs are immediately flagged and set aside.

Batch & Expiry Ingestion

For batch-tracked items (pharma, FMCG, packaged foods), staff input the manufacturer Batch Number, Manufacturing Date (MFG), and Expiry Date (EXP).

Rack Location Tagging

Assign warehouse rack coordinates (e.g. Rack B-02, Shelf 3) so pickers can instantly locate items during order dispatch.

What Happens When You Click "Receive Stock"?
  • Creates active stock balances in stock_batch_balance and stock_balance.
  • Opens a new FIFO cost lot (cost_lot) with the landed unit cost for FIFO valuation.
  • Recalculates the item's weighted average purchase cost.
  • Updates the PO's received quantity counter; transitions PO to PARTIALLY_RECEIVED or RECEIVED.

4. 3-Way Matching & Purchase Bill Conversion

Before paying the supplier, Katixo's 3-Way Matching Engine cross-audits the three critical documents:

Audit LegSource DocumentValidation RuleAnti-Fraud Protection
Quantity MatchGRN Received QuantityBilled Qty ≤ Inspected & Accepted QtyPrevents paying for damaged or short shipments
Price MatchPurchase Order RateSupplier Invoice Rate == Agreed PO RateFlags unapproved price hikes or unauthorized surcharges
Tax Rate MatchItem Master HSNGST Rate == Statutory HSN Rate (5%, 12%, 18%)Guarantees eligible Input Tax Credit (ITC) under GSTR-2B

5. Complete Lifecycle & Status Transitions

PO StatusMeaningInventory StateNext Step
DRAFTPO being drafted by purchase officer.No stock changeSubmit for approval or issue
PENDING_APPROVALValue exceeds threshold; awaiting manager approval.No stock changeManager Approve or Reject
ISSUEDSent to supplier; shipment in transit.Inbound pipeline expectedCreate GRN when goods arrive
PARTIALLY_RECEIVEDPartial shipment received at warehouse.Partial batches received into stockReceive remaining shipment
RECEIVEDFull order received and inspected.All stock active in warehouse & FIFO lotsConvert to Purchase Bill (AP)

Developer & API Integration Reference

JWT Bearer Required

Programmatically create POs, trigger stock receipts, or query 3-way match status via REST:

GET/api/v1/purchase-orders
POST/api/v1/purchase-orders
POST/api/v1/purchase-orders/{id}/approve
POST/api/v1/stock-receipts
POST/api/v1/stock-receipts/{id}/receive
GET/api/v1/three-way-match/{poId}
# Receive stock with batches and rack assignment via cURL
curl -X POST https://api.katixo.com/api/v1/stock-receipts/c8a1b2-1111/receive \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      {
        "itemId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
        "batchNumber": "BN-2026-X9",
        "expiryDate": "2028-06-30",
        "receivedQuantity": 100,
        "rackLocationId": "r1a2b3-9999"
      }
    ]
  }'