About wave picking
About Wave Picking
The Wave Picking process is used in warehouse management systems to support organization of the daily workflow within a warehouse or distribution center. Wave picking is an application of short-interval-scheduling. Advanced Inventory provides a mobile application solution to facilitate wave picking through a hand held mobile device. The Advanced Inventory app is integrated to work with the NetSuite Wave Picking functions.
Functional Process
In NetSuite, Wave Picking is created based on criteria determined by the warehouse layout, staffing, orders, workload, and fulfillment functions. Basic Wave Picking is generally grouped by Zone, Order Prioritization, Transportation Carriers, Customers, or Delivery Dates. Data Requirements include, but are not limited to: Workload (order lines, # of cases, value added services, etc), as well as Order/Function (case picking, repack picking, pallet movement, pick position replenishment, packing, etc). Fulfillment of the following transactions can be met through Wave Picking: Transfer Order, Work Order, or Sales Order.
The following list provides information concerning the three main Wave Picking processes.
Wave Picking
This process utilizes a single picker picking from one order and one SKU at a time. Orders may be scheduled to be picked at specific times of the day to coordinate and maximize the picking and shipping operations.
Zone-Wave Picking
In this process, pickers are assigned a zone, and each picker within their zone picks all of the SKUs for all orders that are stocked in their zone. The picking is done one order at a time with one scheduling window per shift.
Zone-Batch-Wave Picking
This is a complex combination of all of the order picking methodologies. Each picker is assigned a zone and picks all SKUs for orders stocked in the assigned zone. Additionally, the picker picks more than one SKU at a time and, there are multiple scheduling windows per shift.
Environment Considerations
To ensure optimal communication between the NetSuite interface and the Advanced Inventory app, refer to the following recommendations for the Wave Picking feature.
-
There should be sufficient inventory in your warehouse for each of the items in the wave to be picked.
-
You should have a valid picking strategy defined for each of the items in the wave.
For further information concerning Wave Picking strategies, go to www.netsuite.com > Support > Go to SuiteAnswers and search for Picking Strategies.
Process a Wave
The Wave Picking process is used in a warehouse management system to support organization of the daily flow of work within a warehouse or distribution center.
The following steps provide a generic outline of the Wave Picking process from the Advanced Inventory app on a device through the NetSuite interface.
-
The end user logs into the applicable Advanced Inventory App on a device.
-
The user is prompted to enter variables to fulfill a scheduled Wave.
-
The user picks product as instructed by the Wave details.
-
The Wave details are saved and stored within the device.
-
The data is batched and transmitted to NetSuite through the Advanced Inventory NetSuite connectors.
-
The user selects variables to support the desired process.
-
NetSuite receives and uploads the data.
-
NetSuite fulfills the Wave order.Step InformationThe user will receive an error message if the Wave is not processed correctly.
Cloud Inventory® Wave record definitions
The following table provides the names and definitions for fields associated with Advanced Inventory Wave.
ID
customrecord_dsi_wave
Hierarchy:
Parent record
None
Child record
Advanced Inventory Wave SO (customrecord_dsi_waveso)
Name | Internal ID | Type | List/Record | Notes |
---|---|---|---|---|
Name (wave number) | name | Text | Required when Auto-numbering is disabled. | |
Date Created | created | Date/Time | Auto | |
Last Modified | lastmodified | Date/Time | Auto | |
Wave Date | custrecord_dsi_wave_date | Date | Defaults to Current Date. | |
Location | custrecord_dsi_wave_location | List/Record | Location | internal id |
Number of Labels | custrecord_dsi_wave_num_labels | Integer | ||
Number of Lines | custrecord_dsi_wave_num_lines | Integer | ||
Shipping Method | custrecord_dsi_wave_shipmethod | Text | ||
Hot Market | custrecord_dsi_wave_hotmarket | Check Box | ||
On Hold | custrecord_dsi_wave_onhold | Check Box | ||
Zone | custrecord_dsi_wave_zone | Text | ||
Priority | custrecord_dsi_wave_priority | Text | ||
Wave Type | custrecord_dsi_wave_type | List/Record | Advanced Inventory Wave Type |
|
Item | custrecord_dsi_wave_item | List/Record | Internal id: For single-item waves | |
Item Quantity | custrecord_dsi_wave_quantity | Float | For single-item waves | |
Custom Txt 1 | custrecord_dsi_wave_txt1 | Text | Extra field for custom requirements | |
Custom Txt 2 | custrecord_dsi_wave_txt2 | Text | Extra field for custom requirements | |
Custom Check 1 | custrecord_dsi_wave_check1 | Check Box | Extra field for custom requirements | |
Custom Check 2 | custrecord_dsi_wave_check2 | Check Box | Extra field for custom requirements |
Cloud Inventory® Wave Order record definitions
The following table provides the names and definitions for fields associated with Advanced Inventory Wave Order.
ID
customrecord_dsi_waveso
Hierarchy:
Parent record
None
Child record
Advanced Inventory Wave Item
Name | Internal ID | Type | List/Record | Sourced |
---|---|---|---|---|
Parent Wave |
custrecord_dsi_waveso_parent
recmachcustrecord_dsi_waveso_parent
|
List/Record | Advanced Inventory Wave | |
Order | custrecord_dsi_waveso_transaction | List/Record | Transaction – Sales/Transfer Order | |
Order Date | custrecord_dsi_waveso_trandate | Date | Yes | |
Total Amount | custrecord_dsi_waveso_total | Currency | Yes | |
Customer | custrecord_dsi_waveso_entity | List/Record | Entity | Yes |
Customer PO Number | custrecord_dsi_waveso_po | Text | ||
Subsidiary | custrecord_dsi_waveso_subsidiary | List/Record | Subsidiary | Yes |
Location | custrecord_dsi_waveso_location | List/Record | Location | Yes |
Region | custrecord_dsi_waveso_region | Text | ||
Team | custrecord_dsi_waveso_team | Text | ||
Sales Partner | custrecord_dsi_waveso_partner | Text | ||
Product Type | custrecord_dsi_waveso_type | Text | ||
Committed | custrecord_dsi_waveso_committed | Check Box | ||
Custom Txt 1 | custrecord_dsi_waveso_txt1 | Text | Extra field for custom requirements | |
Custom Txt 2 | custrecord_dsi_waveso_txt2 | Text | Extra field for custom requirements | |
Custom Check 1 | custrecord_dsi_wave_check1 | Check Box | Extra field for custom requirements | |
Custom Check 2 | custrecord_dsi_wave_check2 | Check Box | Extra field for custom requirements |
Cloud Inventory® Wave Item record definitions
The following table provides the names and definitions for fields associated with Advanced Inventory Wave Item.
ID
customrecord_dsi_waveitem
Hierarchy:
Parent record
Advanced Inventory Wave Order
Child record
None
Name | Internal ID | Type | List/Record | Sourced |
---|---|---|---|---|
Item | custrecord_dsi_waveitem_item | List/Record | Item | |
Parent Wave | custrecord_dsi_waveitem_wave | List/Record | Advanced Inventory Wave | |
Sales Order |
custrecord_dsi_waveitem_parent
recmachcustrecord_dsi_waveitem_parent
|
List/Record | Advanced Inventory Wave Order | |
Line Number | custrecord_dsi_waveitem_linenum | Integer | ||
Description | custrecord_dsi_waveitem_description | Text Area | Yes | |
Class | custrecord_dsi_waveitem_class | List/Record | Class | |
Department | custrecord_dsi_waveitem_department | List/Record | Department | |
Options, Colors, Sizes | custrecord_dsi_waveitem_options | Text | ||
Preferred Bin | custrecord_dsi_waveitem_primarybin | List/Record | Bin | |
Secondary Bin | custrecord_dsi_waveitem_secondarybin | Multiple Select | Bin | |
Quantity Ordered | custrecord_dsi_waveitem_qtyordered | Float | ||
Quantity Picked | custrecord_dsi_waveitem_qtypicked | Float | ||
Quantity Fulfilled | custrecord_dsi_waveitem_qtyfulfilled | Float | ||
Shipping Weight | custrecord_dsi_waveitem_weight | Float | ||
UPC Code | custrecord_dsi_waveitem_upc | Text | ||
Zone | custrecord_dsi_waveitem_zone | Text | ||
Custom Txt 2 | custrecord_dsi_waveitem_txt2 | Text | Extra field for custom requirements | |
Custom Check 1 | custrecord_dsi_waveitem_check1 | Check Box | Extra field for custom requirements | |
Custom Check 2 | custrecord_dsi_waveitem_check2 | Check Box | Extra field for custom requirements |
Create a Wave
Creating a Wave should be done in the same order as the hierarchy of the records. First create the Advanced Inventory Wave record, then create either a Advanced Inventory Wave Order using the Wave record as its parent or Advanced Inventory Wave Item using the Wave Order and or Wave record as parent.
To create a Wave, refer to the following examples.
Create a Wave Record
The Wave Record can be used either as the parent record for the other wave sub-records, or as a stand-alone wave for a single item.
A single-item wave is indicated in the Wave Type field (internal ID 6). The item's internal ID and quantity in the wave can be set in the Item and Item Quantity fields respectively.
To use the wave record as a wave parent, set all desired fields and submit the request. Make a note of the internal ID of the new record. Then, when creating Wave Order or Wave Item sub-records, set the Parent Wave field to the previously noted ID.
Example Using DSI_RecordCreate
{ "recordcategory": "custom", "create": [{ "mc_user": "calvin.hobbes@dsiglobal.com", "recordtype": "customrecord_dsi_wave", "targetfields": [{ "fieldid": "name", "value": "" },{ "fieldid": "custrecord_dsi_wave_date", "value": "" },{ "fieldid": "custrecord_dsi_wave_location", "value": "INTERNAL ID" },{ "fieldid": “custrecord_dsi_wave_num_labels", "value": "" },{ "fieldid": “custrecord_dsi_wave_num_lines", "value": "" },{ "fieldid": “custrecord_dsi_wave_shipmethod", "value": "" },{ "fieldid": “custrecord_dsi_wave_hotmarket", "value": "" },{ "fieldid": “custrecord_dsi_wave_onhold", "value": "" },{ "fieldid": “custrecord_dsi_wave_zone", "value": "" },{ "fieldid": “custrecord_dsi_wave_priority", "value": "" },{ "fieldid": “custrecord_dsi_wave_type", "value": "INTERNAL ID" },{ "fieldid": “custrecord_dsi_wave_item", "value": "INTERNAL ID" },{ "fieldid": “custrecord_dsi_wave_quantity", "value": "" },{ "fieldid": “custrecord_dsi_wave_txt1", "value": "" },{ "fieldid": “custrecord_dsi_wave_txt2", "value": "" },{ "fieldid": “custrecord_dsi_wave_check1", "value": "" },{ "fieldid": “custrecord_dsi_wave_check2", "value": "" }] }] }
Create a Wave Order Record
The Wave Order record is an optional sub-record that allows items to be picked in the wave to be organized by the order being fulfilled. Setting the Order (custrecord_dsi_waveso_transaction) field to the internal ID of the order being fulfilled, will allow the sourced fields to be auto-filled by NetSuite.
After all the desired fields have been set, submit the request. Make a note of the internal ID of the new record. Then, when creating sub-records, set the parent field of any Wave Items to that ID.
Example Using DSI_RecordUpdate
{ "recordcategory": "custom", "create": [{ "mc_user": "calvin.hobbes@dsiglobal.com", "recordtype": "customrecord_dsi_waveso", "targetfields": [{ "fieldid": "custrecord_dsi_waveso_parent", "value": "INTERNAL ID OF WAVE RECORD" },{ "fieldid": "custrecord_dsi_waveso_transaction", "value": "INTERNAL ID" },{ "fieldid": “custrecord_dsi_waveso_trandate", "value": "" },{ "fieldid": “custrecord_dsi_waveso_total", "value": "" },{ "fieldid": “custrecord_dsi_waveso_entity", "value": "INTERNAL ID" },{ "fieldid": “custrecord_dsi_waveso_po", "value": "" },{ "fieldid": “custrecord_dsi_waveso_subsidiary", "value": "INTERNAL ID" },{ "fieldid": “custrecord_dsi_waveso_location", "value": "INTERNAL ID" },{ "fieldid": “custrecord_dsi_waveso_region", "value": "" },{ "fieldid": “custrecord_dsi_waveso_partner", "value": "" },{ "fieldid": “custrecord_dsi_waveso_itemtype", "value": "" },{ "fieldid": “custrecord_dsi_waveso_committed", "value": "" },{ "fieldid": “custrecord_dsi_waveso_txt1", "value": "" },{ "fieldid": “custrecord_dsi_waveso_txt2", "value": "" },{ "fieldid": “custrecord_dsi_waveso_check1", "value": "" },{ "fieldid": “custrecord_dsi_waveso_check2", "value": "" }] }] }
Create a Wave Item Record
The Wave Item record allows information about an item to be picked in the wave to be stored. Setting the Item (custrecord_dsi_waveso_item) field to the internal id of the item being fulfilled will allow the sourced fields to be auto-filled by NetSuite.
This record can have two parent fields, the Parent Wave and the Parent Wave Order. These fields allow the wave item to appear as a sublist on the wave and or wave order.
Example Using DSI_RecordCreate
{ "recordcategory": "custom", "create": [{ "mc_user": "calvin.hobbes@dsiglobal.com", "recordtype": "customrecord_dsi_waveitem", "targetfields": [{ "fieldid": "custrecord_dsi_waveitem_item", "value": "INTERNAL ID OF THE ITEM RECORD" },{ "fieldid": "custrecord_dsi_waveitem_wave", "value": "INTERNAL ID OF WAVE RECORD" },{ "fieldid": "custrecord_dsi_waveitem_parent", "value": "INTERNAL ID OF WAVE ORDER RECORD" },{ "fieldid": "custrecord_dsi_waveitem_linenum", "value": "" },{ "fieldid": “custrecord_dsi_waveitem_description", "value": "" },{ "fieldid": “custrecord_dsi_waveitem_class", "value": "INTERNAL ID" },{ "fieldid": “custrecord_dsi_waveitem_department", "value": "INTERNAL ID" },{ "fieldid": "custrecord_dsi_waveitem_options", "value": "" },{ "fieldid": "custrecord_dsi_waveitem_primarybin", "value": "INTERNAL ID" },{ "fieldid": "custrecord_dsi_waveitem_secondarybin", "value": "INTERNAL ID STRING OR ARRAY OF STRINGS" },{ "fieldid": “custrecord_dsi_waveitem_qtyordered", "value": "" },{ "fieldid": “custrecord_dsi_waveitem_qtypicked", "value": "" },{ "fieldid": “custrecord_dsi_waveitem_qtyfulfilled", "value": "" },{ "fieldid": “custrecord_dsi_waveitem_weight", "value": "" },{ "fieldid": “custrecord_dsi_waveitem_upc", "value": "" },{ "fieldid": “custrecord_dsi_waveitem_zone", "value": "" },{ "fieldid": “custrecord_dsi_waveitem_txt1", "value": "" },{ "fieldid": “custrecord_dsi_waveitem_txt2", "value": "" },{ "fieldid": “custrecord_dsi_waveitem_check1", "value": "" },{ "fieldid": “custrecord_dsi_waveitem_check2", "value": "" }] }] }
Loading...
There was a problem loading this topic