Enter Count Quantity

Product recall is a request to quarantine and dispose a product after the discovery of defects with the product, health hazards, or safety issues that might endanger the consumer or put the maker or seller at risk of legal action.

Product recall management allows you to capture the product recalls initiated by different sources such as a regulatory authority, manufacturer, or distributor by creating recall notices.

You can locate the recalled parts across the supply chain that includes parts in-transit, parts lying in quantity-tracked locations, periodic automated replenishment locations commonly known as PAR locations and expense locations based on on-hand inventory balances and historical purchases. Tasks get automatically assigned to perform physical count of recalled parts in the identified locations and dispose them by notifying the respective stakeholders.

This process tracks the recalled parts in stock and in non-quantity tracked locations. Automated notifications driven by flexible business rules enables you to alert the stakeholders in the departments where the recalled parts can potentially reside. For example, a hospital may have multiple departments like Cardiology, Surgery, Medical Imaging, and so on where the same recalled part may reside. Multiple PAR counters may be responsible for counting and disposing the affected part residing in the departments. You can define the notification rules so that the PAR counters get notified on the recall tasks only for the parts residing in the respective departments.

You could be a warehouse operator or PAR counter or requester. Based on the notifications received, you can start performing the recall count in all identified locations that include quantity tracked, PAR, and expense locations. The recall count quantity can be reported through RF smart or through Oracle Visual Builder Plug-in for Microsoft Excel. Recall count can also be reported to Oracle Inventory Management Cloud through any third-party application by using the Inventory Count Tasks REST resource.

The following figure illustrates how count quantity is entered in Inventory Management using the Inventory Count Tasks REST resource.

Here's a typical application processing flow to enter the count quantity corresponding to a recall notice:

Flow that this example uses
  1. You can search for recall quantity in a subinventory, location, requester, or cost center.
  2. You can enter the count quantity for the item. In case of a lot controlled item, you can enter the quantity corresponding to the lot number and for a serial controlled item, you can enter the quantity corresponding to a serial number.
  3. The subinventory transfer is initiated to move the item to the recall subinventory when count quantity is reported for a quantity tracked subinventory. When count quantity is entered for a non-quantity tracked location like a PAR subinventory or expense location, recall receipt transaction is initiated to receive the items in recall subinventory. Recall receipt transaction is similar to a miscellaneous receipt in Oracle Inventory Management Cloud. When the count is entered for non-stockable items and description-based items, it will not create any subinventory transfer or recall receipt.
  4. The recalled parts that are counted and quarantined are returned to supplier if the replacement type in the recall notice is Return with credit. While performing returns, you must provide a reference to the recall notice number so that the return transaction details are captured in product recall management. The disposition details get automatically updated and disposition task gets marked as completed when all the counted quantities are returned.
  5. While performing this unreferenced returns or scrap, you must provide a reference to the recall notice number so that the disposition details are captured in product recall management.
  6. When all the tasks assigned to a recall notice line get marked as completed either automatically or manually, the recall notice line gets closed automatically. This ensures that a recall line is closed only after all affected goods are quarantined and disposed. When all the lines in a recall notice get closed, the recall notice is marked as closed.

Let's discuss this scenario briefly:

  1. Enter count quantity for quantity tracked subinventory
  2. Enter count quantity for non quantity tracked subinventory
  3. Enter count quantity for description based item

Enter Count Quantity for Quantity Tracked Subinventory

For the example in this topic, assume Hillary Smith is a warehouse operator or PAR counter or requesterHillary enters the count quantity for the items that have been recalled by a manufacturer. Hillary enters the quantity found for a recalled item in a quantity tracked subinventory or locator. The counter can retrieve the count tasks created for a recall notice number based on the subinventory, locator, location code, location name, requester name, and cost center.

To enter the count quantity:

  1. Query inventoryCountTasks by using query parameters such as RecallHeaderNumber, Subinventory, LocationCode (for example ?q=RecallHeaderNumber=RC12345) and get the collection URL from the self links.
  2. Use the PATCH operation to enter the count quantity corresponding to the count task using this payload.

Example URL

Use this resource URL format.

PATCH

fscmRestApi/resources/11.13.18.05/inventoryCountTasks/300100184764418

Header: Content-type:application/vnd.oracle.adf.resourceitem+json

Example Request

Here's an example of the request body in JSON format.

{
	"CountUnitOfMeasure": "Each",
	"CountQuantity": 10,
	"ProcessingModeCode": "PROCESS"
}

Example Response

Here's an example of the response body in JSON format.

{

	"InvCountTaskId": 300100184764418,
	"RecallHeaderId": 300100184928127,
	"RecallHeaderNumber": "RC12345",
	"RecallLineId": 300100184928128,
	"RecallLineNumber": "1",
	"LocationId": 3248,
	"LocationCode": null,
	"LocationName": null,
	"CountTaskSourceHeaderId": 0,
	"CountTaskSourceLineId": 0,
	"CountTaskSourceLineTypeCode": "ORA_IN_STOCK",
	"CountTaskSourceLineType": null,
	"OrganizationId": 207,
	"OrganizationCode": "M1",
	"OrganizationName": null,
	"InventoryItemId": 663914,
	"ItemNumber": "INV-101",
	"ItemDescription": null,
	"Subinventory": "M1INSTOCK",
	"LocatorId": null,
	"Locator": null,
	"Revision": null,
	"LotNumber": "AVILOT1",
	"SerialNumber": null,
	"OwningTypeCode": "2",
	"OwningType": "Inventory organization",
	"OwningEntityId": 207,
	"OwningPartySite": null,
	"OwningParty": null,
	"ProcurementBU": null,
	"CountStatusCode": "ORA_OPEN",
	"CountStatus": "Pending count",
	"CountDate": "2020-03-13",
	"CountedByEmployeeId": 2159,
	"CountedByEmployee": "Jones, Sandra",
	"CountUOMCode": "BX5",
	"CountUnitOfMeasure": "Box of 5",
	"CountSecondaryUOMCode": null,
	"CountSecondaryUnitOfMeasure": null,
	"CountQuantity": 1,
	"SecondaryUOMQuantity": null,
	"ExpectedUOMCode": "Ea",
	"ExpectedUnitOfMeasure": "Each",
	"ExpectedQuantity": 200,
	"SecondaryExpectedQuantity": null,
	"ErrorCode": null,
	"ErrorMessage": null,
	"TransactionReasonId": null,
	"TransactionReason": null,
	"TransactionDate": null,
	"DestinationSubinventory": "RECALL",
	"DestinationLocatorId": null,
	"DestinationLocator": null,
	"PickSubinventory": "AASUB1",
	"PickLocatorId": null,
	"PickLocator": null,
	"Comments": "Test Case1",
	"AccountAliasId": null,
	"AccountAlias": null,
	"AccountId": 107724,
	"Account": "01-130-5800-0000-000",
	"SequenceNumber": 9,
	"RequesterId": null,
	"RequesterName": null,
	"UseItemCostFlag": "true",
	"ProcessingModeCode": null,
	"ProcessingMode": null,
	"links": [3]

0: {...

	...}

}

Enter Count Quantity for Non Quantity Tracked Subinventory

In this scenario, Hillary enters the quantity found for a recalled item in a non-quantity tracked subinventory. The counter can search for the tasks based on the subinventory, locator, location code, location name, and requester name. The counter can retrieve the count tasks created for a recall notice number based on the subinventory, locator, location Code, location name, requester name, and cost center. You need to enter the quantity and the account or the account alias.

To enter the count quantity:

  1. Query inventoryCountTasks by using a query parameters such as RecallHeaderNumber, Subinventory, LocationCode (for example ?q=RecallHeaderNumber=RC12345) and get the collection URL from the self links.
  2. Use the PATCH operation to enter the count quantity corresponding to the count task using this payload.

Example URL

Use this resource URL format.

PATCH

fscmRestApi/resources/11.13.18.05/inventoryCountTasks/300100184764725

Header: Content-type:application/vnd.oracle.adf.resourceitem+json

Example Request

Here's an example of the request body in JSON format.

{
	"CountUnitOfMeasure": "Each",
	"CountQuantity": 10,
	"ProcessingModeCode": "PROCESS"
}

Example Response

Here's an example of the response body in JSON format.

{

	"InvCountTaskId": 300100184764725,
	"RecallHeaderId": 300100184928127,
	"RecallHeaderNumber": "RC204101",
	"RecallLineId": 300100184928128,
	"RecallLineNumber": "1",
	"LocationId": 3248,
	"LocationCode": null,
	"LocationName": null,
	"CountTaskSourceHeaderId": 0,
	"CountTaskSourceLineId": 0,
	"CountTaskSourceLineTypeCode": "ORA_PAR",
	"CountTaskSourceLineType": null,
	"OrganizationId": 207,
	"OrganizationCode": "M1",
	"OrganizationName": null,
	"InventoryItemId": 663914,
	"ItemNumber": "INV-101",
	"ItemDescription": null,
	"Subinventory": "M1IPAR",
	"LocatorId": null,
	"Locator": null,
	"Revision": null,
	"LotNumber": "AVILOT1",
	"SerialNumber": null,
	"OwningTypeCode": "2",
	"OwningType": "Inventory organization",
	"OwningEntityId": 207,
	"OwningPartySite": null,
	"OwningParty": null,
	"ProcurementBU": null,
	"CountStatusCode": "ORA_OPEN",
	"CountStatus": "Pending count",
	"CountDate": "2020-03-13",
	"CountedByEmployeeId": 2159,
	"CountedByEmployee": "Jones, Sandra",
	"CountUOMCode": "BX5",
	"CountUnitOfMeasure": "Box of 5",
	"CountSecondaryUOMCode": null,
	"CountSecondaryUnitOfMeasure": null,
	"CountQuantity": 1,
	"SecondaryUOMQuantity": null,
	"ExpectedUOMCode": "Ea",
	"ExpectedUnitOfMeasure": "Each",
	"ExpectedQuantity": 200,
	"SecondaryExpectedQuantity": null,
	"ErrorCode": null,
	"ErrorMessage": null,
	"TransactionReasonId": null,
	"TransactionReason": null,
	"TransactionDate": null,
	"DestinationSubinventory": "RECALL",
	"DestinationLocatorId": null,
	"DestinationLocator": null,
	"PickSubinventory": "AASUB1",
	"PickLocatorId": null,
	"PickLocator": null,
	"Comments": "Test Case1",
	"AccountAliasId": null,
	"AccountAlias": null,
	"AccountId": 107724,
	"Account": "01-130-5800-0000-000",
	"SequenceNumber": 9,
	"RequesterId": null,
	"RequesterName": null,
	"UseItemCostFlag": "true",
	"ProcessingModeCode": null,
	"ProcessingMode": null,
	"links": [3]

0: {...

	...}

}

Enter Count Quantity for Description Based Item

In this scenario, Hillary enters the quantity found for a recalled item in location. The counter retrieves count tasks created for a recall notice number based on the requester name, or the cost center.

To enter the count quantity:

  1. Query the inventoryCountTasks by using a query parameters such as RecallHeaderNumber, Subinventory, LocationCode (for example ?q=RecallHeaderNumber=RC12345) and get the collection URL from the self links.
  2. Use the PATCH operation to enter the count quantity corresponding to the count task using this payload.

Example URL

Use this resource URL format.

PATCH

fscmRestApi/resources/11.13.18.05/inventoryCountTasks/300100184764345

Header: Content-type:application/vnd.oracle.adf.resourceitem+json

Example Request

Here's an example of the request body in JSON format.

{
	"CountUnitOfMeasure": "Each",
	"CountQuantity": 10,
	"ProcessingModeCode": "PROCESS"
}

Example Response

Here's an example of the response body in JSON format.

{

	"InvCountTaskId": 300100184764345,
	"RecallHeaderId": 300100184928127,
	"RecallHeaderNumber": "RC204201",
	"RecallLineId": 300100184928128,
	"RecallLineNumber": "1",
	"LocationId": 3248,
	"LocationCode": null,
	"LocationName": null,
	"CountTaskSourceHeaderId": 0,
	"CountTaskSourceLineId": 0,
	"CountTaskSourceLineTypeCode": "ORA_IN_STOCK",
	"CountTaskSourceLineType": null,
	"OrganizationId": 207,
	"OrganizationCode": "M1",
	"OrganizationName": null,
	"InventoryItemId": null,
	"ItemNumber": null,
	"ItemDescription": "AADESCITEM",
	"Subinventory": "M1INSTOCK",
	"LocatorId": null,
	"Locator": null,
	"Revision": null,
	"LotNumber": "AVILOT1",
	"SerialNumber": null,
	"OwningTypeCode": "2",
	"OwningType": "Inventory organization",
	"OwningEntityId": 207,
	"OwningPartySite": null,
	"OwningParty": null,
	"ProcurementBU": null,
	"CountStatusCode": "ORA_OPEN",
	"CountStatus": "Pending count",
	"CountDate": "2020-03-13",
	"CountedByEmployeeId": 2159,
	"CountedByEmployee": "Jones, Sandra",
	"CountUOMCode": "BX5",
	"CountUnitOfMeasure": "Box of 5",
	"CountSecondaryUOMCode": null,
	"CountSecondaryUnitOfMeasure": null,
	"CountQuantity": 1,
	"SecondaryUOMQuantity": null,
	"ExpectedUOMCode": "Ea",
	"ExpectedUnitOfMeasure": "Each",
	"ExpectedQuantity": 200,
	"SecondaryExpectedQuantity": null,
	"ErrorCode": null,
	"ErrorMessage": null,
	"TransactionReasonId": null,
	"TransactionReason": null,
	"TransactionDate": null,
	"DestinationSubinventory": "RECALL",
	"DestinationLocatorId": null,
	"DestinationLocator": null,
	"PickSubinventory": "AASUB1",
	"PickLocatorId": null,
	"PickLocator": null,
	"Comments": "Test Case1",
	"AccountAliasId": null,
	"AccountAlias": null,
	"AccountId": 107724,
	"Account": "01-130-5800-0000-000",
	"SequenceNumber": 9,
	"RequesterId": null,
	"RequesterName": null,
	"UseItemCostFlag": "true",
	"ProcessingModeCode": null,
	"ProcessingMode": null,
	"links": [3]

0: {...

	...}

}