A class is a category used to group QuickBooks objects into meaningful categories. For example, classes can be used to classify transactions by department, location, or type of work.

id
string
required

The unique identifier assigned by QuickBooks to this class. This ID is unique across all classes but not across different QuickBooks object types.

objectType
string
required

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

Allowed value: "qbd_class"
createdAt
string
required

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

updatedAt
string
required

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

revisionNumber
string
required

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

name
string
required

The case-insensitive name of this class. Not guaranteed to be unique because it does not include the names of its parent objects like fullName does. For example, two classes could both have the name "Marketing", but they could have unique fullName values, such as "Corporate:Marketing" and "Internal:Marketing". Maximum length: 31 characters.

fullName
string
required

The case-insensitive fully-qualified unique name of this class, formed by combining the names of its parent objects with its own name, separated by colons. For example, if a class is under "Corporate:Sales" and has the name "Marketing", its fullName would be "Corporate:Sales:Marketing".

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

isActive
boolean
default: truerequired

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

parent
object | null
required

The parent class one level above this one in the hierarchy. For example, if this class has a fullName of "Corporate:Sales:Marketing", its parent has a fullName of "Corporate:Sales". If this class is at the top level, this field will be null.

sublevel
number
required

The depth level of this class in the hierarchy. A top-level class has a sublevel of 0; each subsequent sublevel increases this number by 1. For example, a class with a fullName of "Corporate:Sales:Marketing" would have a sublevel of 2.