Ask why physical stock never matches the system and, nine times out of ten, the answer starts at the receiving dock. Goods arrive, someone signs a challan, cartons get pushed onto the floor, and the record catches up hours or days later — if at all. Barcode GRN closes that gap by making receiving a scan-driven, validated process where every carton becomes a labelled, tracked pallet before it moves an inch into storage. This guide walks the full setup in Fast WMS, from purchase order to bin.
GRN stands for Goods Receipt Note — the document that records what actually arrived against what was ordered. For where receiving sits in the wider warehouse flow, see the core warehouse processes; for the feature itself, see GRN & inbound.
What GRN really is
A good GRN answers three questions at the dock, not later: did we get what we ordered (quantity against the purchase order), is it fit to store (disposition — OK, hold or damage), and where exactly did it go (which pallet, which bin). Barcode scanning is what makes all three fast and accurate: instead of typing item codes and counts, staff scan, the system validates against the order, and every unit ends up on a labelled pallet the rest of the warehouse can find.
1. Masters and barcode setup (one time)
Before your first receipt, set up the masters the process leans on:
- Items with their units and, importantly, pieces per pallet — the pack quantity Fast WMS uses to split a received quantity into pallets automatically.
- Suppliers / parties and, if you want directed put-away, per-supplier slotting rules for which bins their stock may go to.
- Storage locations (bins), including a staging area where pallets sit between receipt and put-away, plus your rack bins.
- A barcode label configured to print two Code 128 barcodes — Bin ID and Pallet ID — on a thermal printer. Fast WMS drives TSC thermal printers server-side, and can also produce PDF labels for any printer.
Handheld setup is equally simple: pair an Android barcode scanner or a Zebra/TSC device to the barcode hardware the mobile UI runs on, and log in to the scanner interface.
2. Import the purchase order or ASN
Receiving starts from an expectation. Import the purchase order or Advance Shipment Notice (ASN) — typically from an Excel sheet or straight from Tally — so Fast WMS knows what is due. Duplicate carton or LPN numbers are rejected on import, which stops the same pallet being received twice. The order now sits open, waiting to be received against.
3. Gate entry
When the vehicle arrives, record a gate entry: the vehicle, transporter, challan and invoice details go into an auto-numbered inward gate pass. This is the audit anchor — every pallet received in this visit links back to the gate pass, so you can always tie stock to the truck it came in on. It also separates “arrived at the gate” from “received into stock,” which matters when goods sit on the dock awaiting inspection.
4. Receive against the order, with disposition
Now the core step. On the desktop or the handheld, receive against the PO/ASN. Fast WMS enforces a pending-quantity check — ordered minus already received — so you cannot over-receive against an order. For each line you set a disposition:
- Fit to store
- Pallet created as available (R)
- Eligible for put-away
- Awaiting inspection / QC
- Pallet created on hold (H)
- Blocked from picking until released
- Received but not sellable
- Pallet flagged damage (D)
- Segregated for return / scrap
- Carton ↔ loose conversion
- Counts validated on scan
- Handheld auto-posts on scan
The receipt creates a GRN document linked back to both the purchase order and the gate pass.
5. Pallet and label creation
On receipt, Fast WMS splits the received quantity into pallets using the item’s pieces-per-pallet, and writes each one as a uniquely numbered License Plate (LPN) at the staging bin, carrying its item, quantity, batch/LPN, and production/expiry dates. It then prints a pallet label bearing the two Code 128 barcodes — Bin ID and Pallet ID — plus item, quantity, dates and the carton/loose split. That label is what makes every downstream scan possible: put-away, transfer, pick and dispatch all read it. If a pallet was received on hold, this is where you would later release it (H → R) once QC passes.
6. Put-away — and the moment stock actually commits
Here is the detail most people miss. Scanning a pallet into a rack bin (put-away) creates a bin-transfer document but does not yet move inventory. Stock commits only at put-away confirmation: the staging location is closed, a new row is opened at the rack bin, and the quantity moves in the perpetual stock balance from staging to destination. In other words, goods are truly on-hand at confirmed put-away — not at receipt, and not at scan. That single discipline is what keeps book stock honest, because nothing is counted as available until it is physically racked and confirmed.
The full flow at a glance
| Step | What happens | Stock effect |
|---|---|---|
| Import PO / ASN | Expected inbound loaded from Excel or Tally | None |
| Gate entry | Vehicle, challan, invoice recorded; inward gate pass | None |
| Receive (GRN) | Scan against order; pending-qty check; disposition | None |
| Pallet + label | Qty split to LPNs at staging; Bin ID + Pallet ID label | Staged |
| Put-away | Scan pallet into a rack bin; bin-transfer created | Not yet moved |
| Put-away confirm | Staging closed, rack bin opened, balance moved | Committed — on hand |
Once you have the masters set up, a clean receipt really does run from imported PO to confirmed bin in a few minutes per delivery — every pallet labelled, validated and traceable.
Turn the receiving dock from your biggest source of stock error into your most controlled step.
Fast WMS receives against the PO with a pending-quantity check and disposition, auto-creates labelled pallets, and commits stock only at confirmed put-away — on the desktop or a handheld scanner, with Tally and GST in the back office.
Frequently asked questions
See barcode GRN on your own goods
A 30-minute demo receiving your items against a real PO — scan, disposition, pallet label and confirmed put-away, live on screen.
