This call is deprecated. We recommend to use Account Administration API instead.
The corresponding new call is: GET /v1/warehouse.
Returns a list of warehouses, or locations, or stores.
API call getAllowedWarehouses returns the list of those warehouses that your user has access to.
To populate the drop-down list of "home stores" or "sign-up stores" on customer form, see the API call getHomeStores instead.
This call is deprecated. Use Account Administration API instead.
The corresponding new call is: GET /v1/user/warehouse.
Retrieve warehouses that the specified user has access to. API call getWarehouses, on the other hand, returns all warehouses.
This call is deprecated. We recommend to use Account Administration API instead.
The corresponding new call is: POST /v1/warehouse.
Create or update a store (location, warehouse). Access right to newly created store will be given to creator only. If its require to give access to newly created store for all existing users, specify addAccessForAllUsers = 1
To retrieve a list of locations, see getWarehouses.
Retrieve your product database.
In addition to product card fields, you can have API to return:
Note: PIM API offers a REST interface for retrieving products. PIM API supports more flexible filtering, for example; products can be filtered by any field, not just the predefined filters presented here.
Create or update a product.
Note: PIM API offers a REST interface for creating products.
This call is deprecated. We recommend to use PIM API instead.
The corresponding new call is: DELETE /v1/product/{ids}.
Delete a product. Products that have any number of transactions associated with them (sales, purchases or inventory) cannot be deleted; API returns error 1063. Instead, we always recommend to archive the product — setting its status to "ARCHIVED".
In Erply backend, deleting products is no longer possible; clicking the "X" button always archives a product.
Returns a HIERARCHICAL array of product groups.
Groups are a way of categorizing your product database, and several API calls support filtering by group.
Products can additionally be organized into categories (getProductCategories
, hierarchical), brands (getBrands
, a flat list), and priority groups (getProductPriorityGroups
, a flat list)
Note: PIM API offers a better REST interface for retrieving and managing product groups.
This call is deprecated. We recommend to use PIM API instead.
The corresponding new call is: POST /v1/product/group.
Create or update a product group.
This call is deprecated. We recommend to use PIM API instead.
The corresponding new call is: DELETE /v1/product/group/{ids}.
Delete a product group. Note that products belonging to this group, as well as subgroups, will NOT be deleted or moved to another group.
Returns an array of product units.
Note: PIM API offers a REST interface for retrieving and managing product units.
Retrieve your Erply inventory — quantities on hand, reserved amounts, Reorder Points and Restock Levels, FIFO costs, and most recent purchase prices.
By default, API returns all products that have a non-zero inventory quantity in the warehouse you specified. In other words, items with a zero inventory quantity are skipped.
However, if you use input parameters "changedSince" (all quantities that have changed since last synchronization), or "getProductsWithReorderPointDefined" / "getProductsWithRestockLevelDefined", API will also return items with zero inventory quantity.
To retrieve only a list of reserved inventory quantities, see getReservedStock.
If you need to get total stock across all warehouses, then use API call syncTotalProductStock.
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.;
Create or update an Inventory Transfer.
Inventory Transfer is a document that moves inventory between locations (stores); subtracts from one location and adds to the other. Inventory Transfer has a list of items and quantities.
Non-stock products and bundles cannot be transfered (these items do not have inventory).
For retrieving Inventory Transfers, see getInventoryTransfers.
Create an Inventory Write-Off or update an existing one.
Inventory Write-Off is a document that removes products from inventory; it has a list of items and quantities.
Non-stock products and bundles cannot be on Inventory Write-Offs (these items do not have inventory).
Products can be added to stock with Inventory Registrations (see getInventoryRegistrations and saveInventoryRegistration) and moved between locations with Inventory Transfers (see getInventoryTransfers and saveInventoryTransfer).
To retrieve a list of Inventory Write-Offs, see getInventoryWriteOffs.
Retrieve physical stocktakings.
A physical stocktaking is an operation where inventory is manually re-counted; if actual count differs from the inventory quantity in Erply, the quantity in Erply is adjusted.
When physical stocktaking is completed, the stocktaking act must be confirmed. Any surplus items can then be taken into inventory with an Inventory Registration, and missing items subtracted with an Inventory Write-Off.
To retrieve all item counts in one specific stocktaking, see getStocktakingReadings. To start a new stocktaking (create a new stocktaking act), see saveStocktaking. To update quantities on an act, see saveStocktakingReadings and incrementStocktakingReading. To delete an act, see deleteStocktaking.
Create or update a physical stocktaking act.
Creating the act is the first step in physical stocktaking. Next, it must be filled with quantities counted in the warehouse. After all quantities have been recorded and verified, the act must be confirmed. Finally, surplus quantities should be taken into stock with an Inventory Registration and missing quantites written off with an Inventory Write-off. Note that just confirming the act will not update your inventory yet!
Inventory Registrations and Write-offs can be created manually in Erply back-end.
For related API calls, see getStocktakings, deleteStocktaking, getStocktakingReadings, saveStocktakingReadings and incrementStocktakingReading.
Retrieve item counts on one specific stocktaking act.
To retrieve a list of physical stocktakings, see getStocktakings. To start a new stocktaking (create a new stocktaking act), see saveStocktaking. To update quantities on an act, see saveStocktakingReadings (to make bulk updates) or incrementStocktakingReading (to increment quantities atomically).
Update product count on a physical stocktaking sheet.
Note! This API call should be used only in single-client mode (if your API script or application is the only one updating the quantities). If you have several applications that need to update quantities simultaneously, use incrementStocktakingReading instead.
For related API calls, see getStocktakings, getStocktakingReadings and saveStocktaking.
Returns a list of purchase documents (purchase invoices or orders), according to the supplied filtering parameters.
If you have specified document ID or invoice number, or if the search criteria match a single sales document, or if you have set getRowsForAllInvoices = 1, API returns all documents together with their rows. Otherwise only document headers will be returned.
If you are looking for a way to pull all purchase data for external processing, see getPurchaseReport. getPurchaseReport
can output either detailed data or aggregate it as needed: it can provide totals by products, by product groups, by dates, by locations, etc.
Create a new purchase invoice, purchase order or purchase return, or update an existing one.
To update document row prices see API call updatePurchaseDocumentRows.
To update additional costs see API call updatePurchaseDocumentAdditionalCosts.
To make savePurchaseDocument calls idempotent, use the "temporaryUUID" field.
Delete a purchase document (invoice, order, return).