Skip to content

Audience

Warehouse, Procurement, Owner, Admin

Receiving and putaway

Receiving counts what arrived at the bay against a purchase order. Putaway moves that stock to a storage location. Between them sits Received on Dock (ROD): counted, in the building, not yet put away, not yet available for sale. This chapter explains receipts, ROD, LPNs, putaway, and the ASN that plans a delivery in advance.


1. The short version

  1. Receive against a purchase order. Only ISSUED or PARTIALLY_RECEIVED POs are offered. Over-receiving is blocked: received cannot exceed ordered remaining.
  2. Receipt posts to ROD (Received on Dock) when ROD posting is on, else to ON_HAND. It decrements ON_ORDER (or ON_WAY when the PO’s container is in transit or arrived at depot).
  3. Putaway moves ROD to a storage location and makes the stock Available for Sale (AFS). Putaway tasks are created by approving a task suggestion, not automatically at receipt.
  4. LPNs (pallets) are created by palletizing a receipt. A putaway line can sync the pallet’s location.
  5. ASN is a pre-receipt plan. It never moves stock. Receiving still happens against the PO.
  6. Damaged has no receive-time input. A delivery with damaged units is received as good stock, then moved to DAMAGED via putaway or transfer.

2. Receiving: the Receipts list

Open Warehouse Operations > Receiving. The context label reads “Inbound Ops”, the heading “Receiving”, and the intro “Review history of stock receipts, batches, and discrepancies.” Button: Receive Goods.

The list columns are Receipt #, Received At, Purchase Order, Supplier, Received By, Items Count, Status, Actions.

  • Loading: “Loading receipts…”. Empty: “No receipts logged” plus “Receive goods from suppliers to record incoming shipments.”
  • Clicking a receipt number opens the receipt detail. Clicking the PO number opens the PO.

3. Receiving: the receipt form

Select the purchase order

Section 1: “1. Select Purchase Order”. Field “Purchase Order *” with a “Choose a Pending PO” placeholder. Each option shows “{poNumber} ({supplier}) - {status}”. “Purchase Order is required”. The form also shows Supplier, Supplier Code, PO Status, Expected Date.

Only ISSUED or PARTIALLY_RECEIVED POs are offered. Any other PO status is rejected: “Cannot receive items for PO in {status} status”.

The form checks customs clearance readiness for the PO’s container and shows a readiness banner linking to Inbound Logistics > Customs. If clearance is missing or not released, a “Customs not released” confirm dialog appears with Post Receipt to post anyway.

Count and inspect

Section 2: “2. Itemized Count & Inspection”. Instruction: “Input the quantities actually counted at the bay. Unentered items will default to 0.”

Line columns: Product, Ordered, Received Previously, New Received *, Batch Number, Expiry Date, Made In, Lots.

  • Quantities are entered as master cases plus loose pieces (when the product uses case receiving) with a per-line hint “Use {caseQtyInBase} pcs per master case or difference only (<{caseQtyInBase})”.
  • “Receipt Log Notes” textarea, placeholder “Write details about the delivery vehicle, carrier, seal health, or discrepancies…”
  • Submit: Complete Receipt / “Processing…” button. Cancel link back to the list.
  • Confirm dialog: “You are about to complete goods receipt for PO {po}. The following quantities will be posted to ON_HAND: …” plus “Please confirm this matches what was physically counted at the bay.” The dialog names ON_HAND even when ROD posting is on and stock actually posts to Received on Dock.
  • Success: “Goods received successfully under GRN {receiptNumber}”, then the app shows the receipt detail. Error fallback: “Error logging goods receipt”.
  • A receipt line for a product not on the PO is rejected: “Product with ID {id} is not part of PO {poNumber}”.
  • A receipt with no line with quantity is rejected: “At least one receipt line with quantity is required”.

Lot, batch, expiry

  • Lot-tracked product gate: “Lot-tracked product {label} requires batch number and expiry date on receive confirm.” Non-lot-tracked products are unchanged. The product-form flag “Require batch number and expiry on every receive confirm. Existing stock is not rewritten.” is this lot-tracked flag (chapter 4).
  • A line can split into multiple lots (batch, expiry, origin each). Lot sub-row quantities must sum exactly to the line total. Over: “Lot sub-row quantities exceed the received line total ({detail})”. Short: “Lot sub-row quantities are short of the received line total ({detail}). Adjust lots or received quantity before confirm.” Each lot sub-row needs quantity greater than 0 (“Each lot sub-row must have quantity greater than zero. Remove empty sub-rows instead.”). Duplicate batch/expiry/origin in the same row is rejected (“Duplicate lot combination in the same product row. Merge into one sub-row per unique batch/expiry/origin.”).
  • A lot row with batch/expiry but no quantity is rejected at confirm: “Lot {n} has batch/expiry but no quantity. Enter a quantity or clear the lot identity.”
  • Expired lots: the form says receiving requires a supervisor override with a reason. “You need Warehouse Operations approve permission to override.”
  • Short shelf-life: “One or more lots expire within the short shelf-life window (24 months). Acknowledge each affected lot inline before posting.”

Over-receive, under-receive, damaged

  • Over-receive is BLOCKED, not allowed. Received (base pieces) must not exceed ordered remaining (ordered minus previously received): “Received quantity exceeds ordered remaining ({received} pcs > {remaining} pcs remaining)”.
  • Under-receive: receiving less than ordered leaves the PO PARTIALLY_RECEIVED. The remaining quantity stays open for a later receipt. No variance record is created. The shortfall is just unreceived quantity.
  • Damaged: the receipt form has NO damaged-quantity input. There is no way to mark part of a receipt as damaged at receive time. DAMAGED is a stock dimension reachable only via putaway to a DAMAGED-typed location or via transfers.

4. What posting does

Receipt status is COMPLETED immediately on create. Receipt statuses: DRAFT, COMPLETED, CANCELLED.

Receive dimension: ROD posting on posts to RECEIVED_ON_DOCK, else to ON_HAND. Company default for ROD posting is on. Label: “Received on Dock (ROD)” or “On Hand”.

Posting per line:

  1. Decrement ON_ORDER (or ON_WAY when the PO’s container is in transit or arrived at depot), capped at the bucket balance so the ledger never goes phantom.
  2. Increment the receive dimension (ROD or ON_HAND) by the full received quantity.

Movement notes: ON_ORDER decrement “Receipt {n}: Decrementing On Order”, or “Receipt {n}: Partial On Order decrement (stock already consumed)” when the bucket held less. Same pattern for ON_WAY. The receive movement note names the receipt and the receive dimension (Received on Dock, or On Hand).

PO status after receipt: RECEIVED when every line is fully counted (received at least ordered, pieces and cases); else PARTIALLY_RECEIVED when at least some was received.

Cancel a receipt

Cancel Receipt on COMPLETED receipts: confirm “Are you sure you want to cancel receipt “{n}”? This will subtract received items from stock and revert the associated purchase order status.” Only COMPLETED receipts can be cancelled (“Only COMPLETED receipts can be cancelled”). Success: “Receipt cancelled and stock levels reverted successfully”.

Cancel reversal is capped to stock still present in the original receive dimension (prevents phantom entries when putaway already cleared ROD or on-hand). Cancel also restores ON_ORDER by the amount originally decremented, and recomputes the PO status.


5. Receipt detail (GRN)

The receipt detail: context “Inbound Ops”, heading “Receiving”, subtitle “View and print goods receipt note (GRN)”. Header shows “DockingWare WMS”, receipt number, “Goods Receipt Note (GRN)”, status, received date.

  • Fields: Associated PO (link), Supplier, Received By, Receipt Notes (“{notes}”).
  • Received Items Manifest: Product, Pieces Received, Cases Received, Batch / Lot, Expiry Date, Made In, per-lot rows, “Product subtotal” (“{total} Pcs”).
  • “Document generated by DockingWare WMS”, “Signature: __________________________”, “Warehouse Operator Receipt Stamp”.
  • Buttons on COMPLETED receipts: Palletize (create LPNs) (only when unpalletized quantity remains), Print LPN Labels (only when the receipt has pallets), Print Ticket, Cancel Receipt.
  • Putaway card (COMPLETED): “Putaway task ready” plus “Secondary step after palletize when LPNs are required. Confirm storage locations to post received stock from ROD to AFS.” plus Open Putaway Task. Or “Putaway task waiting” plus the palletize-before-putaway hint when entry is blocked.
  • The receipt detail also shows a task-suggestions panel: “Nothing is created until you approve selected suggestions.” plus “Approve selected (N)”. Putaway tasks are created by approving a suggestion, not automatically at receipt.

6. Putaway tasks

Open Warehouse Operations > Putaway. The context label reads “Inbound Ops”, the heading “Putaway Tasks”, subtitle “ROD to AFS”. Filters: All statuses, Open, Assigned, In Progress, Completed, Cancelled. Columns: Task #, Title, Status, Source, Lines, Assigned, Updated, Actions. Loading: “Loading putaway tasks…”.

A putaway task belongs to one receipt. Task statuses: OPEN, ASSIGNED, IN_PROGRESS, COMPLETED, CANCELLED, EXCEPTION.

The putaway detail shows “Putaway”, title, task number, description, Refresh, Complete Putaway Task, “Received on Dock (ROD) to AFS”, receipt label. Putaway Lines: SKU, Description, Expected, Completed, Storage Location, Putaway. Empty: “No lines on this putaway task.”

Confirm a line

Pick a storage location (“Select AFS location…”), confirm. Success: “Putaway line confirmed”. Error when no location: “Storage location is required”.

  • Location must exist in Location Master (“Location ‘{code}’ does not exist in Location Master”) and be ACTIVE (“Location ‘{code}’ is inactive in Location Master”). Location must be in the PO’s warehouse.
  • Confirming a line moves stock: source ROD (or ON_HAND when ROD posting is off) to the destination dimension from the location (below). First confirm moves the task OPEN/ASSIGNED to IN_PROGRESS (“Putaway started”).
  • Confirming an already-confirmed line is rejected: “Putaway line is already confirmed”. Confirming a line on a COMPLETED or CANCELLED task is rejected (“Putaway task is already {status}”). A line without a product is rejected (“Putaway line is missing product reference”).
  • If the receipt has a pallet (LPN), confirming a putaway line syncs the pallet’s location to the confirmed location.

Destination dimension from location

  • QUARANTINE: type QUARANTINE, zone QUARANTINE / QC-HOLD / INSPECTION.
  • DAMAGED: type DAMAGE or zone containing DAMAGE.
  • ON_HAND (“Pick Face (AFS)”): code OH or OH-, name ON-HAND, type PICK_FACE / FORWARD / RECEIVING / DOCK / STAGING, and similar.
  • ON_STORAGE (“Bulk Storage (AFS)”): type or zone STORAGE / RACK / BIN / BULK.
  • MULTI_WH locations rejected (“Multi-warehouse locations are not supported as putaway destinations”).
  • Dock, receiving, and staging locations are BLOCKED as putaway destinations: “Location ‘{code}’ is a receiving/staging location and cannot be used as a putaway destination”. Blocked: type or zone DOCK / RECEIVING / STAGING, code starting DOCK, name containing “RECEIVING DOCK”.

Complete the task

Completing the task requires all lines confirmed, else “{n} putaway line(s) still need storage location confirmation”. Success: “Putaway task completed”. Completing an already-COMPLETED task: “Putaway task is already completed”.

Palletize-before-putaway gate

When the company requires palletize before putaway and a line has no LPN, putaway is refused with 409 “Palletize required before putaway: this receipt has LPNs or unpalletized quantity. Link an LPN (palletId) on the putaway line, or palletize remaining qty first.”

Receipt detail banner (when the gate applies): “Create LPNs at the dock before putaway so stock is located for replenishment and pick.” plus “Next step: Palletize” / “Open Palletize”.

The app does not suggest a storage location on a putaway task. The operator chooses one.


7. LPNs (pallets)

Open Inventory > Pallets / LPN. Columns: Select, LPN Number, Status, Location, SKUs / Items, Qty (Cases / Pcs), References, Pallet Details, Actions. Loading: “Loading pallets…”. Empty: “No pallets found” plus “Click “Palletize Inventory” to package receiving items into a LPN.”

A pallet row shows pallet number, status, current location (default “Receiving Dock”), SKU count, quantity (base plus bucket labels), references “PO: {po}”, “RCV: {receipt}”, “CON: {container}”, “Loose Floor Stock”, “Cartons: {n}”, “Wt: {w} {uom}”, “Vol: {v} cbm”, “No dims recorded” when absent.

Pallet statuses: RECEIVING, PUTAWAY, STORED, PICKED, SHIPPED, EMPTY.

Pallet detail

Pallet number, status, current location (default “Receiving Dock Floor”). Sections:

  • Pallet Specifications: “Missing LPN fields filled from SKU Management”: Stacking Pattern, Total Layers, Units / Layer, Carton Count, Gross Weight, Net Weight, Dimensions (L x W x H), Volume, Scannable Barcode, Scannable QR, Created At, Last Updated, Audit Notes.
  • Pallet Manifest Lines: SKU, Product Name, Qty (Pcs), Packaging, Batch #, Expiry Date, Made In, Condition, Actions. Total base pieces shown.
  • Traceability References: Purchase Order (or “None”), Receiving Ticket (or “None”), Container (or “None”). Related Transfers (role labels). Movement History: “No physical movements logged.” when empty; rows show movement type, date, from location (default “Dock floor”), to location, “Related Transfer: {notes}”, “Moved by: {name or ‘WMS Operator’}”.

Create LPNs

LPNs are created by palletizing a receipt (Palletize (create LPNs) on the receipt detail; dialog: “Creating LPNs…” / “Create {n} LPNs”, “Select at least one LPN with quantity”).

Pallet-level putaway (from the Pallet detail, not the task)

Pallet detail Directed Putaway: “Assign storage location” plus “Enter the storage rack / location where this LPN pallet is being placed. Stock balances will transfer from receiving dock to storage.”

Pallet putaway moves the pallet’s stock from On Hand to Bulk Storage, marks the pallet STORED, and records the move in its Movement History (“LPN Putaway {cases} cs / {pieces} pcs to Rack {code}”).

Checks: pallet already STORED, “Pallet is already putaway to a storage location”. Location capacity: gross weight over max, “Pallet gross weight ({w} {uom}) exceeds location max weight capacity ({max} {uom})”; volume over max, “Pallet volume ({v} cbm) exceeds location max volume capacity ({max} cbm)”. ON_HAND short, “Insufficient stock ON_HAND for product SKU/ID {id}. Cannot execute putaway.”

Note: pallet-level putaway moves ON_HAND to ON_STORAGE always. With ROD posting on, pallet putaway can fail with “Insufficient stock ON_HAND” because the stock sits in ROD. Use the putaway task (section 6) for ROD stock.

Relocate a pallet

Relocate pallet / Full LPN relocation: “Moves the entire LPN to a new location. Inventory balances stay with this pallet; only physical location changes.” Partial or case moves use the Transfer flow (Transfers module or mobile PDA Transfer).


8. ASN (Advance Shipment Notice)

Open Inbound Logistics > ASN. The list heading is “Advance Shipment Notices”, intro “Pre-receipt ASN documents linked to containers and purchase orders.” Loading: “Loading ASNs…”. Empty: “No advance shipment notices found.” Columns: ASN #, Status, Container, Expected Arrival, Lines.

ASN statuses: DRAFT, CONFIRMED, CANCELLED.

ASN form

Title “Create ASN” / “Edit ASN”, intro “Create or edit an Advance Shipment Notice linked to a container and purchase order.” Fields: Container * (“Select container”), Purchase Order * (“Select purchase order”), Inbound Shipment (“Derived from container when assigned”), Expected Arrival, Notes, Expected Lines. Links: “Create a PO”, “create a container”.

Expected Lines: “Search and Add Product”, per-line Product, Ordered, Received, Open, Expected *. Columns show SKU, PO number, quantity ordered/received/open in Cs/Pcs. “Apply suggested lines?” dialog with Cancel / Merge / Replace.

ASN detail

Status, ASN number, notes, Container, Inbound Shipment, Purchase Order, Expected Arrival. Expected Lines: SKU, Description, Expected PCS, Expected CASE. Also Landed Costs (LC #, Status, Container, Total), Receiving Schedules (RS #, Start, Status), Inbound Documents (IDN #, Type, Status), Customs Clearance (CC #, Entry #, Status), Arrival Notices (“Add arrival notice”, “No arrival notices linked to this ASN.”, AN #, ETA, Status, Release).

ASN does NOT mutate stock. Receiving still happens against the PO. The ASN is a pre-receipt plan. The receipt form takes a PO, not an ASN. No code path posts stock from an ASN.

ASN links: container (optional), purchase order (optional), inbound shipment (optional), supplier (optional). Lines link to PO lines optionally.

Inbound shipments, containers, receiving schedule

  • Shipments (Inbound Logistics > Shipments): heading “Shipments”, intro “Freight bookings linking purchase orders to containers.” Filters: All statuses, Draft, Booked, In Transit, Arrived, Cancelled. Columns: Shipment #, Status, Mode, Carrier, POs, Containers, ETA. Loading: “Loading shipments…”. Empty: “No inbound shipments found.” Shipment statuses: DRAFT, BOOKED, IN_TRANSIT, ARRIVED, CANCELLED. Modes: OCEAN, AIR, RAIL, TRUCK.
  • Containers: statuses IN_TRANSIT, ARRIVED_DEPOT, UNLOADED, CANCELLED. A PO whose container is IN_TRANSIT or ARRIVED_DEPOT decrements ON_WAY (not ON_ORDER) on receipt.
  • PO detail “Inbound Shipment” panel: linked shipment number plus status plus carrier, or “Not linked to an inbound shipment.” / “No carrier” (chapter 5).
  • Receiving Schedule (Inbound Logistics > Receiving Schedule): heading “Receiving Schedule”, intro “Dock appointment planning linked to inbound shipments.” Filters: All statuses, Draft, Scheduled, Checked In, Completed, Cancelled. Columns: RS #, Start, Dock, Links, Status. Statuses: DRAFT, SCHEDULED, CHECKED_IN, COMPLETED, CANCELLED.
  • Arrival Notice statuses: NOTIFIED, IN_TRANSIT, ARRIVED, CLOSED, CANCELLED.

9. Who can do what on the receiving and putaway screens

The permission registry is the authority for this table.

Opening a screen needs view access to its area: Receiving, Putaway, and Scanner need Warehouse Operations; ASN, Shipments, Containers, and Receiving Schedule need Inbound Logistics; Pallets / LPN needs Inventory. Creating receipts, ASNs, and pallets needs create access in the same area.

Sidebar visibility: the Warehouse Operations section shows for roles that can open Warehouse Operations screens. The Inbound Logistics section shows for roles that can open Procurement screens, not for everyone with Inbound Logistics access. The Inventory section shows for roles with Inventory access.

RoleCan openCan do
OWNERReceiving, Putaway, Pallets / LPN, Scanner, ASN, Shipments, Containers, Receiving ScheduleWarehouse Ops view, create, execute, approve, configure, admin; Inbound view, create, edit, approve, admin, configure; Inventory view, create, edit, approve, export, admin
ADMINSame as OWNERSame as OWNER
MANAGERReceiving, Putaway, Pallets / LPN, Scanner, ASN, Shipments, Containers, Receiving ScheduleWarehouse Ops view, create, execute, approve, configure; Inbound view, create, edit; Inventory view, create, edit, approve, export. Can create receipts, confirm putaway lines, complete putaway tasks, create ASNs.
WAREHOUSE_SUPERVISORReceiving, Putaway, Pallets / LPN, Scanner (Warehouse Ops section). NO Inbound Logistics section (no Procurement view) and NO ASN screen (no Inbound Logistics access)Warehouse Ops view, execute, approve, configure: can receive, confirm putaway lines, override expired lots (approve), complete putaway tasks. Inventory view, create, execute, approve: can also open Pallets / LPN and create pallets.
WAREHOUSE_OPERATORReceiving, Putaway, Pallets / LPN, Scanner (Warehouse Ops section). NO Inbound Logistics section, NO ASN screenWarehouse Ops view, execute: can receive, confirm putaway lines, complete putaway tasks. Cannot override expired lots (no approve). Inventory view, execute: can also open Pallets / LPN.
INVENTORY_CLERKPallets / LPN only (Inventory section). NO Warehouse Ops section, NO Receiving/Putaway routesInventory view, create, execute, approve: can view pallets, create pallets. Cannot receive or putaway.
PROCUREMENT_MANAGERInbound Logistics section (via Procurement view): ASN, Shipments, Containers, Receiving Schedule. NO Warehouse Ops section, NO Receiving/Putaway routesInbound view, create, edit: can create/edit ASNs. Cannot receive or putaway.
ACCOUNTING_MANAGERNO Warehouse Ops section, NO Inbound Logistics section (no Procurement access), NO Receiving/Putaway screens. Inbound Logistics view only: can open the ASN screen from a direct link, but the sidebar does not show the section.Inbound Logistics view only. Cannot receive, putaway, or create ASNs.
ANALYSTInbound Logistics section (shows with Procurement access) but NO ASN screen (no Inbound Logistics access). Inventory section with Pallets / LPN (view only). NO Warehouse Ops section, NO Receiving/Putaway screensProcurement view/export; Inventory view/export: can look at pallets and inventory data but cannot create anything. No Warehouse Ops or Inbound Logistics access.
SALES_MANAGERNone of these screensNo access on Warehouse Ops, Inbound Logistics, or Inventory.
MARKETPLACE_MANAGERNone of these screensNo access on Warehouse Ops, Inbound Logistics, or Inventory.
READ_ONLYReceiving, Putaway, Pallets / LPN, Scanner (Warehouse Ops view), ASN (Inbound view), view onlyWarehouse Ops view; Inbound view; Inventory view. Cannot create receipts, confirm putaway lines, complete tasks, or create ASNs.

Expired-lot override needs Warehouse Operations approve: OWNER, ADMIN, MANAGER, WAREHOUSE_SUPERVISOR. WAREHOUSE_OPERATOR cannot override expired lots.


10. Quick answers

I cannot receive against a PO. Only ISSUED or PARTIALLY_RECEIVED POs are offered. DRAFT and CANCELLED POs cannot be received.

The receipt form blocks my quantity. Received cannot exceed ordered remaining. Reduce the quantity, or check Received Previously for what is already counted.

I received less than ordered. The PO stays PARTIALLY_RECEIVED. The rest stays open for a later receipt. No variance record is created.

I received damaged units. There is no damaged input on the receipt form. Receive the delivery as good stock, then move the damaged units to a DAMAGED location via putaway or transfer.

The stock is received but not sellable. It sits in Received on Dock. Put it away to a storage location. Putaway moves ROD to AFS.

There is no putaway task. Putaway tasks are created by approving a task suggestion on the receipt detail (“Nothing is created until you approve selected suggestions.”). Approve one, then open the task.

Pallet putaway says insufficient ON_HAND. With ROD posting on, stock sits in ROD, not ON_HAND. Pallet-level putaway moves ON_HAND only. Use the putaway task for ROD stock.

I cannot open Pallets. Pallets need Inventory access. Procurement Manager, Accounting Manager, Sales Manager, and Marketplace Manager have none. Ask an admin.

I cannot open ASN. ASN needs Inbound Logistics view. Warehouse roles have no Inbound Logistics access. Procurement Manager can create and edit ASNs.