Warehouse guide — Receive, inspect & complete returns
This guide is for warehouse / ops users processing returns once goods physically arrive.
Important:
- A return only changes inventory when you run Complete & apply.
- Before that point, statuses and quantities are informational / operational.
Completedis reached only after inventory posting succeeds.
Where returns come from
You can process returns that were:
- registered by the client as an Expected return (status Awaiting arrival)
- created internally using Process Customer Return (used when the warehouse is initiating the return without a pre-return)
Step-by-step (recommended flow)
- Find the return in Returns.
- Use Mark as Arrived when the parcel is physically received.
- Open the return and click Edit.
- Update the status as the return progresses:
- Arrived → Inspected when inspection is complete.
- For each line:
-
confirm Item
-
enter Qty received (what physically arrived)
-
set Condition / Reason
-
choose Disposition (restock / quarantine / scrap)
-
if the disposition requires it, select Warehouse and optionally Location
- only warehouses assigned to the client are available
- historical returns can still show an older warehouse value for audit clarity, but changing it must satisfy the current client warehouse assignments
-
add photos/attachments if helpful
-
- When everything is correct, run Complete & apply from the Returns list or return record.
Mark as Arrived is intentionally separate from Complete & apply:
- it stamps the physical arrival event
- it does not move inventory
- it keeps pre-arrival returns out of the processing queue until the parcel actually reaches the warehouse
If the action is blocked, read the posting-state message before retrying. Returns V1.5 refuses unsafe automatic posting instead of guessing.
If a historical return is already believed to be correct from an older manual process, an administrator can resolve it with Mark as Legacy Reconciled instead of forcing a stock movement.
Dispositions (what they mean operationally)
- RESTOCK: item becomes available inventory in the chosen (or auto-selected) location.
- HOLD / QUARANTINE: item is received into a quarantine-style status/location (not available).
- SCRAP: records disposal; does not add stock back.
Location notes:
- If Location is blank for restock/quarantine, the system will try to auto-place into a configured RETURNS / QUARANTINE area for that warehouse.
- If no suitable location exists, you must pick a location before completion.
Serialised items (if applicable)
For serial-tracked items (or items that require serials for allocation), serial entry is enforced on completion:
- Enter/paste serials (one per line) on the return line.
- Qty received must match the number of serials.
- Duplicate serials within the same return are rejected.
Common exceptions (how to handle)
Partial return (less received than expected)
- Set Qty received to what arrived.
- Leave Qty expected as-is (it records what was expected).
Over-return (more received than expected)
- The system will not post more than the remaining shipped-minus-already-posted quantity.
- If more physical units arrived than can be proven returnable, stop and escalate for review.
Wrong item returned
- Add a new line for the correct SKU and set Qty received.
- Set disposition appropriately (often quarantine) if it needs investigation.
Requires review / blocked posting
Automatic posting is intentionally blocked for cases such as:
- merged orders
- bundle-parent lines
- missing or mismatched order-line links
- serials that were not actually shipped on that order line
When that happens, the return moves to Requires review instead of forcing a stock change.
Legacy reconciled (historical admin resolution)
Use Mark as Legacy Reconciled only when all of the following are true:
- the return predates Returns V1.5 or another historical process handled the stock outcome
- you have reviewed the record and believe inventory is already correct
- no further inventory movement should ever be made from this return
The action requires:
- a reconciliation note
- explicit confirmation that no stock movement should occur
- the authenticated operator/admin identity, timestamp, and audit evidence
After that:
- Complete & apply is hidden
- the return is stock-affecting-field locked just like a posted return
- the return no longer appears in the unresolved Requires review queue
- the return still remains visibly different from a canonical Posted return
If the administrative classification was wrong, use Revert Legacy Reconciled. That only sends the record back to Requires review. It does not post inventory.
Complete & apply (creates stock movements)
Use Complete & apply when:
- items have physically arrived
- quantities/serials are correct
- disposition is decided for each received unit
This step:
- creates a durable posting attempt for audit and retry safety
- validates shipped quantity and serial eligibility before mutation
- creates inventory movement ledger entries (inventory adjustments)
- updates/creates inventory units for restock/quarantine
- marks the return Completed only after the posting transaction succeeds
If a return is already posted, a repeat click does not post stock twice.
After posting
Posted returns are inventory-complete records.
- You can still update Notes.
- You cannot change stock-affecting fields, lines, status, or delete the return.
- The same immutability rule also applies to Legacy reconciled returns.
Notifications (client emails)
Client notifications are designed to be sent after inspection (not on arrival).
See: Notifications — enabling and timing