assetAccount
object
required

The asset account used to track the current value of this inventory item in inventory.

averageCost
string | null
required

The average cost per unit of this inventory item, represented as a decimal string.

barcode
string | null
required

The inventory item's barcode.

class
object | null
required

The inventory item's class. Classes can be used to categorize objects into meaningful segments, such as department, location, or type of work. In QuickBooks, class tracking is off by default.

cogsAccount
object
required

The Cost of Goods Sold (COGS) account for this inventory item, tracking the original direct costs of producing goods sold.

createdAt
string
required

The date and time when this inventory item was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone in QuickBooks.

customFields
object[]
required

The custom fields for the inventory item object, added as user-defined data extensions, not included in the standard QuickBooks object.

externalId
string | null
required

A globally unique identifier (GUID) you, the developer, can provide for tracking this object in your external system.

fullName
string
required

The case-insensitive fully-qualified unique name of this inventory item, formed by combining the names of its hierarchical parent objects with its own name, separated by colons. For example, if an inventory item is under "Products:Electronics" and has the name "Widgets", its fullName would be "Products:Electronics:Widgets".

NOTE: Unlike name, fullName is guaranteed to be unique across all inventory item objects. However, fullName can still be arbitrarily changed by the QuickBooks user when they modify the underlying name field.

id
string
required

The unique identifier assigned by QuickBooks to this inventory item. This ID is unique across all inventory items but not across different QuickBooks object types.

incomeAccount
object
required

The income account used to track revenue from sales of this inventory item.

isActive
boolean
required

Indicates whether this inventory item is active. Inactive objects are typically hidden from views and reports in QuickBooks.

maximumQuantityOnHand
number | null
required

The maximum quantity of this inventory item desired in inventory.

name
string
required

The case-insensitive name of this inventory item. Not guaranteed to be unique because it does not include the names of its hierarchical parent objects like fullName does. For example, two inventory items could both have the name "Cabinet", but they could have unique fullName values, such as "Kitchen:Cabinet" and "Inventory:Cabinet". Maximum length: 31 characters.

objectType
string
required

The type of object. This value is always "qbd_inventory_item".

Allowed value: "qbd_inventory_item"
parent
object | null
required

The parent inventory item one level above this one in the hierarchy. For example, if this inventory item has a fullName of "Kitchen:Cabinet", its parent has a fullName of "Kitchen". If this inventory item is at the top level, this field will be null.

preferredVendor
object | null
required

The preferred vendor from whom this inventory item is typically purchased.

purchaseCost
string | null
required

The cost at which this inventory item is purchased from vendors, represented as a decimal string.

purchaseDescription
string | null
required

The description of this inventory item that appears on purchase forms (e.g., checks, bills, item receipts) when it is ordered or bought from vendors.

purchaseTaxCode
object | null
required

The tax code applied to purchases of this inventory item. Applicable in regions where purchase taxes are used, such as Canada or the UK.

quantityOnHand
number | null
required

The current quantity of this inventory item available in inventory. To change the quantityOnHand for an inventory item, you must create an inventory-adjustment instead of updating this inventory item directly.

quantityOnOrder
number | null
required

The number of units of this inventory item that have been ordered from vendors (as recorded in purchase orders) but not yet received.

quantityOnSalesOrder
number | null
required

The number of units of this inventory item that have been sold (as recorded in sales orders) but not yet fulfilled or delivered to customers.

reorderPoint
number | null
required

The minimum quantity of this inventory item at which QuickBooks prompts for reordering.

revisionNumber
string
required

The current revision number of this inventory item object, which changes each time the object is modified. When updating this object, you must provide the most recent revisionNumber to ensure you're working with the latest data; otherwise, the update will return an error.

salesDescription
string | null
required

The description of this inventory item that appears on sales forms (e.g., invoices, sales receipts) when sold to customers.

salesPrice
string | null
required

The price at which this inventory item is sold to customers, represented as a decimal string.

salesTaxCode
object | null
required

The default sales-tax code for this inventory item, determining whether it is taxable or non-taxable. This can be overridden at the transaction-line level.

Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes can also be created in QuickBooks. If QuickBooks is not set up to charge sales tax (via the "Do You Charge Sales Tax?" preference), it will assign the default non-taxable code to all sales.

sku
string | null
required

The inventory item's stock keeping unit (SKU), which is sometimes the manufacturer's part number.

sublevel
number
required

The depth level of this inventory item in the hierarchy. A top-level inventory item has a sublevel of 0; each subsequent sublevel increases this number by 1. For example, an inventory item with a fullName of "Kitchen:Cabinet" would have a sublevel of 1.

unitOfMeasureSet
object | null
required

The unit-of-measure set associated with this inventory item, which consists of a base unit and related units.

updatedAt
string
required

The date and time when this inventory item was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone in QuickBooks.