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);