Pick Lists — SanadiqCloud
Product version: 1.0.0+1
Last updated: 2026-10-14
Audience: Tenant Owners, Tenant Employees, Regular Users
A. What are Pick Lists?
A Pick List is an inventory issue document. An authorized user takes one or more items from a source bin in a tenant inventory.
Two creation paths:
- Sale fulfillment — saving a draft sale asks inventory to create a pick list linked to that sale. Stock is reserved at create, then issued when the pick list is completed. Confirming the sale does not issue stock again.
- Standalone / internal — created from Inventory for operational use (production, samples, damaged goods, etc.), not a customer sale and not a bin-to-bin transfer.
The document answers: who took what, from where, when, and why?
There is no destination bin. Issued items leave on-hand inventory.
Pick lists never use a pool held by an employee (custody stock): creating, adding a line from, or completing a pick list on such a pool is refused. Sales from a representative's own stock issue it directly, without a pick list.
| Operation | Purpose |
|---|---|
| Sale | Customer sale; warehouse fulfills via a linked pick list (reserve → complete/issue), then sales confirms commercially |
| Transfer | Move stock between inventories (source bin → destination bin) |
| Bin transfer | Move quantity between bins inside one inventory (on-hand unchanged) |
| Adjustment | Correct on-hand quantity (approve updates stock) |
| Pick List | Issue stock from a source bin (sale-linked or internal); on-hand decreases on complete/issue |
Product-facing name remains Pick list. Internally it is an inventory issue (transaction_type=issue, reference_type=pick_list).
Sale-linked pick lists use reference_type=sale / the sale id. Standalone lists may use other optional references without becoming a transfer.
B. Status lifecycle
Happy path:
Draft → Completed (issued)
↘ Cancelled
The same user who created the pick list can Issue it. There is no second-person approval and no separate picking or packing step.
Each line's requested quantity is reserved when the line is saved (draft), so no other document can take that stock. Complete releases the reservation and issues the stock.
| Status | Meaning |
|---|---|
| Draft | Editable header and lines. Requested quantities are reserved; on-hand is not reduced. Issue is allowed from here. |
| Completed | Requested quantity of every active line issued from its source bin; ledger rows written; reservations released |
| Cancelled | Reservations released; no issue |
Inventory quantity is reduced only on Issue (complete), not when the pick list is created.
C. Viewing the list
Browse / manage: Warehouse hub → Explore inventory → Pick lists (/inventory/pick-lists).
Create from an item: open an inventory item → Operations → Create pick list. Inventory and the stock line are locked (same pattern as transfer). You choose source bin and quantity. There is no destination bin.
Without a source bin, the line draws from unassigned stock (on-hand minus allocated) when it covers the quantity, otherwise from the first bin that does. One line never splits across bins.
Filter by status and search; permission inventory:pick_list:read required.
D. Creating a Pick List
Requires inventory:pick_list:create.
From the list FAB (multi-line) or item Operations (one locked line):
- Inventory — locked when opened from item detail.
- Issued by — the signed-in user (read-only).
- Optional reason (purpose: production, quality, maintenance, … — free text), reference, and notes.
- Each line: stock item, source bin (bins that hold this item), quantity.
- Save → status Draft.
Source bin lists bins where the item has an allocation. Leave source as “Assign later” to let the system choose: unassigned stock first, then the first bin that covers the quantity.
E. Workflow actions
Requires inventory:pick_list:update.
| Action | From | Effect |
|---|---|---|
| Issue / Complete | Draft | Reduce on-hand from the source bin by each active line's requested quantity; write issue ledger rows; release reservations |
| Cancel line | Draft | Soft-cancel one line with a reason; its reservation is released and nothing is issued for it |
| Cancel | Draft | Release reservations; nothing is issued |
Insufficient stock is rejected; inventory is unchanged.
F. Permissions
| Permission | Ability |
|---|---|
inventory:pick_list:read |
List / detail / statistics |
inventory:pick_list:create |
Create pick list |
inventory:pick_list:update |
Edit draft, lines, issue, cancel |
inventory:pick_list:delete |
Remove draft lines (where exposed) |
New organizations start with full pick-list permissions on Owner, Administrator, and Inventory Manager; Warehouse Clerk can read, create, and update (through completion); Sales Clerk and Viewer can read. Starter roles can be changed by the owner, so check Team > Roles for your organization. The API enforces these permissions; hiding a button is not enough.
G. Print
Detail → print produces a pick list / inventory issue PDF: id, date, issued by, reason, source inventory/warehouse, lines with quantity and source bin. No destination bin.
H. API (gateway)
Prefix: /api/inventory/v1/pick-lists
POST /— create (optionally with items; optionalreason; lines takephysical_location_idonly)GET /,GET /statistics,GET /{id}PUT /{id}— draft update (includingreason)POST /{id}/complete|cancel- Line routes under
/{id}/items
OpenAPI: inventory service /docs.
I. Related docs
- Transfers — inter-inventory moves (source and destination bins)
- Adjustments — quantity corrections
- Physical Locations — bins
- Transactions — ledger (
issuerows withreference_type=pick_list) - Overview — hub navigation