v48

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

Update a vendor credit

Updates a vendor credit before you apply it to bills, letting you adjust the amounts, memo, or line allocations that make up the credit.

NOTE: If you include expenseLines, itemLines, or itemGroupLines, QuickBooks Desktop replaces each included line list with the array you send, so include unchanged lines you want to keep and use id: "-1" for new lines.

post/quickbooks-desktop/vendor-credits/{id}

Path parameters

idstring required

The QuickBooks-assigned unique identifier of the vendor credit to update.

Example:123ABC-1234567890

The QuickBooks-assigned unique identifier of the vendor credit 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 vendor credit 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.

vendorIdstring

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

payablesAccountIdstring

The Accounts-Payable (A/P) account to which this vendor credit is assigned, used for accounts-payable tracking. If omitted, QuickBooks Desktop uses the default A/P account configured in the company file.

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

transactionDatestring date

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

refNumberstring

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

Maximum length: 20 characters.

memostring

A memo or note for this vendor credit.

salesTaxCodeIdstring

The sales-tax code for this vendor credit, determining whether it is taxable or non-taxable. If set, this overrides any sales-tax codes defined on the vendor. This can be overridden on the vendor credit's individual lines.

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.

exchangeRatenumber

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

clearExpenseLinesboolean

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

clearItemLinesboolean

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

Example request

{
  "revisionNumber": "1721172183",
  "vendorId": "80000001-1234567890",
  "payablesAccountId": "80000001-1234567890",
  "transactionDate": "2024-10-01",
  "refNumber": "VCREDIT-1234",
  "memo": "Credit for returned merchandise - Invoice INV-1234",
  "salesTaxCodeId": "80000001-1234567890",
  "exchangeRate": 1.2345,
  "expenseLines": [
    {
      "id": "456DEF-1234567890",
      "accountId": "80000001-1234567890",
      "amount": "1000.00",
      "memo": "New office chair",
      "payeeId": "80000001-1234567890",
      "classId": "80000001-1234567890",
      "salesTaxCodeId": "80000001-1234567890",
      "billingStatus": "billable",
      "salesRepresentativeId": "80000001-1234567890"
    }
  ],
  "itemLines": [
    {
      "id": "456DEF-1234567890",
      "itemId": "80000001-1234567890",
      "inventorySiteId": "80000001-1234567890",
      "inventorySiteLocationId": "80000001-1234567890",
      "serialNumber": "SN1234567890",
      "lotNumber": "LOT2023-001",
      "expirationDate": "2025-12-31",
      "description": "High-quality widget with custom engraving",
      "quantity": 5,
      "unitOfMeasure": "Each",
      "overrideUnitOfMeasureSetId": "80000001-1234567890",
      "cost": "1000.00",
      "amount": "1000.00",
      "customerId": "80000001-1234567890",
      "classId": "80000001-1234567890",
      "salesTaxCodeId": "80000001-1234567890",
      "billingStatus": "billable",
      "overrideItemAccountId": "80000001-1234567890",
      "salesRepresentativeId": "80000001-1234567890"
    }
  ],
  "itemGroupLines": [
    {
      "id": "456DEF-1234567890",
      "itemGroupId": "80000001-1234567890",
      "quantity": 5,
      "unitOfMeasure": "Each",
      "overrideUnitOfMeasureSetId": "80000001-1234567890",
      "itemLines": [
        {
          "id": "456DEF-1234567890",
          "itemId": "80000001-1234567890",
          "inventorySiteId": "80000001-1234567890",
          "inventorySiteLocationId": "80000001-1234567890",
          "serialNumber": "SN1234567890",
          "lotNumber": "LOT2023-001",
          "expirationDate": "2025-12-31",
          "description": "High-quality widget with custom engraving",
          "quantity": 5,
          "unitOfMeasure": "Each",
          "overrideUnitOfMeasureSetId": "80000001-1234567890",
          "cost": "1000.00",
          "amount": "1000.00",
          "customerId": "80000001-1234567890",
          "classId": "80000001-1234567890",
          "salesTaxCodeId": "80000001-1234567890",
          "billingStatus": "billable",
          "overrideItemAccountId": "80000001-1234567890",
          "salesRepresentativeId": "80000001-1234567890"
        }
      ]
    }
  ]
}

Response

Returns the updated vendor credit.

idstring required

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

objectType'qbd_vendor_credit' required

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

createdAtstring required

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

transactionDatestring date required

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

creditAmountstring required

The monetary amount of the vendor credit, represented as a decimal string. When applied to a vendor bill, this amount reduces the outstanding balance owed to the vendor.

exchangeRatenumber nullable required

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

creditAmountInHomeCurrencystring nullable required

The monetary amount of the vendor credit, converted to the home currency of the QuickBooks company file. Represented as a decimal string.

refNumberstring nullable required

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

memostring nullable required

A memo or note for this vendor credit.

externalIdstring 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.

openAmountstring nullable required

The remaining unapplied credit on this vendor credit, represented as a decimal string. This equals the original credit amount minus any amounts that have been applied to bills.

NOTE: QuickBooks Desktop can omit this field in rare cases. If you ever encounter openAmount as null, we recommend the following fallback procedure: Re-query the vendor credits with includeLinkedTransactions=true and compute a fallback open amount as creditAmount minus the sum of linkedTransactions[].amount for all entries where linkedTransactions[].linkType is "amount".

Example response

{
  "id": "123ABC-1234567890",
  "objectType": "qbd_vendor_credit",
  "createdAt": "2025-01-01T12:34:56+00:00",
  "updatedAt": "2025-02-01T12:34:56+00:00",
  "revisionNumber": "1721172183",
  "vendor": {
    "id": "80000001-1234567890",
    "fullName": "Acme Supplies Ltd."
  },
  "payablesAccount": {
    "id": "80000001-1234567890",
    "fullName": "Accounts-Payable"
  },
  "transactionDate": "2024-10-01",
  "creditAmount": "25.00",
  "currency": {
    "id": "80000001-1234567890",
    "fullName": "USD"
  },
  "exchangeRate": 1.2345,
  "creditAmountInHomeCurrency": "20.00",
  "refNumber": "VCREDIT-1234",
  "memo": "Credit for returned merchandise - Invoice INV-1234",
  "salesTaxCode": {
    "id": "80000001-1234567890",
    "fullName": "Non"
  },
  "externalId": "12345678-abcd-1234-abcd-1234567890ab",
  "linkedTransactions": [
    {
      "id": "123ABC-1234567890",
      "objectType": "qbd_linked_transaction",
      "transactionType": "invoice",
      "transactionDate": "2024-10-01",
      "refNumber": "LINK-1234",
      "linkType": "amount",
      "amount": "1000.00"
    }
  ],
  "expenseLines": [
    {
      "id": "456DEF-1234567890",
      "objectType": "qbd_expense_line",
      "account": {
        "id": "80000001-1234567890",
        "fullName": "Expenses:Office Supplies"
      },
      "amount": "1000.00",
      "memo": "New office chair",
      "payee": {
        "id": "80000001-1234567890",
        "fullName": "Acme Corporation"
      },
      "class": {
        "id": "80000001-1234567890",
        "fullName": "Office Supplies"
      },
      "salesTaxCode": {
        "id": "80000001-1234567890",
        "fullName": "Non"
      },
      "billingStatus": "billable",
      "salesRepresentative": {
        "id": "80000001-1234567890",
        "fullName": "Jane Doe"
      },
      "customFields": [
        {
          "ownerId": "0",
          "name": "Customer Rating",
          "type": "string_1024_type",
          "value": "Premium"
        }
      ]
    }
  ],
  "itemLines": [
    {
      "id": "456DEF-1234567890",
      "objectType": "qbd_item_line",
      "item": {
        "id": "80000001-1234567890",
        "fullName": "Widget A"
      },
      "inventorySite": {
        "id": "80000001-1234567890",
        "fullName": "Main Warehouse"
      },
      "inventorySiteLocation": {
        "id": "80000001-1234567890",
        "fullName": "Aisle 3, Shelf B"
      },
      "serialNumber": "SN1234567890",
      "lotNumber": "LOT2023-001",
      "expirationDate": "2025-12-31",
      "description": "High-quality widget with custom engraving",
      "quantity": 5,
      "unitOfMeasure": "Each",
      "overrideUnitOfMeasureSet": {
        "id": "80000001-1234567890",
        "fullName": "Volume Units"
      },
      "cost": "1000.00",
      "amount": "1000.00",
      "customer": {
        "id": "80000001-1234567890",
        "fullName": "Acme Corporation"
      },
      "class": {
        "id": "80000001-1234567890",
        "fullName": "Installation:Residential"
      },
      "salesTaxCode": {
        "id": "80000001-1234567890",
        "fullName": "Non"
      },
      "billingStatus": "billable",
      "salesRepresentative": {
        "id": "80000001-1234567890",
        "fullName": "Jane Doe"
      },
      "customFields": [
        {
          "ownerId": "0",
          "name": "Customer Rating",
          "type": "string_1024_type",
          "value": "Premium"
        }
      ]
    }
  ],
  "itemGroupLines": [
    {
      "id": "456DEF-1234567890",
      "objectType": "qbd_item_group_line",
      "itemGroup": {
        "id": "80000001-1234567890",
        "fullName": "Office Supplies Bundle"
      },
      "description": "Standard widget bulk package",
      "quantity": 5,
      "unitOfMeasure": "Each",
      "overrideUnitOfMeasureSet": {
        "id": "80000001-1234567890",
        "fullName": "Volume Units"
      },
      "totalAmount": "1000.00",
      "itemLines": [
        {
          "id": "456DEF-1234567890",
          "objectType": "qbd_item_line",
          "item": {
            "id": "80000001-1234567890",
            "fullName": "Widget A"
          },
          "inventorySite": {
            "id": "80000001-1234567890",
            "fullName": "Main Warehouse"
          },
          "inventorySiteLocation": {
            "id": "80000001-1234567890",
            "fullName": "Aisle 3, Shelf B"
          },
          "serialNumber": "SN1234567890",
          "lotNumber": "LOT2023-001",
          "expirationDate": "2025-12-31",
          "description": "High-quality widget with custom engraving",
          "quantity": 5,
          "unitOfMeasure": "Each",
          "overrideUnitOfMeasureSet": {
            "id": "80000001-1234567890",
            "fullName": "Volume Units"
          },
          "cost": "1000.00",
          "amount": "1000.00",
          "customer": {
            "id": "80000001-1234567890",
            "fullName": "Acme Corporation"
          },
          "class": {
            "id": "80000001-1234567890",
            "fullName": "Installation:Residential"
          },
          "salesTaxCode": {
            "id": "80000001-1234567890",
            "fullName": "Non"
          },
          "billingStatus": "billable",
          "salesRepresentative": {
            "id": "80000001-1234567890",
            "fullName": "Jane Doe"
          },
          "customFields": [
            {
              "ownerId": "0",
              "name": "Customer Rating",
              "type": "string_1024_type",
              "value": "Premium"
            }
          ]
        }
      ],
      "customFields": [
        {
          "ownerId": "0",
          "name": "Customer Rating",
          "type": "string_1024_type",
          "value": "Premium"
        }
      ]
    }
  ],
  "openAmount": "500.00",
  "customFields": [
    {
      "ownerId": "0",
      "name": "Customer Rating",
      "type": "string_1024_type",
      "value": "Premium"
    }
  ]
}