Picking
A pick job is the main entity in the picking process. It contains all the necessary information to carry out a picking task. A pick job is created automatically after the routing, but can also be created via API. One of the cases when a pick job is created automatically is the outcome of an order routing decision. In that case, an order was created, assigned to a facility, and a pick job was created. Furthermore, a pick job can be created due to a re-route, which also involves order routing.
If a picking task can't be fully picked because some of the required items are unavailable, it's referred to as a short-pick.
Picking methods
The following picking methods are available:
Single order picking
Configuration of picking methods
Tenant-wide default picking method
The defaultPickingMethod of the tenant can be set to one of the following values: SINGLE_ORDER, MULTI_ORDER or BATCH (see Configurations of Picking Methods for details). This configuration is considered a fallback configuration: It will only be used for new pick jobs if there is no facility configuration for picking methods in the target facility and no pick job-specific configuration.
Facility-wide picking methods
If the picking method should be different for each facility, it can be configured when creating or updating a facility. ThepickingMethods in the facility can be set to none, some, or all of the following values: SINGLE_ORDER, MULTI_ORDER or BATCH. This configuration overwrites a potentially present tenant-wide configuration.
Configuration of picking method in the pick job
The picking method can also be defined for an individual pick job. It is defined in the pick job itself (field preferredPickingMethods). The value is the outcome of the configurations on tenant and/or facility level and may be overwritten during creation of the pick job. Providing pickingMethods in the creation of a pick job overwrites any given facility-specific or tenant-wide configuration.
Configure picking methods via tags
It is also possible to add picking methods according to tags in the pick job. This can be done via tag configuration pick job REST API. The corresponding tags must exist in order to apply the preferredPickingMethods in the configuration.
Batch picking
Batch picking is one of the available multi-order pick methods of fulfillmenttools. In batch picking, a pick run is used to execute multiple pick jobs in one run. When two pick jobs of a batch pick run contain the same item, the two items are merged to one pick line item for the picker.
Example
Pick job A contains the item "apple" with a quantity of 3. Pick job B contains the item "apple" with a quantity of 5. A batch pick run of these two pick jobs would combine both pick jobs and result in three pick line items in the pick run.
After the picking process is finished, the picked items are separated by order and can be shipped or handed over to the customer.
Multi-order picking
Multi-order picking is another available method at fulfillmenttools to pick multiple orders in one run. The multi-order fulfillment process involves consolidating multiple customer picking tasks into one pick run for efficient picking. Workers collect items for all tasks simultaneously and transfer them to a packing station, where packers organize, pack, label, and prepare the tasks for shipment.
See the multi-order picking article for more details.
Zone picking
Zone picking can be useful if certain workers in the facility are only to pick tasks in their assigned zones. Each user can carry at least one zone. After a zone is created, it can be assigned to any available user. For a user to be able to pick products from a specific zone, those products need to be linked to that zone. This linkage is achieved by using storage locations that have an associated zone. Consequently, products located in these storage locations will be automatically assigned to the respective zone.
Upon the zone's creation and its assignment to both a user and storage locations, it becomes feasible to generate picking tasks that can be executed by users assigned to that particular zone.
The picking task gets automatically assigned to a zone immediately after a product is allocated to a storage location within that zone.
Substitute items
Substitute items are items that can be picked if the originally ordered items are not available. A list of potential substitute items can be defined for each product on network level via tenant article substitutes REST API. If an item could not be picked successfully, and the substitution configuration in the REST API is active, users have the option to choose one (or more) substitute item(s).
The configuration for (dis)allowing picking of substitute items can be made in the network settings in Backoffice.
Substitute items are connected via matching tenant article ID with the originally requested item. They can be prioritized so that a more suitable candidate is offered to the user before less suitable ones are shown. If a corresponding listing exists for a substitute item, the stock of that listing is adjusted as soon as the task reaches the end of picking.
Substitute items do not necessarily require an existing listing. As a result, unlisted products can also be picked as substitute items.
Picking substitute items is currently only available within the Operations Android App for single order picking.
Measurement units in picking
Creating and using measurement units in picking
With every order, it is possible to provide information about items that must be weighed or measured during the picking process (for example, fruits, liquids, or fabric). It is possible to configure individual measurement units for each tenant, such as grams, kilograms, liters, milliliters, etc. via measurement units REST API.
The configured measurement units can be used to mark items of an order as “must be measured”. There is no check of completion for measuring items, which means that no short-pick will be triggered when the picked measurement is lower than the ordered measurement.
Optionally, it is possible to specify tolerance limits that must not be exceeded or undershot when picking these items. If a soft tolerance is defined, the picker just sees a hint when entering more or less than configured. If a hard tolerance limit is configured, it is not possible to enter more or less (except of 0) than configured.
Secondary measurement units
In addition to a quantity of a line item, an order can also contain a second quantity and unit of this item, which leads the picker to enter a second quantity. This only works if one of the two units was created as measurement units.
If you are interested in using this feature, please contact us.
Short-pick
A short-pick describes a case when an order could not be completely picked. This can happen when some ordered items are too low in stock or out of stock. Several configurations can be made for the case when a short-pick happens:
Confirm short-pick in the Operations app
Short-pick reasons
Short-pick reasons provide clarity on why specific picking tasks could not be fulfilled entirely. They can be added to the line items of each picking task.
Before using short-pick reasons during the picking process, they must be configured via picking configuration REST API. The reasons are constructed using a multi-language JSON format and are translated accordingly. Short-pick reasons will be translated into the required language. The language is determined either by the requested locale or the user's default locale. If neither is specified, the translation will default to the first available localized reason, or if unavailable, it will default to the localization for "en_US".
If a picking task is restarted or reset, the short-pick reasons on the pick line items will be deleted.
Whether entering a reason for a short-pick is optional or mandatory is controlled via remote configuration. If the SHORTPICK_REASON_MANDATORY remote configuration is set to true for the respective client, a single-order pick can only be completed if a short-pick reason has been selected for each short-picked item.
For details on remote configuration keys, see the remote configuration documentation.
Available pick jobs statuses
The available status values of a pick job are:
OPEN: The pick job is open and can be picked.IN_PROGRESS: The pick job is currently being picked.PAUSED: The pick job is paused and can be continued laterWAITING_FOR_INPUT: The pick job is waiting for input from the workflow. This can be the case if the pick job is first supplied from a different facility.PICKED: The pick job was picked but is not closed yet.CLOSED: The pick job is done and closed.REJECTED: The pick job was rejected and will not be picked.RESTOWED: The pick job was restowed.REROUTED: The pick job was rerouted to a different facility.ABORTED: The pick job was aborted.EXPIRED: The pick job expired over the expiry time of the connected order.OBSOLETE: The pick job is obsolete via the workflow. E.g., because the order was canceled.CANCELED: The pick job was canceled.
Pick job sub-status
The sub-status provides additional information about the current status of a pick job or why it was set.
A sub-status is only set for certain pick job statuses.
REROUTEDorRESTOWED:ORDER_MODIFIED: The system reroutes the order because the order was modified.PROCESS_REROUTE: The system reroutes the order because a reroute process is running.MANUAL_REROUTE: The system reroutes the order because of a manual reroute.SHORT_PICK_REROUTE: The system reroutes the order because the pick job was short-picked.TIME_TRIGGERED: The system reroutes the order because a time-based rule is reached.STOCK_ZEROED: The system reroutes the order because the stock level was set to zero.PICK_JOB_ABORTED: The system reroutes the order because a previous pick job was aborted.RECALCULATION: The system reroutes the order because the fulfillment process was recalculated.
ABORTED:ZERO_PICKED: The pick job was aborted because nothing was picked.
PICKEDorCLOSED:SHORT_PICKED: The pick job couldn't be completely picked.
WAITING_FOR_INPUT:WAITING_FOR_RELEASE_TIME: The pick job is waiting for its release time to be picked.
Manipulating pick jobs
Resetting pick jobs
Resetting a pick job restores its initial state. This is useful when a pick job must be re-evaluated or processed again from the beginning. When a pick job is reset, all progress on the pick job is removed, including any picked items and short-pick reasons. The status of the pick job is set to OPEN, allowing it to be picked again from the start.
A pick job can be reset if the following conditions are met:
The capability
picking_pickjob_resetis enabled.The field
resetBlockedis either set tofalseor not set.The pick job is in one of the following statuses:
IN_PROGRESS,OPEN, orWAITING_FOR_INPUT.
When a pick job is reset, the following fields are affected:
status: Set toOPENif there is at least one pick line item, otherwise set toWAITING_FOR_INPUTstatusReason: Set toundefinedpickRunRef: Set toundefinedpickLineItems:status: Set toOPENpicked: Set to0secondaryPicked: Set to0substituteLineItems: Set to[]scannedCodes: Set to[]shortPickReason: RemovedstockEmptied: Removed
Picking Configuration
The picking configuration is a tenant-wide configuration entity that controls the behavior of the picking process. It is stored as a single document per tenant and is accessible via the picking configuration REST API.
The picking configuration consists of the following sub-configurations:
Short-pick configuration (pickingShortPickConfiguration)
pickingShortPickConfiguration)Controls the behavior when a short-pick occurs.
confirmationOnShortPick: If set totrue, the picker must confirm a stock correction before a short-pick can be submitted. Default:false.shortPickReasons: An optional list of reasons the picker can select when short-picking an item. Each reason has:reasonLocalized: A multi-language object containing the reason text per locale.active: Whether this reason is currently selectable.reason: The translated reason text resolved according to the requested locale.
Short-pick reasons are translated based on the requested locale or the user's default locale. If neither is specified, the first available localized reason is used, falling back to en_US.
See the Short-pick section for more context on when and why short-picks occur.
Scanning configuration (scanningConfiguration)
scanningConfiguration)Controls how article scanning is enforced during picking.
scanningType: Defines the scanning enforcement mode. Possible values:SCAN_NOT_REQUIRED: Scanning is optional. Default.MUST_SCAN_FIRST: The picker must scan the article before confirming the first item.MUST_SCAN_EACH: The picker must scan the article before confirming each individual item.
scanningRule: Defines the order and type of items to scan. Contains a list ofvalues, each with:scanningRuleType:ARTICLEorLOCATION.priority: A number indicating the preferred order; lower values are more preferable. Default scanning rule scans byARTICLEwith priority0.
rolesWithOverwritingScanningPermission: An optional list of user roles that are allowed to bypass the scanning requirement.
Scan code validation configuration (scanCodeValidationConfiguration)
scanCodeValidationConfiguration)Controls whether unknown scan codes are accepted during picking.
pickingScanCodeValidationType: Possible values:CODE_MUST_BE_KNOWN: Only known scan codes are accepted. Default.NO_VALIDATION: Any scan code is accepted without validation.
Pick job takeover configuration (takeOverPickJobConfiguration)
takeOverPickJobConfiguration)Controls whether a picker can take over a pick job that is already assigned to another picker.
active: Enables or disables pick job takeover. Default:false.
Pick run takeover configuration (takeOverPickRunConfiguration)
takeOverPickRunConfiguration)Controls whether a picker can take over a pick run that is already assigned to another picker.
active: Enables or disables pick run takeover. Default:false.
Scheduled pick job release configuration (scheduledPickJobReleaseConfiguration)
scheduledPickJobReleaseConfiguration)Controls when a scheduled pick job becomes available for picking.
openPickJobLeadTimeInMinutes: The number of minutes before a pick job's latest picking time (pickingTimes.latest) at which the pick job is released and made available. Calculated as:pickingTimes.latest - openPickJobLeadTimeInMinutes = release time.
Load unit assignment configuration (loadUnitAssignmentConfiguration)
loadUnitAssignmentConfiguration)Controls when load units are assigned during pick jobs and pick runs.
pickJob: The assignment point for single-order pick jobs. Possible values:INACTIVE: Load unit assignment is disabled. Default.AT_START: Load units must be assigned at the start of picking.AT_END: Load units must be assigned at the end of picking.DURING_PICKING: Load units can be assigned at any point during picking.
pickRun: The assignment point for multi-order pick runs. Uses the same possible values aspickJob. Default:INACTIVE.
Picking methods configuration (pickingMethodsConfiguration)
pickingMethodsConfiguration)Sets the tenant-wide default picking method. This serves as a fallback if no facility-specific picking method is configured.
defaultPickingMethod: Possible values:SINGLE_ORDER: Each pick job is processed individually. Default.MULTI_ORDER: Multiple pick jobs are processed together in one pick run.BATCH: Multiple pick jobs are batched together, with matching items across jobs merged into a single pick line.BATCH_PICKING: Deprecated alias forBATCH.
See the Configuration of picking methods section for details on how facility-level and pick job-level configurations interact with this tenant-wide default.
Multi-order picking configuration (multiOrderPickingConfiguration)
multiOrderPickingConfiguration)Controls limits for multi-order pick runs.
maxAmountOfPickJobsForMultiOrderPick: The maximum number of pick jobs that can be combined into a single multi-order pick run. Must be between1and100. Default:10.
Batch picking configuration (batchPickingConfiguration)
batchPickingConfiguration)Controls limits for batch pick runs.
maxAmountOfPickJobsForBatchPick: The maximum number of pick jobs that can be combined into a single batch pick run. Must be between1and100. Default:10.
Storage location assignment configuration (storageLocationAssignmentConfiguration)
storageLocationAssignmentConfiguration)Controls whether storage locations are required for pick line items.
storageLocationRequired: Possible values:NONE: No storage location is required. Default.SOME: At least one pick line item must have a storage location assigned.ALL: Every pick line item must have a storage location assigned.
Restart pick job configuration (restartPickJobConfiguration)
restartPickJobConfiguration)Controls whether a picker can restart a pick job from the Operations app.
active: Enables or disables the restart pick job capability. Default:true.
Stock update configuration (stockUpdateConfiguration)
stockUpdateConfiguration)Controls whether stock is checked for updates during the picking process.
active: Enables or disables the stock update check for pick jobs. Default:false.
Backoffice picking configuration (backofficePickingConfiguration)
backofficePickingConfiguration)Controls whether the tenant can use the Backoffice application for picking.
active: Enables or disables Backoffice picking for this tenant. Default:false.
Last updated

