A goods receipt (GRN, goods received note) records a delivery arriving at a warehouse. When you post it, the accepted quantities are added to stock at the line's unit cost, lots and serial numbers are created, and the linked purchase order's received, remaining and backorder figures update. A goods receipt is the only purchasing document that moves stock.
Receive against an approved Purchase Order whenever you can: the lines, warehouse and costs come from the order, and warehouse staff can receive without being able to change valuation. Owners and administrators can also record an ad-hoc receipt without an order. When your accountant sends a supplier bill from SolaCount, you receive against that Receiving Request instead. Goods that go back to the supplier after posting are recorded as a Supplier Return from the receipt page.
Typical users: warehouse operators and managers who unload and check deliveries; inventory managers; owners and administrators for ad-hoc receipts and reversals.
Where to find it
| Screen | How to open it | URL |
|---|---|---|
| Goods receipt list | Sidebar Purchasing → Goods Receipts | /goods-receipts |
| Receive against an order | Create GRN on an approved purchase order | /goods-receipts/from-po/{po id} |
| Receive against a SolaCount request | Receive goods on a Receiving Request | /goods-receipts/from-request/{request id} |
| New (ad-hoc) receipt | New GRN (top-right of the list) | /goods-receipts/new |
| Receipt detail | Click a GRN number | /goods-receipts/{id} |
| Edit a draft | Edit (top-right of a draft) | /goods-receipts/{id}/edit |
| Return goods to the supplier | Return to supplier on a posted receipt (a dialog) | /goods-receipts/{id} |
- The menu item is shown to anyone who can view stock balances.
- Creating, editing and posting receipts needs Receive approved purchase orders without changing valuation. Ad-hoc receipts, changing unit costs and reversing need Create / post / reverse stock adjustments as well. Without receiving permission, New GRN is greyed out and the form shows Access denied.
- Goods receipts are a plan feature. Without it, saving shows "This SolaStock feature is not available for the current plan or entitlement state."
Screen tour: the goods receipt list
The page is titled Goods Receipts, with the note "Posting a goods receipt adds the accepted quantities to stock and updates its purchase order."
- Header (top-right): New GRN.
- Filters, search, paging, export: none. The list shows the 50 most recent receipts for your warehouses. Use the Receiving Report in Reports for history.
- Row action: click the GRN number.
| Column | Meaning |
|---|---|
| GRN # | For example GRN-000031. |
| PO | Linked purchase order number, or — for an ad-hoc receipt. |
| WH | Receiving warehouse. |
| Date | Received date. |
| Status | Draft or Posted. A reversed receipt still shows Posted here; open it to see Reversed. |
Empty state: No goods receipts — "Create one, or receive from an approved purchase order."
Statuses and lifecycle
| Status | Meaning | What you can do |
|---|---|---|
| Draft | Saved, no stock movement. | Edit, Post GRN. |
| Posted | Accepted quantities are in stock. Locked. | Reverse (with adjustment permission). |
| Reversed | Opposite movements added (REV-GRN-…); the purchase order's received quantities are rolled back. |
Nothing; final. |
Receipts cannot be deleted. Leave an unwanted draft unposted.
Receive against a purchase order (recommended)
-
Open an Approved or Partially received purchase order and click Create GRN (top-right). The page is titled New goods receipt; the breadcrumb shows From PO-….
-
Check the header:
Field Required Notes GRN number — Leave blank. SolaStock assigns GRN-000001, … on save; a value typed on a new receipt is ignored.Warehouse Yes Locked to the order's warehouse. Received date No Defaults to today. Used as the movement date and for supplier lead time. Source PO — The order number (read-only). Notes No For example the supplier's delivery note number. -
Optional: tick Blind receiving (below the header). The lines reload with Received and Accepted empty and the Ordered / Remaining columns hidden, so staff count what actually arrived.
-
Check the lines. "Lines use the purchase order's remaining quantities. Adjust received amounts for partial receipts." One line appears per order line with quantity still remaining.
Column Rules / defaults Notes Item From the order; locked. Lines cannot be added or removed on a receipt from an order. Ordered / Remaining Read-only, in the order's unit. Hidden on blind receiving. Received Prefilled with Remaining. Must be greater than 0 to keep the line. What physically arrived. Typing it also sets Accepted. For serial items it equals the number of serials entered. Accepted Defaults to Received. What you take into stock. Only accepted quantity moves stock and counts against the order. Rejected Optional, default 0. What you refuse, for the record. Disposition Restock (default), Quarantine, Reject. Quarantine: the accepted stock is received but its lot/serial is set to Quarantined, so it can't be shipped or transferred until released. Reject: a label for the line; set Accepted to what you keep (for example 0). Unit From the order. Lot / Serial / Expiry Required for tracked items ("Traceability required on this item"). Type the Lot / batch code and Expiry date (expiry-tracked items), or scan serial numbers one by one. Bin Optional bin of the warehouse. Put-away location. Unit cost From the order. Greyed out unless you can manage adjustments. -
Save from the bottom:
- Cancel — leave without saving.
- Save draft — "Draft saved." Nothing moves.
- Save & post — opens Post goods receipt? ("Posting writes stock movements to the inventory ledger and locks this document. It cannot be edited afterwards."); click Post. You see "Goods receipt posted. Stock has been received."
Lines with no received quantity are dropped; if none remain you see "Add at least one line with a received quantity." After saving you land on the receipt.
Post a draft receipt
- Open the draft from Goods Receipts (or Linked GRNs on the order).
- Click Post GRN (bottom) and confirm Post goods receipt? with Post.
What happens:
- Accepted quantities are added to stock at the line's unit cost (converted to the base unit), in the chosen bin, with the lot/serial created.
- Quarantine lines set their lot/serial to Quarantined.
- The purchase order's Received rises by the accepted quantity; Remaining and Backorder fall; the order becomes Partially received or Received.
- If SolaCount is connected, a Goods receipt posted event posts Dr Inventory / Cr Goods received not invoiced.
Posting is refused, and the receipt stays a draft, when:
| Message | Cause | Fix |
|---|---|---|
| "Over-receipt blocked: accepting 210 exceeds PO remaining 200 for item #…" | Accepted more than the order still has open. | Lower Accepted, or ask the buyer to raise the order (a new order for the extra). |
| "GRN has no accepted quantity to receive." | Every line has Accepted 0. | Accept at least one line, or don't post. |
| "Item SKU is a service or non-inventory item; it cannot have stock movements." | A service item is on the order. | Remove it from future orders. |
| "Receive goods from an approved purchase order for an assigned warehouse." | Scoped receiver and the order is not approved, was cancelled, or is for another warehouse. | Ask a manager. |
| A mapping message | SolaCount connected and an item, unit, warehouse, supplier, tax or account isn't mapped. | Complete mappings in Admin → SolaCount. |
Ad-hoc receipts (without a purchase order)
Only users who can manage adjustments (owner, SolaStock Administrator, Stock Manager or a custom role with that permission) can do this.
- Click New GRN (top-right of the list). Source PO shows None (ad-hoc receipt).
- Choose the Warehouse and Received date.
- Add lines with + Add line: Item (any active item — pick inventory items only), Received, Accepted, Rejected, Disposition, Unit, lot/serial, Bin and Unit cost (blank = 0.00).
- Save draft or Save & post.
The ad-hoc form has a Supplier picker (active suppliers only). Choose the real supplier when you know it: a receipt without a supplier does not count in supplier performance, and SolaCount cannot create a supplier bill from it automatically. A Supplier return also needs a supplier on the receipt.
Guarded receiving for warehouse staff
Inventory Managers, Warehouse Managers and Warehouse Operators (and custom roles without adjustment permission) receive under guard:
- New GRN does not open a blank form. It shows "Receive goods from an approved purchase order for an assigned warehouse." with Open purchase orders, which opens the purchase order list.
- The order must be Approved or Partially received and its warehouse must be assigned to you.
- Warehouse, supplier, items, units and Unit cost always come from the order; the cost field is greyed out. Any mismatch is refused by the server.
Receive against a SolaCount receiving request
When SolaStock is connected to SolaCount, the accountant can send a supplier bill to the warehouse as a Receiving Request (RR-n). Receive goods on it opens this form with the request, supplier and warehouse filled in. How it differs from receiving against an order:
- The page is
/goods-receipts/from-request/{id}; supplier, items and units are locked, and each line is prefilled with the request's remaining quantity as both Received and Accepted. - The unit cost comes from the bill and cannot be changed without the adjustment permission: "This receipt uses the approved purchase cost. Only an authorized inventory valuation user may change it." The warehouse is the one the approver chose; people who cannot change valuation cannot pick another.
- The request must be approved with a warehouse before staff can receive ("This receiving request needs approval by an authorized purchasing approver and an assigned warehouse before receiving.").
- Lot, serial, expiry and variant are required where the item tracks them ("Enter the batch or lot number for this product.", "Enter one serial number for each unit received.", "Enter the expiry date for this batch.", "Choose the product variant being received."), and you cannot accept more than remains ("The actual accepted quantity exceeds the purchase quantity remaining to receive.").
- On any receipt form without a supplier (for example an ad-hoc receipt) a warning reads "No supplier selected. You can record receiving, but SolaCount cannot automatically create a supplier bill without a real mapped supplier. Select the correct supplier before confirming receipt."
- A receipt with a currency problem shows "The document currency is missing or is not enabled for this organization." or "No valid Finance exchange rate is available for USD on 2026-10-11. Add the rate in Finance or select a receipt date with a valid rate." above the form; posting is refused until it is fixed.
The New GRN form and the New purchase order form pre-select your organization's default warehouse (the first warehouse that was created, Main Warehouse for new organizations) when you are allowed to use it; change it if the delivery goes elsewhere. The receipt date defaults to today's date in your own calendar, not in UTC.
Screen tour: the receipt detail page
-
Header: GRN number, status badge (Reversed once reversed), Edit (drafts).
-
Summary: Received date, Warehouse, Supplier, Source PO (link), Reversal (number — reason), Notes.
-
Receiving request line (receipts created from a request): a link such as
RR-14with the bill number, and "Bill status at last request synchronization: Posted" (or Draft). The bill status is the accountant's; it can lag behind SolaCount until the request is synchronized again. -
SolaCount banner (connected receipts): "Sending the receipt to SolaCount is pending. It retries automatically without another receipt.", "Receipt synchronized with SolaCount. The bill's financial status is managed separately." (with the bill number), "Receipt reached SolaCount and needs supplier or product information. The accountant can complete details and retry.", or "Receipt reversal sent to the accountant for review."
-
Tabs:
Tab Contents Lines Item, Received (base units, with entered quantity and unit in brackets), Accepted, Rejected, Disposition, Bin, Unit cost. Ledger result Date, Item, Warehouse, Direction (In), Quantity, Unit cost, Total, Running quantity. Before posting: "No ledger entries yet. They appear here after posting." Audit "Goods-receipt creation and posting events are recorded in the audit log." -
Actions (bottom): Post GRN on drafts; Reverse (red) on posted receipts for users who can manage adjustments; Return to supplier on posted, unreversed receipts that have a supplier, for users who can manage returns (see Supplier Returns).
-
On narrow screens the Lines table scrolls sideways and quantities are shown without trailing zeros (
300instead of300.0000), so received, accepted and rejected figures stay readable on a phone.
Edit a draft receipt
- Open the draft and click Edit. The page is titled Edit goods receipt.
- Change quantities, disposition, bins, dates or notes. Items can't be changed.
- Save draft ("Draft updated.") or Save & post.
Only drafts can be edited ("Only draft goods receipts can be edited."). Lot codes, expiry dates and serial numbers are not reloaded when you reopen a draft: enter them again on tracked lines before saving.
Reverse a posted receipt
Needs Create / post / reverse stock adjustments.
- Open the posted receipt and click Reverse (bottom).
- In Reverse goods receipt? — "Reversing appends opposite ledger entries from the original source. The original entries remain unchanged." — type a Reason (3–500 characters).
- Click Reverse. You see "Goods receipt reversed from its original ledger source."
The stock is taken back out at the original costs; the purchase order's received quantities fall back and its status returns to Partially received or Approved, reopening the backorder. Reversal shows REV-GRN-… and your reason.
Refused when some of the received stock has already been used ("Cannot reverse this receipt because downstream stock consumption exists on a received coordinate. Reverse the downstream source first.") or is no longer all there ("Cannot reverse this receipt because its stock is no longer fully available."), or when SolaCount mappings are missing. With a connection, three more protections apply to receipts that SolaCount has matched to a supplier bill:
| Message | Meaning |
|---|---|
| "This receipt quantity is already reserved or billed by another financial matching. Review the existing bill references before continuing." | The accountant has already matched the quantity to a bill. |
| "This receipt belongs to a posted supplier bill. Reverse the financial receipt matching and bill through the authorized Finance workflow first, or use the supplier-return workflow; then retry the receipt reversal." | The bill is posted. Either the accountant unwinds the bill, or you send the goods back with a Supplier Return. |
| "Financial receipt matching is in progress for this product and warehouse. Retry after matching finishes; contact the integration manager if it remains pending." / "Stock movements changed the reviewed valuation. Review the financial matching before continuing; no new receipt or valuation change was made." | A valuation check is running or the value changed; wait or ask the integration manager. |
If the result is not confirmed
If the connection drops while saving or posting from the form, a yellow notice reads "We could not confirm whether the change completed. Check the current status before submitting again." (or "The request could not be completed. Check your connection and review the page." if the draft saved but posting failed). The buttons stay disabled; click Check current status to open the receipt before trying again, so you don't receive the same goods twice.
Permissions
| Role | View | Receive against orders | Ad-hoc / change cost | Reverse | Warehouses |
|---|---|---|---|---|---|
| Owner, SolaStock Administrator | Yes | Yes | Yes | Yes | All |
| Legacy Stock Manager | Yes | Yes | Yes | Yes | Assigned |
| Inventory Manager, Warehouse Manager, Warehouse Operator | Yes | Yes (guarded) | No | No | Assigned |
| Inventory Viewer, accountant access | Yes | No | No | No | Assigned |
Receipts for other warehouses are hidden; acting on one is refused with "You are not assigned to this warehouse."
Worked example 1: full delivery
Gulf Aqua delivers PO-000042 (200 cartons WAT-24 at AED 18.00) to Dubai Main on 7 October.
- Khalid Rahman (Warehouse Operator, Dubai Main) opens
PO-000042→ Create GRN. Received 200, Accepted 200 are prefilled; Unit cost 18.00 is greyed out. - Notes "DN 55821", Bin
W-01. Save & post → Post.
GRN-000031 is Posted; Dubai Main gains 200 cartons (AED 3,600.00); PO-000042 becomes Received, Backorder —.
Worked example 2: short, damaged and quarantined delivery
PO-000044 orders 100 jars of Saffron 10g (SAF-10, lot + expiry) at AED 62.50 for Jebel Ali.
- Sara Khan (Inventory Manager, Jebel Ali) clicks Create GRN and ticks Blind receiving. Received/Accepted are blank.
- She counts 90 jars: types Received 90, then Accepted 86, Rejected 4 (broken seals), Disposition Quarantine because the label is unclear, Lot
SAF-2611, Expiry 2027-11-30. - Save & post → Post.
Results:
| Where | Result |
|---|---|
| Stock | Jebel Ali +86 jars, AED 5,375.00, lot SAF-2611 status Quarantined |
PO-000044 |
Received 86, Remaining 14, Backorder 14, Partially received |
| Supplier page | Posted goods receipts +1 |
- Quality check passes; the lot is released in Traceability. The other 14 arrive on 15 October via a second Create GRN, bringing the order to Received.
- Later Omar finds the second receipt was keyed against the wrong lot. Nothing was sold from it yet, so he (owner) Reverses it with reason "Wrong lot code"; the order returns to Partially received with backorder 14, and Sara receives it again.
How it connects
- Purchase Orders: receipts update received, remaining, backorders and status; reversals roll them back. See Purchase Orders.
- Suppliers: posted receipts drive lead time and on-time rate. See Suppliers.
- Current Stock, Stock Ledger, Traceability: stock, cost and lots/serials. See Current Stock, Traceability.
- Reports: Receiving Report. See Reports.
- Receiving requests, supplier returns, landed costs: see Receiving Requests, Supplier Returns and Landed Costs.
- SolaCount: Goods receipt posted posts Inventory / GRNI; the supplier bill entered in SolaCount clears GRNI. See SolaCount integration.
Tips and common problems
| Problem | Cause | Fix |
|---|---|---|
| New GRN shows a banner instead of a form | You are a guarded receiver. | Click Open purchase orders and use Create GRN on an approved order. |
| Unit cost greyed out | Costs come from the order for your role. | Ask the buyer to fix the order before approval. |
| Over-receipt blocked | Accepted more than remaining. | Accept only the ordered quantity. |
| Rejected goods still entered stock | Accepted was left equal to Received. | Set Accepted correctly; reverse and redo if posted. |
| Reversed receipt shows Posted in the list | The list shows the posting status. | Open it to see Reversed. |
| Lot lost after editing a draft | Lots/serials are not reloaded. | Re-enter them before saving. |
| Partial delivery | Normal. | Post what arrived; the rest stays on Backorders (or on the Receiving Request). |
| Goods must go back to the supplier | A reversal is for mistakes. | Use Return to supplier; see Supplier Returns. |
| Freight or duty arrived after posting | The receipt cost excludes it. | Add it with Landed Costs. |