---
title: "Update a deposit"
method: POST
path: "/quickbooks-desktop/deposits/{id}"
---

# Update a deposit

`POST /quickbooks-desktop/deposits/{id}`

Updates an existing deposit.

**NOTE:** If you include `lines`, QuickBooks Desktop replaces that line list with the array you send, so include unchanged lines you want to keep and use `id: "-1"` for new lines.

## Path parameters

- `id` string, required — The QuickBooks-assigned unique identifier of the deposit to update.

## Headers

- `Conductor-End-User-Id` string, required — The ID of the End-User to receive this request.

## Request body

- object
  - `revisionNumber` string, required — The current QuickBooks-assigned revision number of the deposit 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.
  - `transactionDate` string, date — The date of this deposit, in ISO 8601 format (YYYY-MM-DD).
  - `depositToAccountId` string — The account where the funds for this deposit will be deposited.
  - `memo` string — A memo or note for this deposit.
  - `cashBack` object — Cash back taken out of this deposit and recorded to another account, such as Petty Cash.
    - `accountId` string — The account where this deposit cash-back line's cash-back amount is recorded, such as Petty Cash. This amount reduces the total credited to the deposit's destination account.
    - `memo` string — A memo or note for this deposit cash-back line.
    - `amount` string — The cash-back amount taken out of the deposit and recorded to this deposit cash-back line's account, represented as a decimal string. Decimal string format: exactly 2 decimal places when cents are included and up to 13 digits before the decimal point (for example, "123.45").
  - `currencyId` string — The deposit's currency. For built-in currencies, the name and code are standard ISO 4217 international values. For user-defined currencies, all values are editable.
  - `exchangeRate` number — The market exchange rate between this deposit'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).
  - `lines` object[] — The deposit's deposit lines, each representing either an existing payment selected for deposit or a manual transfer from another account into the deposit account. **IMPORTANT**: 1. Including this array in your update request will **REPLACE** all existing deposit lines for the deposit with this array. To keep any existing deposit lines, you must include them in this array even if they have not changed. **Any deposit lines not included will be removed.** 2. To add a new deposit line, include it here with the `id` field set to `-1`. 3. If you do not wish to modify any deposit lines, omit this field entirely to keep them unchanged.
    - `id` string, required — The QuickBooks-assigned unique identifier of an existing deposit line you wish to retain or update. **IMPORTANT**: Set this field to `-1` for new deposit lines you wish to add.
    - `paymentTransactionId` string — The ID of an existing undeposited payment to include in this deposit line. Use the `paymentTransactionId` from a payments-to-deposit result, or the `id` from the original receive-payment response. If the source payment has multiple depositable lines and you omit `paymentTransactionLineId`, QuickBooks Desktop deposits only the first line.
    - `paymentTransactionLineId` string — The line ID for the specific undeposited payment line to include in this deposit line. Use the `paymentTransactionLineId` from a payments-to-deposit result. If the source payment has multiple depositable lines, provide this field with `paymentTransactionId` to choose the exact line.
    - `overrideMemo` string — The memo to use for this deposit line, overriding the memo from the existing payment line. Maximum length: 4095 characters.
    - `overrideCheckNumber` string — The check number to use for this deposit line, overriding the check number from the existing payment line. Maximum length: 11 characters.
    - `overrideClassId` string — The class to use for this deposit line, overriding the class from the existing payment line.
    - `entityId` string — The customer, vendor, employee, or person on QuickBooks's "Other Names" list associated with this manual deposit line.
    - `accountId` string — For a manual deposit line, the account that the funds are transferred from into the deposit's destination account. To deposit an existing payment instead, use `paymentTransactionId` and, when needed, `paymentTransactionLineId`.
    - `memo` string — A memo or note for this deposit line.
    - `checkNumber` string — The check number of a check received for this deposit line.
    - `paymentMethodId` string — The deposit line's payment method (e.g., cash, check, credit card).
    - `classId` string — The deposit 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.
    - `amount` string — For a manual deposit line, the amount transferred from the line's account into the deposit's destination account, represented as a decimal string. Decimal string format: exactly 2 decimal places when cents are included and up to 13 digits before the decimal point (for example, "123.45").

## Response `200`

Returns the updated deposit.

- QbdDeposit
  - `id` string, required — The unique identifier assigned by QuickBooks to this deposit. This ID is unique across all transaction types.
  - `objectType` 'qbd_deposit', required — The type of object. This value is always `"qbd_deposit"`.
  - `createdAt` string, required — The date and time when this deposit 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.
  - `updatedAt` string, required — The date and time when this deposit 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.
  - `revisionNumber` string, required — The current QuickBooks-assigned revision number of this deposit 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.
  - `transactionDate` string, date, required — The date of this deposit, in ISO 8601 format (YYYY-MM-DD).
  - `depositToAccount` object, nullable, required — The account where the funds for this deposit have been deposited.
    - `id` string, nullable, required — 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.
    - `fullName` string, nullable, required — 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.
  - `memo` string, nullable, required — A memo or note for this deposit.
  - `totalAmount` string, nullable, required — The total monetary amount deposited into this deposit's destination account, represented as a decimal string.
  - `currency` object, nullable, required — The deposit's currency. For built-in currencies, the name and code are standard ISO 4217 international values. For user-defined currencies, all values are editable.
    - `id` string, nullable, required — 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.
    - `fullName` string, nullable, required — 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.
  - `exchangeRate` number, nullable, required — The market exchange rate between this deposit'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).
  - `totalAmountInHomeCurrency` string, nullable, required — This deposit's total monetary amount converted to the home currency of the QuickBooks company file, represented as a decimal string.
  - `cashBack` QbdDepositCashBackLine, required
    - `id` string, required — The unique identifier assigned by QuickBooks to this deposit cash-back line. This ID is unique across all transaction line types.
    - `objectType` 'qbd_deposit_cash_back_line', required — The type of object. This value is always `"qbd_deposit_cash_back_line"`.
    - `account` object, required — The account where this deposit cash-back line's cash-back amount is recorded, such as Petty Cash. This amount reduces the total credited to the deposit's destination account.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `memo` string, nullable, required — A memo or note for this deposit cash-back line.
    - `amount` string, nullable, required — The cash-back amount taken out of the deposit and recorded to this deposit cash-back line's account, represented as a decimal string.
  - `externalId` string, nullable, 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.
  - `lines` QbdDepositLine[], required — The deposit's deposit lines, each representing either an existing payment selected for deposit or a manual transfer from another account into the deposit account.
    - `transactionType` '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' | 'unknown', nullable, required — The type of transaction for this deposit line.
    - `paymentTransactionId` string, nullable, required — For payment-based deposit lines, the ID of the source payment included in this deposit line. For manual deposit lines, this is null.
    - `id` string, required — The unique identifier assigned by QuickBooks to this deposit line. This ID is unique across all transaction line types.
    - `objectType` 'qbd_deposit_line', required — The type of object. This value is always `"qbd_deposit_line"`.
    - `paymentTransactionLineId` string, nullable, required — For payment-based deposit lines, the line ID of the specific source payment line included in this deposit line. For manual deposit lines, this is null.
    - `entity` object, nullable, required — The customer, vendor, employee, or person on QuickBooks's "Other Names" list associated with this deposit line.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `account` object, nullable, required — The account associated with this deposit line. For manual deposit lines, this is the account the funds were transferred from into the deposit's destination account.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `memo` string, nullable, required — A memo or note for this deposit line.
    - `checkNumber` string, nullable, required — The check number of a check received for this deposit line.
    - `paymentMethod` object, nullable, required — The deposit line's payment method (e.g., cash, check, credit card).
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `class` object, nullable, required — The deposit 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.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `amount` string, nullable, required — The amount this deposit line contributes to the deposit's destination account, represented as a decimal string.
  - `customFields` QbdCustomField[], required — The custom fields for the deposit object, added as user-defined data extensions, not included in the standard QuickBooks object.
    - `ownerId` string, required — 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.
    - `name` string, required — 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.
    - `type` 'amount_type' | 'date_time_type' | 'integer_type' | 'percent_type' | 'price_type' | 'quantity_type' | 'string_1024_type' | 'string_255_type', required — The data type of this custom field.
    - `value` string, required — The value of this custom field. The maximum length depends on the field's data type.

---

[API](https://skmtc.net/conductor-is/apis/conductor-api.md) · [All operations](https://skmtc.net/conductor-is/apis/conductor-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/conductor-is/conductor-api/versions/0b07b3ebe160/schema)
