What saving a GRN actually posts
In short: Save GRN is the moment a delivery becomes real to the system — stock lands on the shelf and the money you owe lands in the ledger. Status becomes Pending. Completed is a later verification (invoice check / Approve & Complete).
A delivery on the floor
A van pulls up at the Karachi warehouse with a carton of Panadol against PO-001142. The receiver counts it, scans the batch, checks the expiry, and matches it to the supplier invoice. Until they hit Save GRN, none of that exists to the rest of the business — the GRN is a draft, auto-saving every 30 seconds so nothing is lost, but the shelf count hasn’t moved and finance hasn’t heard a thing.
The instant they Save GRN, two things happen together and the GRN moves to Pending:
- Stock posts. Each line creates an inventory batch in the warehouse — the received quantity plus any bonus units, with its batch number, expiry, cost, and retail price. The Panadol is now sellable.
- Accounting posts. A Purchase Journal Voucher is written: the value of the goods is debited to Inventory (with input GST / advance / further tax to their tax accounts), and the amount you owe is credited — to Accounts Payable on credit terms, or to Cash / Bank if you paid on receipt. (This happens when the Accounting module is on.)
So the warehouse and the books never disagree: the same event that put stock on the shelf also recorded the liability to the supplier.
Why Completed is a verification step
Pending means the goods are in and the voucher is posted. Completed is the
sign-off — typically after the invoice document is attached and a second pair of eyes
confirms quantities. Approving does not post stock again; it records approved_by /
approved_at and locks pricing and adjustment.
The flow is three outcomes: Save Draft (keep working, nothing posts), Save GRN (submit — stock and accounting post, status Pending), then Approve & Complete (verification).
Why a completed GRN is locked
Once a GRN is Completed, its stock is part of inventory and its voucher is part of the ledger — possibly already sold against, already in a payables aging report. Letting someone quietly change a cost or an adjustment afterward would silently desync the shelf, the margin, and the books. So completion locks the pricing and adjustment: a completed receipt is a closed record.