Receiving on PDT
This document describes receiving in the handheld-terminal app the operator holds at the dock next to the truck. The PDT operator does not create the receipt and is not responsible for the phases that run on the workstation before and after their shift — their work is focused on recording the fact of receiving.
If you are looking for the full process, see Receiving in the client app.
Use the variation picker on the right (or the collapsed block above the text on a narrow screen) to tailor the steps to your warehouse settings.
What happens off the PDT
Steps performed before the PDT operator opens the receipt (typically on a workstation):
Step 1. Open the receipt
When the operator picks up the PDT, they do not create the receipt — it already exists in the system (the shift supervisor created it on the workstation, either from an inbound order or as a standalone document).
The PDT home screen shows the list of receipts available to the operator's shift. Only documents in To receive reach that list; a receipt still in Draft is moved on by the shift supervisor in the client app. Each row shows the sender, the external number, the document number, the date, who the work is assigned to, and progress as received lines out of the total. The operator taps a row and the receipt opens as a list of lines to receive.




If the receipt the operator is looking for is not in the list, they contact the shift supervisor — creating a receipt on the PDT is not supported.
Single-line rows
A single-line receipt is about exactly one thing, so its row says what that thing is in place of the sender, on one line:
- a product — the product name with the quantity and the article;
- a container — Container and its code, with Products: and how many there are.
Tapping such a row does not stop at the list of lines. It goes straight to the one thing the document is about: the registration form for the product line, or the acceptance of the container (what the terminal accepts and refuses is in Which containers are accepted). This happens only the first time the document is opened in that visit. A container that is already accepted, or has nothing left to receive, opens the usual list of lines instead.

Finding the receipt by scanning
The operator does not have to look for the receipt in the list: a scan on the list screen finds it. The terminal looks only among receipts that are ready to receive in the warehouse the operator works in, and a scanned code matches a receipt when it is:
- the barcode of the receipt itself, for example on the package or the delivery label;
- the barcode of the product of a single-line product receipt (a barcode tied to a feature or a lot matches only a receipt planning that feature or lot);
- the code of the container of a single-line container receipt.
What happens next depends on how many receipts match:
- One — the receipt opens. A single-line receipt goes straight to its product or its container, exactly as after tapping its row; any other receipt opens as the list of lines.
- Several — the list narrows to just those receipts and the terminal says Several receipts found — choose one from the list. The same code can match more than one receipt because the warehouse does not require barcodes to be unique. The operator taps the right row.
- None — when the warehouse puts goods away on receiving, the code is tried as a location (see the next section). Otherwise, or if it is not a location either, the terminal says Nothing found for barcode [code] and the operator keeps scanning.

Pinned putaway location
When the warehouse puts goods away while receiving (the Putaway on receiving setting), the list screen also shows a Pinned location line under the search bar. It lets the operator fix, once, the location where this shift's goods go, instead of choosing it on every registration.
- With nothing pinned the line reads Scan a location to pin it. The operator scans a location code and the terminal asks Pin location? — Pin [location] as the putaway location? Pin makes it the pinned location; Cancel leaves things as they were.
- A location of a type that cannot take goods on receiving is refused with This location type cannot be pinned. Storage, picking and receiving locations can be pinned.
- With a location pinned, the line shows its code and a cross; the cross (Unpin) clears it.
- Every new registration form then opens with the pinned location already in the location field. The operator can also pin or unpin from the registration form itself, with the pin button next to the location field.
The pin lives only for the current session: it is dropped when the operator changes warehouse or signs out, and it is not kept when the terminal app is closed. Without the Putaway on receiving setting there is no pinned location, and new registrations use the receiving zone of the receipt.






Step 2. Pick the receiving target
Before scanning lines, the operator has to tell the system where they land: directly into a cell of the receiving zone, into a supplier container, into a warehouse container, or into a temporary container. Without this step the next scans cannot be recorded — the system would not know which physical carrier to attach the goods to. Whether the step is needed, and which containers it takes, follows the two container settings of the receipt: the receiving container requirement first, then the sender container handling mode.
:::note Offline Accepting a supplier container works without a connection: the acceptance goes to the queue and the terminal says Saved. It will reach the server automatically. The container is checked against the data already on the terminal, and a container it cannot find there is refused. More in Working offline. :::
Receiving container requirement
None — receiving without a container
In this mode there is no target to pick: every line lands in a cell of the receiving zone. Scanning a container as a receiving target is refused with a message that the receipt does not use containers.
Optional (Sender Only) — into the sender container if present
In this mode the operator can receive into a supplier pallet when one is on the truck, or directly into a cell when there is no pallet. When the pallet is there and the sender mode accepts it, the operator scans its barcode and it becomes the target of the next line scans. When there is no pallet, or the sender mode does not accept it, the system skips this step and every line lands in a designated cell of the receiving zone. Choosing a warehouse or temporary container manually is not allowed in this mode.
Required — always into a container
In this mode line scans are not recorded without a target: the operator must specify the container goods are being received into. The options on the PDT are:
- scan the barcode of a supplier pallet, when the sender mode accepts it;
- scan the barcode of an empty warehouse pallet prepared in advance for this delivery;
- scan a fresh code that creates a temporary container.
Once a target is picked, its number is shown at the top of the screen — so the operator can see which container the current batch of lines is being written into.

Sender container handling
Sender containers accepted for storage
Scanning a supplier pallet opens its lines. The check icon in the top bar accepts the pallet as it stands: what is left of its lines is received into it, and the pallet is registered on the warehouse balance as a storage container. Once it is accepted, the top bar changes colour and reads Container accepted, and the check icon is no longer offered for that pallet.

Sender containers accepted for putaway
Scanning a supplier pallet opens its lines. The check icon in the top bar accepts the pallet as it stands: what is left of its lines is received into it, and the pallet is registered on the balance as the carrier that takes the goods into the storage zone. Once it is accepted, the top bar changes colour and reads Container accepted, and the check icon is no longer offered for that pallet.
Sender containers for tracking only
When supplier containers are used only to find and group lines, scanning a pallet opens the lines it holds. The pallet itself is not taken onto the balance as the sender's: the check icon receives what is left of its lines into a cell of the receiving zone. Lines received one by one follow the receiving container requirement, as for loose goods.
Sender containers not used
When the supplier does not use containers, this step does not offer to scan a supplier pallet — only a warehouse or temporary container, when the receiving requirement calls for one.
Which containers are accepted
Every container the operator scans — as a receiving target or as a supplier pallet to accept — is checked first. A container is refused, and the message names the reason, when it:
- has been taken out of circulation;
- is held by another document that is still in progress, for example another receipt that is still receiving — the message names that document;
- already holds goods;
- is reserved by an outbound order for a customer — checked when it is scanned as a receiving target; the message names the order and the customer.
Each message ends with what to do next: for a receiving target, scan another empty container for this receipt; for a supplier pallet, receive its goods line by line without accepting the pallet itself.

A few more things hold for every container a receipt takes in:
- A container that was shipped earlier can come back. Shipping it out does not hold it, so it can be scanned again on a later receipt.
- It moves to this receipt's warehouse. Wherever it stood before, the container is placed into the receipt's receiving zone in the receipt's warehouse.
- The receipt right is enough. Registering and accepting containers needs only the right to edit receipts; no separate rights on containers are required.
- Completion settles them. What happens to the receipt's containers when the receipt is completed is described under Received.
Temporary containers
A temporary container is created on the spot, the first time its code is scanned as a receiving target. Two settings make this possible:
- in the Container types dictionary, the container type is marked Temporary and has a Code Pattern — a scanned code that matches the pattern creates a container of that type (a temporary type cannot be returnable);
- in the warehouse settings, on the Receiving tab, Temporary containers enabled is switched on.
Whether the new container holds the stock or only carries it to putaway follows its type. If the scanned code matches the patterns of several temporary types, the terminal asks to Choose a container type and lists them; the container is created with the type the operator picks.

The same Receiving tab also has Putaway buffer container type: the type of container that putaway creates when goods received without a container are put onto a carrier. It matters later, at the putaway handoff.
Container information
On a container's screen, the info icon next to the container code opens its card: Quantity (in this container and including nested containers, in base units and packs, with the rest still to receive), Contents (how many SKUs and rows), State (the container's status, purpose, location, carrier and parent container) and, further down, Hierarchy (the parent container and the nested ones). The totals cover the whole container, whatever filter the list has.

Returnable containers on the terminal
When your company works with returnable containers, accepting a container also records what it means for the container debt. Right after the acceptance a short message shows the result — Returnable · owner … or Closes the debt of … — and the same line stays under the container in the list. An acceptance made by mistake is reversed with Reverse acceptance in the menu of the container's screen. The rules for both — who ends up owing whom, and when a reversal is possible — are in Returnable containers: acceptance and debt.


Step 3. Record the fact
This is the core loop of the operator's work on the terminal. For each line of the receipt the operator identifies the product, sets the quantity and saves the fact. The loop repeats until no unreceived lines remain.
:::note Offline Without a connection the loop works the same: a saved fact goes to the queue on the terminal and the message Saved. It will reach the server automatically appears. For a lot with too little remaining shelf life offline, see Lots with a short remaining shelf life. A new lot cannot be created offline. More in Working offline. :::
The line list
The receipt opens on the list of its lines.

Each row shows the product with its features and lot, the article, and how much is still to receive with its pack type. By default the list holds only the lines that have something left to receive. A thin bar under the chips shows how many lines are done.
The chips above the list change what it shows:
- All — every line, including the ones already received. A row now shows what has been received and the plan beside it (for example "of 50"); a ✓ marks a line that matches its plan, and a line that does not is shown in red.
- Differences — only the lines whose received quantity differs from the plan, plus the line just changed.
- Tap a lit chip again to switch it off and return to the lines that still have something to receive.
- On scan — the quick-save switch, described under What a scan does. It is shown only when the warehouse does not put goods away straight on receiving.
A line that is partly received carries a coloured marker, and its row shows the plan next to the quantity left.
What the operator can do with a row:
- Tap it — opens the fact screen to receive more on that line (see The fact screen).
- Swipe it — reveals Edit fact, which opens the same screen in the mode where the operator sets the total received on the line instead of adding to it (see Correcting the total). The action is offered only for a line where something has already been received, and not on a receipt that is received into containers.
- Press and hold it — opens the product card.

When the receipt allows over-receiving, the end of the list has an Add line button. It opens the fact screen for a product that is not in the plan.
Identifying the product
The operator identifies an SKU — the combination of product, product features (if tracked), lot (if tracked), and pack type — by scanning a barcode or by picking it manually from a list. Required attributes depend on the product configuration. How SKU selection works.
When the barcode is not found in the system, matches several variations, or the scanned product is not in the receipt, the operator sees a dialog. What to do in each case — including the warehouse setting that decides whether an unknown barcode can be registered — is described on the Barcode resolution page.
What a scan does
Quantity entry mode
Quantity confirmed in form
In the confirm-on-save mode (the On scan chip is off) a scan of a product barcode finds the matching line and opens the fact screen for it. The Receive now field is already filled in:
- with the quantity from the barcode, when it carries one;
- otherwise with what is still left on the line, counted in the pack that was scanned (at least one).
The operator checks or changes the quantity and confirms. Tapping a row does the same, with what is left on the line.


A required field that is still empty when the operator saves is marked in red and the fact is not saved.




"+1": quick save on scan
The On scan chip (with a +1 icon) above the list turns on the quick-save mode. It is off by default and the operator switches it on and off themselves; there is no warehouse setting for it. With it on, a scan does not open the fact screen — it saves the fact at once. The saved quantity is:
- taken from the barcode when it carries a value;
- otherwise equal to one.
Quick save applies only when the scan means a single unit — a pack of a unitary product, or a barcode with a quantity — and the line takes that pack type. In any other case the fact screen opens as usual. It also does not apply while a fact screen is open, or while a GS1 label is waiting for its product.
After a successful save a short animation showing the quantity just added rises from the line's row (for example "+1" or "+12.5"). When the fact is not accepted, an error mark appears in the same place; nothing is saved, and the operator switches the chip off or taps the row to see why. A lot that is not in the plan or has too little shelf life opens the same dialogs as on the fact screen (see Lots).
The mode speeds the work up noticeably when the operator is scanning identical items one after another — for example, a long run of identical packs from a pallet.




The fact screen
The fact screen is built in three parts so that the product and the quantity are always in view:
- On top, the product with its features and lot, and below it where the goods go — the location or the target container. When a GS1 label has been scanned, its chips are here too (see GS1 labels).
- In the middle, a card with the fields: Product, Product Feature and Lot where the product has them, Location or Target Container, and Pack Type. Where the goods go is described in Pick the receiving target; a pinned receiving location is described in Open the receipt. The card cannot be edited when the operator is correcting a total.
- At the bottom, the quantity and the way to save. While the operator types in another field with the keyboard open, this part shrinks to one line that shows the quantity; tap it to return to the field.
The quantity
Quantities go in the quantity field — set from the barcode, typed by hand, or worked out in the calculator, with − and + to adjust; the pack type sits beside it. How the quantity field works.
The field is labelled Receive now with the unit, and the number is added to what has already been received on the line. Under the field, a bar compares what is entered with what is still left on the line: it shows Plan and Entered, fills as the quantity grows, shows a ✓ when the line is covered and turns red for the part above the plan. The pack type can be changed in the card above; in a warehouse where packs are only a way to enter the quantity, see Pack accounting modes.




A quantity above the plan is saved only as far as the receipt allows over-receiving; beyond that the save is refused. A line that is not in the plan has no bar.
The in-app keypad
On a terminal the quantity is typed on the app's own keypad, which opens under the screen instead of the system keyboard. It has the digits, a decimal point (only for goods that can be fractional), backspace, a calculator key (where the calculator is switched on) and a confirm key. Where the terminal has a hardware keyboard, the field takes typing directly.

In the mode where the operator adds to the line, the confirm key saves the fact. In the mode where the operator sets the total, it is greyed out: saving is done by the button described below.
Saving
For an addition the operator saves with the ✓ in the top bar, or with the confirm key on the keypad. The ✓ is shown to a user who has the right to edit receipts. The fact screen closes and the terminal returns to the list, where the line has moved: its row shows the new quantity left, and a short message at the bottom names what has been taken in — Received, with the quantity and unit, the product with its features and lot, and the location or container.




When the fact leaves the receipt confirmed (see automatic confirmation), the terminal leaves the document and says Receipt is confirmed. Otherwise the operator finishes the receipt from the list, as described in Close the receipt.
Correcting the total
A wrong quantity on a line is corrected without adding anything: swipe the row and tap Edit fact. The fact screen opens in the correcting mode:
- the field is labelled Total received and holds what has been received on the line so far; the operator types the right total;
- the card with the fields is read-only;
- under the field, instead of the plan bar, a panel shows Was and what it becomes; when the new total is lower, a red row marked REVERSAL shows how much goes back;
- there is no ✓ in the top bar. The only way to save is the button at the bottom, whose caption names the result: Save with the new total, or, when stock goes back, a red Reverse with the quantity taken off.




Lots
The Lot field appears on the fact screen when the product's lots are tracked for receiving (or when the fact already has a lot). Saving waits until the terminal has checked the product's lot requirement. A plan line does not have to name a lot, and in some receipts it must: see Plan lines and lots. A lot with too little shelf life is held back by a dialog: see Lots with a short remaining shelf life.
Lot not in the receipt plan
When the receipt plan names lots for the product and the lot on the barcode or on the label is none of them, the terminal stops with the Lot not in the receipt plan dialog. It shows the product, On the label with the scanned lot, and In the plan with the lots the plan has. A lot that is in the plan simply goes to its line.
- When the receipt allows over-receiving, the dialog asks Receive it over the plan? and says that the line with the planned lot stays open. Receive over plan takes the lot in as a fact outside the plan; Cancel leaves it unsaved. On the fact screen, Cancel also marks the Lot field: The label lot … is not in the receipt plan.
- When over-receiving is off, the dialog says so — the lot can be received once the receipt plan is changed — and has one button, Got it!.




A new lot
When the operator scans or types a lot number in the Lot field and no such lot exists, the terminal offers to create it — if the user has the right Create lots during operations (or manages lots) and the terminal is online. Without it the field says Code … not found.
The New lot form opens with the number already filled in. It has the Lot number, the Manufactured Date and Expiry Date, and the attributes the lot needs — the required ones first, the rest behind Show all. The Create button saves the lot and puts it on the fact; a message says Lot … created.
The lot's Supplier is not on the form: the terminal fills it in with the sender of the receipt, and it stays on the lot.

When a lot with that number already exists for the product, the terminal uses it instead of creating a second one. Where the existing lot lacks a value that was entered (a date or an attribute), the value is added to it and a message says Lot … filled in. Where the existing lot holds a different value, Lot … already exists lists the differences, and the operator chooses Keep as is or Update lot. When several lots have the same number, the terminal asks to choose one.

GS1 labels
A pallet label in the GS1-128 format carries the product, the quantity, the lot and its dates, and the container code in one to three barcodes. The terminal reads them one after another, when the warehouse has switched Parse GS1-128 on and the scanner is set up for it (see Scanning and barcode input). The label fills in the fact:
- Product, pack type and quantity — the product is found by the code on the label, and the Receive now field and the pack type take the label's quantity. A label with a product opens the fact screen for the matching line by itself.
- Lot — the terminal looks for the lot with the label's number. If it does not exist it is created from the label — its number, dates and attributes — and the sender of the receipt becomes its supplier, as in A new lot; a user without the right to create lots sees Lot … not found on the field. A lot that is not in the receipt plan opens the dialog above.
- Container — where the receipt takes goods into containers, the container code from the label is used as the container the goods go to.

On top of the fact screen the label is shown as chips: GS1, the expiry and made dates, and Warnings when something on the label was skipped. The lot itself is shown in the product card. While the lot is being sorted out a chip says No lot number, Lot…, Lot not found or Lots not tracked. Tapping the chips opens GS1 label, which lists what Goes to the fact and what is Not used with the reason, for example no rule in the barcode policy.
When the label does not say which product it is about — for example, only a lot barcode was scanned — it waits in a GS1 label card above the list with the lot and the expiry date read so far and the hint Scan the product barcode. The cross on the card discards the label. When the operator opens a product by hand while a label is waiting, the terminal asks Apply the label to this product?: Apply takes the label in, Discard the label drops it.
When another barcode scanned on the same fact disagrees with the label already read — another product, container or lot — the terminal asks Is this another label? Start new drops the first label and reads the new one; Keep ignores the new scan.






Step 4. Close the receipt
When every line has been processed — or the operator decides to finish early — they tap the Finish icon in the top bar of the receipt's line list, and the document moves to Received. The icon has no caption on screen; "Finish" is only its accessibility description. It is shown only to operators who have the right to post receipts.
:::note Offline The Finish icon works without a connection too: the completion goes to the queue and the terminal leaves the document with Saved. It will reach the server automatically instead of Receipt is confirmed. A receipt with nothing received yet is refused offline just as online. More in Working offline. :::
What happens next depends on how much has been received:
- Everything is received — every line has reached its planned quantity and no container is left to accept. The receipt is completed at once, with no questions.
- Something is still missing — see the first dialog below.
- Nothing has been received yet — see the second dialog below.

The receipt is not fully received
When some lines or containers are still not received, a dialog titled The receipt is not fully received appears. It shows how many lines (and containers, if the receipt has them) have been accepted out of the total, and says that the receipt will be completed with what has been accepted so far.
- Confirm completes the receipt as it is.
- Continue closes the dialog and returns to the line list so the operator can scan the rest.
Completing a partially received receipt does not remove anything: what completion does is described under Received, and the shortfall is handled afterwards as a discrepancy in the client app. No separate shortage records are created on the terminal.

The receipt is still empty
If no goods and no containers have been accepted yet, the receipt cannot be completed. A dialog titled The receipt is still empty shows the accepted counts and asks the operator to accept at least one item, one container, or either, depending on what the receipt contains. OK closes it.

What completion does to the receiving containers is described in Containers on closing.
Automatic confirmation
If the receipt has automatic confirmation switched on, the operator does not need the Finish icon when everything matches the plan. The moment a saved fact or an accepted container makes every line equal to its planned quantity, the receipt is completed by itself and the terminal leaves the document with the message Receipt is confirmed. The exact conditions are in Automatic confirmation. If the plan is not matched, the receipt simply waits for the operator to finish it.

After closure, downstream work — quality control (when enabled for the product category), discrepancy resolution, handoff to putaway — happens off the PDT. The PDT operator hands the document on and can pick up the next one.


What happens off the PDT (after your steps)
Steps performed after the PDT operator has recorded facts and closed the document: