barcode
string | null
required

The service item's barcode.

class
object | null
required

The service 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.

createdAt
string
required

The date and time when this service 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 service 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 service item, formed by combining the names of its hierarchical parent objects with its own name, separated by colons. For example, if a service item is under "Consulting" and has the name "Web-Design", its fullName would be "Consulting:Web-Design".

NOTE: Unlike name, fullName is guaranteed to be unique across all service 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 service item. This ID is unique across all service items but not across different QuickBooks object types.

isActive
boolean
required

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

name
string
required

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

objectType
string
required

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

Allowed value: "qbd_service_item"
parent
object | null
required

The parent service item one level above this one in the hierarchy. For example, if this service item has a fullName of "Consulting:Web-Design", its parent has a fullName of "Consulting". If this service item is at the top level, this field will be null.

revisionNumber
string
required

The current revision number of this service 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.

salesAndPurchaseDetails
object | null
required

Details for service items that are both purchased and sold, such as reimbursable expenses or inventory items that are bought from vendors and sold to customers.

IMPORTANT: A service item will have either salesAndPurchaseDetails or salesOrPurchaseDetails, but never both because an item cannot have both configurations.

salesOrPurchaseDetails
object | null
required

Details for service items that are exclusively sold or exclusively purchased, but not both. This typically applies to non-inventory items (like a purchased office supply that isn't resold) or service items (like consulting services that are sold but not purchased).

IMPORTANT: A service item will have either salesAndPurchaseDetails or salesOrPurchaseDetails, but never both because an item cannot have both configurations.

salesTaxCode
object | null
required

The default sales-tax code for this service 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.

sublevel
number
required

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

unitOfMeasureSet
object | null
required

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

updatedAt
string
required

The date and time when this service 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.