Implementing putaway inventory
Putaway is the process of moving received inventory from a dock location to dedicated shelves for future store operations.
Solution
Understand APIs, services, and other components that are used to implement the putaway inventory flow.
Portlet scan
Putaway is essentially an inventory movement from source to the dedicated location in a store.
Putaway tasks are generated when you call the closeReceipt
API in the receiving
flow. One putaway task is generated for the product or inventory status combination from the source
location (DOCK-LOCATION) to the dedicated location, for the product or inventory status.
You can view the Putaway portlet only if you have permission to 'Execute Putaway' resource. When
you call the GET on SIM API -
{tenantId}/v1/stores/{storeId}/putaway-tasks:summary?groupBy=status
, the count of putaway
tasks that are not started, in progress, and total count of these two statuses are displayed in the
Putaway portlet. When you click any of the numbers, the Putaway task list page
opens. To view the list of putaway tasks that are in not started status, click Not
started. Similarly, if you want to view the list of putaway tasks that are in
in-progress status, click In Progress. When you click the total count,
putaway tasks that are in both not started and in-progress statuses are displayed.
In the Putaway portlet, when you to scan the shipment or container number of the received
shipments, the translateBarcode
API with BarcodeType=StorePutaway
is called that displays the open putaway tasks that are created for the scanned shipment or
container number (mapped to ContainerScm field). The translated data could be either a shipment or
container. Depending on the data that is obtained from translation, the SIM API GET on
{tenantId}/v1/stores/{storeId}/putaway-tasks?status=NOT_STARTED,IN_PROGRESS,PICKED
is
called with the query parameter either containerNo
or shipmentNo
.
If one or more putaway tasks are found, the picking page in the putaway task execution flow is
displayed. If putaway tasks are not found, an appropriate error message is displayed. The
application provides you the flexibility to putaway each product, or an entire container or
shipment.
Putaway task list page
The Putaway task list page displays open putaway tasks that are not started
or in-progress status in the store. You can choose to putaway products based on the putaway type. In
the putaway-preferences
API, you can configure the type
and
putawayRequired
attributes at the tenant or store level to putaway tasks based on
the these attributes.
Depending on how you go from the portlet, putaway tasks that are not started, in-progress, or
both are listed. To fetch the putaway tasks, the GET on SIM API -
{tenantId}/v1/stores/{storeId}/move-requests?status={statuses}&fields=totalRequestedQuantity
is called. By default, putaway tasks are sorted in the order of oldest to newest. The call to SIM
API is paginated with page size 10. On scroll, another call is made to SIM API to fetch the next 10
records. Sorting putaway tasks from newest to oldest triggers the same SIM API call with an
additional query parameter order_by=createdTimestamp desc
.
On applying a filter, the GET on SIM API -
{tenantId}/v1/stores/{storeId}/putaway-tasks?assignedToUserId={userId}&status={statuses}&targetLocationId={selectedLocation}
is called to retrieve the list of filtered putaway tasks.
Click the product ID link to go to the summary page. For a putaway task that is not started, the Putaway button is displayed. When you click this button, you are taken to the putaway execution flow. For a putaway task that is in in-progress status, the Continue button is displayed.
Putaway process flow
You can accomplish putaway either for a single product or for all the products of a container or
shipment. In the Putaway list, when you click the
Putaway button to putaway a single product, the PATCH on SIM-API
{tenantId}/v1/stores/{storeId}/putaway-tasks/{putawayTaskId}
is called to update the
Assigned to user ID field as the current logged in user.
If a putaway task is already in progress by another store associate, a message is displayed prompting whether you want to continue with task and assign it to yourself, or not continue. If you click Yes, the putaway task is assigned to you. Otherwise, you remain in the Putaway task list page.
When you scan a carton or shipment number, the putaway tasks corresponding to the shipment or carton are not assigned to you (current logged-in user). Instead, the putaway task is assigned only when you take any action on that particular putaway task. At the same time, the application validates whether another store associate is continuing with the task. This ensures that multiple store associates can work on putaway tasks for the same carton or shipment.
To fetch a single putaway task, the GET on SIM API
{tenantId}/v1/stores/{storeId}/putaway-tasks/{putawayTaskId}
is called. To fetch putaway
tasks for a carton or shipment, the GET on SIM API
{tenantId}/v1/stores/{storeId}/putaway-tasks
is called with shipmentNo or containerNo as
the query parameter. These SIM API calls are part of the custom mashup, which also appends the
product information to the putaway tasks object by calling the getCompleteItemList
API.
Putaway task involves picking of products from the source location and depositing them in the target location. The picking page displays putaway tasks that are grouped by the source location. Whereas the deposit page displays putaway tasks that are grouped by the destination or target location. In the Putaway task list page, when you click the Putaway or Continue button, and if picking is not yet started or in progress, the picking page is displayed. If picking is completed, a message that all products are picked is displayed. You can go to the deposit page and deposit the picked products.
Is location scan mandatory before scanning any product
rule enabled. For more information about this rule, seestores-rule
API in Configuring move inventory.- If location scan is mandatory, before marking the product as picked or deposited, first scan the source or deposit location. Then, scan the product.
- If location scan is not mandatory, you can directly scan the products to without scanning any location.
Is manual movement
rule enabled to mark inventory as picked or deposited without scanning the product. This rule is based driven throughManually update quantity while picking or depositing in Move inventory
resource permission. If this resource permission is allowed, you can view the minus and plus buttons. Also, the quantity text box is editable. You can edit the picked or deposited quantity by using these widgets instead of scanning the product.
In the picking or deposit page, when you scan a bar code, the translateBarcode
API is called. If a location is scanned, the scanned location is defaulted as the current location.
If a product is scanned, and location scan is mandated, the matching move task is identified by
using the location and product. If found, the move task is marked as picked by calling the
POST on SIM API -
{tenantId}/v1/stores/{storeId}/move-requests/{moveRequestId}/move-tasks/{moveTaskId}/pick
.
Otherwise, an error message is displayed. If location scanned is not mandatory, you can scan the
product without scanning the source location. In the pick page, on scanning the product, the product
is marked as picked. In the deposit page, on scanning the product, it is marked as deposited.
When you click the minus widget, the picked or deposited quantity is reduced by one unit.
POST on SIM API -
{tenantId}/v1/stores/{storeId}/putaway-tasks/{moveTaskId}/undo-pick
or
{tenantId}/v1/stores/{storeId}/putaway-tasks/{putawayTaskId}/undo-deposit
is called
on this action. On click of plus widget, the picked or deposited quantity is increased by one unit.
The POST on SIM API -
{tenantId}/v1/stores/{storeId}/putaway-tasks/{putawayTaskId}/pick
or
{tenantId}/v1/stores/{storeId}/putaway-tasks/{putawayTaskId}/deposit
is called on
this action. You can manually modify the picked or deposited quantity as well. In this case,
depending on whether the quantity is increased or decreased, the SIM pick or undo-pick API is
called. On pick-all, the Pick-all POST on SIM API -
{tenantId}/v1/stores/{storeId}/putaway-tasks/{putawayTaskId}/pick
is called with quantity
as remaining units or serials to be picked. This link is enabled only if you have the resource
permission to pick all the products without scanning.
For a serial tracked item, the plus and quantity text box widgets are disabled. To mark a product
as picked or deposited, scan the serial number. To undo-pick or undo-deposit, click the minus
widget. A window opens where you can scan the serial number to remove the picked or deposited
serials. On scan, the translateBarcode
API is called with
BarcodeType=Serial
and then POST on
{tenantId}/v1/stores/{storeId}/putaway-tasks/{moveTaskId}/undo-pick or
{tenantId}/v1/stores/{storeId}/putaway-tasks/{putawayTaskId}/undo-deposit
API is
called.
SIM API -
{tenantId}/v1/exception-codes?activity=PUTAWAY&storeId={storeId}
and shortage is marked
by calling POST on SIM API -
{tenantId}/v1/stores/{storeId}/putaway-tasks/{putawayTaskId}/exceptions
.- If you mark all the products as shorted, the putaway task is automatically canceled.
- If you pick all the products, an appropriate message is displayed. You can go to the deposit page where you can initiate another putaway task. This helps you to be more efficient by first picking all the products of the putaway tasks, process them, and then deposit the products instead of picking and depositing each product one by one. When you click View tasks the Putaway task list page is displayed. When you click Go back to picking the picking page is displayed. You can edit the picked quantity while depositing the units. In the deposit page, the API call on bar code scan, minus widget, plus widget and edit of quantity text box are same as explained earlier in this section.
If a destination, deposit, or target location is not stamped on the putaway task, you can select
a destination location. The GET on SIM API -
{tenantId}/v1/stores/{storeId}/putaway-tasks/{putawayTaskId}/alternate-target-locations
is
called to fetch dedicated locations for the product. You can select any dedicated location. If
dedicated locations are not available, you can scan or select any other location. If the selected
location is full or not reachable, you can select an alternate location by clicking the alternate
location link. The GET on SIM API -
{tenantId}/v1/stores/{storeId}/putaway-tasks/{putawayTaskId}/alternate-target-locations
is
called, and a window opens that displays the list of dedicated locations for the selected product.
You can also select any other location to deposit the product. To display other locations other than
the dedicated locations, the GET on {tenantId}/v1/stores/{storeId}/locations
is
called.
Before you select an alternate deposit location for the putaway task, you must select a reason.
The reasons are fetched by calling GET on SIM API -
{tenantId}/v1/exception-codes?activity=PUTAWAY&storeId={storeId}
. Another putaway task
with a new alternate location is created by calling POST on SIM API -
{tenantId}/v1/stores/{storeId}/putaway-tasks/{putawayTaskId}/exceptions
. The new putaway
task displays the quantity that is not yet deposited.
Putaway summary page
After you deposit all the products, the putaway task is marked as completed and the
Move summary page is displayed. After you complete a putaway task, you cannot
make further changes. To fetch the putaway task details, the GET on SIM API
{tenantId}/v1/stores/{storeId}/putaway-tasks/{putawayTaskId}
is called. If putaway tasks
are displayed for a carton or a shipment, the GET on SIM API
{tenantId}/v1/stores/{storeId}/putaway-tasks
is called with shipmentNo
or
containerNo
as the query parameter. The getCompleteItemList
API is
also called within the same custom mashup to fetch the putaway task details.