---
title: "Update a bill check payment"
method: POST
path: "/quickbooks-desktop/bill-check-payments/{id}"
---

# Update a bill check payment

`POST /quickbooks-desktop/bill-check-payments/{id}`

Updates a bill check payment so you can reallocate how amounts, discounts, or credits are applied to the vendor’s bills. When you update a payment, QuickBooks clears the prior allocations but keeps any existing vendor credits unchanged, so submit the full list of bill applications in this request.

## Path parameters

- `id` string, required — The QuickBooks-assigned unique identifier of the bill check payment 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 bill check payment 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 bill check payment, in ISO 8601 format (YYYY-MM-DD).
  - `bankAccountId` string — The bank account from which the funds are being drawn for this bill check payment; e.g., Checking or Savings. This bill check payment will decrease the balance of this account.
  - `amount` string — The monetary amount of this bill check payment, 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").
  - `exchangeRate` number — The market exchange rate between this bill check payment'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).
  - `isQueuedForPrint` boolean — Indicates whether this bill check payment is included in the queue of documents for QuickBooks to print.
  - `refNumber` string — The case-sensitive user-defined reference number for this bill check payment, 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. Maximum length: 11 characters.
  - `memo` string — A memo or note for this bill check payment.
  - `applyToTransactions` object[] — The bills to be paid by this bill check payment. This will create a link between this bill check payment and the specified bills. **IMPORTANT**: In each `applyToTransactions` object, you must specify either `paymentAmount`, `applyCredits`, `discountAmount`, or any combination of these; if none of these are specified, you will receive an error for an empty transaction. **IMPORTANT**: The target bill must have `isPaid=false`, otherwise, QuickBooks will report this object as "cannot be found".
    - `transactionId` string, required — The ID of the target transaction to which this payment is applied.
    - `paymentAmount` string — The monetary amount to apply to the target transaction, 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").
    - `applyCredits` object[] — Credits to apply to this target transaction, reducing its balance. This creates a link between this target transaction and the specified credit transactions. **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 target transaction and check the `linkedTransactions` response field. If fetching a list of target transactions, you must also specify the parameter `includeLinkedTransactions=true` to see the `linkedTransactions` response field.
      - `creditTransactionId` string, required — The unique identifier of the credit transaction to apply to this transaction, such as a credit memo, vendor credit, or journal-entry credit.
      - `appliedAmount` string, required — The amount of the selected credit transaction to apply to this transaction, 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").
      - `overrideCreditApplication` boolean — Indicates whether to override the credit.
    - `discountAmount` string — The monetary amount by which to reduce this target transaction's balance, 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").
    - `discountAccountId` string — The financial account used to track this target transaction's discount.
    - `discountClassId` string — The class used to track this target transaction's discount.

## Response `200`

Returns the updated bill check payment.

- QbdBillCheckPayment
  - `id` string, required — The unique identifier assigned by QuickBooks to this bill check payment. This ID is unique across all transaction types.
  - `objectType` 'qbd_bill_check_payment', required — The type of object. This value is always `"qbd_bill_check_payment"`.
  - `createdAt` string, required — The date and time when this bill check payment 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 bill check payment 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 bill check payment 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, nullable, required — The vendor who sent the bill(s) that this bill check payment is paying and who will receive this payment. **IMPORTANT**: This vendor must match the `vendor` on the bill(s) specified in `applyToTransactions`.
    - `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.
  - `payablesAccount` object, nullable, required — The Accounts-Payable (A/P) account to which this bill check payment is assigned, used for accounts-payable tracking. **IMPORTANT**: If this bill check payment is linked to other transactions, this A/P account must match the `payablesAccount` used in those other transactions.
    - `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.
  - `transactionDate` string, date, required — The date of this bill check payment, in ISO 8601 format (YYYY-MM-DD).
  - `bankAccount` object, required — The bank account from which the funds are being drawn for this bill check payment; e.g., Checking or Savings. This bill check payment will decrease the balance of this 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.
  - `amount` string, required — The monetary amount of this bill check payment, represented as a decimal string.
  - `currency` object, nullable, required — The bill check payment'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 bill check payment'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).
  - `amountInHomeCurrency` string, nullable, required — The monetary amount of this bill check payment converted to the home currency of the QuickBooks company file. Represented as a decimal string.
  - `refNumber` string, nullable, required — The case-sensitive user-defined reference number for this bill check payment, 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.
  - `memo` string, nullable, required — A memo or note for this bill check payment.
  - `address` QbdAddress, required
    - `line1` string, nullable, required — The first line of the address (e.g., street, PO Box, or company name).
    - `line2` string, nullable, required — The second line of the address, if needed (e.g., apartment, suite, unit, or building).
    - `line3` string, nullable, required — The third line of the address, if needed.
    - `line4` string, nullable, required — The fourth line of the address, if needed.
    - `line5` string, nullable, required — The fifth line of the address, if needed.
    - `city` string, nullable, required — The city, district, suburb, town, or village name of the address.
    - `state` string, nullable, required — The state, county, province, or region name of the address.
    - `postalCode` string, nullable, required — The postal code or ZIP code of the address.
    - `country` string, nullable, required — The country name of the address.
    - `note` string, nullable, required — A note written at the bottom of the address in the form in which it appears, such as the invoice form.
  - `isQueuedForPrint` boolean, nullable, required — Indicates whether this bill check payment is included in the queue of documents for QuickBooks to print.
  - `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.
  - `appliedToTransactions` QbdTargetTransaction[], required — The bill(s) paid by this bill check payment.
    - `transactionId` string, required — The ID of the target transaction to which this payment is applied.
    - `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', required — The type of transaction for this target transaction.
    - `transactionDate` string, date, nullable, required — The date of this target transaction, in ISO 8601 format (YYYY-MM-DD).
    - `refNumber` string, nullable, required — The case-sensitive user-defined reference number for this target 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.
    - `balanceRemaining` string, nullable, required — The outstanding balance of this target transaction after applying any credits or payments. Represented as a decimal string.
    - `amount` string, nullable, required — The monetary amount of this target transaction, represented as a decimal string.
    - `discountAmount` string, nullable, required — The monetary amount by which to reduce this target transaction's balance, represented as a decimal string.
    - `discountAccount` object, nullable, required — The financial account used to track this target transaction's discount.
      - `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.
    - `discountClass` object, nullable, required — The class used to track this target transaction's discount.
      - `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.
    - `linkedTransactions` QbdLinkedTransaction[], required — The target transaction'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 target transactions to receive this field because it is not returned by default.
      - `id` string, required — The unique identifier assigned by QuickBooks to this linked transaction. This ID is unique across all transaction types.
      - `objectType` 'qbd_linked_transaction', required — The type of object. This value is always `"qbd_linked_transaction"`.
      - `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', required — The type of transaction for this linked transaction.
      - `transactionDate` string, date, required — The date of this linked transaction, in ISO 8601 format (YYYY-MM-DD).
      - `refNumber` string, nullable, required — 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.
      - `linkType` 'amount' | 'quantity', nullable, required — 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` string, nullable, required — The monetary amount of this linked transaction, represented as a decimal string.
  - `customFields` QbdCustomField[], required — The custom fields for the bill check payment 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)
