POST
/
quickbooks-desktop
/
bills
/
{id}

Authorizations

Authorization
string
headerrequired

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}}").

Path Parameters

id
string
required

The QuickBooks-assigned unique identifier of the bill to update.

Body

application/json
revisionNumber
string
required

The current revision number of the bill object you are updating, which you can get by fetching the object first. Provide the most recent revisionNumber to ensure you're working with the latest data; otherwise, the update will return an error.

vendorId
string

The vendor who sent this bill for goods or services purchased.

vendorAddress
object

The address of the vendor who sent this bill.

payablesAccountId
string

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

IMPORTANT: If this bill is linked to other transactions, this A/P account must match the payablesAccount used in those other transactions.

transactionDate
string

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

dueDate
string

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

refNumber
string

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

termsId
string

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

memo
string

A memo or note for this bill that appears in the Accounts-Payable register and in reports that include this bill.

salesTaxCodeId
string

The sales-tax code associated with this bill, determining whether it is taxable or non-taxable. It's used to assign a default tax status to all transactions for this bill. 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.

exchangeRate
number

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

clearExpenseLines
boolean
default: false

When true, removes all existing expense lines associated with this bill. To modify or add individual expense lines, use the field expenseLines instead.

expenseLines
object[]

The bill's expense lines, each representing one line in this expense.

IMPORTANT: When updating a bill's expense lines, this array completely REPLACES all existing expense lines for that bill. To retain any current expense lines, include them in this array, even if they have not changed. Any expense lines not included will be removed. To add a new expense line, include it with its id set to -1. If you do not wish to modify the expense lines, you can omit this field entirely to keep them unchanged.

clearItemLines
boolean
default: false

When true, removes all existing item lines associated with this bill. To modify or add individual item lines, use the field itemLines instead.

itemLines
object[]

The bill's item lines, each representing the purchase of a specific item or service.

IMPORTANT: When updating a bill's item lines, this array completely REPLACES all existing item lines for that bill. To retain any current item lines, include them in this array, even if they have not changed. Any item lines not included will be removed. To add a new item line, include it with its id set to -1. If you do not wish to modify the item lines, you can omit this field entirely to keep them unchanged.

itemGroupLines
object[]

The bill's item group lines, each representing a predefined set of items bundled together because they are commonly purchased together or grouped for faster entry.

IMPORTANT: When updating a bill's item group lines, this array completely REPLACES all existing item group lines for that bill. To retain any current item group lines, include them in this array, even if they have not changed. Any item group lines not included will be removed. To add a new item group line, include it with its id set to -1. If you do not wish to modify the item group lines, you can omit this field entirely to keep them unchanged.

Response

200 - application/json
id
string
required

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

objectType
string
required

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

Allowed value: "qbd_bill"
createdAt
string
required

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

vendor
object
required

The vendor who sent this bill for goods or services purchased.

vendorAddress
object | null
required

The address of the vendor who sent this bill.

payablesAccount
object | null
required

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

IMPORTANT: If this bill is linked to other transactions, this A/P account must match the payablesAccount used in those other transactions.

transactionDate
string
required

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

dueDate
string | null
required

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

amountDue
string
required

The total monetary amount due for this bill, represented as a decimal string. This equals the sum of the amounts in the bill's expense lines, item lines, and item group lines. It also equals openAmount plus any credits or discounts.

currency
object | null
required

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

exchangeRate
number | null
required

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

amountDueInHomeCurrency
string | null
required

The total monetary amount due for this bill converted to the home currency of the QuickBooks company file. Represented as a decimal string.

refNumber
string | null
required

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

isPending
boolean | null
required

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

terms
object | null
required

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

memo
string | null
required

A memo or note for this bill that appears in the Accounts-Payable register and in reports that include this bill.

salesTaxCode
object | null
required

The sales-tax code associated with this bill, determining whether it is taxable or non-taxable. It's used to assign a default tax status to all transactions for this bill. 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.

isPaid
boolean | null
required

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

externalId
string | null
required

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.

linkedTransactions
object[]
required

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

expenseLines
object[]
required

The bill's expense lines, each representing one line in this expense.

itemLines
object[]
required

The bill's item lines, each representing the purchase of a specific item or service.

itemGroupLines
object[]
required

The bill's item group lines, each representing a predefined set of items bundled together because they are commonly purchased together or grouped for faster entry.

openAmount
string | null
required

The remaining amount owed on this bill after subtracting any credits or discounts from the openAmount. Represented as a decimal string.

customFields
object[]
required

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