Skip to content

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, in one action.

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:

  1. 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.
  2. 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 there’s no approval step

Earlier the flow had a “submit for approval” hop between drafting and finalising. In a pharmacy that receives all day, that extra gate mostly added latency — stock people could see on the shelf wasn’t yet “received” in the system, and someone had to chase an approval before it counted.

The flow is now two outcomes, not three: Save Draft (keep working, nothing posts) or Save GRN (finalise — stock and accounting post). The person who receives and verifies the delivery is the one who finalises it. If your process needs a second pair of eyes, enforce it operationally rather than expecting a system gate.

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.