v48

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-262621423.8 MB

Update an account

Updates an existing financial account. You can rename the account, adjust numbering, or change supported attributes, but QuickBooks won’t let you convert it to a non-posting type via the API.

post/quickbooks-desktop/accounts/{id}

Path parameters

idstring required

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

Example:80000001-1234567890

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

Headers

Conductor-End-User-Idstring required

The ID of the End-User to receive this request.

Example:end_usr_1234567abcdefg

The ID of the End-User to receive this request.

Request body

revisionNumberstring required

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

namestring

The case-insensitive name of this account. Not guaranteed to be unique because it does not include the names of its hierarchical parent objects like fullName does. For example, two accounts could both have the name "Accounts-Payable", but they could have unique fullName values, such as "Corporate:Accounts-Payable" and "Finance:Accounts-Payable".

Maximum length: 31 characters.

isActiveboolean

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

parentIdstring

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

accountType'accounts_payable' | 'accounts_receivable' | 'bank' | 'cost_of_goods_sold' | 'credit_card' | 'equity' | 'expense' | 'fixed_asset' | 'income' | 'long_term_liability' | 'non_posting' | 'other_asset' | 'other_current_asset' | 'other_current_liability' | 'other_expense' | 'other_income'

The classification of this account, indicating its purpose within the chart of accounts.

NOTE: You cannot create an account of type non_posting through the API because QuickBooks creates these accounts behind the scenes.

accountNumberstring

The account's account number, which appears in the QuickBooks chart of accounts, reports, and graphs.

Note that if the "Use Account Numbers" preference is turned off in QuickBooks, the account number may not be visible in the user interface, but it can still be set and retrieved through the API.

bankAccountNumberstring

The bank account number or identifying note for this account. Access to this field may be restricted based on permissions.

descriptionstring

A description of this account.

openingBalancestring

The amount of money in, or the value of, this account as of openingBalanceDate. On a bank statement, this would be the amount of money in the account at the beginning of the statement period.

openingBalanceDatestring date

The date of the opening balance of this account, in ISO 8601 format (YYYY-MM-DD).

salesTaxCodeIdstring

The default sales-tax code for transactions with this account, determining whether the transactions are taxable or non-taxable. This can be overridden at the transaction or transaction-line level.

Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes can also be created in QuickBooks Desktop. If QuickBooks Desktop is not set up to charge sales tax (via the "Do You Charge Sales Tax?" preference), it assigns the default non-taxable sales-tax code configured in the company file to all sales.

taxLineIdnumber

The identifier of the tax line associated with this account. You can see a list of all available values for this field by calling the endpoint for account tax lines.

currencyIdstring

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

Example request

{
  "revisionNumber": "1721172183",
  "name": "Accounts-Payable",
  "isActive": true,
  "parentId": "80000001-1234567890",
  "accountType": "bank",
  "accountNumber": "1010",
  "bankAccountNumber": "123456789",
  "description": "Accounts-payable are the amounts owed to suppliers for goods and services purchased on credit.",
  "openingBalance": "1000.00",
  "openingBalanceDate": "2023-01-01",
  "salesTaxCodeId": "80000001-1234567890",
  "taxLineId": 123,
  "currencyId": "80000001-1234567890"
}

Response

Returns the updated account.

idstring required

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

objectType'qbd_account' required

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

createdAtstring required

The date and time when this account was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.

updatedAtstring required

The date and time when this account was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.

revisionNumberstring required

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

namestring required

The case-insensitive name of this account. Not guaranteed to be unique because it does not include the names of its hierarchical parent objects like fullName does. For example, two accounts could both have the name "Accounts-Payable", but they could have unique fullName values, such as "Corporate:Accounts-Payable" and "Finance:Accounts-Payable".

fullNamestring required

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

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

isActiveboolean required

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

sublevelnumber required

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

accountType'accounts_payable' | 'accounts_receivable' | 'bank' | 'cost_of_goods_sold' | 'credit_card' | 'equity' | 'expense' | 'fixed_asset' | 'income' | 'long_term_liability' | 'non_posting' | 'other_asset' | 'other_current_asset' | 'other_current_liability' | 'other_expense' | 'other_income' required

The classification of this account, indicating its purpose within the chart of accounts.

NOTE: You cannot create an account of type non_posting through the API because QuickBooks creates these accounts behind the scenes.

specialAccountType'accounts_payable' | 'accounts_receivable' | 'condense_item_adjustment_expenses' | 'cost_of_goods_sold' | 'direct_deposit_liabilities' | 'estimates' | 'exchange_gain_loss' | 'inventory_assets' | 'item_receipt_account' | 'opening_balance_equity' | 'payroll_expenses' | 'payroll_liabilities' | 'petty_cash' | 'purchase_orders' | 'reconciliation_differences' | 'retained_earnings' | 'sales_orders' | 'sales_tax_payable' | 'uncategorized_expenses' | 'uncategorized_income' | 'undeposited_funds' nullable required

Indicates if this account is a special account automatically created by QuickBooks for specific purposes.

isTaxAccountboolean nullable required

Indicates whether this account is used for tracking taxes.

accountNumberstring nullable required

The account's account number, which appears in the QuickBooks chart of accounts, reports, and graphs.

Note that if the "Use Account Numbers" preference is turned off in QuickBooks, the account number may not be visible in the user interface, but it can still be set and retrieved through the API.

bankAccountNumberstring nullable required

The bank account number or identifying note for this account. Access to this field may be restricted based on permissions.

descriptionstring nullable required

A description of this account.

balancestring nullable required

The current balance of this account only, excluding balances from any subordinate accounts, represented as a decimal string. Compare with totalBalance. Note that income accounts and balance sheet accounts may not have balances.

totalBalancestring nullable required

The combined balance of this account and all its sub-accounts, represented as a decimal string. For example, the totalBalance for XYZ Bank would be the total of the balances of all its sub-accounts (checking, savings, and so on). If XYZ Bank did not have any sub-accounts, totalBalance and balance would be the same.

cashFlowClassification'financing' | 'investing' | 'none' | 'not_applicable' | 'operating' nullable required

Indicates how this account is classified for cash flow reporting. If none, the account has not been classified. If not_applicable, the account does not qualify to be classified (e.g., a bank account tracking cash transactions is not part of a cash flow report).

Example response

{
  "id": "80000001-1234567890",
  "objectType": "qbd_account",
  "createdAt": "2025-01-01T12:34:56+00:00",
  "updatedAt": "2025-02-01T12:34:56+00:00",
  "revisionNumber": "1721172183",
  "name": "Accounts-Payable",
  "fullName": "Corporate:Accounts-Payable",
  "isActive": true,
  "parent": {
    "id": "80000001-1234567890",
    "fullName": "Corporate"
  },
  "sublevel": 1,
  "accountType": "bank",
  "specialAccountType": "undeposited_funds",
  "isTaxAccount": true,
  "accountNumber": "1010",
  "bankAccountNumber": "123456789",
  "description": "Accounts-payable are the amounts owed to suppliers for goods and services purchased on credit.",
  "balance": "1000.00",
  "totalBalance": "5000.00",
  "salesTaxCode": {
    "id": "80000001-1234567890",
    "fullName": "Non"
  },
  "taxLineDetails": {
    "taxLineId": 123,
    "taxLineName": "State Sales Tax"
  },
  "cashFlowClassification": "operating",
  "currency": {
    "id": "80000001-1234567890",
    "fullName": "USD"
  },
  "customFields": [
    {
      "ownerId": "0",
      "name": "Customer Rating",
      "type": "string_1024_type",
      "value": "Premium"
    }
  ]
}