Cycle Count List
The Cycle Count List API allows you to input cycle count information from MHE to WMS.
The Cycle Count List API doesn't support the following:
- LPN Count mode (CC-LOCN-LPN-CNT)
- Counting Consumed LPNs for the “CC-LOCN-BY-ITEM” task type
- Infer UOM from item barcode
- Pallet Scan
- Counting New, Canceled, or Consumed LPNs in the LPN scan mode
URL
POST .../wms/lgfapi/v10/cycle_count_info/cycle_count_list/
This API is supported in JSON format. After processing the “Cycle Count List” API, the API honors the existing company and facility parameters “INVN_ADJ_APPROVAL_REQUIRED” to update inventory.
Request Parameters
The `parameters` section of the request body will allow you to specify how the data needs to be loaded to the stage table and how the Cycle Count List should be processed
| Parameter Name | Type | Required | Description |
|---|---|---|---|
| async_flg | Boolean (True) | The value will be considered as true. The API will always run in async mode. This API is designed for asynchronous calls (synchronous call is not supported). | |
| only_load_flg | Boolean (False) | By default, the value will be considered as false. On passing the data through API, the API loads and processes the request to the From MHE Cycle Count Info Header. | |
| count_user | String | No |
A valid WMS username (counted user) who performed the actual cycle count. If you pass an invalid WMS username in the payload, the system fails the API. |
| mhe_system | String | No | MHE system used to perform the count. |
| task_nbr | String | Conditional (only when MHE is executing a task generated in WMS) | WMS Cycle Count Task number. For standalone counts performed by the MHE, this field should be blank. |
| task_type | String | Conditional (only when a task number is populated) | WMS Cycle Count task type. |
| location_barcode | String | Yes | Location where cycle count is performed. |
| lpn_scan_flg | Boolean (True/False) | No |
If this is set to “True”, then the count mode is reserve location LPN Scan. If this is set to “False”, the count mode is reserve location detailed count. When the parameter is set to “True”, you can only send the LPN barcodes to perform “Reserve Location LPN Scan” mode. In this case, if you send the inventory details for the LPNs, the API fails. |
| update_only_counted_inventory_flg | Boolean (True/False) | No | This parameter allows the system to limit the count only for the counted inventories. Uncounted inventories will not be updated to 0. Default value is False. This is not applicable for the item driven cycle counts. |
| allow_new_lpn_count_flg | Boolean (True/False) | No |
If this is set to “True”, then the API allows you to update the inventory or create CC adjustment records with consumed, new, or canceled LPNs. Default value is “False”. If this field is set to “False”, the API does not allow auditors to scan consumed, canceled, or new LPNs during cycle counting. Note: If this is set to “True” - The API
allows consumed LPNs only for the location-driven detailed cycle
count. It is not supported for the “CC-LOCN-BY-ITEM” task type.
However, the API supports scanning of new or canceled LPNs to
perform both location-based and item-based detailed cycle
counts.
This field cannot be “True” for LPN scan mode. |
| container_nbr | String | Conditional (only when the count is for reserve location) | Any valid LPN Barcode in WMS. This is applicable only for reserve locations. |
| item_alternate_code | String | Yes | Item alternate code defined in WMS. |
| item_part_x (x varies from ‘a’ to ‘f’) | String | No | SKU identification code parts a to f. |
| qty_counted | Number | Yes | Quantity that is counted for the item. |
| inv_attr_x (x varies from ‘a’ to ‘o’) | String | No | Value for inventory attributes a to o. |
| batch_nbr | String | No | Lot Number (Batch number) of the counted item. |
| expiry_date | Date | No | Expiry date of the counted item. Format is "YYYY-MM-DD" example: 2010-11-01 |
| cc_uom | String | No |
UOM in which cycle count is being performed. May be different than the primary UOM of the item being counted. This can be in any UOM, packs or cases. MHE needs to define the UOM at the CC_UOM field. Otherwise, this will be considered from the primary UOM of the item/item facility. |
| pack_qty | Integer | No |
Pack quantity. You must send the standard pack quantity if you are counting the in terms of packs. If you are counting in packs and passing a nonstandard pack quantity, then the API will fail. |
| case_qty | Integer | No |
Case quantity. You must send the standard case quantity if you are counting the in terms of cases. If you are counting in cases and passing a nonstandard case quantity, then the API will fail. |
| count_ts | Datetime | Yes | This is the time stamp when MHE counted the inventory. The format is “YYYY-MM-DDTHH:MM:SS”. |
| serial_nbr_list | Array (String) | No | List of serial numbers scanned for the counted inventory. You can send the serial numbers as comma separated values. |
Request Body - Active Location
{
"async_flg":true,
"only_load_flg":false,
"header": {
"document_version": "25A",
"origin_system": "ENV1",
"client_env_code": "ENV1",
"parent_company_code": "COMP01",
"entity": "stage_cc_adjustment",
"timestamp": "2024-06-04T12:12:12",
"facility_code": "FAC01",
"company_code": "COMP01",
"messageid": "MSGID_0306202401002"
},
"stage_cycle_count_list":
[
{
"count_user": "User1",
"mhe_system": "CONVEYOR-1",
"task_nbr": "",
"task_type": "",
"location_barcode": "SS1202",
"update_only_counted_inventory_flg": "FALSE",
"stage_cycle_count_dtl_list":
[
{
"stage_cycle_count_inventory_list":
[
{
"item_alternate_code":"SSITEM01",
"item_part_a": "",
"item_part_b": "",
"item_part_c": "",
"item_part_d": "",
"item_part_e": "",
"item_part_f": "",
"qty_counted": "5",
"invn_attr_a": "",
"invn_attr_b": "",
"invn_attr_c": "",
"invn_attr_d": "",
"invn_attr_e": "",
"invn_attr_f": "",
"invn_attr_g": "",
"invn_attr_h": "",
"invn_attr_i": "",
"invn_attr_j": "",
"invn_attr_k": "",
"invn_attr_l": "",
"invn_attr_m": "",
"invn_attr_n": "",
"invn_attr_o": "",
"cc_uom":"",
"batch_nbr":"",
"expiry_date":null,
"pack_qty":"0",
"case_qty":"0",
"count_ts": "2025-01-21T12:05:45",
"stage_cycle_count_serial_nbr":
{
"serial_nbr_list": ["S01","S02","S03","S04","S05"]
}
},
{
"item_alternate_code":"SSITEM02",
"item_part_a": "",
"item_part_b": "",
"item_part_c": "",
"item_part_d": "",
"item_part_e": "",
"item_part_f": "",
"qty_counted": "3",
"invn_attr_a": "",
"invn_attr_b": "",
"invn_attr_c": "",
"invn_attr_d": "",
"invn_attr_e": "",
"invn_attr_f": "",
"invn_attr_g": "",
"invn_attr_h": "",
"invn_attr_i": "",
"invn_attr_j": "",
"invn_attr_k": "",
"invn_attr_l": "",
"invn_attr_m": "",
"invn_attr_n": "",
"invn_attr_o": "",
"cc_uom":"",
"batch_nbr":"",
"expiry_date":null,
"pack_qty":"0",
"case_qty":"0",
"count_ts": "2025-01-21T12:05:45",
"stage_cycle_count_serial_nbr":
{
"serial_nbr_list": ["S06","S07","S08"]
}
}
]
}
]
}
]
}
Request Body - Reserve Location Detailed Count
{
"async_flg": true,
"only_load_flg": false,
"header": {
"document_version": "25B",
"origin_system": "ENV1",
"client_env_code": "ENV1",
"parent_company_code": "COMP01",
"entity": "stage_cc_adjustment",
"timestamp": "2024-06-04T12:12:12",
"facility_code": "FAC01",
"company_code": "COMP01",
"messageid": "MSGID_0306202401002"
},
"stage_cycle_count_list": [
{
"count_user": "User1",
"mhe_system": "CONVEYOR-1",
"task_nbr": "",
"task_type": "",
"location_barcode": "SSRSV1101",
"lpn_scan_flg": "FALSE",
"update_only_counted_inventory_flg": "FALSE",
"allow_new_lpn_count_flg": "FALSE",
"stage_cycle_count_dtl_list": [
{
"container_nbr": "LPN001",
"stage_cycle_count_inventory_list": [
{
"item_alternate_code": "SSITEM01",
"item_part_a": "",
"item_part_b": "",
"item_part_c": "",
"item_part_d": "",
"item_part_e": "",
"item_part_f": "",
"qty_counted": "5",
"invn_attr_a": "",
"invn_attr_b": "",
"invn_attr_c": "",
"invn_attr_d": "",
"invn_attr_e": "",
"invn_attr_f": "",
"invn_attr_g": "",
"invn_attr_h": "",
"invn_attr_i": "",
"invn_attr_j": "",
"invn_attr_k": "",
"invn_attr_l": "",
"invn_attr_m": "",
"invn_attr_n": "",
"invn_attr_o": "",
"batch_nbr": "",
"expiry_date": "2025-11-01",
"cc_uom": "",
"pack_qty": "0",
"case_qty": "0",
"count_ts": "2025-01-21T12:05:45",
"stage_cycle_count_serial_nbr": {
"serial_nbr_list": [
"SER01",
"SER02",
"SER03",
"SER04",
"SER05"
]
}
},
{
"item_alternate_code": "SSITEM02",
"item_part_a": "",
"item_part_b": "",
"item_part_c": "",
"item_part_d": "",
"item_part_e": "",
"item_part_f": "",
"qty_counted": "5",
"invn_attr_a": "",
"invn_attr_b": "",
"invn_attr_c": "",
"invn_attr_d": "",
"invn_attr_e": "",
"invn_attr_f": "",
"invn_attr_g": "",
"invn_attr_h": "",
"invn_attr_i": "",
"invn_attr_j": "",
"invn_attr_k": "",
"invn_attr_l": "",
"invn_attr_m": "",
"invn_attr_n": "",
"invn_attr_o": "",
"batch_nbr": "",
"expiry_date": "2025-11-01",
"cc_uom": "",
"pack_qty": "0",
"case_qty": "0",
"count_ts": "2025-01-21T12:05:45",
"stage_cycle_count_serial_nbr": {
"serial_nbr_list": [
"SER06",
"SER07",
"SER08",
"SER09",
"SER10"
]
}
}
]
}
]
}
]
}
Request Body - Reserve Location LPN Scan Mode
{
"async_flg": true,
"only_load_flg": false,
"header": {
"document_version": "25B",
"origin_system": "ENV1",
"client_env_code": "ENV1",
"parent_company_code": "COMP01",
"entity": "stage_cc_adjustment",
"timestamp": "2024-06-04T12:12:12",
"facility_code": "FAC01",
"company_code": "COMP01",
"messageid": "MSGID_0306202401002"
},
"stage_cycle_count_list": [
{
"count_user": "User1",
"mhe_system": "CONVEYOR-1",
"task_nbr": "",
"task_type": "",
"location_barcode": "SSRSV1202",
"lpn_scan_flg": "TRUE",
"update_only_counted_inventory_flg": "FALSE",
"allow_new_lpn_count_flg": "FALSE",
"stage_cycle_count_dtl_list": [
{
"container_nbr": "LPN001"
},
{
"container_nbr": "LPN002"
}
]
}
]
}
Sample Response
{
"success": true,
"response": {
"message": "Data successfully processed"
}
}