SDK support for multi location inventory

Starting with QuickBooks Enterprise v11 (2011 - US version) and qbXML spec 10.0, the Desktop SDK supports the QuickBooks multi-location inventory feature. This page is a brief overview the QuickBooks multi-location inventory feature from the perspective of the SDK. It covers the multi-location inventory impact on company preferences, transactions, list objects and reports. For full information on how this feature works, please consult the in-product help for QuickBooks.

Multi-location inventory support in the SDK

Different aspects of the SDK’s support for multi-location inventory are covered below.

SDK support for activating multi-location inventory
SDK support for working with inventory sites

The SDK supports add, mod, and query requests for inventory sites.

InventorySiteAdd

The SDK can add new inventory sites to the Inventory Site List with this request:

  1. For this feature to work via SDK, the QuickBooks preference that allows inventory items to be in multiple sites has to be turned on.
  2. The only required field to add a site is the Name field. The name to be added must be unique.
  3. The address block of the Inventory site list parallels that of the customer list.
InventorySiteMod

The SDK can modify an existing inventory site through this request.

  1. Like other list modify requests, this request requires the list ID and edit sequence of the element to be modified.
  2. The name of an element can be changed as long as the modified name isn’t already in use by another element.
  3. If the ‘IsDefaultSite’ is set to true for an element, then it can be made false only by setting the <IsDefaultSite> tag true for another element in the list–sending <IsDefaultSite>false</IsDefaultSite> for a site whose <IsDefaultSite> tag is already true has no effect.
InventorySiteQuery

FullName, ActiveStatus, From & To ModifiedDate, NameFilter, NameRageFilter are available as filters.

SDK support for transferring inventory

This SDK supports add, mod, del, and query request for transferring inventory. This set of request messages allows the user to transfer inventory from one site to another.

Transfer inventory add
  1. This request requires “to” and “from” sites and one entry in the transaction line.
  2. It also has the provision to set External GUID
Transfer inventory mod
  1. It allows the modification of a transfer inventory transaction’s body and transaction lines.
  2. If the transaction line isn’t explicitly mentioned in the modline aggregate, the transaction is deleted
Transfer Inventory Query

Standard filters and Site Filter are available.

SDK support for adding site information to transactions

The SDK supports applying site information to transactions in add requests and modifying site information in mod requests. (Multi-location inventory must be active for the company file.)

Note

Note

Note that the <InventorySiteRef> tag is currently supported for line items only. For group Items, the SDK cannot explicitly specify the site, and it defaults to UnSpecifiedSite.

Multi-location inventory support for group items

This functionality has not been implemented. Calls to this request will return as unsupported.

Impact of multi-location inventory on existing applications

If your users are using Enterprise v11 and have multi-location inventory turned on, your application can be affected by multi-location inventory even if your application does not take advantage of the 10.0 features and issues only requests using qbXML spec 8.0 and older.

Here are the new behaviors that impact your app:

These are issues you need to be aware of.