Create an Inventory Registration or update an existing one.

Inventory Registration is a document that takes products into inventory; it has a list of items and quantities. It is similar to a Purchase Invoice, but has fewer fields and is best suited for registering your initial stock quantities when you start using ERPLY — or for making inventory quantity adjustments.

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

Products can be removed from stock with Inventory Write-offs (see getInventoryWriteOffs and saveInventoryWriteOff) and moved between locations with Inventory Transfers (see getInventoryTransfers and saveInventoryTransfer).

To retrieve a list of Inventory Registrations, see getInventoryRegistrations.

Input parameters

Parameter nameDescriptionPossible valueRequired
inventoryRegistrationIDInventory registration ID.
Set this parameter to update an existing Inventory Registration.

If the ERPLY account has upgraded inventory module (indicated by the (i) signifier at the lower right corner, after version number, in Erply backend), and the Inventory Registration is already in confirmed status, it is no longer possible to change:
  • warehouseID
  • currencyCode
  • document rows - amount and IDs.
API will return error 1017 if you attempt to change any of those fields. Document row's price can be edited but all rows and values should be presented, API will return error 1023 if you have wrong information in rows.
creatorIDCompany user unique IDInteger
warehouseIDID of the warehouseInteger yes
supplierIDID of the supplierInteger
currencyCodeCurrency code: EUR, USD. Currency must be present in the system.
If omitted, default currency will be used.
dateeg. 2010-01-29
If omitted, current date will be used.
causeSource of received inventoryString
confirmedBy default 10 or 1
*************Document lines (rows). Send document lines as a flat list, each line defined by the following set of parameters. Replace # with set number (1, 2, 3, ...). For example: productID1, amount1, price1 for the first Inventory Registration row, productID2, amount2, price2 for the second one and so on.
productID#Product ID for this document line.Integer yes

Quantity to be taken into stock.

This value can also be negative; in that case, the quantity will be subtracted from stock (written off). When doing inventory adjustments, it might be convenient to put both positive and negative changes on the same document.

Decimal yes
price#Unit cost. The item will be added to inventory at this specified cost.Decimal

Set this field if you want to indicate that the product is taken into inventory as packages. Use it together with "amountOfPackages#".

Packages are product-specific; a product can have zero or more defined packages. To retrieve a product's packages, call getProducts with input parameter getPackageInfo = 1 and see the block productPackages in the output.

To use this field, your account needs to have the "Packages on Inventory Registrations" extra module enabled, otherwise API will return error code 1028. Please contact customer support to enable it.


Amount of packages.

If you specify both amount# and amountOfPackages#, they must correspond to each other: amount# must be equal to amountOfPackages#, multiplied by the quantity in one package.

However, it is sufficient to specify only one of the two fields; the second one will be calculated automatically.

To use this field, your account needs to have the "Packages on Inventory Registrations" extra module enabled, otherwise API will return error code 1028. Please contact customer support to enable it.



Field nameTypeDescription
inventoryRegistrationIDIntegerID of the newly-created item. Deprecated alternative name: inventoryReceiptID