id
string
required

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

objectType
string
required

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

Allowed value: "qbd_discount_item"
createdAt
string
required

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

updatedAt
string
required

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

revisionNumber
string
required

The current QuickBooks-assigned revision number of this discount 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.

name
string
required

The case-insensitive name of this discount item. Not guaranteed to be unique because it does not include the names of its hierarchical parent objects like fullName does. For example, two discount items could both have the name "10% labor discount", but they could have unique fullName values, such as "Discounts:10% labor discount" and "Promotions:10% labor discount".

fullName
string
required

The case-insensitive fully-qualified unique name of this discount item, formed by combining the names of its hierarchical parent objects with its own name, separated by colons. For example, if a discount item is under "Discounts" and has the name "10% labor discount", its fullName would be "Discounts:10% labor discount".

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

barcode
string | null
required

The discount item's barcode.

isActive
boolean
required

Indicates whether this discount item is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to true.

class
object | null
required

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

parent
object | null
required

The parent discount item one level above this one in the hierarchy. For example, if this discount item has a fullName of "Discounts:10% labor discount", its parent has a fullName of "Discounts". If this discount item is at the top level, this field will be null.

sublevel
number
required

The depth level of this discount item in the hierarchy. A top-level discount item has a sublevel of 0; each subsequent sublevel increases this number by 1. For example, a discount item with a fullName of "Discounts:10% labor discount" would have a sublevel of 1.

description
string | null
required

The discount item's description that will appear on sales forms that include this item.

salesTaxCode
object | null
required

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

discountRate
string | null
required

The monetary amount to subtract from the total or subtotal when applying this discount item to a transaction.

NOTE: A flat rate discount applies to ALL lines recorded above it and distributes the discount amount equally across those lines, which affects tax calculations. For example, a $10 discount applied to a $100 taxable item and $100 non-taxable item would result in a $5 taxable discount and $5 non-taxable discount.

discountRatePercent
string | null
required

The percentage amount to subtract from the total or subtotal when applying this discount item to a transaction.

NOTE: A percentage discount only applies to the line immediately above it, so tax implications only affect that specific line.

account
object
required

The posting account to which transactions involving this discount item are posted for tracking discounts.

externalId
string | null
required

A globally unique identifier (GUID) you, the developer, can provide for tracking this object in your external system. This field is immutable and can only be set during object creation.

customFields
object[]
required

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