Replenish stock with a purchase order
Personas: Buyer (has the purchase order approved), Storekeeper (receives the goods), Approver (posts the receipt) · Modules: Purchase Orders, Inventory Restock a store: order goods from a supplier, receive them against the purchase order, and post the goods receipt — the moment stock and its acquisition cost enter the books.
Before you start: the supplier exists in Suppliers, the products are in the catalogue, and the receiving store exists in Stores. Colleagues sit in the Approver group (any of them — or an administrator — can complete the Post task).
1. Order — Buyer has an approved purchase order
- The purchase order is raised and approved as its own flow — see Raise and approve a purchase order. What matters here: the order is CONFIRMED, names the Supplier, and its Store is the store the goods will be delivered into.
2. Receive — Storekeeper creates the Goods Receipt
- When the goods arrive, open Inventory → Goods Receipts and click New Goods Receipt. The GR-number is stamped at create; the receipt starts DRAFT — a draft holds no stock.
- Pick the receiving Store (required) and the date (required), the Supplier who delivered, and the Purchase Order this receipt fulfils — the document trail stays clickable in both directions. A free-text reference (the supplier's delivery paper) and a note are optional.
- Add one line per delivered product: pick the Product (only stock-tracked products are offered, never services); its price, unit of measure and tax rate are copied from the product's defaults — edit the price to what you actually pay the supplier, it becomes the goods' acquisition cost. Enter the quantity; Net, VAT (default 20%) and Total compute per line and sum in the footer.
3. Post — Approver (Inbox or inline on the receipt)
- The Post task shows the receipt's number, date, store, supplier, total and status, with Post / Reject buttons.
- Post writes one IN movement (positive quantity) per line to the stock ledger, linked back to this receipt, with the movement's cost equal to the line price — the acquisition cost. The receipt becomes POSTED (final); on-hand in the store goes up at that moment.
- Reject marks the receipt CANCELLED — stock never moves.
What happened behind the scenes
- Number series used: Goods Receipt (GR), stamped at create.
- Status path: goods receipt DRAFT → POSTED (reject: CANCELLED).
- Each IN movement is a cost input to the product's company-wide moving-average pool: the pool's quantity, average cost and value recalculate from quantity × the receipt price. Every later goods issue, transfer or customer return is then valued at this average automatically — see Check stock on hand.
- The purchase order itself stays CONFIRMED — its RECEIVED / INVOICED statuses exist for the cross-document flows, which are not automated yet; posting the receipt does not flip the order.
Variations and refusals
- Posting is idempotent — a repeated post can never write the movements twice.
- A receipt without a supplier or purchase order works too — e.g. goods arriving from an internal source.
- Wrong or damaged goods going back to the vendor is a supplier return — see Move and count stock; it leaves at the acquisition price, the negative receipt.