QuickBooks Desktop API
- Welcome to Conductor's new QuickBooks Desktop API (beta)
- Accounts
- Bill Check Payments
- Bill Credit Card Payments
- Bills
- Checks
- Classes
- Credit Card Charges
- Credit Card Credits
- Customers
- Date-Driven Terms
- Estimates
- Inventory Assembly Items
- Inventory Items
- Inventory Sites
- Invoices
- Journal Entries
- Non-Inventory Items
- Purchase Orders
- Receive-Payments
- Sales Orders
- Sales Receipts
- Sales-Tax Codes
- Sales-Tax Items
- Service Items
- Standard Terms
- Transfers
- Vendors
The Check object
A check represents a payment made from a bank account, typically via paper check. It records the withdrawal of funds paid to a vendor, employee, or other payee. The transaction reduces the balance of the specified bank account and can be linked to bills or other transactions being paid.
The unique identifier assigned by QuickBooks to this check. This ID is unique across all transaction types.
The type of object. This value is always "qbd_check"
.
"qbd_check"
The date and time when this check 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.
The date and time when this check 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.
The current revision number of this check 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.
The bank account from which the funds are being drawn for this check; e.g., Checking or Savings. This check will decrease the balance of this account.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The person or company who will receive this check.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The case-sensitive user-defined reference number for this check, which can be used to identify the transaction in QuickBooks. This value is not required to be unique and can be arbitrarily changed by the QuickBooks user.
IMPORTANT: For checks, this field is the check number.
The date written on this check, in ISO 8601 format (YYYY-MM-DD).
The total monetary amount of this check, represented as a decimal string. This equals the sum of the amounts in the check's expense lines, item lines, and item group lines.
The check's currency. For built-in currencies, the name and code are standard international values. For user-defined currencies, all values are editable.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The market exchange rate between this check's currency and the home currency in QuickBooks at the time of this transaction. Represented as a decimal value (e.g., 1.2345 for 1 EUR = 1.2345 USD if USD is the home currency).
The total monetary amount for this check converted to the home currency of the QuickBooks company file. Represented as a decimal string.
The memo that is printed on this check.
The address that is printed on the check.
The first line of the address (e.g., street, PO Box, or company name).
The second line of the address, if needed (e.g., apartment, suite, unit, or building).
The third line of the address, if needed.
The fourth line of the address, if needed.
The fifth line of the address, if needed.
The city, district, suburb, town, or village name of the address.
The state, county, province, or region name of the address.
The postal code or ZIP code of the address.
The country name of the address.
A note written at the bottom of the address in the form in which it appears, such as the invoice form.
Indicates whether this check has not been completed.
Indicates whether this check is included in the queue of documents for QuickBooks to print.
The sales-tax code associated with this check, determining whether transactions in this account are taxable or non-taxable. It's used to assign a default tax status to all transactions for this check. 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.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
A globally unique identifier (GUID) you can provide for tracking this object in your external system.
IMPORTANT: Must be formatted as a valid GUID; otherwise, QuickBooks will return an error. This field is immutable and can only be set during object creation.
The check's linked transactions, such as payments applied, credits used, or associated purchase orders.
IMPORTANT: You must specify the parameter includeLinkedTransactions
when fetching a list of checks to receive this field because it is not returned by default.
The unique identifier assigned by QuickBooks to this linked transaction. This ID is unique across all transaction types.
The type of object. This value is always "qbd_linked_transaction"
.
"qbd_linked_transaction"
The type of transaction for this linked transaction.
ar_refund_credit_card
, bill
, bill_payment_check
, bill_payment_credit_card
, build_assembly
, charge
, check
, credit_card_charge
, credit_card_credit
, credit_memo
, deposit
, estimate
, inventory_adjustment
, invoice
, item_receipt
, journal_entry
, liability_adjustment
, paycheck
, payroll_liability_check
, purchase_order
, receive_payment
, sales_order
, sales_receipt
, sales_tax_payment_check
, transfer
, vendor_credit
, ytd_adjustment
The date of this linked transaction, in ISO 8601 format (YYYY-MM-DD).
The case-sensitive user-defined reference number for this linked transaction, which can be used to identify the transaction in QuickBooks. This value is not required to be unique and can be arbitrarily changed by the QuickBooks user.
Indicates the nature of the link between the transactions: amount
denotes an amount-based link (e.g., an invoice linked to a payment), and quantity
denotes a quantity-based link (e.g., an invoice created from a sales order based on the quantity of items received).
amount
, quantity
The monetary amount of this linked transaction, represented as a decimal string.
The check's expense lines, each representing one line in this expense.
The unique identifier assigned by QuickBooks to this expense line. This ID is unique across all transaction line types.
The type of object. This value is always "qbd_expense_line"
.
"qbd_expense_line"
The expense account being debited (increased) for this expense line. The corresponding account being credited is usually a liability account (e.g., Accounts-Payable) or an asset account (e.g., Cash), depending on the transaction type.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The monetary amount of this expense line, represented as a decimal string.
A memo or note for this expense line.
If account
refers to an Accounts-Payable (A/P) account, payee
refers to the expense's vendor (not the customer). If account
refers to any other type of account, payee
refers to the expense's customer (not the vendor).
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The expense line'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. If a class is specified for the entire parent transaction, it is automatically applied to all expense lines unless overridden here, at the transaction line level.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The sales-tax code associated with this expense line, determining whether it is taxable or non-taxable. It's used to assign a default tax status to all transactions for this expense line. 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.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The billing status of this expense line.
billable
, has_been_billed
, not_billable
The expense line's sales representative. Sales representatives can be employees, vendors, or other names in QuickBooks.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The custom fields for the expense line object, added as user-defined data extensions, not included in the standard QuickBooks object.
The identifier of the owner of the custom field, which QuickBooks internally calls a "data extension". For public custom fields visible in the UI, such as those added by the QuickBooks user, this is always "0". For private custom fields that are only visible to the application that created them, this is a valid GUID identifying the owning application. Internally, Conductor always fetches all public custom fields (those with an ownerId
of "0") for all objects.
The name of the custom field, unique for the specified ownerId
. For public custom fields, this name is visible as a label in the QuickBooks UI.
The data type of this custom field.
amount_type
, date_time_type
, integer_type
, percent_type
, price_type
, quantity_type
, string_1024_type
, string_255_type
The value of this custom field. The maximum length depends on the field's data type.
The check's item lines, each representing the purchase of a specific item or service.
The unique identifier assigned by QuickBooks to this item line. This ID is unique across all transaction line types.
The type of object. This value is always "qbd_item_line"
.
"qbd_item_line"
The item associated with this item line. This can refer to any good or service that the business buys or sells, including item types such as a service item, inventory item, or special calculation item like a discount item or sales-tax item.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The site location where inventory for the item associated with this item line is stored.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The specific location (e.g., bin or shelf) within the inventory site where the item associated with this item line is stored.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The serial number of the item associated with this item line. This is used for tracking individual units of serialized inventory items.
The lot number of the item associated with this item line. Used for tracking groups of inventory items that are purchased or manufactured together.
The expiration date for the serial number or lot number of the item associated with this item line, in ISO 8601 format (YYYY-MM-DD). This is particularly relevant for perishable or time-sensitive inventory items. Note that this field is only supported on QuickBooks Desktop 2023 or later.
A description of this item line.
The quantity of the item associated with this item line. This field cannot be cleared.
The unit-of-measure used for the quantity
in this item line. Must be a valid unit within the item's available units of measure.
Specifies an alternative unit-of-measure set when updating this item line's unitOfMeasure
field (e.g., "pound" or "kilogram"). This allows you to select units from a different set than the item's default unit-of-measure set, which remains unchanged on the item itself. The override applies only to this specific line. For example, you can sell an item typically measured in volume units using weight units in a specific transaction by specifying a different unit-of-measure set with this field.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The cost of this item line, represented as a decimal string. If both quantity
and amount
are specified but not cost
, QuickBooks will use them to calculate cost
.
The monetary amount of this item line, represented as a decimal string. If both quantity
and cost
are specified but not amount
, QuickBooks will use them to calculate amount
. If amount
, cost
, and quantity
are all unspecified, then QuickBooks will calculate amount
based on a quantity
of 1
and the suggested cost
. This field cannot be cleared.
The customer or customer-job associated with this item line.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The item line'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. If a class is specified for the entire parent transaction, it is automatically applied to all item lines unless overridden here, at the transaction line level.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The sales-tax code associated with this item line, determining whether it is taxable or non-taxable. It's used to assign a default tax status to all transactions for this item line. 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.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The billing status of this item line.
billable
, has_been_billed
, not_billable
The item line's sales representative. Sales representatives can be employees, vendors, or other names in QuickBooks.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The custom fields for the item line object, added as user-defined data extensions, not included in the standard QuickBooks object.
The identifier of the owner of the custom field, which QuickBooks internally calls a "data extension". For public custom fields visible in the UI, such as those added by the QuickBooks user, this is always "0". For private custom fields that are only visible to the application that created them, this is a valid GUID identifying the owning application. Internally, Conductor always fetches all public custom fields (those with an ownerId
of "0") for all objects.
The name of the custom field, unique for the specified ownerId
. For public custom fields, this name is visible as a label in the QuickBooks UI.
The data type of this custom field.
amount_type
, date_time_type
, integer_type
, percent_type
, price_type
, quantity_type
, string_1024_type
, string_255_type
The value of this custom field. The maximum length depends on the field's data type.
The check's item group lines, each representing a predefined set of items bundled together because they are commonly purchased together or grouped for faster entry.
The unique identifier assigned by QuickBooks to this item group line. This ID is unique across all transaction line types.
The type of object. This value is always "qbd_item_group_line"
.
"qbd_item_group_line"
The item group line's item group, representing a predefined set of items bundled because they are commonly purchased together or grouped for faster entry.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
A description of this item group line.
The quantity of the item group associated with this item group line. This field cannot be cleared.
The unit-of-measure used for the quantity
in this item group line. Must be a valid unit within the item's available units of measure.
Specifies an alternative unit-of-measure set when updating this item group line's unitOfMeasure
field (e.g., "pound" or "kilogram"). This allows you to select units from a different set than the item's default unit-of-measure set, which remains unchanged on the item itself. The override applies only to this specific line. For example, you can sell an item typically measured in volume units using weight units in a specific transaction by specifying a different unit-of-measure set with this field.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The total monetary amount of this item group line, represented as a decimal string.
The item group line's item lines, each representing the purchase of a specific item or service.
The unique identifier assigned by QuickBooks to this item line. This ID is unique across all transaction line types.
The type of object. This value is always "qbd_item_line"
.
"qbd_item_line"
The item associated with this item line. This can refer to any good or service that the business buys or sells, including item types such as a service item, inventory item, or special calculation item like a discount item or sales-tax item.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The site location where inventory for the item associated with this item line is stored.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The specific location (e.g., bin or shelf) within the inventory site where the item associated with this item line is stored.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The serial number of the item associated with this item line. This is used for tracking individual units of serialized inventory items.
The lot number of the item associated with this item line. Used for tracking groups of inventory items that are purchased or manufactured together.
The expiration date for the serial number or lot number of the item associated with this item line, in ISO 8601 format (YYYY-MM-DD). This is particularly relevant for perishable or time-sensitive inventory items. Note that this field is only supported on QuickBooks Desktop 2023 or later.
A description of this item line.
The quantity of the item associated with this item line. This field cannot be cleared.
The unit-of-measure used for the quantity
in this item line. Must be a valid unit within the item's available units of measure.
Specifies an alternative unit-of-measure set when updating this item line's unitOfMeasure
field (e.g., "pound" or "kilogram"). This allows you to select units from a different set than the item's default unit-of-measure set, which remains unchanged on the item itself. The override applies only to this specific line. For example, you can sell an item typically measured in volume units using weight units in a specific transaction by specifying a different unit-of-measure set with this field.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The cost of this item line, represented as a decimal string. If both quantity
and amount
are specified but not cost
, QuickBooks will use them to calculate cost
.
The monetary amount of this item line, represented as a decimal string. If both quantity
and cost
are specified but not amount
, QuickBooks will use them to calculate amount
. If amount
, cost
, and quantity
are all unspecified, then QuickBooks will calculate amount
based on a quantity
of 1
and the suggested cost
. This field cannot be cleared.
The customer or customer-job associated with this item line.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The item line'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. If a class is specified for the entire parent transaction, it is automatically applied to all item lines unless overridden here, at the transaction line level.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The sales-tax code associated with this item line, determining whether it is taxable or non-taxable. It's used to assign a default tax status to all transactions for this item line. 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.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The billing status of this item line.
billable
, has_been_billed
, not_billable
The item line's sales representative. Sales representatives can be employees, vendors, or other names in QuickBooks.
The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own name
, separated by colons. Not case-sensitive.
The custom fields for the item line object, added as user-defined data extensions, not included in the standard QuickBooks object.
The identifier of the owner of the custom field, which QuickBooks internally calls a "data extension". For public custom fields visible in the UI, such as those added by the QuickBooks user, this is always "0". For private custom fields that are only visible to the application that created them, this is a valid GUID identifying the owning application. Internally, Conductor always fetches all public custom fields (those with an ownerId
of "0") for all objects.
The name of the custom field, unique for the specified ownerId
. For public custom fields, this name is visible as a label in the QuickBooks UI.
The data type of this custom field.
amount_type
, date_time_type
, integer_type
, percent_type
, price_type
, quantity_type
, string_1024_type
, string_255_type
The value of this custom field. The maximum length depends on the field's data type.
The custom fields for the item group line object, added as user-defined data extensions, not included in the standard QuickBooks object.
The identifier of the owner of the custom field, which QuickBooks internally calls a "data extension". For public custom fields visible in the UI, such as those added by the QuickBooks user, this is always "0". For private custom fields that are only visible to the application that created them, this is a valid GUID identifying the owning application. Internally, Conductor always fetches all public custom fields (those with an ownerId
of "0") for all objects.
The name of the custom field, unique for the specified ownerId
. For public custom fields, this name is visible as a label in the QuickBooks UI.
The data type of this custom field.
amount_type
, date_time_type
, integer_type
, percent_type
, price_type
, quantity_type
, string_1024_type
, string_255_type
The value of this custom field. The maximum length depends on the field's data type.
The custom fields for the check object, added as user-defined data extensions, not included in the standard QuickBooks object.
The identifier of the owner of the custom field, which QuickBooks internally calls a "data extension". For public custom fields visible in the UI, such as those added by the QuickBooks user, this is always "0". For private custom fields that are only visible to the application that created them, this is a valid GUID identifying the owning application. Internally, Conductor always fetches all public custom fields (those with an ownerId
of "0") for all objects.
The name of the custom field, unique for the specified ownerId
. For public custom fields, this name is visible as a label in the QuickBooks UI.
The data type of this custom field.
amount_type
, date_time_type
, integer_type
, percent_type
, price_type
, quantity_type
, string_1024_type
, string_255_type
The value of this custom field. The maximum length depends on the field's data type.