Update your supplier prices for products with our API

This API is used for updating details in the purchasing section of the product details screen. It will update all products that have the supplier and the update's supplier product id.

POST url example

https://app.finaleinventory.com/{accountPathComponent}/api/product/supplierupdate

POST body example

{
  "supplierPartyUrl":"/demo/api/partygroup/10001",
  "update":[
    {"supplierProductId":"123","price":1.55,"quantityAvailable":9001,"leadTime":1,"generalComments":"A commment"},
    {"supplierProductId":"124","price":0.75,"quantityAvailable":9001,"leadTime":1},
    {"supplierProductId":"125","price":19,"quantityAvailable":9001},
    {"supplierProductId":"125","price":11.5},
    {"supplierProductId":"127"}
  ]
}

POST body fields

POST body update subfields

These fields are defined on each object in the array of updates to be applied. The supplierProductId field is required, the other fields are optional. Fields that are not included in the update will not be modified.

POST response example

{
  "supplierPartyUrl":"/demo/api/partygroup/10001",
  "update":[
    {"update":{"supplierProductId":"123","price":1.55,"quantityAvailable":9001,"leadTime":1,"generalComments":"A commment"},
     "rslt":[{"productUrl": "/demo/api/product/10000"}]},
    {"update":{"supplierProductId":"124","price":0.75,"quantityAvailable":9001,"leadTime":1},
     "rslt":[{"productUrl": "/demo/api/product/10001"}, {"productUrl": "/demo/api/product/10000"}]},
    {"update":{"supplierProductId":"125","price":19,"quantityAvailable":9001},
     "rslt":[]},
    {"update":{"supplierProductId":"125","price":11.5},
     "rslt":[{"productUrl": "/demo/api/product/10001"}]},
    {"update":{"supplierProductId":"127"},
     "error":{"msg":"unknown error"}}
  ]
}

This is similar to the POST body except the updates are inside of a container object that has both an update and rslt.

The rslt is a list of finale product URLs that had the supplier section updated by the update.

If there are multiple updates with the same supplierProductId, they will all be applied in order.

If the rslt is empty, that means no products had the supplierProductId in their supplier section.

If the update only has the supplierProductId field, it will get an error instead of a rslt.

If the update has no fields, it will get an empty rslt.

Rate Limits

Each account has a quota of 1000 points/minute for product supplier updates. Quotas refresh every 30 seconds. Each product updated counts as 1 point towards your quota. For reference, the example shown in this help article would use 5 points of your quota (5 products updated in a single request). This allows roughly 16 products / second to be updated.

Any requests that would cause you to run out of points will be refused with an HTTP 429 error. The response body will contain information on how many points are available, how many points have been used, and when points are refreshed.