Scanner workstation

Overview
On a handheld, a person decides what they are doing first — and then sees exactly one step. That is why the scanner area starts with tiles instead of a list: a list assumes an overview you do not have standing at a cart.
Five kinds of work are offered: picking, packing, counting, replenishment, put-away — plus free stock transfer. Every tile leads to a process that genuinely exists.
The area is not a mobile second path: it books through the same endpoints as the desktop. A second path would be a second place where stock bookings and delivery progress could drift apart.
Core tasks
Picking. Only ever one line is shown: next bin, next product, next quantity. The walking order comes from the server, derived from the warehouse layout — the interface does not sort by itself. Every pick goes through a queue: if the network drops in the aisle, the report is not lost and is booked exactly once later on.
Packing. Identify, scan, parcel, complete — the same sequence as at the pack station. The weight remains a field here, because the scale sits at the pack station, not on the handheld.
Counting. Stock take, bin by bin. This screen deliberately does not use the queue: a count line is written with the revision that was read before it, and that is exactly how the server detects a second person counting the same bin. A report arriving minutes later would carry a stale revision; waving it through would silently overwrite the other person's number. So offline you do not count, you wait. The expected quantity is not hidden but not delivered at all (blind counting), see Stock takes.
Put-away. The work stock is the unlocated quantity — goods that are in warehouse stock but do not sit in any bin. That is either a fresh arrival or a leftover from before bin management. The suggested bin is a recommendation, not an instruction: what gets booked is the bin actually scanned.
Transfer. Bin to bin, without an order: the person at the rack decides that something belongs elsewhere. Stock itself does not change — only its distribution. More than what sits in the source bin is rejected.
Confirm replenishment. The planned counterpart to the free transfer — described under Replenishment.
Fields in detail
On the device the scan is the main input: the barcode decides what happens — that is why there are no menus. Next to it stands only what cannot be scanned: a quantity, a reason, a weight.
Two routes write fields of a record — counting and packing. The others report an operation: their entries are checked and booked, but not stored as a field.
Counting — the count line
| Field | Required | Values / format | What it does |
|---|---|---|---|
Counted countedQty | yes | whole number ≥ 0 | The actual stock at the bin. On a blind count the target value is not hidden but not delivered at all — otherwise it would sit in the network trace and the promise "blind" would be none. |
Revision read version | yes | number from the line read before; never typed | The optimistic lock. Two people counting the same bin is the normal case: without it the second would silently overwrite the first, both numbers would look plausible and the wrong one would win. With it the second gets a message and counts again. That is why counting deliberately does not use the queue — a number handed in minutes later would carry a stale state. |
Set through the interface and automation only, with no mask on the device or at the desk:
| Field | Values / format | What it does |
|---|---|---|
batchRef | text | The batch counted, where the line is batch-managed. |
locationRef | text | The bin the count refers to. |
note | text | A remark on the count. |
Packing — the packing session
| Field | Required | Values / format | What it does |
|---|---|---|---|
Scan the order or pick list scan | yes | the number exactly as printed on the slip | Opens the packing session or finds the open one again — a second scan of the same shipment returns the same session. A collective pick list covering several orders is ambiguous and is rejected rather than guessed. This step needs the network: without a session there is nothing to scan. |
Carrier carrierPluginKey / service service | no | a configured carrier and its product | What is shipped with. Passed when completing; the handheld does not ask for it, the default applies there. Both are chosen at the pack station. |
The remaining entries per route
These entries are inputs of an operation, not fields of a record — they are checked and booked, not stored.
| Route | Entry | Required | What it does |
|---|---|---|---|
| Picking | Picked qty | yes, pre-filled with the target | How much really sits in the trolley. Stock is not booked here — the goods are then in the trolley, not with the customer. |
| Picking | Scan the article | no | Confirms the pick. Empty means "confirmed by button" (gloves, a damaged label); the article itself is checked at the pack station, where the check is the last one before the customer. |
| Picking | Scan the batch batchRef | no | Only for batch-managed goods. The suggestion follows the earliest expiry; a deviating scan wins — a suggestion, not an instruction. |
| Shortage | Reason reason | yes | shortage · not_found · damaged · expired · skipped. The quantity already picked stays, the rest becomes a clarification case. There is no silent skipping — otherwise the customer is the first to notice the gap. |
| Shortage | Note note | no | Free text, max. 255 characters. |
| Alternative bin | Bin binCode | yes | Moves the pick to another bin holding the same goods. No stock is moved — the task only says where to reach. The alternative bin comes before the shortage: an empty bin is usually not a missing stock but another route. |
| Packing | Article code | yes | Article number, EAN or packaging EAN — a packaging scan books its contents, n pieces with one scan. Goods that do not belong to the order are rejected. |
| Packing | Weight (g) weightGrams | depends on the weighing rule | Grams per package. With the weighing rule required it is mandatory; otherwise a stable reading from the workplace scale or the calculated weight from the article weights steps in. An entered value always wins. The scale sits at the pack station, not on the handheld — mobile means typing it. |
| Put-away | Target bin binCode + quantity qty | yes | Books unlocated quantity onto a bin. The suggestion is a recommendation, not an instruction: what is booked is the bin actually scanned. |
| Transfer | Source bin fromBinCode, target bin binCode, quantity qty | yes | Moves goods from bin to bin. Warehouse stock does not change — only its distribution. More than what sits in the source bin is rejected. |
| Replenishment | three scans plus quantity | yes | Described under Replenishment. |
Everything except counting runs through the queue and is nameable (X-Idempotency-Key): if the radio link drops in the aisle the report is not lost and is booked exactly once later.
The five routes
| Route | What it does | What to watch |
|---|---|---|
| Picking | withdrawal along a pick list | Only ONE position is ever shown: next bin, next article, next quantity. The walking order comes from the server out of the warehouse layout — the interface does not sort by itself. |
| Packing | checking and labelling at the pack station | An article not belonging to the order is rejected. An incompletely scanned session cannot be completed. |
| Counting | stock take at the bin | On a blind count you do not see the target quantity — that is the point of the exercise. Offline you do not count, you wait. |
| Put-away | receipt onto a bin | The work stock is the unlocated quantity: goods that are in warehouse stock but sit in no bin. |
| Transfer | movement between two bins | Scan the source bin, the article, the target bin. In between the goods count as in transit. |
If something deviates — too little in the bin, the wrong article, an unknown code — a clarification case is raised instead of the booking being quietly made to fit.
Settings & permissions
- Module
module.wms. wms.pick.viewto enter,wms.pick.executeto pick,wms.pack.executeto pack.products.stock.manageto count — that is a stock correction, not picking.warehouses.stock.manageto put away and to transfer: warehouse stock is booked, so the right
sits with the warehouse and not with picking.
wms.replenishment.executeto confirm replenishment.- The tiles follow the rights: what someone may not do is not offered to them on the device.
FAQ & troubleshooting
The network drops while picking. Not a problem: the report waits in the queue and is booked exactly once.
The network drops while counting. Then it stops — deliberately. A count submitted later could overwrite someone else's number.
A conflict appears while counting. Someone counted the same bin at the same time. Reload and enter the number again.
The expected quantity is nowhere to be seen. By design. With blind counting the server does not send it at all — what is never transmitted cannot be read off.
The suggested bin does not fit. Scan the bin the goods really go into. What is booked is the scanned bin, not the suggested one.
Can more be transferred than sits in the bin? No — the endpoint rejects it. Missing goods in the source bin are a stock discrepancy, not a transfer.
The handheld does not let me choose the carrier. By design: the mobile completion ships with the default. Whoever wants to pick carrier or service completes at the pack station.