Manage Inventory Balances from External Applications

A third-party logistics (3PL) provider typically specializes in integrated operation, warehousing, and transportation services that can be scaled and configured to customer need based on market conditions. A warehouse management system (WMS) is a software application designed to support warehouse or distribution center management and staff. This application facilitates management of available resources to move and store materials into, within, and out of a warehouse, while supporting staff in material movement and storage.

Oracle Fusion Applications provide a central integration framework that coordinates communication with a 3PL application or WMS to support purchase order receipts, returns to suppliers, internal material transfers, inventory transactions, and sales order shipments. Using REST API, Oracle Inventory Management Cloud communicates receiving advice and shipment requests to a 3PL provider or external WMS for processing. After completion of processing in the 3PL application or WMS, Inventory Management accepts receipt confirmations, shipment confirmations, and inventory transactions from the 3PL application or WMS.

The following figure illustrates how Inventory Management integrates with 3PL and WMS applications.

High-level overview of Inventory Management integration with 3PL and WMS applications

Let's discuss this scenario briefly:

  • Create inventory balance transactions

Here's a typical application processing flow for the scenarios:

  1. Ensure all the interfaces are run and all the transactions are posted on both Inventory Management and WMS.
  2. Ensure all the exceptions are addressed on both Inventory Management and WMS.
  3. You can use WMS to extract the inventory balance to the same level of summarization or aggregation as tracked in Inventory Management along with all the details such as lots and serial numbers.
  4. You can initiate the inventory balance message and send the message to the integration layer.
  5. You can map the message details to the inventoryBalanceTransactions resource and use the resource to manage inventory balances.
  6. You can run the Manage Inventory Balances Process scheduled process to submit multiple requests to reconcile the on-hand balances in the organization with the on-hand details provided by the external application.

Create Inventory Balance Transactions

Let's consider that Amy Smith is a Warehouse operator who can receive inventory balance details from external applications, such as third-party logistics providers, warehouse management systems, or contract manufacturers and use this information to reconcile inventory balances. Inventory on-hand details can include subinventory, locator, lot, serial number, and external packing unit.

Example URL

Use this resource URL format.

POST

/fscmRestApi/resources/11.13.18.05/inventoryBalanceTransactions

For example:

curl -u username:password -X POST -H "Content-Type:application/vnd.oracle.adf.resourceitem+json" -d 'request payload' 
"https://servername/fscmRestApi/resources/version/inventoryBalanceTransactions?onlyData=true"

Example Request

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

{
	"SubmitForProcessing": "No",
	"transactionLines": [
	{
		"OrganizationCode": "M1",
		"ItemNumber": "INV-102",
		"Subinventory": "Stores",
		"PrimaryUOMQuantity": 3,
		"PrimaryUnitOfMeasure": "Each",
		"OwningTradingPartnerType": 2,
		"OwningOrganizationCode": "M1",
		"itemSerials": [
		{
			"FromSerialNumber": "AAANEWSER103",
			"ToSerialNumber": "AAANEWSER105"
		}
		],
		"inventoryAttributesDFF": [
		{
			"projectId_Display": "P6004",
			"taskId_Display": "1.1",
			"countryOfOriginCode_Display": "Argentina"
		}
		]
	}
	]
}

Example Response

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

{
	"ReturnStatus": "SUCCESS",
	"ReturnMessageCode": "INV_OUT_COMPL_MSG_SCC",
	"ReturnMessageText": "The process successfully completed.",
	"TotalRecordsCount": 1,
	"SuccessRecordsCount": null,
	"FailedRecordsCount": null,
	"SubmitForProcessing": "No",
	"transactionLines": [
	{
		"OrganizationId": 207,
		"OrganizationCode": "M1",
		"OrganizationName": null,
		"InventoryItemId": null,
		"ItemNumber": "INV-102",
		"Revision": null,
		"Subinventory": "Stores",
		"LocatorId": null,
		"LocatorName": null,
		"PrimaryUOMQuantity": 3,
		"PrimaryUOMCode": null,
		"PrimaryUnitOfMeasure": "Each",
		"SecondaryUOMQuantity": null,
		"SecondaryUOMCode": null,
		"SecondaryUnitOfMeasure": null,
		"OwningTradingPartnerType": "2",
		"OwningOrganizationId": null,
		"OwningOrganizationCode": "M1",
		"PrcBUName": null,
		"VendorName": null,
		"VendorNumber": null,
		"ConsignmentAgreementNumber": null,
		"AccountAliasId": null,
		"AccountAliasName": null,
		"AgingOnsetDate": null,
		"TransactionSourceCode": null,
		"inventoryAttributesDFF": [
		{
			"TransactionInterfaceId": 300100188027054,
			"projectId": 100000015590866,
			"projectId_Display": "P6004",
			"taskId": 100000015590911,
			"taskId_Display": "1.1",
			"countryOfOriginCode": "AR",
			"countryOfOriginCode_Display": "Argentina",
			"__FLEX_Context": null,
			"__FLEX_Context_DisplayValue": null,
			"links": [
			{
				"rel": "self",
				"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054/child/inventoryAttributesDFF/300100188027054",
				"name": "inventoryAttributesDFF",
				"kind": "item",
				"properties": {
					"changeIndicator": "ACED0005737200136A6176612E7574696C2E41727261794C6973747881D21D99C7619D03000149000473697A65787000000001770400000001737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000178"
				}
			},
			{
				"rel": "canonical",
				"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054/child/inventoryAttributesDFF/300100188027054",
				"name": "inventoryAttributesDFF",
				"kind": "item"
			},
			{
				"rel": "parent",
				"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054",
				"name": "transactionLines",
				"kind": "item"
			},
			{
				"rel": "lov",
				"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054/child/inventoryAttributesDFF/300100188027054/lov/LVVO___FLEX_Context",
				"name": "LVVO___FLEX_Context",
				"kind": "collection"
			},
			{
				"rel": "lov",
				"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054/child/inventoryAttributesDFF/300100188027054/lov/LVVO_taskId",
				"name": "LVVO_taskId",
				"kind": "collection"
			},
			{
				"rel": "lov",
				"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054/child/inventoryAttributesDFF/300100188027054/lov/LVVO_projectId",
				"name": "LVVO_projectId",
				"kind": "collection"
			},
			{
				"rel": "lov",
				"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054/child/inventoryAttributesDFF/300100188027054/lov/LVVO_countryOfOriginCode",
				"name": "LVVO_countryOfOriginCode",
				"kind": "collection"
			}
			]
		}
		],
		"itemSerials": [
		{
			"FromSerialNumber": "AAANEWSER103",
			"ToSerialNumber": "AAANEWSER105",
			"FromVendorSerialNumber": null,
			"ToVendorSerialNumber": null,
			"TerritoryCode": null,
			"OriginationDate": null,
			"StatusId": null,
			"StatusCode": null,
			"StatusName": null,
			"TerritoryShortName": null,
			"links": [
			{
				"rel": "self",
				"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054/child/itemSerials/300100188027055",
				"name": "itemSerials",
				"kind": "item",
				"properties": {
					"changeIndicator": "ACED0005737200136A6176612E7574696C2E41727261794C6973747881D21D99C7619D03000149000473697A65787000000001770400000001737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000178"
				}
			},
			{
				"rel": "canonical",
				"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054/child/itemSerials/300100188027055",
				"name": "itemSerials",
				"kind": "item"
			},
			{
				"rel": "parent",
				"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054",
				"name": "transactionLines",
				"kind": "item"
			},
			{
				"rel": "child",
				"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054/child/itemSerials/300100188027055/child/dffForItemSerials",
				"name": "dffForItemSerials",
				"kind": "collection"
			}
			]
		}
		],
		"links": [
		{
			"rel": "self",
			"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054",
			"name": "transactionLines",
			"kind": "item",
			"properties": {
				"changeIndicator": "ACED0005737200136A6176612E7574696C2E41727261794C6973747881D21D99C7619D03000149000473697A65787000000001770400000001737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000178"
			}
		},
		{
			"rel": "canonical",
			"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054",
			"name": "transactionLines",
			"kind": "item"
		},
		{
			"rel": "parent",
			"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003",
			"name": "inventoryBalanceTransactions",
			"kind": "item"
		},
		{
			"rel": "child",
			"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054/child/dffForTransactionLines",
			"name": "dffForTransactionLines",
			"kind": "collection"
		},
		{
			"rel": "child",
			"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054/child/inventoryAttributesDFF",
			"name": "inventoryAttributesDFF",
			"kind": "collection"
		},
		{
			"rel": "child",
			"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054/child/itemLots",
			"name": "itemLots",
			"kind": "collection"
		},
		{
			"rel": "child",
			"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines/300100188027054/child/itemSerials",
			"name": "itemSerials",
			"kind": "collection"
		}
		]
	}
	],
	"links": [
	{
		"rel": "self",
		"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003",
		"name": "inventoryBalanceTransactions",
		"kind": "item"
	},
	{
		"rel": "canonical",
		"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003",
		"name": "inventoryBalanceTransactions",
		"kind": "item"
	},
	{
		"rel": "child",
		"href": "https://servername/fscmRestApi/resources/versioninventoryBalanceTransactions/3003/child/transactionLines",
		"name": "transactionLines",
		"kind": "collection"
	}
	]
}