InventoryTransferAPI Class

ERP Version: 3.85
FS Version: 3.335

The ERP Inventory Transfer API allows users to create bulk inventory movements. Previously, users could only make single transfers on the page accessed from the outbound Inventory Quantity Available object. This API allows users to make many transfers via a global API.

InventoryTransferAPI Methods

Signature

transfer(List<InventoryTransferModel> transfers)

Return Value

Type: ERPServiceResult

Parameters

Type: List<InventoryTransferModel> transfers

Automated Job Result Records

After every API request, an Automated Job Result (AJR) record will be created. These Salesforce records detail the number of transfers that have succeeded or failed. Check the AJR’s notes section for information on failures. AJR records created by inventory transfers will have the Job Type “Bulk Inventory Transfer”.

Errors

Quantity not available - This error occurs when an IQA does not have enough available quantity to service an outbound transfer. If any (200 record) batches have finished before this error occurs, those batches will complete; however, the current batch and any future batches will fail.

Null required field - There is a required field that is null.

Limits

There are no hard limits are the number of transfers

Serialized products have stricter limits than regular transfers. Users who need to transfer large numbers of serialized products (more than 25,000) may need to split those into multiple transfers.

Usage

Creating multiple transfers in a loop

List<AcctSeedERP.InventoryTransferModel> t 

ransfers = new List<AcctSeedERP.InventoryTransferModel>(); 

Integer numberOfTransfers = 1; 

Integer amountPerTransfer = 1000000; 
for (Integer tCounter=0; tCounter < numberOfTransfers; tCounter++) { 
    AcctSeedERP.InventoryTransferModel transfer = new AcctSeedERP.InventoryTransferModel(); 
    transfer.outboundIqaId = 'a1X7x0000034pJxEAI'; 
    transfer.inboundLocationId = 'a1Y7x000005xSS1EAM'; 
    transfer.movementDate = Date.today(); 
    transfer.transferLedgerId = 'a0z7x000008LLrFAAW'; 
    transfer.quantity = amountPerTransfer; 
    transfer.glav3Id = 'a087x00000VnIoxAAF'; 
    transfer.glav4id = 'a087x00000VneldAAB'; 
    transfers.add(transfer); 

} 

AcctSeedERP.ERPServiceResult result = AcctSeedERP.InventoryTransferAPI.transfer(transfers);