Retrieve Inventory Transfers.

In Erply, an Inventory Transfer is a document that moves inventory between locations (stores); subtracts from one location and adds to the other. An Inventory Transfer contains a list of products and quantities.

Non-stock products and bundles cannot be transfered (these items do not have inventory).

To create or update an Inventory Transfer, see saveInventoryTransfer. To delete one, see deleteInventoryTransfer.

To get a CSV report of Inventory Transfers, see getInventoryTransferReport. If you need all Transfers that have taken place in a certain time period, it is more efficient to get the report — you will get all the data with just one query.

Input parameters

Parameter name Description Possible value Required
inventoryTransferID Get one specific Inventory Transfer Integer
inventoryTransferIDs Multiple Inventory Transfer IDs, separated by commas, such as: 1,2,3,4,5. String
inventoryTransferNo Integer
warehouseFromID Retrieve transfers from a specific source location (warehouse, store). See getWarehouses. Integer
warehouseToID Retrieve transfers to a specific destination location (warehouse, store). See getWarehouses. Integer
dateFrom Date (yyyy-mm-dd)
dateTo Date (yyyy-mm-dd)
getCost If set to 1, API also returns the cost. Integer
confirmed 0 or 1 Integer
statuses Comma separated list. Possible values: CREATED, ACCEPTED, REJECTED and FULFILLED. String
type Possible values: TRANSFER, TRANSFER_ORDER. String
fulfilled If set to 1, API returns only fulfilled Inventory Transfer Orders. Integer (0 or 1)
searchAttributeName Name of attribute to search from. Both "searchAttributeName" and "searchAttributeValue" have to be specified. Error 1030 will be returned if value is an array. String
searchAttributeValue Attribute value to search for. Error 1030 will be returned if value is an array. String
changedSince Retrieve only items that have been added or modified since the specified timestamp. Use it to keep a local database in sync with Erply. Integer (Unix timestamp)
recordsOnPage Number of records API should return. By default 20, at most 100. Integer
pageNo API returns at most recordsOnPage items at a time. To retrieve the next recordsOnPage items, send a new request with pageNo incremented by one. By default, API returns "page 1". Integer


Field name Type Description
inventoryTransferID Integer ID of inventory transfer
inventoryTransferNo Integer Inventory transfer number
creatorID Integer
warehouseFromID Integer
warehouseToID Integer
deliveryAddressID Address ID that has been selected for deliveries Integer
currencyCode String Currency code: EUR, USD.
currencyRate Decimal eg. 1.25543
Exchange rate of the inventory transfer currency against system's default currency.
type String Possible values: TRANSFER, TRANSFER_ORDER.
inventoryTransferOrderID Integer Source document ID.
followupInventoryTransferID Integer
date Date eg. 2010-01-29
shippingDate Date eg. 2010-01-29. Used for inventory transfer order types. Indicates the requested shipping date.
shippingDateActual Date eg. 2010-01-29. Used for inventory transfer order types. Indicates the actual shipping date.
inventoryTransactionDate Date Inventory transaction date.
This is the date on which the document was confirmed and when the items on this document were added into inventory, or removed from inventory. While "document date" can be edited by users at any time, "inventory transaction date" is always set by Erply and cannot be changed.
Inventory Reports and COGS reports are based on the inventory transaction date.
status string Used for inventory transfer order types - CREATED, APPROVED, REJECTED.
notes String
confirmed Integer 0 or 1
added Unix timestamp Creation time.
lastModified Unix timestamp Last modification time.
rows Array Each row contains the following fields:

Field nameTypeDescription
stableRowIDIntegerStable row ID.
productIDIntegerID of the transfered product.

Unit cost at which the transfer was done. However, it is recommended to use the "cost" field instead.

When you create an Inventory Transfer, Erply sets the cost automatically, depending on which inventory batches the quantity is drawn from. In the past, it was possible to set it manually, hence we have the separate "price" field.

amountDecimalTransfered quantity.

Unit cost. This value is retrieved directly from inventory records, so it always reflects the true cost at which the items were transfered.

To retrieve this field, you need to set input parameter "getCost" = 1.


Package ID, if the item has been transfered in packages.

To retrieve the packages of a particular product, see getProducts, block "productPackages".

This field, and the following ones, are not returned if your account does not have the "Packages on Inventory Transfers" extra module activated.

amountOfPackagesDecimalAmount of packages
amountInPackageDecimalAmount of products contained in one package
packageTypeStringReadable package type name
packageTypeIDIntegerType ID of the package.
jdocObjectContains data that is saved using the JSON Api. Contents of this field change depending on what is saved into the json field. Output is always given as valid json or null when the field is not set.
Example: {"myValue":"123"}
attributes Array Additional attributes. Each item looks like this:

Field nameTypeDescription
attributeNameStringAttribute name
attributeTypeStringAttribute type
attributeValueStringAttribute value