POST
/
quickbooks-desktop
/
invoices

Authorizations

Authorization
string
header
required

Your Conductor secret key using Bearer auth (e.g., "Authorization: Bearer {{YOUR_SECRET_KEY}}").

Headers

Conductor-End-User-Id
string
required

The ID of the EndUser to receive this request (e.g., "Conductor-End-User-Id: {{END_USER_ID}}").

Body

application/json
customerId
string
required

The customer or customer-job associated with this invoice.

transactionDate
string
required

The date of this invoice, in ISO 8601 format (YYYY-MM-DD).

applyCredits
object[]

Credit memos to apply to this invoice, reducing its balance. This creates a link between this invoice and the specified credit memos.

IMPORTANT: By default, QuickBooks will not return any information about the linked transactions in this endpoint's response even when this request is successful. To see the transactions linked via this field, refetch the invoice and check the linkedTransactions response field. If fetching a list of invoices, you must also specify the parameter includeLinkedTransactions=true to see the linkedTransactions response field.

billingAddress
object

The invoice's billing address.

classId
string

The invoice'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. A class defined here is automatically used in this invoice's line items unless overridden at the line item level.

customerMessageId
string

The message to display to the customer on the invoice.

documentTemplateId
string

The predefined template in QuickBooks that determines the layout and formatting for this invoice when printed or displayed.

dueDate
string

The date by which this invoice must be paid, in ISO 8601 format (YYYY-MM-DD).

NOTE: If dueDate is excluded when creating this invoice, QuickBooks might determine the due date according to the terms set for this customer.

exchangeRate
number

The market exchange rate between this invoice'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).

externalId
string

A globally unique identifier (GUID) you, the developer, 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.

isFinanceCharge
boolean

Whether this invoice includes a finance charge. This field is immutable and can only be set during invoice creation.

isPending
boolean

Indicates whether this invoice has not been completed or is in a draft version.

isQueuedForEmail
boolean

Indicates whether this invoice is included in the queue of documents for QuickBooks to email to the customer.

isQueuedForPrint
boolean

Indicates whether this invoice is included in the queue of documents for QuickBooks to print.

lineGroups
object[]

The invoice's line item groups, each representing a predefined set of related items.

lines
object[]

The invoice's line items, each representing a single product or service sold.

IDs of existing transactions that you wish to link to this invoice, such as payments applied, credits used, or associated purchase orders. Note that this links entire transactions, not individual transaction lines. If you want to link individual lines in a transaction, instead use the field linkToTransactionLine on this invoice's lines, if available.

Transactions can only be linked when creating this invoice and cannot be unlinked later.

You can use both linkToTransactionIds (on this invoice) and linkToTransactionLine (on its transaction lines) as long as they do NOT link to the same transaction (otherwise, QuickBooks will return an error). QuickBooks will also return an error if you attempt to link a transaction that is empty or already closed.

IMPORTANT: By default, QuickBooks will not return any information about the linked transactions in this endpoint's response even when this request is successful. To see the transactions linked via this field, refetch the invoice and check the linkedTransactions response field. If fetching a list of invoices, you must also specify the parameter includeLinkedTransactions=true to see the linkedTransactions response field.

memo
string

A memo or note for this invoice that appears in reports, but not on the invoice. Use customerMessage to add a note to this invoice.

otherCustomField
string

A built-in custom field for additional information specific to this invoice. Unlike the user-defined fields in the customFields array, this is a standard QuickBooks field that exists for all invoices for convenience. Developers often use this field for tracking information that doesn't fit into other standard QuickBooks fields. Unlike otherCustomField1 and otherCustomField2, which are line item fields, this exists at the transaction level. Hidden by default in the QuickBooks UI.

purchaseOrderNumber
string

The customer's Purchase Order (PO) number associated with this invoice. This field is often used to cross-reference the invoice with the customer's purchasing system.

receivablesAccountId
string

The Accounts-Receivable (A/R) account to which this invoice is assigned, used to track the amount owed. If not specified, QuickBooks Desktop will use its default A/R account.

IMPORTANT: If this invoice is linked to other transactions, this A/R account must match the receivablesAccount used in all linked transactions. For example, when refunding a credit card payment, the A/R account must match the one used in the original credit transactions being refunded.

refNumber
string

The case-sensitive user-defined reference number for this invoice, 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.

salesRepresentativeId
string

The invoice's sales representative. Sales representatives can be employees, vendors, or other names in QuickBooks.

salesTaxCodeId
string

The sales-tax code for this invoice, 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.

salesTaxItemId
string

The sales-tax item used to calculate the actual tax amount for this invoice's transactions by applying a specific tax rate collected for a single tax agency. Unlike salesTaxCode, which only indicates general taxability, this field drives the actual tax calculation and reporting.

For invoices, while using this field to specify a single tax item/group that applies uniformly is recommended, complex tax scenarios may require alternative approaches. In such cases, you can set this field to a 0% tax item (conventionally named "Tax Calculated On Invoice") and handle tax calculations through line items instead. When using line items for taxes, note that only individual tax items (not tax groups) can be used, subtotals can help apply a tax to multiple items but only the first tax line after a subtotal is calculated automatically (subsequent tax lines require manual amounts), and the rate column will always display the actual tax amount rather than the rate percentage.

shipmentOrigin
string

The origin location from where the product associated with this invoice is shipped. This is the point at which ownership and liability for goods transfer from seller to buyer. Internally, QuickBooks uses the term "FOB" for this field, which stands for "freight on board". This field is informational and has no accounting implications.

shippingAddress
object

The invoice's shipping address.

shippingDate
string

The date when the products or services for this invoice were shipped or are expected to be shipped, in ISO 8601 format (YYYY-MM-DD).

shippingMethodId
string

The shipping method used for this invoice, such as standard mail or overnight delivery.

termsId
string

The invoice's payment terms, defining when payment is due and any applicable discounts.

Response

200 - application/json
appliedAmount
string | null
required

The amount of credit applied to this invoice. This could include customer deposits, payments, or credits. Represented as a decimal string.

balanceRemaining
string | null
required

The outstanding balance of this invoice after applying any credits or payments. Calculated as subtotal + salesTaxTotal - appliedAmount. Represented as a decimal string.

balanceRemainingInHomeCurrency
string | null
required

The outstanding balance of this invoice converted to the home currency of the QuickBooks company file. Represented as a decimal string.

billingAddress
object | null
required

The invoice's billing address.

class
object | null
required

The invoice'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. A class defined here is automatically used in this invoice's line items unless overridden at the line item level.

createdAt
string
required

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

currency
object | null
required

The invoice's currency. For built-in currencies, the name and code are standard international values. For user-defined currencies, all values are editable.

customer
object
required

The customer or customer-job associated with this invoice.

customerMessage
object | null
required

The message to display to the customer on the invoice.

customFields
object[]
required

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

documentTemplate
object | null
required

The predefined template in QuickBooks that determines the layout and formatting for this invoice when printed or displayed.

dueDate
string | null
required

The date by which this invoice must be paid, in ISO 8601 format (YYYY-MM-DD).

exchangeRate
number | null
required

The market exchange rate between this invoice'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).

externalId
string | null
required

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

id
string
required

The unique identifier assigned by QuickBooks to this invoice. This ID is unique across all transaction types.

isFinanceCharge
boolean | null
required

Whether this invoice includes a finance charge. This field is immutable and can only be set during invoice creation.

isPaid
boolean | null
required

Indicates whether this invoice has been paid in full. When true, openAmount will be 0.

isPending
boolean | null
required

Indicates whether this invoice has not been completed or is in a draft version.

isQueuedForEmail
boolean | null
required

Indicates whether this invoice is included in the queue of documents for QuickBooks to email to the customer.

isQueuedForPrint
boolean | null
required

Indicates whether this invoice is included in the queue of documents for QuickBooks to print.

lineGroups
object[]
required

The invoice's line item groups, each representing a predefined set of related items.

lines
object[]
required

The invoice's line items, each representing a single product or service sold.

linkedTransactions
object[]
required

The invoice'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 invoices to receive this field because it is not returned by default.

memo
string | null
required

A memo or note for this invoice that appears in reports, but not on the invoice. Use customerMessage to add a note to this invoice.

objectType
string
required

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

Allowed value: "qbd_invoice"
otherCustomField
string | null
required

A built-in custom field for additional information specific to this invoice. Unlike the user-defined fields in the customFields array, this is a standard QuickBooks field that exists for all invoices for convenience. Developers often use this field for tracking information that doesn't fit into other standard QuickBooks fields. Unlike otherCustomField1 and otherCustomField2, which are line item fields, this exists at the transaction level. Hidden by default in the QuickBooks UI.

purchaseOrderNumber
string | null
required

The customer's Purchase Order (PO) number associated with this invoice. This field is often used to cross-reference the invoice with the customer's purchasing system.

receivablesAccount
object | null
required

The Accounts-Receivable (A/R) account to which this invoice is assigned, used to track the amount owed. If not specified, QuickBooks Desktop will use its default A/R account.

IMPORTANT: If this invoice is linked to other transactions, this A/R account must match the receivablesAccount used in all linked transactions. For example, when refunding a credit card payment, the A/R account must match the one used in the original credit transactions being refunded.

refNumber
string | null
required

The case-sensitive user-defined reference number for this invoice, 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.

revisionNumber
string
required

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

salesRepresentative
object | null
required

The invoice's sales representative. Sales representatives can be employees, vendors, or other names in QuickBooks.

salesTaxCode
object | null
required

The sales-tax code for this invoice, 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.

salesTaxItem
object | null
required

The sales-tax item used to calculate the actual tax amount for this invoice's transactions by applying a specific tax rate collected for a single tax agency. Unlike salesTaxCode, which only indicates general taxability, this field drives the actual tax calculation and reporting.

For invoices, while using this field to specify a single tax item/group that applies uniformly is recommended, complex tax scenarios may require alternative approaches. In such cases, you can set this field to a 0% tax item (conventionally named "Tax Calculated On Invoice") and handle tax calculations through line items instead. When using line items for taxes, note that only individual tax items (not tax groups) can be used, subtotals can help apply a tax to multiple items but only the first tax line after a subtotal is calculated automatically (subsequent tax lines require manual amounts), and the rate column will always display the actual tax amount rather than the rate percentage.

salesTaxPercentage
string | null
required

The sales tax percentage applied to this invoice, represented as a decimal string.

salesTaxTotal
string
required

The total amount of sales tax charged for this invoice, represented as a decimal string.

shipmentOrigin
string | null
required

The origin location from where the product associated with this invoice is shipped. This is the point at which ownership and liability for goods transfer from seller to buyer. Internally, QuickBooks uses the term "FOB" for this field, which stands for "freight on board". This field is informational and has no accounting implications.

shippingAddress
object | null
required

The invoice's shipping address.

shippingDate
string | null
required

The date when the products or services for this invoice were shipped or are expected to be shipped, in ISO 8601 format (YYYY-MM-DD).

shippingMethod
object | null
required

The shipping method used for this invoice, such as standard mail or overnight delivery.

subtotal
string
required

The subtotal of this invoice, which is the sum of all invoice lines before taxes and payments are applied, represented as a decimal string.

suggestedDiscountAmount
string | null
required

The suggested discount amount for this invoice, represented as a decimal string.

suggestedDiscountDate
string | null
required

The date when the suggestedDiscountAmount for this invoice would apply, in ISO 8601 format (YYYY-MM-DD).

terms
object | null
required

The invoice's payment terms, defining when payment is due and any applicable discounts.

transactionDate
string
required

The date of this invoice, in ISO 8601 format (YYYY-MM-DD).

updatedAt
string
required

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